[
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": ".github/workflows/dotnetcore.yml",
    "content": "name: .NET Core\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v1\n    - name: Setup .NET Core\n      uses: actions/setup-dotnet@v1\n      with:\n        dotnet-version: 3.1.101\n    - name: Build with dotnet\n      run: dotnet build ./src/ClashRoyale/ --configuration Release\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true\n**/wwwroot/lib/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- Backup*.rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n# Server configuration file\nconfig.json"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<https://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
  },
  {
    "path": "README.md",
    "content": "# ClashRoyale (2017)\n[![clash royale](https://img.shields.io/badge/Clash%20Royale-1.9.2-brightred.svg?style=flat\")](https://clash-royale.en.uptodown.com/android/download/1632865)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n![Build Status](https://action-badges.now.sh/retroroyale/ClashRoyale)\n\n## make sure to checkout my [latest project](https://github.com/Incr3dible/sc-utility)\n\n#### A .NET Core Clash Royale Server (v1.9)\n##### Need help? Join our [Discord](https://discord.gg/8cHkNE6)\n\n## Battles\nThe server supports battles, for those a patched client is neccessary.\n\n[See the wiki for a tutorial](https://github.com/retroroyale/ClashRoyale/wiki/Patch-for-battles)\n\n## How to start\n\n#### Requirements:\n  - [.NET Core SDK 3.1](https://dotnet.microsoft.com/download/dotnet-core/3.1)\n  - MySql Database (on Debian i suggest LAMP with PhpMyAdmin)\n\nfor Ubuntu use these commands to set it up:\n\n###### Main Server:\n```\nmkdir ClashRoyale\ngit clone https://github.com/retroroyale/ClashRoyale.git && cd ClashRoyale/src/ClashRoyale\n\ndotnet publish \"ClashRoyale.csproj\" -c Release -o app\n```\n###### Battle Server:\n```\nmkdir ClashRoyaleBattles\ngit clone https://github.com/retroroyale/ClashRoyale.git ClashRoyaleBattles && cd ClashRoyaleBattles/src/ClashRoyale.Battles\n\ndotnet publish \"ClashRoyale.Battles.csproj\" -c Release -o app\n```\nTo configurate your server, such as the database you have to edit the ```config.json``` file.\n\n#### Run the server:\n\n###### Main Server:\n```dotnet app/ClashRoyale.dll```\n\n###### Battle Server:\n```dotnet app/ClashRoyale.Battles.dll```\n\n#### Update the server:\n###### Main Server:\n```git pull && dotnet publish \"ClashRoyale.csproj\" -c Release -o app && dotnet app/ClashRoyale.dll```\n\n###### Battle Server:\n```git pull && dotnet publish \"ClashRoyale.Battles.csproj\" -c Release -o app && dotnet app/ClashRoyale.Battles.dll```\n\n## Need help?\nContact me on Discord (Incredible#2109) or open an issue.\n"
  },
  {
    "path": "random.txt",
    "content": "RND: -237100689\n\n!!DECK 0!!\nJSON:\n1: 26000021 // Hogrider\n2: 28000008 // Zap\n3: 28000011 // Log\n4: 26000046 // Bandit\n5: 26000043 // Angrybarbarians\n6: 26000015 // Babydragon\n7: 26000039 // Megaminion\n8: 26000041 // Goblingang\n\nREPLAY:\n\n1: 26000021 // Hogrider\n2: 26000043 // Angrybarbarians\n3: 26000041 // Goblingang\n4: 26000039 // Megaminion\n5: 26000046 // Bandit\n6: 26000015 // Babydragon\n7: 28000008 // Zap\n8: 28000011 // Log\n\n1. SAME\n2. will be 7\n3. will be 8\n4. will be 5\n5. will be 2\n6. SAME\n7. will be 4\n8. will be 3"
  },
  {
    "path": "src/.dockerignore",
    "content": ".dockerignore\n.env\n.git\n.gitignore\n.vs\n.vscode\n*/bin\n*/obj\n**/.toolstarget"
  },
  {
    "path": "src/ClashRoyale/ClashRoyale.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>\n    <LangVersion>7.3</LangVersion>\n    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"DotNetty.Buffers\" Version=\"0.6.0\" />\n    <PackageReference Include=\"DotNetty.Common\" Version=\"0.6.0\" />\n    <PackageReference Include=\"DotNetty.Handlers\" Version=\"0.6.0\" />\n    <PackageReference Include=\"Microsoft.Extensions.Caching.Memory\" Version=\"3.1.1\" />\n    <PackageReference Include=\"Microsoft.Extensions.Logging.Abstractions\" Version=\"3.1.1\" />\n    <PackageReference Include=\"Microsoft.VisualStudio.Azure.Containers.Tools.Targets\" Version=\"1.9.10\" />\n    <PackageReference Include=\"MySql.Data\" Version=\"8.0.19\" />\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"12.0.3\" />\n    <PackageReference Include=\"NLog\" Version=\"4.6.8\" />\n    <PackageReference Include=\"SharpRaven\" Version=\"2.4.0\" />\n    <PackageReference Include=\"LZMA-SDK\" Version=\"18.1.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"GameAssets\\csv_client\\background_decos.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\billing_packages.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\client_globals.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\credits.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\effects.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\event_output.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\health_bars.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\helpshift.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\hints.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\music.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\news.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\particle_emitters.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\sounds.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\texts.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_client\\texts_patch.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\abilities.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\achievements.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\alliance_badges.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\alliance_roles.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\area_effect_objects.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\arenas.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\buildings.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\characters.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\character_buffs.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\chest_order.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\configuration_definitions.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\content_tests.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\decos.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\draft_deck.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\event_categories.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\event_category_definitions.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\event_category_enums.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\event_category_object_definitions.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\event_targeting_definitions.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\exp_levels.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\gamble_chests.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\game_modes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\globals.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\heroes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\locales.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\locations.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\npcs.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\predefined_decks.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\projectiles.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\pve_boss.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\pve_gamemodes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\pve_waves.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\quest_order.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\rarities.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\regions.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\resources.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\resource_packs.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\shop.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\skins.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\spells_buildings.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\spells_characters.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\spells_heroes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\spells_other.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\spell_sets.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\survival_modes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\taunts.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\tournament_tiers.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\treasure_chests.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\tutorials_home.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\tutorials_npc.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\tutorial_chest_order.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\csv_logic\\tve_gamemodes.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\database.sql\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\fingerprint.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\barbarian_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\barbarian_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\bone_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\bone_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\builder_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\builder_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\champion_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\champion_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\dark_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\dark_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\goblin_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\goblin_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\ice_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\ice_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\jungle_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\jungle_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\legendary_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\legendary_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\royal_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\royal_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\spell_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\spell_arena_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\tilemap_pve.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\titan_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\training_arena.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\training_arena_pve.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\training_arena_pve1.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\locations\\training_arena_tve.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\arena_training.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\arena_training_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_barbarian_hut.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_barbarian_hut_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_barbarian_hut_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_basic_cannon.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_basic_cannon_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_basic_cannon_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_bomb_tower.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_bomb_tower_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_bomb_tower_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_elixir_collector.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_elixir_collector_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_elixir_collector_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_firespirit_hut.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_firespirit_hut_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_firespirit_hut_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_goblin_hut.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_goblin_hut_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_inferno_tower.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_inferno_tower_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_inferno_tower_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_mega_bomb.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_mega_bomb_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_mortar.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_mortar_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_mortar_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_rage_bottle.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_rage_bottle_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tesla.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tesla_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tesla_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tombstone.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tombstone_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tombstone_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tower.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_tower_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_xbow.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_xbow_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\building_xbow_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_archer.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_archer_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_axe_man.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_axe_man_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_axe_man_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_baby_dragon.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_baby_dragon_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_balloon.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_balloon_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_balloon_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bandit.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bandit_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_barbarian.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_barbarian_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_barbarian_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bats.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bats_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_battle_ram.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_battle_ram_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_battle_ram_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_black_knight.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_black_knight_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_black_knight_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bomber.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bomber_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bowler.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bowler_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_bowler_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_dark_witch.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_dark_witch_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_dark_witch_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_electro_wizard.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_electro_wizard_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_electro_wizard_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_fire_firespirit.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_fire_firespirit_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_flying_machine.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_flying_machine_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_flying_machine_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_giant.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_giant_skeleton.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_giant_skeleton_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_giant_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_archer.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_archer_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_blowdart.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_blowdart_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_blowdart_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_goblin_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golem.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golemite.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golemite_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golemite_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golem_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_golem_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_hog_rider.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_hog_rider_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_hog_rider_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_ice_spirits.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_ice_spirits_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_ice_wizard.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_ice_wizard_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_knight.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_knight_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_lava_hound.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_lava_hound_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_lava_pups.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_lava_pups_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_knight.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_knight_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_knight_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_minion.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_minion_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mega_minion_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_miner.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_miner_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_minion.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_minion_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mini_pekka.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_mini_pekka_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_movingcannon.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_movingcannon_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_movingcannon_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_musketeer.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_musketeer_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_pekka.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_pekka_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_prince.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_princess.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_princess_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_princess_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_prince_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_rage_barbarian.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_rage_barbarian_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_rage_barbarian_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_royal_giant.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_royal_giant_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_royal_giant_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_balloon.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_balloon_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_balloon_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_warrior.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_warrior_highres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_skeleton_warrior_lowres_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_snowman.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_snowman_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_valkyrie.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_valkyrie_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_witch.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_witch_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_wizard.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_wizard_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_zap_machine.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\chr_zap_machine_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\debug.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\debug_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\effects.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\effects_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_barbarian_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_barbarian_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_bone_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_bone_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_builder_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_builder_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_champion_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_champion_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_dark_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_dark_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_decos.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_decos_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_goblin_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_goblin_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_ice_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_ice_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_jungle_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_jungle_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_legendary_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_legendary_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_royal_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_royal_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_spell_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\level_spell_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\loading.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\loading_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\spell_goblin_barrel.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\spell_goblin_barrel_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\tutorial.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\tutorial_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_arena.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_arena_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_battle_end.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_battle_end_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_chest.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_chest_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_spells.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_spells_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sc\\ui_tex.sc\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\10_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\1st_crown_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\1_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2nd_crown_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2v2_matchmake_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2v2_matchmake_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2v2_matchmake_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2v2_matchmake_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\2_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\3rd_crown_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\3_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\4_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\5_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\60_sec_warn_02_v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\6_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\7_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\8_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\9_cd_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\achievement_unlock_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\archer_attack_07.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\archer_queen_attack_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\archer_step_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\archer_tower_fire_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\arctic_arena_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\arrow_hit_13.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\arrow_norm_impact_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\attack_button_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\axeswing_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\axe_impact_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\babydragon_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\babydragon_wing_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\baby_dragon_deploy_end_11.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\baby_dragon_fireball_08.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bad_drop_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\balloon_fly_loop_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_atk_vo_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_atk_vo_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_bat_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_dash_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_slam_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_sneaky_laugh_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bandit_step_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_07.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_attack_08.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barbarian_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_03_no_vo.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barb_footstep_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barrel_drawback_14.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\barrel_explosion_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\battleram_charge_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\battleram_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bat_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bat_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bat_fly_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\big_horn_end_02_v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\big_horn_start_02_v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\big_skeleton_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\big_skeleton_summon_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\big_skeleton_walk_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blowdart_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blowdart_goblin_atk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blowdart_gob_jump_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blowdart_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blu_walk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\blu_walk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\board_slide_in_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bomb_drop_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bomb_skeleton_01v3.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bomb_skeleton_atk_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bone_pit_arena_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bonus_1.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bonus_2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bonus_3.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bonus_4.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\boulder_impact_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowler_deploy_vo_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowler_step_01v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowl_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowl_atk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowl_atk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowl_atk_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\bowl_atk_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\builder_arena_new_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\building_destroyed_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\building_explode_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\building_place_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\button_click_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\buy_common_card_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\buy_epic_card_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\buy_gems_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\buy_legnedary_card_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\buy_rare_card_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_charge_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_atk_charge_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_deploy_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\b_knight_deploy_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\cannon_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\cannon_fire_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\card_fly_in_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\card_ready_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\card_upgrade_counter_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\card_upgrade_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\card_upgrade_stat_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\cemetary_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\champions_chest_land_open_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\champions_chest_tap_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\chest_fly_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\chest_land_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\chest_loop_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\claim_achievement_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\clash_archer_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\clone_spell_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\count_cards_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\count_gems_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\count_gold_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\crown_appear_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_arena_jingle_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_atk_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_charge_jing_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_death_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_shield_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_shield_lost_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dark_prince_step_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\demon_step_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_balloon_06.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_barbarians_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_executioner_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_ice_golem_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_lava_hound_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_skeleton_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_timer_ding_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_timer_tick_01v4.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\deploy_wizard_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\donate_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\drop_bomb_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dummy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dw_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\dw_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_atk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_atk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_atk_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_atk_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\electro_wiz_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\elite_barbs_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\elixir_collector_place_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\end_card_count_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\enemy_deploy_timer_ding_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\enemy_deploy_timer_tick_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\enemy_summon_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\enemy_tower_attacked_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\executioner_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\executioner_footstep_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\explosion_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\extratime_jingle_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fireball_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_ball_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_ball_explo_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_hut_place_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_attack_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_deploy_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_step_sfx_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_step_vo_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_step_vo_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\fire_spirit_step_vo_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\flamearch_step_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\flying_machine_loop_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\footman_attack_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\footman_attack_hit_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\footman_attack_hit_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\footman_attack_hit_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\freeze_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_bonus_card_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_card_comon_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_card_gems_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_card_gold_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_card_rare_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_chest_card_overview_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_crown_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_diamonds_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_elixir_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_epic_rare_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_gold_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_legendary_card_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_mana_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_star_equence_01boo.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_star_equence_01_v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\get_xp_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_attack_swing_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_attack_swing_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_attack_swing_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\giant_skelly_dep_vo_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\goblin_arena_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\goblin_deploy_14.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_attack_01v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_attack_02v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_attack_03v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_step_01_v1.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_step_01_v2.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_step_01_v3.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_step_01_v4.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gob_step_01_v5.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golden_chest_land_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\gold_chest_open_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golem_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golem_atk_hit_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golem_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golem_die_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\golem_walk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\grabcard_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\heal_magic_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hogrider_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hogrider_atk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hogrider_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hogrider_deploy_end_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hogrider_step_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hog_arena_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\horse_blow_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\horse_gallop_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\horse_gallop_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hugewooden_land_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\hugewooden_land_open_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\huge_magical_chest_tap_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\huge_magical_land_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\icemage_attack_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_golem_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_mage_impact_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_sp_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_sp_deploy_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_03.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_05.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_07.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_atk_08.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_deploy_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_dep_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_dep_04.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_footstep_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\ice_wiz_land_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\inferno_dragon_fireloop_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\iron_chest_land_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\iron_chest_open_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\jungle_arena_jingle_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\kill_enemy_big_summon_02.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\sfx\\king_activate_01.wav\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\tilemaps\\tilemap.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\tilemaps\\tilemap_2v2.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\tilemaps\\tilemap_pve.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\tilemaps\\tilemap_pve1.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"GameAssets\\tilemaps\\tilemap_tve.csv\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"NLog.config\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\ClashRoyale.Utilities\\ClashRoyale.Utilities.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/ClashRoyale/ClashRoyale.csproj.DotSettings",
    "content": "﻿<wpf:ResourceDictionary xml:space=\"preserve\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:s=\"clr-namespace:System;assembly=mscorlib\" xmlns:ss=\"urn:shemas-jetbrains-com:settings-storage-xaml\" xmlns:wpf=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Calliance/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Chome/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Clogin/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Cmatchmake/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Csector/@EntryIndexedValue\">True</s:Boolean>\n\t<s:Boolean x:Key=\"/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=protocol_005Cmessages_005Cserver_005Ctournament/@EntryIndexedValue\">True</s:Boolean></wpf:ResourceDictionary>"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Node.cs",
    "content": "﻿using System;\nusing System.Net;\nusing ClashRoyale.Core.Cluster.Protocol;\nusing ClashRoyale.Core.Network.Handlers.Cluster;\nusing ClashRoyale.Utilities.Crypto;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Cluster\n{\n    public class Node\n    {\n        public Node(ClusterPacketHandler handler)\n        {\n            Handler = handler;\n        }\n\n        /// <summary>\n        ///     Process the buffer sent by the client\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        public void Process(IByteBuffer buffer)\n        {\n            var id = buffer.ReadUnsignedShort();\n            var length = buffer.ReadMedium();\n\n            if (id < 10000 || id >= 20000) return;\n\n            if (!ClusterMessageFactory.Messages.ContainsKey(id))\n            {\n                Logger.Log($\"Message ID: {id}, L: {length} is not known.\", GetType(),\n                    ErrorLevel.Warning);\n                return;\n            }\n\n            if (!(Activator.CreateInstance(ClusterMessageFactory.Messages[id], this, buffer) is ClusterMessage\n                message)) return;\n\n            try\n            {\n                message.Id = id;\n                message.Length = length;\n\n                message.Decrypt();\n                message.Decode();\n                message.Process();\n\n                Logger.Log($\"[C] Message {id} ({message.GetType().Name}) handled.\", GetType(),\n                    ErrorLevel.Debug);\n            }\n            catch (Exception exception)\n            {\n                Logger.Log($\"Failed to process {id}: \" + exception, GetType(), ErrorLevel.Error);\n            }\n        }\n\n        /// <summary>\n        ///     Returns the Ipv4 Address of the client\n        /// </summary>\n        /// <returns></returns>\n        public string GetIp()\n        {\n            return ((IPEndPoint) Handler.Channel.RemoteAddress).Address.MapToIPv4().ToString();\n        }\n\n        #region Objects\n\n        public ClusterPacketHandler Handler { get; set; }\n        public Rc4Core Rc4 = new Rc4Core(Resources.Configuration.ClusterKey, Resources.Configuration.ClusterNonce);\n        public NodeInfo NodeInfo { get; set; }\n\n        #endregion Objects\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/NodeInfo.cs",
    "content": "﻿using System.Text;\n\nnamespace ClashRoyale.Core.Cluster\n{\n    public class NodeInfo\n    {\n        public string Ip { get; set; }\n        public int Port { get; set; }\n        public string Nonce { get; set; }\n        public int BattlesRunning { get; set; }\n        public int MaxBattles { get; set; }\n\n        public override string ToString()\n        {\n            var sb = new StringBuilder();\n            sb.AppendLine($\"IP: {Ip}\");\n            sb.AppendLine($\"Port: {Port}\");\n            sb.AppendLine($\"Nonce: {Nonce}\");\n            sb.AppendLine($\"Active Battles: {BattlesRunning}\");\n            sb.AppendLine($\"Max Battles: {MaxBattles}\");\n\n            return sb.ToString();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/NodeManager.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\n\nnamespace ClashRoyale.Core.Cluster\n{\n    public class NodeManager : Dictionary<string, NodeInfo>\n    {\n        private readonly object _syncLock = new object();\n\n        /// <summary>\n        ///     Add a new server\n        /// </summary>\n        /// <param name=\"host\"></param>\n        /// <param name=\"info\"></param>\n        public new void Add(string host, NodeInfo info)\n        {\n            lock (_syncLock)\n            {\n                if (host.Contains(':')) base.Add(host, info);\n            }\n        }\n\n        /// <summary>\n        ///     Remove a server by the host\n        /// </summary>\n        /// <param name=\"host\"></param>\n        public new void Remove(string host)\n        {\n            lock (_syncLock)\n            {\n                if (!host.Contains(':')) return;\n\n                if (ContainsKey(host)) base.Remove(host);\n            }\n        }\n\n        /// <summary>\n        ///     Returns a server if available with the lowest battles running\n        /// </summary>\n        /// <returns></returns>\n        public NodeInfo GetServer()\n        {\n            lock (_syncLock)\n            {\n                var server = Values.FirstOrDefault(x => x.BattlesRunning < x.MaxBattles);\n                return server;\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/ClusterMessage.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Cluster.Protocol\n{\n    public class ClusterMessage\n    {\n        /// <summary>\n        ///     Client Message\n        /// </summary>\n        /// <param name=\"server\"></param>\n        public ClusterMessage(Node server)\n        {\n            Server = server;\n            Writer = PooledByteBufferAllocator.Default.Buffer();\n        }\n\n        /// <summary>\n        ///     Server Message\n        /// </summary>\n        /// <param name=\"server\"></param>\n        /// <param name=\"buffer\"></param>\n        public ClusterMessage(Node server, IByteBuffer buffer)\n        {\n            Server = server;\n            Reader = buffer;\n        }\n\n        public IByteBuffer Writer { get; set; }\n        public IByteBuffer Reader { get; set; }\n        public Node Server { get; set; }\n        public ushort Id { get; set; }\n        public int Length { get; set; }\n\n        /// <summary>\n        ///     Decrypts the current message\n        /// </summary>\n        public virtual void Decrypt()\n        {\n            if (Length <= 0) return;\n\n            var buffer = Reader.ReadBytes(Length);\n\n            Server.Rc4.Decrypt(ref buffer);\n\n            Reader = buffer;\n            Length = buffer.ReadableBytes;\n        }\n\n        /// <summary>\n        ///     Encrypts the current message\n        /// </summary>\n        public virtual void Encrypt()\n        {\n            if (Writer.ReadableBytes <= 0) return;\n\n            var buffer = Writer;\n\n            Server.Rc4.Encrypt(ref buffer);\n\n            Length = buffer.ReadableBytes;\n        }\n\n        /// <summary>\n        ///     Decodes the current message\n        /// </summary>\n        public virtual void Decode()\n        {\n        }\n\n        /// <summary>\n        ///     Encodes the current message\n        /// </summary>\n        public virtual void Encode()\n        {\n        }\n\n        /// <summary>\n        ///     Processes the current message\n        /// </summary>\n        public virtual void Process()\n        {\n        }\n\n        /// <summary>\n        ///     Writes this message to the clients channel\n        /// </summary>\n        /// <returns></returns>\n        public async Task SendAsync()\n        {\n            try\n            {\n                await Server.Handler.Channel.WriteAndFlushAsync(this);\n\n                Logger.Log($\"[S] Message {Id} ({GetType().Name}) sent.\", GetType(), ErrorLevel.Debug);\n            }\n            catch (Exception)\n            {\n                Logger.Log($\"[S] Failed to send {Id}.\", GetType(), ErrorLevel.Debug);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/ClusterMessageFactory.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Core.Cluster.Protocol.Messages.Client;\n\nnamespace ClashRoyale.Core.Cluster.Protocol\n{\n    public class ClusterMessageFactory\n    {\n        public static Dictionary<int, Type> Messages;\n\n        static ClusterMessageFactory()\n        {\n            Messages = new Dictionary<int, Type>\n            {\n                {10101, typeof(ConnectionCheckMessage)},\n                {11000, typeof(BattleFinishedMessage)},\n                {12000, typeof(ServerInfoMessage)}\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/Messages/Client/BattleFinishedMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Core.Cluster.Protocol.Messages.Client\n{\n    public class BattleFinishedMessage : ClusterMessage\n    {\n        public BattleFinishedMessage(Node server, IByteBuffer buffer) : base(server, buffer)\n        {\n            Id = 11000;\n        }\n\n        public long SessionId { get; set; }\n        public byte Gamemode { get; set; }\n        public byte Index { get; set; }\n        public string ReplayJson { get; set; }\n\n        public override void Decode()\n        {\n            SessionId = Reader.ReadLong();\n            Gamemode = Reader.ReadByte();\n            Index = Reader.ReadByte();\n            ReplayJson = Reader.ReadScString();\n        }\n\n        public override void Process()\n        {\n            if (Gamemode == 0)\n            {\n                var battle = Resources.Battles.Get(SessionId);\n                if (battle == null) return;\n\n                /*var replay = JsonConvert.DeserializeObject<LogicReplay>(ReplayJson);\n\n                battle.Replay.Commands = replay.Commands;\n                battle.Replay.RandomSeed = replay.RandomSeed;\n                battle.Replay.Time = replay.Time;\n                battle.Replay.EndTick = replay.EndTick;*/\n\n                battle.Stop(Index);\n            }\n\n            // TODO: DUO\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/Messages/Client/ConnectionCheckMessage.cs",
    "content": "﻿using ClashRoyale.Core.Cluster.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Cluster.Protocol.Messages.Client\n{\n    public class ConnectionCheckMessage : ClusterMessage\n    {\n        public ConnectionCheckMessage(Node server, IByteBuffer buffer) : base(server, buffer)\n        {\n            Id = 10101;\n        }\n\n        public string Nonce { get; set; }\n        public int Port { get; set; }\n        public int MaxBattles { get; set; }\n        public bool CryptoFailed { get; set; }\n\n        public override void Decode()\n        {\n            CryptoFailed = Reader.ReadBoolean();\n\n            if (CryptoFailed) return;\n\n            Nonce = Reader.ReadScString();\n            Port = Reader.ReadVInt();\n            MaxBattles = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            if (CryptoFailed)\n            {\n                Logger.Log($\"Failed to decrypt packet of battle server {Server.GetIp()}.\", GetType(),\n                    ErrorLevel.Warning);\n\n                await new ConnectionFailedMessage(Server)\n                {\n                    Error = 1\n                }.SendAsync();\n                return;\n            }\n\n            var ip = Server.GetIp();\n            var info = new NodeInfo\n            {\n                Ip = ip,\n                Port = Port,\n                Nonce = Nonce,\n                MaxBattles = MaxBattles\n            };\n\n            Resources.NodeManager.Add(ip + \":\" + Port, info);\n            Server.NodeInfo = info;\n\n            await new ConnectionOkMessage(Server).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/Messages/Client/ServerInfoMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Core.Cluster.Protocol.Messages.Client\n{\n    public class ServerInfoMessage : ClusterMessage\n    {\n        public ServerInfoMessage(Node server, IByteBuffer buffer) : base(server, buffer)\n        {\n            Id = 12000;\n        }\n\n        public int BattlesRunning { get; set; }\n        public int MaxBattles { get; set; }\n\n        public override void Decode()\n        {\n            BattlesRunning = Reader.ReadVInt();\n            MaxBattles = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            var info = Server.NodeInfo;\n            info.MaxBattles = MaxBattles;\n            info.BattlesRunning = BattlesRunning;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/Messages/Server/ConnectionFailedMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Core.Cluster.Protocol.Messages.Server\n{\n    public class ConnectionFailedMessage : ClusterMessage\n    {\n        public ConnectionFailedMessage(Node server) : base(server)\n        {\n            Id = 20103;\n        }\n\n        public int Error { get; set; }\n\n        // Codes:\n        // 1 = Crypto Error\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Error);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Cluster/Protocol/Messages/Server/ConnectionOkMessage.cs",
    "content": "﻿namespace ClashRoyale.Core.Cluster.Protocol.Messages.Server\n{\n    public class ConnectionOkMessage : ClusterMessage\n    {\n        public ConnectionOkMessage(Node server) : base(server)\n        {\n            Id = 20104;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Configuration.cs",
    "content": "﻿using System;\nusing System.IO;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Core\n{\n    public class Configuration\n    {\n        [JsonIgnore] public static JsonSerializerSettings JsonSettings = new JsonSerializerSettings\n        {\n            ObjectCreationHandling = ObjectCreationHandling.Reuse,\n            MissingMemberHandling = MissingMemberHandling.Ignore,\n            DefaultValueHandling = DefaultValueHandling.Ignore,\n            NullValueHandling = NullValueHandling.Ignore,\n            TypeNameHandling = TypeNameHandling.Auto,\n            Formatting = Formatting.None\n        };\n\n        // Make sure to edit these on prod\n        [JsonProperty(\"cluster_encryption_key\")]\n        public string ClusterKey = \"15uvmi8qnyuj9tm53ipaavvytltm582yatecyjzb\";\n\n        [JsonProperty(\"cluster_encryption_nonce\")]\n        public string ClusterNonce = \"nonce\";\n\n        [JsonProperty(\"cluster_server_port\")] public int ClusterServerPort = 9876;\n\n        [JsonProperty(\"encryption_key\")] public string EncryptionKey = \"fhsd6f86f67rt8fw78fw789we78r9789wer6re\";\n\n        [JsonProperty(\"mysql_database\")] public string MySqlDatabase = \"rrdb\";\n        [JsonProperty(\"mysql_password\")] public string MySqlPassword = \"\";\n        [JsonProperty(\"mysql_server\")] public string MySqlServer = \"127.0.0.1\";\n        [JsonProperty(\"mysql_user\")] public string MySqlUserId = \"root\";\n\n        [JsonProperty(\"patch_url\")] public string PatchUrl = \"\";\n        [JsonProperty(\"sentry_api\")] public string SentryApiUrl = \"\";\n\n        [JsonProperty(\"server_port\")] public int ServerPort = 9339;\n        [JsonProperty(\"update_url\")] public string UpdateUrl = \"https://github.com/retroroyale/ClashRoyale\";\n        [JsonProperty(\"use_content_patch\")] public bool UseContentPatch;\n\n        [JsonProperty(\"use_udp\")] public bool UseUdp;\n\n        /// <summary>\n        ///     Loads the configuration\n        /// </summary>\n        public void Initialize()\n        {\n            if (File.Exists(\"config.json\"))\n                try\n                {\n                    var config = JsonConvert.DeserializeObject<Configuration>(File.ReadAllText(\"config.json\"));\n\n                    EncryptionKey = config.EncryptionKey;\n                    SentryApiUrl = config.SentryApiUrl;\n\n                    MySqlUserId = config.MySqlUserId;\n                    MySqlServer = config.MySqlServer;\n                    MySqlPassword = config.MySqlPassword;\n                    MySqlDatabase = config.MySqlDatabase;\n\n                    PatchUrl = config.PatchUrl;\n                    UseContentPatch = config.UseContentPatch;\n\n                    ServerPort = config.ServerPort;\n                    UpdateUrl = config.UpdateUrl;\n\n                    UseUdp = config.UseUdp;\n                    ClusterServerPort = config.ClusterServerPort;\n\n                    ClusterKey = config.ClusterKey;\n                    ClusterNonce = config.ClusterNonce;\n                }\n                catch (Exception)\n                {\n                    Console.WriteLine(\"Couldn't load configuration.\");\n                    Console.ReadKey(true);\n                    Environment.Exit(0);\n                }\n            else\n                try\n                {\n                    Save();\n\n                    Console.ForegroundColor = ConsoleColor.DarkGreen;\n                    Console.WriteLine(\"Server configuration has been created. Restart the server now.\");\n                    Console.ReadKey();\n                    Environment.Exit(0);\n                }\n                catch (Exception)\n                {\n                    Console.ForegroundColor = ConsoleColor.DarkRed;\n                    Console.WriteLine(\"Couldn't create config file.\");\n                    Console.ReadKey();\n                    Environment.Exit(0);\n                }\n        }\n\n        public void Save()\n        {\n            File.WriteAllText(\"config.json\", JsonConvert.SerializeObject(this, Formatting.Indented));\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Leaderboards/Leaderboard.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing System.Timers;\nusing ClashRoyale.Database;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Utilities;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Leaderboards\n{\n    public class Leaderboard\n    {\n        private readonly Timer _timer = new Timer(20000);\n\n        public List<Alliance> GlobalAllianceRanking = new List<Alliance>(200);\n        public List<Player> GlobalPlayerRanking = new List<Player>(200);\n        public Dictionary<string, List<Player>> LocalPlayerRanking = new Dictionary<string, List<Player>>(18);\n\n        public Leaderboard()\n        {\n            _timer.Elapsed += Update;\n            _timer.Start();\n\n            foreach (var locales in Csv.Tables.Get(Csv.Files.Locales).GetDatas())\n                LocalPlayerRanking.Add(((Locales) locales).Name, new List<Player>(200));\n\n            Update(null, null);\n        }\n\n        /// <summary>\n        ///     Update all Leaderboards\n        /// </summary>\n        /// <param name=\"state\"></param>\n        /// <param name=\"args\"></param>\n        public async void Update(object state, ElapsedEventArgs args)\n        {\n            await Task.Run(async () =>\n            {\n                try\n                {\n                    var currentGlobalPlayerRanking = await PlayerDb.GetGlobalPlayerRankingAsync();\n                    for (var i = 0; i < currentGlobalPlayerRanking.Count; i++)\n                        GlobalPlayerRanking.UpdateOrInsert(i, currentGlobalPlayerRanking[i]);\n\n                    foreach (var (key, value) in LocalPlayerRanking)\n                    {\n                        var currentLocalPlayerRanking = await PlayerDb.GetLocalPlayerRankingAsync(key);\n                        for (var i = 0; i < currentLocalPlayerRanking.Count; i++)\n                            value.UpdateOrInsert(i, currentLocalPlayerRanking[i]);\n                    }\n\n                    var currentGlobalAllianceRanking = await AllianceDb.GetGlobalAlliancesAsync();\n                    for (var i = 0; i < currentGlobalAllianceRanking.Count; i++)\n                        GlobalAllianceRanking.UpdateOrInsert(i, currentGlobalAllianceRanking[i]);\n                }\n                catch (Exception exception)\n                {\n                    Logger.Log($\"Error while updating leaderboads {exception}\", GetType(), ErrorLevel.Error);\n                }\n            });\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/Handlers/Cluster/ClusterPacketEncoder.cs",
    "content": "﻿using System.Threading.Tasks;\nusing ClashRoyale.Core.Cluster.Protocol;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels;\n\nnamespace ClashRoyale.Core.Network.Handlers.Cluster\n{\n    public class ClusterPacketEncoder : ChannelHandlerAdapter\n    {\n        public override Task WriteAsync(IChannelHandlerContext context, object msg)\n        {\n            if (!(msg is ClusterMessage message)) return base.WriteAsync(context, null);\n\n            message.Encode();\n\n            if (message.Id != 20103)\n                message.Encrypt();\n\n            var header = PooledByteBufferAllocator.Default.Buffer(5);\n            header.WriteUnsignedShort(message.Id);\n            header.WriteMedium(message.Length);\n\n            base.WriteAsync(context, header);\n\n            return base.WriteAsync(context, message.Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/Handlers/Cluster/ClusterPacketHandler.cs",
    "content": "﻿using System;\nusing System.Net;\nusing System.Net.Sockets;\nusing ClashRoyale.Core.Cluster;\nusing DotNetty.Buffers;\nusing DotNetty.Handlers.Timeout;\nusing DotNetty.Transport.Channels;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Network.Handlers.Cluster\n{\n    public class ClusterPacketHandler : ChannelHandlerAdapter\n    {\n        public ClusterPacketHandler()\n        {\n            Node = new Node(this);\n        }\n\n        public IChannel Channel { get; set; }\n        public Node Node { get; set; }\n\n        public override void ChannelRead(IChannelHandlerContext context, object message)\n        {\n            var buffer = (IByteBuffer) message;\n            if (buffer == null) return;\n\n            Node.Process(buffer);\n        }\n\n        public override void ChannelReadComplete(IChannelHandlerContext context)\n        {\n            context.Flush();\n        }\n\n        public override void ChannelRegistered(IChannelHandlerContext context)\n        {\n            Channel = context.Channel;\n\n            var remoteAddress = (IPEndPoint) Channel.RemoteAddress;\n\n            Logger.Log($\"Server {remoteAddress.Address.MapToIPv4()}:{remoteAddress.Port} connected.\", GetType(),\n                ErrorLevel.Debug);\n\n            base.ChannelRegistered(context);\n        }\n\n        public override void ChannelUnregistered(IChannelHandlerContext context)\n        {\n            if (Node.NodeInfo != null)\n                Resources.NodeManager.Remove($\"{Node.NodeInfo.Ip}:{Node.NodeInfo.Port}\");\n\n            var remoteAddress = (IPEndPoint) Channel.RemoteAddress;\n\n            Logger.Log($\"Server {remoteAddress.Address.MapToIPv4()}:{remoteAddress.Port} disconnected.\", GetType(),\n                ErrorLevel.Debug);\n\n            base.ChannelUnregistered(context);\n        }\n\n        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)\n        {\n            if (exception.GetType() != typeof(ReadTimeoutException) &&\n                exception.GetType() != typeof(WriteTimeoutException) &&\n                exception.GetType() != typeof(SocketException))\n                Logger.Log(exception, GetType(), ErrorLevel.Error);\n\n            context.CloseAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/Handlers/PacketEncoder.cs",
    "content": "﻿using System.Threading.Tasks;\nusing ClashRoyale.Protocol;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels;\n\nnamespace ClashRoyale.Core.Network.Handlers\n{\n    public class PacketEncoder : ChannelHandlerAdapter\n    {\n        public override Task WriteAsync(IChannelHandlerContext context, object msg)\n        {\n            if (!(msg is PiranhaMessage message)) return base.WriteAsync(context, null);\n\n            message.Encode();\n            message.Encrypt();\n\n            var header = PooledByteBufferAllocator.Default.Buffer(7);\n            header.WriteUnsignedShort(message.Id);\n            header.WriteMedium(message.Writer.WriterIndex);\n            header.WriteUnsignedShort(message.Version);\n\n            base.WriteAsync(context, header);\n\n            return base.WriteAsync(context, message.Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/Handlers/PacketHandler.cs",
    "content": "﻿using System;\nusing System.Net;\nusing ClashRoyale.Logic;\nusing DotNetty.Buffers;\nusing DotNetty.Handlers.Timeout;\nusing DotNetty.Transport.Channels;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core.Network.Handlers\n{\n    public class PacketHandler : ChannelHandlerAdapter\n    {\n        public PacketHandler()\n        {\n            Throttler = new Throttler(10, 500);\n            Device = new Device(this);\n        }\n\n        public Device Device { get; set; }\n        public IChannel Channel { get; set; }\n        public Throttler Throttler { get; set; }\n\n        public override void ChannelRead(IChannelHandlerContext context, object message)\n        {\n            var buffer = (IByteBuffer) message;\n            if (buffer == null) return;\n\n            if (Throttler.CanProcess())\n            {\n                Device.Process(buffer);\n            }\n            else\n            {\n                Logger.Log(\"Client reached ratelimit. Disconnecting...\", GetType(), ErrorLevel.Warning);\n                Device.Disconnect();\n            }\n        }\n\n        public override void ChannelReadComplete(IChannelHandlerContext context)\n        {\n            context.Flush();\n        }\n\n        public override void ChannelRegistered(IChannelHandlerContext context)\n        {\n            Channel = context.Channel;\n\n            var remoteAddress = (IPEndPoint) Channel.RemoteAddress;\n\n            Logger.Log($\"Client {remoteAddress.Address.MapToIPv4()}:{remoteAddress.Port} connected.\", GetType(),\n                ErrorLevel.Debug);\n\n            base.ChannelRegistered(context);\n        }\n\n        public override async void ChannelUnregistered(IChannelHandlerContext context)\n        {\n            if (Device?.Player?.Home != null)\n            {\n                var player = await Resources.Players.GetPlayerAsync(Device.Player.Home.Id, true);\n                if (player != null)\n                    if (player.Device.Session.SessionId == Device.Session.SessionId)\n                    {\n                        Resources.Players.LogoutById(player.Home.Id);\n\n                        if (player.Home.AllianceInfo.HasAlliance)\n                        {\n                            var alliance = await Resources.Alliances.GetAllianceAsync(player.Home.AllianceInfo.Id);\n                            if (alliance != null)\n                            {\n                                var entry = alliance.Stream.Find(e =>\n                                    e.SenderId == player.Home.Id && e.StreamEntryType == 10);\n                                if (entry != null) alliance.RemoveEntry(entry);\n\n                                if (alliance.Online < 1)\n                                    Resources.Alliances.Remove(alliance.Id);\n                                /*Logger.Log($\"Uncached Clan {alliance.Id} because no member is online.\", GetType(),\n                                        ErrorLevel.Debug);*/\n                                else alliance.UpdateOnlineCount();\n                            }\n                        }\n                    }\n            }\n\n            var remoteAddress = (IPEndPoint) Channel.RemoteAddress;\n\n            Logger.Log($\"Client {remoteAddress.Address.MapToIPv4()}:{remoteAddress.Port} disconnected.\", GetType(),\n                ErrorLevel.Debug);\n\n            base.ChannelUnregistered(context);\n        }\n\n        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)\n        {\n            if (exception.GetType() != typeof(ReadTimeoutException) &&\n                exception.GetType() != typeof(WriteTimeoutException))\n                Logger.Log(exception, GetType(), ErrorLevel.Error);\n\n            context.CloseAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/NettyService.cs",
    "content": "﻿using System.Net;\nusing System.Threading.Tasks;\nusing ClashRoyale.Core.Network.Handlers;\nusing ClashRoyale.Core.Network.Handlers.Cluster;\nusing DotNetty.Codecs;\nusing DotNetty.Handlers.Logging;\nusing DotNetty.Handlers.Timeout;\nusing DotNetty.Transport.Bootstrapping;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\n\nnamespace ClashRoyale.Core.Network\n{\n    public class NettyService\n    {\n        public MultithreadEventLoopGroup BossGroup { get; set; }\n        public MultithreadEventLoopGroup WorkerGroup { get; set; }\n\n        public MultithreadEventLoopGroup ClusterBossGroup { get; set; }\n        public MultithreadEventLoopGroup ClusterWorkerGroup { get; set; }\n\n        public ServerBootstrap ServerBootstrap { get; set; }\n        public ServerBootstrap ClusterBootstrap { get; set; }\n\n        public IChannel ServerChannel { get; set; }\n        public IChannel ClusterServerChannel { get; set; }\n\n        /// <summary>\n        ///     Run the server and optionally the cluster server\n        /// </summary>\n        /// <returns></returns>\n        public async Task RunServerAsync()\n        {\n            BossGroup = new MultithreadEventLoopGroup();\n            WorkerGroup = new MultithreadEventLoopGroup();\n\n            ClusterBossGroup = new MultithreadEventLoopGroup();\n            ClusterWorkerGroup = new MultithreadEventLoopGroup();\n\n            // Main Server\n            {\n                ServerBootstrap = new ServerBootstrap();\n                ServerBootstrap.Group(BossGroup, WorkerGroup);\n                ServerBootstrap.Channel<TcpServerSocketChannel>();\n\n                ServerBootstrap\n                    .Option(ChannelOption.SoBacklog, 100)\n                    .Option(ChannelOption.TcpNodelay, true)\n                    .Option(ChannelOption.SoKeepalive, true)\n                    .Handler(new LoggingHandler(\"SRV-ICR\"))\n                    .ChildHandler(new ActionChannelInitializer<IChannel>(channel =>\n                    {\n                        var pipeline = channel.Pipeline;\n                        pipeline.AddFirst(\"FrameDecoder\", new LengthFieldBasedFrameDecoder(512, 2, 3, 2, 0));\n                        pipeline.AddLast(\"ReadTimeoutHandler\", new ReadTimeoutHandler(30));\n                        pipeline.AddLast(\"WriteTimeoutHandler\", new WriteTimeoutHandler(30));\n                        pipeline.AddLast(\"PacketHandler\", new PacketHandler());\n                        pipeline.AddLast(\"PacketEncoder\", new PacketEncoder());\n                    }));\n            }\n\n            // Cluster Server \n            {\n                ClusterBootstrap = new ServerBootstrap();\n                ClusterBootstrap.Group(ClusterBossGroup, ClusterWorkerGroup);\n                ClusterBootstrap.Channel<TcpServerSocketChannel>();\n\n                ClusterBootstrap\n                    .Option(ChannelOption.SoBacklog, 100)\n                    .Option(ChannelOption.TcpNodelay, true)\n                    .Option(ChannelOption.SoKeepalive, true)\n                    .Handler(new LoggingHandler(\"SRV-ICR\"))\n                    .ChildHandler(new ActionChannelInitializer<IChannel>(channel =>\n                    {\n                        var pipeline = channel.Pipeline;\n                        pipeline.AddFirst(\"FrameDecoder\", new LengthFieldBasedFrameDecoder(short.MaxValue, 2, 3, 0, 0));\n                        //pipeline.AddLast(\"ReadTimeoutHandler\", new ReadTimeoutHandler(60));\n                        //pipeline.AddLast(\"WriteTimeoutHandler\", new WriteTimeoutHandler(60));\n                        pipeline.AddLast(\"ClusterPacketHandler\", new ClusterPacketHandler());\n                        pipeline.AddLast(\"ClusterPacketEncoder\", new ClusterPacketEncoder());\n                    }));\n            }\n\n            if (Resources.Configuration.UseUdp)\n            {\n                ClusterServerChannel = await ClusterBootstrap.BindAsync(Resources.Configuration.ClusterServerPort);\n                var clusterEndpoint = (IPEndPoint) ClusterServerChannel.LocalAddress;\n\n                Logger.Log(\n                    $\"Cluster started on {clusterEndpoint.Address.MapToIPv4()}:{clusterEndpoint.Port}.\",\n                    GetType());\n            }\n\n            ServerChannel = await ServerBootstrap.BindAsync(Resources.Configuration.ServerPort);\n            var endpoint = (IPEndPoint) ServerChannel.LocalAddress;\n\n            Logger.Log(\n                $\"Listening on {endpoint.Address.MapToIPv4()}:{endpoint.Port}. Let's play ClashRoyale!\",\n                GetType());\n        }\n\n        /// <summary>\n        ///     Close all channels and disconnects clients\n        /// </summary>\n        /// <returns></returns>\n        public async Task Shutdown()\n        {\n            await ServerChannel.CloseAsync();\n\n            if (Resources.Configuration.UseUdp)\n                await ClusterServerChannel.CloseAsync();\n        }\n\n        /// <summary>\n        ///     Shutdown all workers of netty\n        /// </summary>\n        /// <returns></returns>\n        public async Task ShutdownWorkers()\n        {\n            await WorkerGroup.ShutdownGracefullyAsync();\n            await BossGroup.ShutdownGracefullyAsync();\n\n            await ClusterWorkerGroup.ShutdownGracefullyAsync();\n            await ClusterBossGroup.ShutdownGracefullyAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/Network/Throttler.cs",
    "content": "﻿using System;\n\nnamespace ClashRoyale.Core.Network\n{\n    public class Throttler\n    {\n        private readonly int _interval;\n        private readonly int _maxPackets;\n        private int _count;\n        private DateTime _lastReset = DateTime.UtcNow;\n\n        /// <summary>\n        ///     Throttle packets by checking if we can process it or if the ratelimit is reached\n        /// </summary>\n        /// <param name=\"maxPackets\"></param>\n        /// <param name=\"interval\"></param>\n        public Throttler(int maxPackets, int interval)\n        {\n            _maxPackets = maxPackets;\n            _interval = interval;\n        }\n\n        public bool CanProcess()\n        {\n            if (_count++ < _maxPackets) return true;\n            if (GetMillisecondsSinceLastReset() < _interval) return false;\n\n            _count = 1;\n            _lastReset = DateTime.UtcNow;\n            return true;\n        }\n\n        private int GetMillisecondsSinceLastReset()\n        {\n            return (int) DateTime.UtcNow.Subtract(_lastReset).TotalMilliseconds;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Core/SentryReport.cs",
    "content": "﻿using System;\nusing SharpRaven;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Core\n{\n    public class SentryReport\n    {\n        public SentryReport()\n        {\n            if (string.IsNullOrEmpty(Resources.Configuration.SentryApiUrl)) return;\n\n            Client = new RavenClient(Resources.Configuration.SentryApiUrl)\n            {\n                Logger = \"ClashRoyale\",\n                IgnoreBreadcrumbs = true,\n                ErrorOnCapture = e =>\n                {\n                    // ignore\n                }\n            };\n\n            Client.Tags.Add(\"contentVersion\", Resources.Fingerprint.GetVersion);\n        }\n\n        private RavenClient Client { get; }\n\n        /// <summary>\n        ///     Capture an event triggered by an error\n        /// </summary>\n        /// <param name=\"message\"></param>\n        /// <param name=\"type\"></param>\n        /// <param name=\"level\"></param>\n        public async void Report(string message, Type type, ErrorLevel level)\n        {\n            if (Client == null)\n                return;\n\n            try\n            {\n                var sentryEvent = new SentryEvent(message)\n                {\n                    Level = level\n                };\n\n                sentryEvent.Tags.Add(\"className\", type.Name);\n\n                await Client.CaptureAsync(sentryEvent);\n            }\n            catch (Exception)\n            {\n                // ignore\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/AllianceDb.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing ClashRoyale.Core;\nusing ClashRoyale.Logic.Clan;\nusing MySql.Data.MySqlClient;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Database\n{\n    public class AllianceDb\n    {\n        private const string Name = \"clan\";\n        private static string _connectionString;\n        private static long _allianceSeed;\n\n        public AllianceDb()\n        {\n            _connectionString = new MySqlConnectionStringBuilder\n            {\n                Server = Resources.Configuration.MySqlServer,\n                Database = Resources.Configuration.MySqlDatabase,\n                UserID = Resources.Configuration.MySqlUserId,\n                Password = Resources.Configuration.MySqlPassword,\n                SslMode = MySqlSslMode.None,\n                MinimumPoolSize = 4,\n                MaximumPoolSize = 20,\n                CharacterSet = \"utf8mb4\"\n            }.ToString();\n\n            _allianceSeed = MaxAllianceId();\n\n            if (_allianceSeed > -1) return;\n\n            Logger.Log($\"MysqlConnection for clans failed [{Resources.Configuration.MySqlServer}]!\", GetType());\n            Program.Exit();\n        }\n\n        public static async Task ExecuteAsync(MySqlCommand cmd)\n        {\n            #region Execute \n\n            try\n            {\n                cmd.Connection = new MySqlConnection(_connectionString);\n                await cmd.Connection.OpenAsync();\n                await cmd.ExecuteNonQueryAsync();\n            }\n            catch (MySqlException exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n            finally\n            {\n                cmd.Connection?.Close();\n            }\n\n            #endregion\n        }\n\n        public static long MaxAllianceId()\n        {\n            #region MaxId\n\n            try\n            {\n                long seed;\n\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    connection.Open();\n\n                    using (var cmd = new MySqlCommand($\"SELECT coalesce(MAX(Id), 0) FROM {Name}\", connection))\n                    {\n                        seed = Convert.ToInt64(cmd.ExecuteScalar());\n                    }\n\n                    connection.Close();\n                }\n\n                return seed;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Fatal);\n\n                return -1;\n            }\n\n            #endregion\n        }\n\n        public static async Task<long> CountAsync()\n        {\n            #region Count\n\n            try\n            {\n                long seed;\n\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    using (var cmd = new MySqlCommand($\"SELECT COUNT(*) FROM {Name}\", connection))\n                    {\n                        seed = Convert.ToInt64(await cmd.ExecuteScalarAsync());\n                    }\n\n                    await connection.CloseAsync();\n                }\n\n                return seed;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return 0;\n            }\n\n            #endregion\n        }\n\n        public static async Task<Alliance> CreateAsync()\n        {\n            #region Create\n\n            try\n            {\n                var id = _allianceSeed++;\n                if (id <= -1)\n                    return null;\n\n                var alliance = new Alliance(id + 1);\n\n                using (var cmd =\n                    new MySqlCommand(\n                        $\"INSERT INTO {Name} (`Id`, `Trophies`, `RequiredTrophies`, `Type`, `Region`, `Data`) VALUES ({id + 1}, {alliance.Score}, {alliance.RequiredScore}, {alliance.Type}, {alliance.Region}, @data)\")\n                )\n                {\n#pragma warning disable 618\n                    cmd.Parameters?.AddWithValue(\"@data\",\n                        JsonConvert.SerializeObject(alliance, Configuration.JsonSettings));\n#pragma warning restore 618\n\n                    await ExecuteAsync(cmd);\n                }\n\n                return alliance;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return null;\n            }\n\n            #endregion\n        }\n\n        public static async Task<Alliance> GetAsync(long id)\n        {\n            #region Get \n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    Alliance alliance = null;\n\n                    using (var cmd = new MySqlCommand($\"SELECT * FROM {Name} WHERE Id = '{id}'\", connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                        {\n                            alliance = JsonConvert.DeserializeObject<Alliance>((string) reader[\"Data\"],\n                                Configuration.JsonSettings);\n                            break;\n                        }\n                    }\n\n                    await connection.CloseAsync();\n\n                    return alliance;\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Fatal);\n\n                return null;\n            }\n\n            #endregion\n        }\n\n        public static async Task SaveAsync(Alliance alliance)\n        {\n            #region Save \n\n            try\n            {\n                using (var cmd =\n                    new MySqlCommand(\n                        $\"UPDATE {Name} SET `Trophies`='{alliance.Score}', `RequiredTrophies`='{alliance.RequiredScore}', `Type`='{alliance.Type}', `Region`='{alliance.Region}', `Data`=@data WHERE Id = '{alliance.Id}'\")\n                )\n                {\n#pragma warning disable 618\n                    cmd.Parameters?.AddWithValue(\"@data\",\n                        JsonConvert.SerializeObject(alliance, Configuration.JsonSettings));\n#pragma warning restore 618\n\n                    await ExecuteAsync(cmd);\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n\n            #endregion\n        }\n\n        public static async Task DeleteAsync(long id)\n        {\n            #region Delete\n\n            try\n            {\n                using (var cmd = new MySqlCommand(\n                    $\"DELETE FROM {Name} WHERE Id = '{id}'\")\n                )\n                {\n                    await ExecuteAsync(cmd);\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n\n            #endregion\n        }\n\n        public static async Task<List<Alliance>> GetGlobalAlliancesAsync()\n        {\n            #region Global\n\n            var list = new List<Alliance>();\n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    using (var cmd = new MySqlCommand($\"SELECT * FROM {Name} ORDER BY `Trophies` DESC LIMIT 200\",\n                        connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                            list.Add(JsonConvert.DeserializeObject<Alliance>((string) reader[\"Data\"],\n                                Configuration.JsonSettings));\n                    }\n\n                    await connection.CloseAsync();\n                }\n\n                return list;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return list;\n            }\n\n            #endregion\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/Cache/Alliances.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing ClashRoyale.Logic.Clan;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Database.Cache\n{\n    public class Alliances : Dictionary<long, Alliance>\n    {\n        private readonly object _syncObject = new object();\n\n        /// <summary>\n        ///     Add an alliance to the server\n        /// </summary>\n        /// <param name=\"alliance\"></param>\n        public void Add(Alliance alliance)\n        {\n            lock (_syncObject)\n            {\n                if (!ContainsKey(alliance.Id)) Add(alliance.Id, alliance);\n            }\n        }\n\n        /// <summary>\n        ///     Remove an alliance from the server and save it\n        /// </summary>\n        /// <param name=\"allianceId\"></param>\n        public new void Remove(long allianceId)\n        {\n            lock (_syncObject)\n            {\n                if (ContainsKey(allianceId))\n                {\n                    var alliance = this[allianceId];\n\n                    alliance.Save();\n\n                    var result = base.Remove(allianceId);\n\n                    if (!result) Logger.Log($\"Couldn't remove alliance {allianceId}\", GetType(), ErrorLevel.Error);\n                }\n            }\n        }\n\n        /// <summary>\n        ///     Get an alliance from cache or database\n        /// </summary>\n        /// <param name=\"allianceId\"></param>\n        /// <param name=\"onlineOnly\"></param>\n        /// <returns></returns>\n        public async Task<Alliance> GetAllianceAsync(long allianceId, bool onlineOnly = false)\n        {\n            lock (_syncObject)\n            {\n                if (ContainsKey(allianceId))\n                    return this[allianceId];\n            }\n\n            if (onlineOnly) return null;\n\n            var alliance = Resources.ObjectCache.GetCachedAlliance(allianceId);\n\n            if (alliance != null) return alliance;\n\n            alliance = await AllianceDb.GetAsync(allianceId);\n\n            Resources.ObjectCache.CacheAlliance(alliance);\n\n            return alliance;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/Cache/Battles.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Protocol.Messages.Server;\n\nnamespace ClashRoyale.Database.Cache\n{\n    public class Battles : Dictionary<long, LogicBattle>\n    {\n        private readonly List<Player> _playerQueue = new List<Player>();\n\n        private readonly Random _random = new Random();\n        private long _seed = 1;\n\n        /// <summary>\n        ///     Get a player from the queue and remove it\n        /// </summary>\n        public Player Dequeue\n        {\n            get\n            {\n                Player player;\n\n                lock (_playerQueue)\n                {\n                    if (_playerQueue.Count <= 0) return null;\n\n                    player = _playerQueue[0];\n                    _playerQueue.RemoveAt(0);\n\n                    if (!player.Device.IsConnected)\n                        return null;\n                }\n\n                return player;\n            }\n        }\n\n        /// <summary>\n        ///     Adds a player to the queue and sends the estimated time\n        /// </summary>\n        /// <param name=\"player\"></param>\n        public async void Enqueue(Player player)\n        {\n            var players = Resources.Players;\n            var playerCount = players.Count;\n\n            lock (_playerQueue)\n            {\n                if (_playerQueue.Contains(player)) return;\n\n                _playerQueue.Add(player);\n\n                var estimatedTime = _random.Next(601, 901);\n\n                if (playerCount > 0)\n                    if (playerCount > 5)\n                        if (playerCount > 25)\n                            estimatedTime = playerCount > _random.Next(61, 101) ? 5 : _random.Next(6, 16);\n                        else\n                            estimatedTime = _random.Next(30, 61);\n                    else\n                        estimatedTime = _random.Next(101, 601);\n\n                SendInfo(player.Device, estimatedTime);\n            }\n\n            if (playerCount > 100) return;\n\n            // Notify other players \n            foreach (var p in players.Values.ToList())\n                if (p.Device.IsConnected && p.Home.Id != player.Home.Id)\n                    await new PvpMatchmakeNotificationMessage(p.Device).SendAsync();\n        }\n\n        /// <summary>\n        ///     Sends MatchmakeInfoMessage\n        /// </summary>\n        /// <param name=\"device\"></param>\n        /// <param name=\"estimatedDuration\"></param>\n        public async void SendInfo(Device device, int estimatedDuration)\n        {\n            await new MatchmakeInfoMessage(device)\n            {\n                EstimatedDuration = estimatedDuration\n            }.SendAsync();\n        }\n\n        /// <summary>\n        ///     Remove a player from queue and returns true wether he has been removed\n        /// </summary>\n        /// <param name=\"player\"></param>\n        /// <returns></returns>\n        public bool Cancel(Player player)\n        {\n            lock (_playerQueue)\n            {\n                if (!_playerQueue.Contains(player)) return false;\n\n                _playerQueue.Remove(player);\n\n                return true;\n            }\n        }\n\n        /// <summary>\n        ///     Adds a battle to the list\n        /// </summary>\n        /// <param name=\"battle\"></param>\n        public void Add(LogicBattle battle)\n        {\n            battle.BattleId = _seed++;\n\n            if (!ContainsKey(battle.BattleId))\n                Add(battle.BattleId, battle);\n        }\n\n        /// <summary>\n        ///     Remove a battle with the id\n        /// </summary>\n        /// <param name=\"id\"></param>\n        public new void Remove(long id)\n        {\n            if (ContainsKey(id))\n                base.Remove(id);\n        }\n\n        /// <summary>\n        ///     Get a battle by it's id\n        /// </summary>\n        /// <param name=\"id\"></param>\n        /// <returns></returns>\n        public LogicBattle Get(long id)\n        {\n            return ContainsKey(id) ? this[id] : null;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/Cache/DuoBattles.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Protocol.Messages.Server;\n\nnamespace ClashRoyale.Database.Cache\n{\n    public class DuoBattles : Dictionary<long, LogicBattle>\n    {\n        private readonly List<Player> _duoPlayerQueue = new List<Player>();\n\n        private long _seed = 1;\n\n        /// <summary>\n        ///     Get 3 players from the duo queue and remove them\n        /// </summary>\n        public List<Player> Dequeue\n        {\n            get\n            {\n                lock (_duoPlayerQueue)\n                {\n                    if (_duoPlayerQueue.Count < 3) return null;\n\n                    var players = new List<Player>();\n\n                    for (var i = 0; i < 3; i++)\n                    {\n                        var player = _duoPlayerQueue[0];\n                        _duoPlayerQueue.RemoveAt(0);\n\n                        players.Add(player);\n                    }\n\n                    return players;\n                }\n            }\n        }\n\n        /// <summary>\n        ///     Adds a player to the queue and sends the estimated time\n        /// </summary>\n        /// <param name=\"player\"></param>\n        public async void Enqueue(Player player)\n        {\n            var players = Resources.Players;\n            var playerCount = players.Count;\n\n            lock (_duoPlayerQueue)\n            {\n                if (_duoPlayerQueue.Contains(player)) return;\n\n                _duoPlayerQueue.Add(player);\n            }\n\n            // TODO SEND INFO TO PLAYERS IN QUEUE\n\n            if (playerCount > 100) return;\n\n            // Notify other players \n            foreach (var p in players.Values.ToList())\n                if (p.Device.IsConnected && p.Home.Id != player.Home.Id)\n                    await new PvpMatchmakeNotificationMessage(p.Device).SendAsync();\n        }\n\n        /// <summary>\n        ///     Remove a player from queue and returns true wether he has been removed\n        /// </summary>\n        /// <param name=\"player\"></param>\n        /// <returns></returns>\n        public bool Cancel(Player player)\n        {\n            lock (_duoPlayerQueue)\n            {\n                if (!_duoPlayerQueue.Contains(player)) return false;\n\n                _duoPlayerQueue.Remove(player);\n\n                return true;\n            }\n        }\n\n        /// <summary>\n        ///     Adds a battle to the list\n        /// </summary>\n        /// <param name=\"battle\"></param>\n        public void Add(LogicBattle battle)\n        {\n            battle.BattleId = _seed++;\n\n            if (!ContainsKey(battle.BattleId))\n                Add(battle.BattleId, battle);\n        }\n\n        /// <summary>\n        ///     Remove a battle with the id\n        /// </summary>\n        /// <param name=\"id\"></param>\n        public new void Remove(long id)\n        {\n            if (ContainsKey(id))\n                base.Remove(id);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/Cache/Players.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing ClashRoyale.Logic;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Database.Cache\n{\n    public class Players : Dictionary<long, Player>\n    {\n        public readonly object SyncObject = new object();\n\n        /// <summary>\n        ///     Login a player\n        /// </summary>\n        /// <param name=\"userId\"></param>\n        /// <param name=\"token\"></param>\n        public async Task<Player> Login(long userId, string token)\n        {\n            Player player;\n\n            if (userId <= 0 && string.IsNullOrEmpty(token))\n            {\n                player = await PlayerDb.CreateAsync();\n            }\n            else\n            {\n                var p = Resources.ObjectCache.GetCachedPlayer(userId);\n\n                if (p != null)\n                    player = p;\n                else\n                    player = await PlayerDb.GetAsync(userId);\n\n                if (player == null) return null;\n                if (player.Home.UserToken != token) return null;\n            }\n\n            lock (SyncObject)\n            {\n                if (player == null) return null;\n\n                Logout(ref player);\n\n                var result = TryAdd(player.Home.Id, player);\n\n                if (!result) return null;\n\n                //Logger.Log($\"User {player.Home.Id} logged in.\", GetType(), ErrorLevel.Debug);\n\n                return player;\n            }\n        }\n\n        /// <summary>\n        ///     Called when a player logs out\n        /// </summary>\n        /// <param name=\"player\"></param>\n        public void Logout(ref Player player)\n        {\n            lock (SyncObject)\n            {\n                if (!ContainsKey(player.Home.Id)) return;\n\n                var p = this[player.Home.Id];\n                p.ValidateSession();\n\n                Resources.Battles.Cancel(player);\n                Resources.DuoBattles.Cancel(player);\n\n                p.Save();\n\n                player = p;\n\n                var result = Remove(p.Home.Id);\n\n                if (!result) Logger.Log($\"Couldn't logout player {p.Home.Id}\", GetType(), ErrorLevel.Error);\n                //else Logger.Log($\"User {player.UserId} logged out.\", GetType(), ErrorLevel.Debug);\n            }\n        }\n\n        /// <summary>\n        ///     Log out a player by the UserId\n        /// </summary>\n        /// <param name=\"userId\"></param>\n        /// <returns></returns>\n        public bool LogoutById(long userId)\n        {\n            lock (SyncObject)\n            {\n                if (!ContainsKey(userId)) return true;\n\n                var player = this[userId];\n                player.ValidateSession();\n\n                Resources.Battles.Cancel(player);\n                Resources.DuoBattles.Cancel(player);\n\n                player.Save();\n\n                var result = Remove(userId);\n\n                if (!result) Logger.Log($\"Couldn't logout player {userId}\", GetType(), ErrorLevel.Error);\n\n                return result;\n            }\n        }\n\n        /// <summary>\n        ///     Get a player from cache or database\n        /// </summary>\n        /// <param name=\"userId\"></param>\n        /// <param name=\"onlineOnly\"></param>\n        /// <returns></returns>\n        public async Task<Player> GetPlayerAsync(long userId, bool onlineOnly = false)\n        {\n            lock (SyncObject)\n            {\n                if (ContainsKey(userId))\n                    return this[userId];\n            }\n\n            if (onlineOnly) return null;\n\n            var player = Resources.ObjectCache.GetCachedPlayer(userId);\n\n            if (player != null) return player;\n\n            player = await PlayerDb.GetAsync(userId);\n\n            Resources.ObjectCache.CachePlayer(player);\n\n            return player;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/ObjectCache.cs",
    "content": "﻿using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing Microsoft.Extensions.Caching.Memory;\nusing Microsoft.Extensions.Logging.Abstractions;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Database\n{\n    public class ObjectCache\n    {\n        private readonly TimeSpan _expirationTimeSpan;\n        private readonly MemoryCache _playerCache;\n        private readonly MemoryCache _allianceCache;\n\n        public ObjectCache()\n        {\n            var options = new MemoryCacheOptions\n            {\n                ExpirationScanFrequency = TimeSpan.FromMinutes(5)\n            };\n\n            _expirationTimeSpan = TimeSpan.FromHours(2);\n\n            _playerCache = new MemoryCache(options, new NullLoggerFactory());\n            _allianceCache = new MemoryCache(options, new NullLoggerFactory());\n\n            Logger.Log(\"Successfully loaded caches\", null);\n        }\n\n        /// <summary>\n        ///     Cache a player to access it from memory\n        /// </summary>\n        /// <param name=\"player\"></param>\n        public void CachePlayer(Player player)\n        {\n            try\n            {\n                var playerEntry = _playerCache.CreateEntry(player.Home.Id);\n                playerEntry.Value = player;\n                _playerCache.Set(player.Home.Id, playerEntry, _expirationTimeSpan);\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Failed to cache player.\", GetType(), ErrorLevel.Error);\n            }\n        }\n\n        /// <summary>\n        ///     Cache a clan to access it from memory\n        /// </summary>\n        /// <param name=\"alliance\"></param>\n        public void CacheAlliance(Alliance alliance)\n        {\n            try\n            {\n                var allianceEntry = _allianceCache.CreateEntry(alliance.Id);\n                allianceEntry.Value = alliance;\n                _allianceCache.Set(alliance.Id, allianceEntry, _expirationTimeSpan);\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Failed to cache player.\", GetType(), ErrorLevel.Error);\n            }\n        }\n\n        public Player GetCachedPlayer(long id)\n        {\n            try\n            {\n                var st = new Stopwatch();\n                st.Start();\n\n                if (_playerCache.Get(id) is ICacheEntry playerEntry)\n                {\n                    if (playerEntry.Value is Player player)\n                    {\n                        st.Stop();\n                        Logger.Log($\"Successfully got player {id} from cache in {st.ElapsedMilliseconds}ms\", null,\n                            ErrorLevel.Debug);\n\n                        return player;\n                    }\n                }\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Failed to fetch player from cache.\", GetType(), ErrorLevel.Error);\n            }\n\n            return null;\n        }\n\n        public Alliance GetCachedAlliance(long id)\n        {\n            try\n            {\n                var st = new Stopwatch();\n                st.Start();\n\n                if (_allianceCache.Get(id) is ICacheEntry allianceEntry)\n                {\n                    if (allianceEntry.Value is Alliance alliance)\n                    {\n                        st.Stop();\n                        Logger.Log($\"Successfully got alliance {id} from cache in {st.ElapsedMilliseconds}ms\", null,\n                            ErrorLevel.Debug);\n\n                        return alliance;\n                    }\n                }\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Failed to fetch alliance from cache.\", GetType(), ErrorLevel.Error);\n            }\n\n            return null;\n        }\n\n        public void UncacheAlliance(long id)\n        {\n            _allianceCache.Remove(id);\n        }\n\n        public long CachedPlayers()\n        {\n            return _playerCache.Count;\n        }\n\n        public long CachedClans()\n        {\n            return _allianceCache.Count;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Database/PlayerDb.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing ClashRoyale.Core;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Sessions;\nusing MySql.Data.MySqlClient;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Database\n{\n    public class PlayerDb\n    {\n        private const string Name = \"player\";\n        private static string _connectionString;\n        private static long _playerSeed;\n\n        public PlayerDb()\n        {\n            _connectionString = new MySqlConnectionStringBuilder\n            {\n                Server = Resources.Configuration.MySqlServer,\n                Database = Resources.Configuration.MySqlDatabase,\n                UserID = Resources.Configuration.MySqlUserId,\n                Password = Resources.Configuration.MySqlPassword,\n                SslMode = MySqlSslMode.None,\n                MinimumPoolSize = 4,\n                MaximumPoolSize = 20,\n                CharacterSet = \"utf8mb4\"\n            }.ToString();\n\n            _playerSeed = MaxPlayerId();\n\n            if (_playerSeed > -1) return;\n\n            Logger.Log($\"MysqlConnection for players failed [{Resources.Configuration.MySqlServer}]!\", GetType());\n            Program.Exit();\n        }\n\n        public static async Task ExecuteAsync(MySqlCommand cmd)\n        {\n            #region Execute \n\n            try\n            {\n                cmd.Connection = new MySqlConnection(_connectionString);\n                await cmd.Connection.OpenAsync();\n                await cmd.ExecuteNonQueryAsync();\n            }\n            catch (MySqlException exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n            finally\n            {\n                cmd.Connection?.Close();\n            }\n\n            #endregion\n        }\n\n        public static long MaxPlayerId()\n        {\n            #region MaxId\n\n            try\n            {\n                long seed;\n\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    connection.Open();\n\n                    using (var cmd = new MySqlCommand($\"SELECT coalesce(MAX(Id), 0) FROM {Name}\", connection))\n                    {\n                        seed = Convert.ToInt64(cmd.ExecuteScalar());\n                    }\n\n                    connection.Close();\n                }\n\n                return seed;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Fatal);\n\n                return -1;\n            }\n\n            #endregion\n        }\n\n        public static async Task<long> CountAsync()\n        {\n            #region Count\n\n            try\n            {\n                long seed;\n\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    using (var cmd = new MySqlCommand($\"SELECT COUNT(*) FROM {Name}\", connection))\n                    {\n                        seed = Convert.ToInt64(await cmd.ExecuteScalarAsync());\n                    }\n\n                    await connection.CloseAsync();\n                }\n\n                return seed;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return 0;\n            }\n\n            #endregion\n        }\n\n        public static async Task<Player> CreateAsync()\n        {\n            #region Create\n\n            try\n            {\n                var id = _playerSeed++;\n                if (id <= -1)\n                    return null;\n\n                var player = new Player(id + 1);\n\n                using (var cmd =\n                    new MySqlCommand(\n                        $\"INSERT INTO {Name} (`Id`, `Trophies`, `Language`, `FacebookId`, `Home`, `Sessions`) VALUES ({id + 1}, {player.Home.Arena.Trophies}, @language, @fb, @home, @sessions)\")\n                )\n                {\n#pragma warning disable 618\n                    cmd.Parameters?.AddWithValue(\"@language\", player.Home.PreferredDeviceLanguage);\n                    cmd.Parameters?.AddWithValue(\"@fb\", player.Home.FacebookId);\n                    cmd.Parameters?.AddWithValue(\"@home\",\n                        JsonConvert.SerializeObject(player, Configuration.JsonSettings));\n                    cmd.Parameters?.AddWithValue(\"@sessions\",\n                        JsonConvert.SerializeObject(player.Home.Sessions, Configuration.JsonSettings));\n#pragma warning restore 618\n\n                    await ExecuteAsync(cmd);\n                }\n\n                return player;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return null;\n            }\n\n            #endregion\n        }\n\n        public static async Task<Player> GetAsync(long id)\n        {\n            #region Get\n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    Player player = null;\n\n                    using (var cmd = new MySqlCommand($\"SELECT * FROM {Name} WHERE Id = '{id}'\", connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                        {\n                            player = JsonConvert.DeserializeObject<Player>((string) reader[\"Home\"],\n                                Configuration.JsonSettings);\n\n                            player.Home.Sessions = JsonConvert.DeserializeObject<List<Session>>(\n                                                       (string) reader[\"Sessions\"],\n                                                       Configuration.JsonSettings) ?? new List<Session>(50);\n                            break;\n                        }\n                    }\n\n                    await connection.CloseAsync();\n\n                    return player;\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Fatal);\n\n                return null;\n            }\n\n            #endregion\n        }\n\n        public static async Task<Player> GetAsync(string facebookId)\n        {\n            #region Get\n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    Player player = null;\n\n                    using (var cmd = new MySqlCommand($\"SELECT * FROM {Name} WHERE FacebookId = '{facebookId}'\",\n                        connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                            player = JsonConvert.DeserializeObject<Player>((string) reader[\"Home\"],\n                                Configuration.JsonSettings);\n                    }\n\n                    await connection.CloseAsync();\n\n                    return player;\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Fatal);\n\n                return null;\n            }\n\n            #endregion\n        }\n\n        public static async Task SaveAsync(Player player)\n        {\n            #region Save\n\n            try\n            {\n                using (var cmd =\n                    new MySqlCommand(\n                        $\"UPDATE {Name} SET `Trophies`='{player.Home.Arena.Trophies}', `Language`=@language, `FacebookId`=@fb, `Home`=@home, `Sessions`=@sessions WHERE Id = '{player.Home.Id}'\")\n                )\n                {\n#pragma warning disable 618\n                    cmd.Parameters?.AddWithValue(\"@language\", player.Home.PreferredDeviceLanguage);\n                    cmd.Parameters?.AddWithValue(\"@fb\", player.Home.FacebookId);\n                    cmd.Parameters?.AddWithValue(\"@home\",\n                        JsonConvert.SerializeObject(player, Configuration.JsonSettings));\n                    cmd.Parameters?.AddWithValue(\"@sessions\",\n                        JsonConvert.SerializeObject(player.Home.Sessions, Configuration.JsonSettings));\n#pragma warning restore 618\n\n                    await ExecuteAsync(cmd);\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n\n            #endregion\n        }\n\n        public static async Task DeleteAsync(long id)\n        {\n            #region Delete\n\n            try\n            {\n                using (var cmd = new MySqlCommand(\n                    $\"DELETE FROM {Name} WHERE Id = '{id}'\")\n                )\n                {\n                    await ExecuteAsync(cmd);\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n            }\n\n            #endregion\n        }\n\n        public static async Task<List<Player>> GetGlobalPlayerRankingAsync()\n        {\n            #region GetGlobal\n\n            var list = new List<Player>();\n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    using (var cmd = new MySqlCommand($\"SELECT * FROM {Name} ORDER BY `Trophies` DESC LIMIT 200\",\n                        connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                            list.Add(JsonConvert.DeserializeObject<Player>((string) reader[\"Home\"],\n                                Configuration.JsonSettings));\n                    }\n\n                    await connection.CloseAsync();\n                }\n\n                return list;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return list;\n            }\n\n            #endregion\n        }\n\n        public static async Task<List<Player>> GetLocalPlayerRankingAsync(string language)\n        {\n            #region GetLocal\n\n            var list = new List<Player>();\n\n            try\n            {\n                using (var connection = new MySqlConnection(_connectionString))\n                {\n                    await connection.OpenAsync();\n\n                    using (var cmd =\n                        new MySqlCommand(\n                            $\"SELECT * FROM {Name} WHERE Language = '{language}' ORDER BY `Trophies` DESC LIMIT 200\",\n                            connection))\n                    {\n                        var reader = await cmd.ExecuteReaderAsync();\n\n                        while (await reader.ReadAsync())\n                            list.Add(JsonConvert.DeserializeObject<Player>((string) reader[\"Home\"],\n                                Configuration.JsonSettings));\n                    }\n\n                    await connection.CloseAsync();\n                }\n\n                return list;\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Error);\n\n                return list;\n            }\n\n            #endregion\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Extensions/CustomWriter.cs",
    "content": "﻿using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Extensions\n{\n    /// <summary>\n    ///     This implements a few extensions for games from supercell\n    /// </summary>\n    public static class CustomWriter\n    {\n        /// <summary>\n        ///     Encodes CsvData\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"value\"></param>\n        public static void WriteData(this IByteBuffer buffer, Data value)\n        {\n            buffer.WriteVInt(value.GetDataType());\n            buffer.WriteVInt(value.GetInstanceId());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Extensions/Utils/CompressionUtils.cs",
    "content": "﻿using System;\nusing System.IO;\nusing SevenZip;\nusing LZMAEncoder = SevenZip.Compression.LZMA.Encoder;\n\nnamespace ClashRoyale.Extensions.Utils\n{\n    public class CompressionUtils\n    {\n        public static byte[] CompressData(byte[] input)\n        {\n            var encoder = new LZMAEncoder();\n\n            using (var uncompressed = new MemoryStream(input))\n            {\n                using (var compressed = new MemoryStream())\n                {\n                    encoder.SetCoderProperties(new[]\n                    {\n                        CoderPropID.DictionarySize,\n                        CoderPropID.PosStateBits,\n                        CoderPropID.LitContextBits,\n                        CoderPropID.LitPosBits,\n                        CoderPropID.Algorithm,\n                        CoderPropID.NumFastBytes,\n                        CoderPropID.MatchFinder,\n                        CoderPropID.EndMarker\n                    }, new object[]\n                    {\n                        262144, 2, 3, 0, 2, 32, \"bt4\", false\n                    });\n\n                    encoder.WriteCoderProperties(compressed);\n\n                    compressed.Write(BitConverter.GetBytes(uncompressed.Length), 0, 4);\n\n                    encoder.Code(uncompressed, compressed, uncompressed.Length, -1L,\n                        null);\n\n                    return compressed.ToArray();\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/Csv.Files.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files\n{\n    public partial class Csv\n    {\n        public enum Files\n        {\n            Abilities = 1,\n            Achievements = 2,\n            AllianceBadges = 3,\n            AllianceRoles = 4,\n            AreaEffectObjects = 5,\n            Arenas = 6,\n            Buildings = 7,\n            CharacterBuffs = 8,\n            Characters = 9,\n            ChestOrder = 10,\n            ConfigurationDefinitions = 11,\n            ContentTests = 12,\n            Decos = 13,\n            DraftDeck = 14,\n            EventCategories = 15,\n            EventCategoryDefinitions = 16,\n            EventCategoryEnums = 17,\n            EventCategoryObjectDefinitions = 18,\n            EventTargetingDefinitions = 19,\n            ExpLevels = 20,\n            GambleChests = 21,\n            GameModes = 22,\n            Globals = 23,\n            Heroes = 24,\n            Locales = 25,\n            Locations = 26,\n            Npcs = 27,\n            PredefinedDecks = 28,\n            Projectiles = 29,\n            PveBoss = 30,\n            PveGamemodes = 31,\n            PveWaves = 32,\n            QuestOrder = 33,\n            Rarities = 34,\n            Regions = 35,\n            ResourcePacks = 36,\n            Resources = 37,\n            Shop = 38,\n            Skins = 39,\n            SpellSets = 40,\n            SpellsBuildings = 41,\n            SpellsCharacters = 42,\n            SpellsHeroes = 43,\n            SpellsOther = 44,\n            SurvivalModes = 45,\n            Taunts = 46,\n            TournamentTiers = 47,\n            TreasureChests = 48,\n            TutorialChestOrder = 49,\n            TutorialsHome = 50,\n            TutorialsNpc = 51,\n            TveGamemodes = 52\n        }\n\n        public static Dictionary<Files, Type> DataTypes = new Dictionary<Files, Type>();\n\n        static Csv()\n        {\n            DataTypes.Add(Files.Abilities, typeof(Abilities));\n            DataTypes.Add(Files.Achievements, typeof(Achievements));\n            DataTypes.Add(Files.AllianceBadges, typeof(AllianceBadges));\n            DataTypes.Add(Files.AllianceRoles, typeof(AllianceRoles));\n            DataTypes.Add(Files.AreaEffectObjects, typeof(AreaEffectObjects));\n            DataTypes.Add(Files.Arenas, typeof(Arenas));\n            DataTypes.Add(Files.Buildings, typeof(Buildings));\n            DataTypes.Add(Files.CharacterBuffs, typeof(CharacterBuffs));\n            DataTypes.Add(Files.Characters, typeof(Characters));\n            DataTypes.Add(Files.ChestOrder, typeof(ChestOrder));\n            DataTypes.Add(Files.ConfigurationDefinitions, typeof(ConfigurationDefinitions));\n            DataTypes.Add(Files.ContentTests, typeof(ContentTests));\n            DataTypes.Add(Files.Decos, typeof(Decos));\n            DataTypes.Add(Files.DraftDeck, typeof(DraftDeck));\n            DataTypes.Add(Files.EventCategories, typeof(EventCategories));\n            DataTypes.Add(Files.EventCategoryDefinitions, typeof(EventCategoryDefinitions));\n            DataTypes.Add(Files.EventCategoryEnums, typeof(EventCategoryEnums));\n            DataTypes.Add(Files.EventCategoryObjectDefinitions, typeof(EventCategoryObjectDefinitions));\n            DataTypes.Add(Files.EventTargetingDefinitions, typeof(EventTargetingDefinitions));\n            DataTypes.Add(Files.ExpLevels, typeof(ExpLevels));\n            DataTypes.Add(Files.GambleChests, typeof(GambleChests));\n            DataTypes.Add(Files.GameModes, typeof(GameModes));\n            DataTypes.Add(Files.Globals, typeof(Globals));\n            DataTypes.Add(Files.Heroes, typeof(Heroes));\n            DataTypes.Add(Files.Locales, typeof(Locales));\n            DataTypes.Add(Files.Locations, typeof(Locations));\n            DataTypes.Add(Files.Npcs, typeof(Npcs));\n            DataTypes.Add(Files.PredefinedDecks, typeof(PredefinedDecks));\n            DataTypes.Add(Files.Projectiles, typeof(Projectiles));\n            DataTypes.Add(Files.PveBoss, typeof(PveBoss));\n            DataTypes.Add(Files.PveGamemodes, typeof(PveGamemodes));\n            DataTypes.Add(Files.PveWaves, typeof(PveWaves));\n            DataTypes.Add(Files.QuestOrder, typeof(QuestOrder));\n            DataTypes.Add(Files.Rarities, typeof(Rarities));\n            DataTypes.Add(Files.Regions, typeof(Regions));\n            DataTypes.Add(Files.ResourcePacks, typeof(ResourcePacks));\n            DataTypes.Add(Files.Resources, typeof(CsvLogic.Resources));\n            DataTypes.Add(Files.Shop, typeof(Shop));\n            DataTypes.Add(Files.Skins, typeof(Skins));\n            DataTypes.Add(Files.SpellSets, typeof(SpellSets));\n            DataTypes.Add(Files.SpellsBuildings, typeof(SpellsBuildings));\n            DataTypes.Add(Files.SpellsCharacters, typeof(SpellsCharacters));\n            DataTypes.Add(Files.SpellsHeroes, typeof(SpellsHeroes));\n            DataTypes.Add(Files.SpellsOther, typeof(SpellsOther));\n            DataTypes.Add(Files.SurvivalModes, typeof(SurvivalModes));\n            DataTypes.Add(Files.Taunts, typeof(Taunts));\n            DataTypes.Add(Files.TournamentTiers, typeof(TournamentTiers));\n            DataTypes.Add(Files.TreasureChests, typeof(TreasureChests));\n            DataTypes.Add(Files.TutorialChestOrder, typeof(TutorialChestOrder));\n            DataTypes.Add(Files.TutorialsHome, typeof(TutorialsHome));\n            DataTypes.Add(Files.TutorialsNpc, typeof(TutorialsNpc));\n            DataTypes.Add(Files.TveGamemodes, typeof(TveGamemodes));\n        }\n\n        public static Data Create(Files file, Row row, DataTable dataTable)\n        {\n            if (DataTypes.ContainsKey(file)) return Activator.CreateInstance(DataTypes[file], row, dataTable) as Data;\n\n            return null;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/Csv.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files\n{\n    public partial class Csv\n    {\n        public static readonly List<string> Gamefiles = new List<string>();\n        public static Gamefiles Tables;\n\n        public Csv()\n        {\n            Gamefiles.Add(\"GameAssets/csv_logic/abilities.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/achievements.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/alliance_badges.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/alliance_roles.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/area_effect_objects.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/arenas.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/buildings.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/character_buffs.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/characters.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/chest_order.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/configuration_definitions.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/content_tests.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/decos.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/draft_deck.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/event_categories.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/event_category_definitions.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/event_category_enums.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/event_category_object_definitions.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/event_targeting_definitions.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/exp_levels.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/gamble_chests.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/game_modes.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/globals.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/heroes.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/locales.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/locations.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/npcs.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/predefined_decks.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/projectiles.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/pve_boss.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/pve_gamemodes.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/pve_waves.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/quest_order.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/rarities.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/regions.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/resource_packs.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/resources.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/shop.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/skins.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/spell_sets.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/spells_buildings.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/spells_characters.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/spells_heroes.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/spells_other.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/survival_modes.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/taunts.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/tournament_tiers.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/treasure_chests.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/tutorial_chest_order.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/tutorials_home.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/tutorials_npc.csv\");\n            Gamefiles.Add(\"GameAssets/csv_logic/tve_gamemodes.csv\");\n\n            // TODO: csv_client\n\n            Tables = new Gamefiles();\n\n            foreach (var file in Gamefiles)\n                Tables.Initialize(new Table(file), (Files) Gamefiles.IndexOf(file) + 1);\n\n            Logger.Log($\"{Gamefiles.Count} Gamefiles loaded.\", GetType());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/BackgroundDecos.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class BackgroundDecos : Data\n    {\n        public BackgroundDecos(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 50);\n        }\n\n        public string Name { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string Layer { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/BillingPackages.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class BillingPackages : Data\n    {\n        public BillingPackages(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 2);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public bool Disabled { get; set; }\n        public bool ExistsApple { get; set; }\n        public bool ExistsAndroid { get; set; }\n        public bool ExistsKunlun { get; set; }\n        public bool ExistsJupiter { get; set; }\n        public int Diamonds { get; set; }\n        public int USD { get; set; }\n        public int RMB { get; set; }\n        public int Order { get; set; }\n        public string IconFile { get; set; }\n        public string JupiterID { get; set; }\n        public string StarterPackName { get; set; }\n        public bool IsRedPackage { get; set; }\n        public string RumblePackName { get; set; }\n        public string ChronosOfferName { get; set; }\n        public int RedeemMax { get; set; }\n        public int CampaignId { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/ClientGlobals.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class ClientGlobals : Data\n    {\n        public ClientGlobals(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 20);\n        }\n\n        public string Name { get; set; }\n        public int NumberValue { get; set; }\n        public bool BooleanValue { get; set; }\n        public string TextValue { get; set; }\n        public string StringArray { get; set; }\n        public int NumberArray { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Credits.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Credits : Data\n    {\n        public Credits(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 56);\n        }\n\n        public string Name { get; set; }\n        public bool Zero { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Effects.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Effects : Data\n    {\n        public Effects(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 11);\n        }\n\n        public string Name { get; set; }\n        public bool Loop { get; set; }\n        public bool FollowParent { get; set; }\n        public int ShakeScreen { get; set; }\n        public int Time { get; set; }\n        public int RenderableScale { get; set; }\n        public string Sound { get; set; }\n        public string Type { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string ParticleEmitterName { get; set; }\n        public string Effect { get; set; }\n        public string Layer { get; set; }\n        public int Scale { get; set; }\n        public string TextInstanceName { get; set; }\n        public string TextParentInstanceName { get; set; }\n        public string EnemyVersion { get; set; }\n        public int FlashWidth { get; set; }\n        public bool KillLoopingSoundsOnEnd { get; set; }\n        public string OutputEvent { get; set; }\n        public int ParentLookAtOffsetRadius { get; set; }\n        public bool Shadow { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/EventOutput.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class EventOutput : Data\n    {\n        public EventOutput(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row);\n        }\n\n        public string Name { get; set; }\n        public int Id { get; set; }\n        public int Channels { get; set; }\n        public int DurationMillis { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/HealthBars.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class HealthBars : Data\n    {\n        public HealthBars(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 40);\n        }\n\n        public string Name { get; set; }\n        public string FileName { get; set; }\n        public string PlayerExportName { get; set; }\n        public string EnemyExportName { get; set; }\n        public string NoDamagePlayerExportName { get; set; }\n        public string NoDamageEnemyExportName { get; set; }\n        public int MinimumHitpointValue { get; set; }\n        public bool ShowOwnAlways { get; set; }\n        public bool ShowEnemyAlways { get; set; }\n        public int YOffset { get; set; }\n        public bool ShowAsShield { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Helpshift.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Helpshift : Data\n    {\n        public Helpshift(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 62);\n        }\n\n        public string Name { get; set; }\n        public string HelpshiftId { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Hints.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Hints : Data\n    {\n        public Hints(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 61);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public bool NotBeenInClan { get; set; }\n        public bool NotBeenInTournament { get; set; }\n        public bool NotCreatedTournament { get; set; }\n        public int MinNpcWins { get; set; }\n        public int MaxNpcWins { get; set; }\n        public int MinArena { get; set; }\n        public int MaxArena { get; set; }\n        public int MinTrophies { get; set; }\n        public int MaxTrophies { get; set; }\n        public int MinExpLevel { get; set; }\n        public int MaxExpLevel { get; set; }\n        public string iOSTID { get; set; }\n        public string AndroidTID { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Music.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Music : Data\n    {\n        public Music(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 41);\n        }\n\n        public string Name { get; set; }\n        public string FileName { get; set; }\n        public int Volume { get; set; }\n        public bool Loop { get; set; }\n        public int PlayCount { get; set; }\n        public int FadeOutTimeSec { get; set; }\n        public int DurationSec { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/News.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class News : Data\n    {\n        public News(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 58);\n        }\n\n        public string Name { get; set; }\n        public int ID { get; set; }\n        public bool Enabled { get; set; }\n        public string TID { get; set; }\n        public string InfoTID { get; set; }\n        public string ItemSWF { get; set; }\n        public string ItemExportName { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n        public string ImageSWF { get; set; }\n        public string ImageExportName { get; set; }\n        public string ButtonUrl { get; set; }\n        public string ButtonTID { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/ParticleEmitters.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class ParticleEmitters : Data\n    {\n        public ParticleEmitters(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 21);\n        }\n\n        public string Name { get; set; }\n        public int ParticleCount { get; set; }\n        public int MinLife { get; set; }\n        public int MaxLife { get; set; }\n        public int ParticleMinInterval { get; set; }\n        public int ParticleMaxInterval { get; set; }\n        public int ParticleMinLife { get; set; }\n        public int ParticleMaxLife { get; set; }\n        public int ParticleMinAngle { get; set; }\n        public int ParticleMaxAngle { get; set; }\n        public bool ParticleAngleRelativeToParent { get; set; }\n        public bool ParticleRandomAngle { get; set; }\n        public int ParticleMinRadius { get; set; }\n        public int ParticleMaxRadius { get; set; }\n        public int ParticleMinSpeed { get; set; }\n        public int ParticleMaxSpeed { get; set; }\n        public int ParticleStartXYAreaRadius { get; set; }\n        public int ParticleStartZ { get; set; }\n        public int ParticleMinVelocityZ { get; set; }\n        public int ParticleMaxVelocityZ { get; set; }\n        public int ParticleGravity { get; set; }\n        public int ParticleMinTailLength { get; set; }\n        public int ParticleMaxTailLength { get; set; }\n        public string ParticleResource { get; set; }\n        public string ParticleExportName { get; set; }\n        public bool RotateToDirection { get; set; }\n        public bool LoopParticleClip { get; set; }\n        public int StartScale { get; set; }\n        public int EndScale { get; set; }\n        public int FadeInDuration { get; set; }\n        public int FadeOutDuration { get; set; }\n        public int Inertia { get; set; }\n        public string EnemyVersion { get; set; }\n        public bool NoBounce { get; set; }\n        public bool StopOnBounce { get; set; }\n        public int RandomScale { get; set; }\n        public bool NoLowEndOptimization { get; set; }\n        public int SortingOffset { get; set; }\n        public bool Shadow { get; set; }\n        public int AngularSpeed { get; set; }\n        public int ShadowMulR { get; set; }\n        public int ShadowMulG { get; set; }\n        public int ShadowMulB { get; set; }\n        public int ShadowMulA { get; set; }\n        public bool InverseSpeed { get; set; }\n        public bool Trail { get; set; }\n        public int TrailWidth { get; set; }\n        public int TrailMaxPoints { get; set; }\n        public int TrailDuration { get; set; }\n        public string TrailSWF { get; set; }\n        public string TrailExportName { get; set; }\n        public string SpecialEffect { get; set; }\n        public bool FrameFromAngle { get; set; }\n        public int RotateMinSpeed { get; set; }\n        public int RotateMaxSpeed { get; set; }\n        public bool IgnoreShadowFlip { get; set; }\n        public bool ResourceFromAngle { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Sounds.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Sounds : Data\n    {\n        public Sounds(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 4);\n        }\n\n        public string Name { get; set; }\n        public string FileNames { get; set; }\n        public int MinVolume { get; set; }\n        public int MaxVolume { get; set; }\n        public int MinPitch { get; set; }\n        public int MaxPitch { get; set; }\n        public int Priority { get; set; }\n        public int MaximumByType { get; set; }\n        public int MaxRepeatMs { get; set; }\n        public bool Loop { get; set; }\n        public bool PlayVariationsInSequence { get; set; }\n        public bool PlayVariationsInSequenceManualReset { get; set; }\n        public int StartDelayMinMs { get; set; }\n        public int StartDelayMaxMs { get; set; }\n        public bool PlayOnlyWhenInView { get; set; }\n        public int MaxVolumeScaleLimit { get; set; }\n        public int NoSoundScaleLimit { get; set; }\n        public int PadEmpyToEndMs { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/Texts.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class Texts : Data\n    {\n        public Texts(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 0);\n        }\n\n        public string Column { get; set; }\n        public string EN { get; set; }\n        public string FR { get; set; }\n        public string DE { get; set; }\n        public string ES { get; set; }\n        public string IT { get; set; }\n        public string NL { get; set; }\n        public string NO { get; set; }\n        public string TR { get; set; }\n        public string JP { get; set; }\n        public string KR { get; set; }\n        public string RU { get; set; }\n        public string AR { get; set; }\n        public string PT { get; set; }\n        public string CN { get; set; }\n        public string CNT { get; set; }\n        public string FA { get; set; }\n        public string ID { get; set; }\n        public string MS { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvClient/TextsPatch.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvClient\n{\n    public class TextsPatch : Data\n    {\n        public TextsPatch(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row);\n        }\n\n        public string TID { get; set; }\n        public string EN { get; set; }\n        public string FR { get; set; }\n        public string DE { get; set; }\n        public string ES { get; set; }\n        public string IT { get; set; }\n        public string NL { get; set; }\n        public string NO { get; set; }\n        public string TR { get; set; }\n        public string JP { get; set; }\n        public string KR { get; set; }\n        public string RU { get; set; }\n        public string AR { get; set; }\n        public string PT { get; set; }\n        public string CN { get; set; }\n        public string CNT { get; set; }\n        public string FA { get; set; }\n        public string ID { get; set; }\n        public string MS { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvHelpers/Data.cs",
    "content": "﻿using System;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvHelpers\n{\n    public class Data\n    {\n        private int _dataType;\n        private int _id;\n        protected DataTable DataTable;\n        protected Row Row;\n\n        public Data(Row row, DataTable dataTable)\n        {\n            Row = row;\n            DataTable = dataTable;\n        }\n\n        public void LoadData(Data data, Type type, Row row, int dataType = -1)\n        {\n            _dataType = dataType;\n            _id = GlobalId.CreateGlobalId(_dataType, DataTable.Count());\n            Row = row;\n            Row.LoadData(data);\n        }\n\n        public int GetDataType()\n        {\n            return _dataType;\n        }\n\n        public int GetGlobalId()\n        {\n            return _id;\n        }\n\n        public int GetInstanceId()\n        {\n            return GlobalId.GetInstanceId(_id);\n        }\n\n        public string GetName()\n        {\n            return Row.GetName();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvHelpers/DataTable.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvHelpers\n{\n    public class DataTable\n    {\n        public List<Data> Datas;\n        public Csv.Files Index;\n\n        public DataTable()\n        {\n            Datas = new List<Data>();\n        }\n\n        public DataTable(Table table, Csv.Files index)\n        {\n            Index = index;\n            Datas = new List<Data>();\n\n            for (var i = 0; i < table.GetRowCount(); i += 2)\n            {\n                var row = table.GetRowAt(i);\n                var data = Csv.Create(Index, row, this);\n                Datas.Add(data);\n            }\n        }\n\n        public int Count()\n        {\n            return Datas?.Count ?? 0;\n        }\n\n        public List<Data> GetDatas()\n        {\n            return Datas;\n        }\n\n        public Data GetDataWithId(int id)\n        {\n            return Datas[GlobalId.GetInstanceId(id)];\n        }\n\n        public T GetDataWithId<T>(int id) where T : Data\n        {\n            return Datas[GlobalId.GetInstanceId(id)] as T;\n        }\n\n        public T GetDataWithInstanceId<T>(int id) where T : Data\n        {\n            if (Datas.Count < id) return null;\n\n            return Datas[id] as T;\n        }\n\n        public T GetData<T>(string name) where T : Data\n        {\n            return Datas.Find(data => data.GetName() == name) as T;\n        }\n\n        public int GetIndex()\n        {\n            return (int) Index;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvHelpers/GlobalId.cs",
    "content": "﻿namespace ClashRoyale.Files.CsvHelpers\n{\n    public static class GlobalId\n    {\n        public static int CreateGlobalId(int classId, int instanceId)\n        {\n            return classId <= 0 ? 1000000 + instanceId : classId * 1000000 + instanceId;\n        }\n\n        public static int GetClassId(int globalId)\n        {\n            return globalId / 1000000;\n        }\n\n        public static int GetInstanceId(int globalId)\n        {\n            return globalId % 1000000;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Abilities.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Abilities : Data\n    {\n        public Abilities(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 70);\n        }\n\n        public string Name { get; set; }\n        public string IconFile { get; set; }\n        public string TID { get; set; }\n        public string AreaEffectObject { get; set; }\n        public string Buff { get; set; }\n        public int BuffTime { get; set; }\n        public string Effect { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Achievements.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Achievements : Data\n    {\n        public Achievements(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 60);\n        }\n\n        public string Name { get; set; }\n        public int Level { get; set; }\n        public string TID { get; set; }\n        public string InfoTID { get; set; }\n        public string Action { get; set; }\n        public int ActionCount { get; set; }\n        public int ExpReward { get; set; }\n        public int DiamondReward { get; set; }\n        public int SortIndex { get; set; }\n        public bool Hidden { get; set; }\n        public string AndroidID { get; set; }\n        public string Type { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/AllianceBadges.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class AllianceBadges : Data\n    {\n        public AllianceBadges(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 16);\n        }\n\n        public string Name { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n        public string Category { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/AllianceRoles.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class AllianceRoles : Data\n    {\n        public AllianceRoles(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 59);\n        }\n\n        public string Name { get; set; }\n        public int Level { get; set; }\n        public string TID { get; set; }\n        public bool CanInvite { get; set; }\n        public bool CanSendMail { get; set; }\n        public bool CanChangeAllianceSettings { get; set; }\n        public bool CanAcceptJoinRequest { get; set; }\n        public bool CanKick { get; set; }\n        public bool CanBePromotedToLeader { get; set; }\n        public bool CanPromoteToOwnLevel { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/AreaEffectObjects.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class AreaEffectObjects : Data\n    {\n        public AreaEffectObjects(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 22);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public int LifeDuration { get; set; }\n        public int LifeDurationIncreasePerLevel { get; set; }\n        public int LifeDurationIncreaseAfterTournamentCap { get; set; }\n        public bool AffectsHidden { get; set; }\n        public int Radius { get; set; }\n        public string LoopingEffect { get; set; }\n        public string OneShotEffect { get; set; }\n        public string ScaledEffect { get; set; }\n        public string HitEffect { get; set; }\n        public int Pushback { get; set; }\n        public int MaximumTargets { get; set; }\n        public int HitSpeed { get; set; }\n        public int Damage { get; set; }\n        public bool NoEffectToCrownTowers { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public bool HitBiggestTargets { get; set; }\n        public string Buff { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public int BuffTimeIncreaseAfterTournamentCap { get; set; }\n        public bool CapBuffTimeToAreaEffectTime { get; set; }\n        public int BuffNumber { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public bool IgnoreBuildings { get; set; }\n        public string Projectile { get; set; }\n        public string SpawnCharacter { get; set; }\n        public int SpawnInterval { get; set; }\n        public string SpawnEffect { get; set; }\n        public string SpawnDeployBaseAnim { get; set; }\n        public int SpawnTime { get; set; }\n        public int SpawnCharacterLevelIndex { get; set; }\n        public int SpawnInitialDelay { get; set; }\n        public int SpawnMaxCount { get; set; }\n        public bool HitsGround { get; set; }\n        public bool HitsAir { get; set; }\n        public int ProjectileStartHeight { get; set; }\n        public bool ProjectilesToCenter { get; set; }\n        public string SpawnsAEO { get; set; }\n        public bool ControlsBuff { get; set; }\n        public bool Clone { get; set; }\n        public int AttractPercentage { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Arenas.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Arenas : Data\n    {\n        public Arenas(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 54);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public string SubtitleTID { get; set; }\n        public int Arena { get; set; }\n        public string ChestArena { get; set; }\n        public string TvArena { get; set; }\n        public bool IsInUse { get; set; }\n        public bool TrainingCamp { get; set; }\n        public bool PVEArena { get; set; }\n        public int TrophyLimit { get; set; }\n        public int DemoteTrophyLimit { get; set; }\n        public int SeasonTrophyReset { get; set; }\n        public int ChestRewardMultiplier { get; set; }\n        public int ChestShopPriceMultiplier { get; set; }\n        public int RequestSize { get; set; }\n        public int MaxDonationCountCommon { get; set; }\n        public int MaxDonationCountRare { get; set; }\n        public int MaxDonationCountEpic { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n        public string MainMenuIconExportName { get; set; }\n        public string SmallIconExportName { get; set; }\n        public int MatchmakingMinTrophyDelta { get; set; }\n        public int MatchmakingMaxTrophyDelta { get; set; }\n        public int MatchmakingMaxSeconds { get; set; }\n        public string PvpLocation { get; set; }\n        public string TeamVsTeamLocation { get; set; }\n        public int DailyDonationCapacityLimit { get; set; }\n        public int BattleRewardGold { get; set; }\n        public string ReleaseDate { get; set; }\n        public string SeasonRewardChest { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Buildings.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Buildings : Data\n    {\n        public Buildings(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 35);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public int SightRange { get; set; }\n        public int DeployTime { get; set; }\n        public int ChargeRange { get; set; }\n        public int Speed { get; set; }\n        public int Hitpoints { get; set; }\n        public int HitSpeed { get; set; }\n        public int LoadTime { get; set; }\n        public int Damage { get; set; }\n        public int DamageSpecial { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public bool LoadFirstHit { get; set; }\n        public int StopTimeAfterAttack { get; set; }\n        public int StopTimeAfterSpecialAttack { get; set; }\n        public string Projectile { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public int MultipleTargets { get; set; }\n        public bool AllTargetsHit { get; set; }\n        public int Range { get; set; }\n        public int MinimumRange { get; set; }\n        public int SpecialMinRange { get; set; }\n        public int SpecialRange { get; set; }\n        public int SpecialLoadTime { get; set; }\n        public string SpecialReadyEffect { get; set; }\n        public bool AttacksGround { get; set; }\n        public bool AttacksAir { get; set; }\n        public int DeathDamageRadius { get; set; }\n        public int DeathDamage { get; set; }\n        public int DeathPushBack { get; set; }\n        public int AttackPushBack { get; set; }\n        public int LifeTime { get; set; }\n        public string ProjectileSpecial { get; set; }\n        public string ProjectileEffect { get; set; }\n        public string ProjectileEffectSpecial { get; set; }\n        public int AreaDamageRadius { get; set; }\n        public bool TargetOnlyBuildings { get; set; }\n        public int SpecialAttackInterval { get; set; }\n        public string BuffOnDamage { get; set; }\n        public int BuffOnDamageTime { get; set; }\n        public string StartingBuff { get; set; }\n        public int StartingBuffTime { get; set; }\n        public string FileName { get; set; }\n        public string BlueExportName { get; set; }\n        public string BlueTopExportName { get; set; }\n        public string RedExportName { get; set; }\n        public string RedTopExportName { get; set; }\n        public bool UseAnimator { get; set; }\n        public string AttachedCharacter { get; set; }\n        public int AttachedCharacterHeight { get; set; }\n        public string DamageEffect { get; set; }\n        public string DamageEffectSpecial { get; set; }\n        public string DeathEffect { get; set; }\n        public string MoveEffect { get; set; }\n        public bool LoopMoveEffect { get; set; }\n        public string SpawnEffect { get; set; }\n        public bool CrowdEffects { get; set; }\n        public int ShadowScaleX { get; set; }\n        public int ShadowScaleY { get; set; }\n        public int ShadowX { get; set; }\n        public int ShadowY { get; set; }\n        public int ShadowSkew { get; set; }\n        public string ShadowCustom { get; set; }\n        public string ShadowCustomLow { get; set; }\n        public int Pushback { get; set; }\n        public bool IgnorePushback { get; set; }\n        public int Scale { get; set; }\n        public int CollisionRadius { get; set; }\n        public int Mass { get; set; }\n        public int TileSizeOverride { get; set; }\n        public string AreaBuff { get; set; }\n        public int AreaBuffTime { get; set; }\n        public int AreaBuffRadius { get; set; }\n        public string HealthBar { get; set; }\n        public int HealthBarOffsetY { get; set; }\n        public bool ShowHealthNumber { get; set; }\n        public int FlyingHeight { get; set; }\n        public bool FlyDirectPaths { get; set; }\n        public bool FlyFromGround { get; set; }\n        public string DamageExportName { get; set; }\n        public int GrowTime { get; set; }\n        public int GrowSize { get; set; }\n        public string MorphCharacter { get; set; }\n        public string MorphEffect { get; set; }\n        public bool HealOnMorph { get; set; }\n        public string AreaEffectOnMorph { get; set; }\n        public int MorphTime { get; set; }\n        public bool MorphKeepTarget { get; set; }\n        public string AttackStartEffect { get; set; }\n        public string AttackStartEffectSpecial { get; set; }\n        public int DashImmuneToDamageTime { get; set; }\n        public string DashStartEffect { get; set; }\n        public string DashEffect { get; set; }\n        public int DashCooldown { get; set; }\n        public int JumpHeight { get; set; }\n        public int DashPushBack { get; set; }\n        public int DashRadius { get; set; }\n        public int DashDamage { get; set; }\n        public string DashFilter { get; set; }\n        public int DashConstantTime { get; set; }\n        public int DashLandingTime { get; set; }\n        public string LandingEffect { get; set; }\n        public int DashMinRange { get; set; }\n        public int DashMaxRange { get; set; }\n        public int JumpSpeed { get; set; }\n        public string ContinuousEffect { get; set; }\n        public int SpawnStartTime { get; set; }\n        public int SpawnInterval { get; set; }\n        public int SpawnNumber { get; set; }\n        public int SpawnLimit { get; set; }\n        public int SpawnPauseTime { get; set; }\n        public int SpawnCharacterLevelIndex { get; set; }\n        public string SpawnCharacter { get; set; }\n        public string SpawnProjectile { get; set; }\n        public string SpawnCharacterEffect { get; set; }\n        public string SpawnDeployBaseAnim { get; set; }\n        public int SpawnRadius { get; set; }\n        public int DeathSpawnCount { get; set; }\n        public string DeathSpawnCharacter { get; set; }\n        public string DeathSpawnProjectile { get; set; }\n        public int DeathSpawnRadius { get; set; }\n        public int DeathSpawnMinRadius { get; set; }\n        public int SpawnAngleShift { get; set; }\n        public int DeathSpawnDeployTime { get; set; }\n        public bool DeathSpawnPushback { get; set; }\n        public string DeathAreaEffect { get; set; }\n        public bool DeathInheritIgnoreList { get; set; }\n        public bool Kamikaze { get; set; }\n        public int KamikazeTime { get; set; }\n        public string KamikazeEffect { get; set; }\n        public int SpawnPathfindSpeed { get; set; }\n        public string SpawnPathfindEffect { get; set; }\n        public string SpawnPathfindMorph { get; set; }\n        public int SpawnPushback { get; set; }\n        public int SpawnPushbackRadius { get; set; }\n        public string SpawnAreaObject { get; set; }\n        public int SpawnAreaObjectLevelIndex { get; set; }\n        public string ChargeEffect { get; set; }\n        public string TakeDamageEffect { get; set; }\n        public int ProjectileStartRadius { get; set; }\n        public int ProjectileStartZ { get; set; }\n        public int StopMovementAfterMS { get; set; }\n        public int WaitMS { get; set; }\n        public bool DontStopMoveAnim { get; set; }\n        public bool IsSummonerTower { get; set; }\n        public int NoDeploySizeW { get; set; }\n        public int NoDeploySizeH { get; set; }\n        public string TID { get; set; }\n        public bool VariableDamageLifeTime { get; set; }\n        public int VariableDamageTransitionTime { get; set; }\n        public int VariableDamage2 { get; set; }\n        public int VariableDamageTime1 { get; set; }\n        public int VariableDamage3 { get; set; }\n        public int VariableDamageTime2 { get; set; }\n        public string TargettedDamageEffect1 { get; set; }\n        public string TargettedDamageEffect2 { get; set; }\n        public string TargettedDamageEffect3 { get; set; }\n        public string DamageLevelTransitionEffect12 { get; set; }\n        public string DamageLevelTransitionEffect23 { get; set; }\n        public string FlameEffect1 { get; set; }\n        public string FlameEffect2 { get; set; }\n        public string FlameEffect3 { get; set; }\n        public int TargetEffectY { get; set; }\n        public bool SelfAsAoeCenter { get; set; }\n        public bool HidesWhenNotAttacking { get; set; }\n        public int HideTimeMs { get; set; }\n        public bool HideBeforeFirstHit { get; set; }\n        public bool SpecialAttackWhenHidden { get; set; }\n        public string TargetedHitEffect { get; set; }\n        public string TargetedHitEffectSpecial { get; set; }\n        public int UpTimeMs { get; set; }\n        public string HideEffect { get; set; }\n        public string AppearEffect { get; set; }\n        public int AppearPushbackRadius { get; set; }\n        public int AppearPushback { get; set; }\n        public string AppearAreaObject { get; set; }\n        public int ManaCollectAmount { get; set; }\n        public int ManaGenerateTimeMs { get; set; }\n        public int ManaGenerateLimit { get; set; }\n        public bool HasRotationOnTimeline { get; set; }\n        public int TurretMovement { get; set; }\n        public int ProjectileYOffset { get; set; }\n        public int ChargeSpeedMultiplier { get; set; }\n        public int DeployDelay { get; set; }\n        public string DeployBaseAnimExportName { get; set; }\n        public bool JumpEnabled { get; set; }\n        public int SightClip { get; set; }\n        public string AreaEffectOnDash { get; set; }\n        public int SightClipSide { get; set; }\n        public int WalkingSpeedTweakPercentage { get; set; }\n        public int ShieldHitpoints { get; set; }\n        public int ShieldDiePushback { get; set; }\n        public string ShieldLostEffect { get; set; }\n        public string BlueShieldExportName { get; set; }\n        public string RedShieldExportName { get; set; }\n        public string LoadAttackEffect1 { get; set; }\n        public string LoadAttackEffect2 { get; set; }\n        public string LoadAttackEffect3 { get; set; }\n        public string LoadAttackEffectReady { get; set; }\n        public int RotateAngleSpeed { get; set; }\n        public int DeployTimerDelay { get; set; }\n        public bool RetargetAfterAttack { get; set; }\n        public int AttackShakeTime { get; set; }\n        public int VisualHitSpeed { get; set; }\n        public string Ability { get; set; }\n        public int Burst { get; set; }\n        public int BurstDelay { get; set; }\n        public bool BurstKeepTarget { get; set; }\n        public int ActivationTime { get; set; }\n        public int AttackDashTime { get; set; }\n        public string LoopingFilter { get; set; }\n        public bool BuildingTarget { get; set; }\n        public bool SpawnConstPriority { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/CharacterBuffs.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class CharacterBuffs : Data\n    {\n        public CharacterBuffs(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 9);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public string TID { get; set; }\n        public string IconFileName { get; set; }\n        public string IconExportName { get; set; }\n        public bool ChangeControl { get; set; }\n        public bool NoEffectToCrownTowers { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public int DamagePerSecond { get; set; }\n        public int HitFrequency { get; set; }\n        public int DamageReduction { get; set; }\n        public int HealPerSecond { get; set; }\n        public bool ImmuneToAntiMagic { get; set; }\n        public int HitSpeedMultiplier { get; set; }\n        public int SpeedMultiplier { get; set; }\n        public int SpawnSpeedMultiplier { get; set; }\n        public string NegatesBuffs { get; set; }\n        public string ImmunityToBuffs { get; set; }\n        public bool Invisible { get; set; }\n        public bool RemoveOnAttack { get; set; }\n        public bool RemoveOnHeal { get; set; }\n        public int DamageMultiplier { get; set; }\n        public bool Panic { get; set; }\n        public string Effect { get; set; }\n        public string FilterFile { get; set; }\n        public string FilterExportName { get; set; }\n        public bool FilterAffectsTransformation { get; set; }\n        public bool FilterInheritLifeDuration { get; set; }\n        public int SizeMultiplier { get; set; }\n        public bool StaticTarget { get; set; }\n        public bool IgnorePushBack { get; set; }\n        public string MarkEffect { get; set; }\n        public int AudioPitchModifier { get; set; }\n        public string PortalSpell { get; set; }\n        public int AttractPercentage { get; set; }\n        public bool ControlledByParent { get; set; }\n        public bool Clone { get; set; }\n        public int Scale { get; set; }\n        public bool EnableStacking { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Characters.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Characters : Data\n    {\n        public Characters(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 34);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public int SightRange { get; set; }\n        public int DeployTime { get; set; }\n        public int ChargeRange { get; set; }\n        public int Speed { get; set; }\n        public int Hitpoints { get; set; }\n        public int HitSpeed { get; set; }\n        public int LoadTime { get; set; }\n        public int Damage { get; set; }\n        public int DamageSpecial { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public bool LoadFirstHit { get; set; }\n        public int StopTimeAfterAttack { get; set; }\n        public int StopTimeAfterSpecialAttack { get; set; }\n        public string Projectile { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public int MultipleTargets { get; set; }\n        public bool AllTargetsHit { get; set; }\n        public int Range { get; set; }\n        public int MinimumRange { get; set; }\n        public int SpecialMinRange { get; set; }\n        public int SpecialRange { get; set; }\n        public int SpecialLoadTime { get; set; }\n        public string SpecialReadyEffect { get; set; }\n        public bool AttacksGround { get; set; }\n        public bool AttacksAir { get; set; }\n        public int DeathDamageRadius { get; set; }\n        public int DeathDamage { get; set; }\n        public int DeathPushBack { get; set; }\n        public int AttackPushBack { get; set; }\n        public int LifeTime { get; set; }\n        public string ProjectileSpecial { get; set; }\n        public string ProjectileEffect { get; set; }\n        public string ProjectileEffectSpecial { get; set; }\n        public int AreaDamageRadius { get; set; }\n        public bool TargetOnlyBuildings { get; set; }\n        public int SpecialAttackInterval { get; set; }\n        public string BuffOnDamage { get; set; }\n        public int BuffOnDamageTime { get; set; }\n        public string StartingBuff { get; set; }\n        public int StartingBuffTime { get; set; }\n        public string FileName { get; set; }\n        public string BlueExportName { get; set; }\n        public string BlueTopExportName { get; set; }\n        public string RedExportName { get; set; }\n        public string RedTopExportName { get; set; }\n        public bool UseAnimator { get; set; }\n        public string AttachedCharacter { get; set; }\n        public int AttachedCharacterHeight { get; set; }\n        public string DamageEffect { get; set; }\n        public string DamageEffectSpecial { get; set; }\n        public string DeathEffect { get; set; }\n        public string MoveEffect { get; set; }\n        public bool LoopMoveEffect { get; set; }\n        public string SpawnEffect { get; set; }\n        public bool CrowdEffects { get; set; }\n        public int ShadowScaleX { get; set; }\n        public int ShadowScaleY { get; set; }\n        public int ShadowX { get; set; }\n        public int ShadowY { get; set; }\n        public int ShadowSkew { get; set; }\n        public string ShadowCustom { get; set; }\n        public string ShadowCustomLow { get; set; }\n        public int Pushback { get; set; }\n        public bool IgnorePushback { get; set; }\n        public int Scale { get; set; }\n        public int CollisionRadius { get; set; }\n        public int Mass { get; set; }\n        public int TileSizeOverride { get; set; }\n        public string AreaBuff { get; set; }\n        public int AreaBuffTime { get; set; }\n        public int AreaBuffRadius { get; set; }\n        public string HealthBar { get; set; }\n        public int HealthBarOffsetY { get; set; }\n        public bool ShowHealthNumber { get; set; }\n        public int FlyingHeight { get; set; }\n        public bool FlyDirectPaths { get; set; }\n        public bool FlyFromGround { get; set; }\n        public string DamageExportName { get; set; }\n        public int GrowTime { get; set; }\n        public int GrowSize { get; set; }\n        public string MorphCharacter { get; set; }\n        public string MorphEffect { get; set; }\n        public bool HealOnMorph { get; set; }\n        public string AreaEffectOnMorph { get; set; }\n        public int MorphTime { get; set; }\n        public bool MorphKeepTarget { get; set; }\n        public string AttackStartEffect { get; set; }\n        public string AttackStartEffectSpecial { get; set; }\n        public int DashImmuneToDamageTime { get; set; }\n        public string DashStartEffect { get; set; }\n        public string DashEffect { get; set; }\n        public int DashCooldown { get; set; }\n        public int JumpHeight { get; set; }\n        public int DashPushBack { get; set; }\n        public int DashRadius { get; set; }\n        public int DashDamage { get; set; }\n        public string DashFilter { get; set; }\n        public int DashConstantTime { get; set; }\n        public int DashLandingTime { get; set; }\n        public string LandingEffect { get; set; }\n        public int DashMinRange { get; set; }\n        public int DashMaxRange { get; set; }\n        public int JumpSpeed { get; set; }\n        public string ContinuousEffect { get; set; }\n        public int SpawnStartTime { get; set; }\n        public int SpawnInterval { get; set; }\n        public int SpawnNumber { get; set; }\n        public int SpawnLimit { get; set; }\n        public int SpawnPauseTime { get; set; }\n        public int SpawnCharacterLevelIndex { get; set; }\n        public string SpawnCharacter { get; set; }\n        public string SpawnProjectile { get; set; }\n        public string SpawnCharacterEffect { get; set; }\n        public string SpawnDeployBaseAnim { get; set; }\n        public int SpawnRadius { get; set; }\n        public int DeathSpawnCount { get; set; }\n        public string DeathSpawnCharacter { get; set; }\n        public string DeathSpawnProjectile { get; set; }\n        public int DeathSpawnRadius { get; set; }\n        public int DeathSpawnMinRadius { get; set; }\n        public int SpawnAngleShift { get; set; }\n        public int DeathSpawnDeployTime { get; set; }\n        public bool DeathSpawnPushback { get; set; }\n        public string DeathAreaEffect { get; set; }\n        public bool DeathInheritIgnoreList { get; set; }\n        public bool Kamikaze { get; set; }\n        public int KamikazeTime { get; set; }\n        public string KamikazeEffect { get; set; }\n        public int SpawnPathfindSpeed { get; set; }\n        public string SpawnPathfindEffect { get; set; }\n        public string SpawnPathfindMorph { get; set; }\n        public int SpawnPushback { get; set; }\n        public int SpawnPushbackRadius { get; set; }\n        public string SpawnAreaObject { get; set; }\n        public int SpawnAreaObjectLevelIndex { get; set; }\n        public string ChargeEffect { get; set; }\n        public string TakeDamageEffect { get; set; }\n        public int ProjectileStartRadius { get; set; }\n        public int ProjectileStartZ { get; set; }\n        public int StopMovementAfterMS { get; set; }\n        public int WaitMS { get; set; }\n        public bool DontStopMoveAnim { get; set; }\n        public bool IsSummonerTower { get; set; }\n        public int NoDeploySizeW { get; set; }\n        public int NoDeploySizeH { get; set; }\n        public string TID { get; set; }\n        public bool VariableDamageLifeTime { get; set; }\n        public int VariableDamageTransitionTime { get; set; }\n        public int VariableDamage2 { get; set; }\n        public int VariableDamageTime1 { get; set; }\n        public int VariableDamage3 { get; set; }\n        public int VariableDamageTime2 { get; set; }\n        public string TargettedDamageEffect1 { get; set; }\n        public string TargettedDamageEffect2 { get; set; }\n        public string TargettedDamageEffect3 { get; set; }\n        public string DamageLevelTransitionEffect12 { get; set; }\n        public string DamageLevelTransitionEffect23 { get; set; }\n        public string FlameEffect1 { get; set; }\n        public string FlameEffect2 { get; set; }\n        public string FlameEffect3 { get; set; }\n        public int TargetEffectY { get; set; }\n        public bool SelfAsAoeCenter { get; set; }\n        public bool HidesWhenNotAttacking { get; set; }\n        public int HideTimeMs { get; set; }\n        public bool HideBeforeFirstHit { get; set; }\n        public bool SpecialAttackWhenHidden { get; set; }\n        public string TargetedHitEffect { get; set; }\n        public string TargetedHitEffectSpecial { get; set; }\n        public int UpTimeMs { get; set; }\n        public string HideEffect { get; set; }\n        public string AppearEffect { get; set; }\n        public int AppearPushbackRadius { get; set; }\n        public int AppearPushback { get; set; }\n        public string AppearAreaObject { get; set; }\n        public int ManaCollectAmount { get; set; }\n        public int ManaGenerateTimeMs { get; set; }\n        public int ManaGenerateLimit { get; set; }\n        public bool HasRotationOnTimeline { get; set; }\n        public int TurretMovement { get; set; }\n        public int ProjectileYOffset { get; set; }\n        public int ChargeSpeedMultiplier { get; set; }\n        public int DeployDelay { get; set; }\n        public string DeployBaseAnimExportName { get; set; }\n        public bool JumpEnabled { get; set; }\n        public int SightClip { get; set; }\n        public string AreaEffectOnDash { get; set; }\n        public int SightClipSide { get; set; }\n        public int WalkingSpeedTweakPercentage { get; set; }\n        public int ShieldHitpoints { get; set; }\n        public int ShieldDiePushback { get; set; }\n        public string ShieldLostEffect { get; set; }\n        public string BlueShieldExportName { get; set; }\n        public string RedShieldExportName { get; set; }\n        public string LoadAttackEffect1 { get; set; }\n        public string LoadAttackEffect2 { get; set; }\n        public string LoadAttackEffect3 { get; set; }\n        public string LoadAttackEffectReady { get; set; }\n        public int RotateAngleSpeed { get; set; }\n        public int DeployTimerDelay { get; set; }\n        public bool RetargetAfterAttack { get; set; }\n        public int AttackShakeTime { get; set; }\n        public int VisualHitSpeed { get; set; }\n        public string Ability { get; set; }\n        public int Burst { get; set; }\n        public int BurstDelay { get; set; }\n        public bool BurstKeepTarget { get; set; }\n        public int ActivationTime { get; set; }\n        public int AttackDashTime { get; set; }\n        public string LoopingFilter { get; set; }\n        public bool BuildingTarget { get; set; }\n        public bool SpawnConstPriority { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/ChestOrder.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class ChestOrder : Data\n    {\n        public ChestOrder(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 52);\n        }\n\n        public string Name { get; set; }\n        public string Chest { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/ConfigurationDefinitions.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class ConfigurationDefinitions : Data\n    {\n        public ConfigurationDefinitions(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 77);\n        }\n\n        public string Name { get; set; }\n        public string ObjectType { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/ContentTests.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class ContentTests : Data\n    {\n        public ContentTests(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 64);\n        }\n\n        public string Name { get; set; }\n        public string SourceData { get; set; }\n        public string TargetData { get; set; }\n        public string Stat1 { get; set; }\n        public string Operator { get; set; }\n        public string Stat2 { get; set; }\n        public int Result { get; set; }\n        public bool Enabled { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Decos.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Decos : Data\n    {\n        public Decos(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 42);\n        }\n\n        public string Name { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string Layer { get; set; }\n        public string LowendLayer { get; set; }\n        public int ShadowScale { get; set; }\n        public int ShadowX { get; set; }\n        public int ShadowY { get; set; }\n        public int ShadowSkew { get; set; }\n        public int CollisionRadius { get; set; }\n        public string Effect { get; set; }\n        public string AssetMinTrophy { get; set; }\n        public int AssetMinTrophyScore { get; set; }\n        public string AssetMinTrophyFileName { get; set; }\n        public int SortValue { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/DraftDeck.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class DraftDeck : Data\n    {\n        public DraftDeck(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 68);\n        }\n\n        public string Name { get; set; }\n        public string RequiredSets { get; set; }\n        public string OptionalSets { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/EventCategories.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class EventCategories : Data\n    {\n        public EventCategories(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 67);\n        }\n\n        public string Name { get; set; }\n        public string CSVFiles { get; set; }\n        public string CSVRows { get; set; }\n        public string CustomNames { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/EventCategoryDefinitions.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class EventCategoryDefinitions : Data\n    {\n        public EventCategoryDefinitions(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 74);\n        }\n\n        public string Name { get; set; }\n        public string ObjectType { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/EventCategoryEnums.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class EventCategoryEnums : Data\n    {\n        public EventCategoryEnums(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 76);\n        }\n\n        public string Name { get; set; }\n        public string Option { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/EventCategoryObjectDefinitions.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class EventCategoryObjectDefinitions : Data\n    {\n        public EventCategoryObjectDefinitions(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 75);\n        }\n\n        public string Name { get; set; }\n        public string PropertyName { get; set; }\n        public string PropertyType { get; set; }\n        public bool IsRequired { get; set; }\n        public string ObjectType { get; set; }\n        public int DefaultInt { get; set; }\n        public string DefaultString { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/EventTargetingDefinitions.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class EventTargetingDefinitions : Data\n    {\n        public EventTargetingDefinitions(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 85);\n        }\n\n        public string Name { get; set; }\n        public string MetadataType { get; set; }\n        public string MetadataPath { get; set; }\n        public string EvaluationLocation { get; set; }\n        public string ParameterName { get; set; }\n        public string ParameterType { get; set; }\n        public bool IsRequired { get; set; }\n        public string ObjectType { get; set; }\n        public string MatchingRuleType { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/ExpLevels.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class ExpLevels : Data\n    {\n        public ExpLevels(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 46);\n        }\n\n        public string Name { get; set; }\n        public int ExpToNextLevel { get; set; }\n        public int SummonerLevel { get; set; }\n        public int TowerLevel { get; set; }\n        public int TroopLevel { get; set; }\n        public int Decks { get; set; }\n        public int SummonerKillGold { get; set; }\n        public int TowerKillGold { get; set; }\n        public int DiamondReward { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/GambleChests.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class GambleChests : Data\n    {\n        public GambleChests(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 43);\n        }\n\n        public string Name { get; set; }\n        public int GoldPrice { get; set; }\n        public string Location { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/GameModes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class GameModes : Data\n    {\n        public GameModes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 72);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public string RequestTID { get; set; }\n        public string InProgressTID { get; set; }\n        public string CardLevelAdjustment { get; set; }\n        public int PlayerCount { get; set; }\n        public string DeckSelection { get; set; }\n        public int OvertimeSeconds { get; set; }\n        public string PredefinedDecks { get; set; }\n        public int ElixirProductionMultiplier { get; set; }\n        public int ElixirProductionOvertimeMultiplier { get; set; }\n        public bool UseStartingElixir { get; set; }\n        public int StartingElixir { get; set; }\n        public bool Heroes { get; set; }\n        public string ForcedDeckCards { get; set; }\n        public string Players { get; set; }\n        public string EventDeckSetLimit { get; set; }\n        public bool ForcedDeckCardsUsingCardTheme { get; set; }\n        public string PrincessSkin { get; set; }\n        public string KingSkin { get; set; }\n        public bool GivesClanScore { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Globals.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Globals : Data\n    {\n        public Globals(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 3);\n        }\n\n        public string Name { get; set; }\n        public int NumberValue { get; set; }\n        public bool BooleanValue { get; set; }\n        public string TextValue { get; set; }\n        public string StringArray { get; set; }\n        public int NumberArray { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Heroes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Heroes : Data\n    {\n        public Heroes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public int SightRange { get; set; }\n        public int DeployTime { get; set; }\n        public int ChargeRange { get; set; }\n        public int Speed { get; set; }\n        public int Hitpoints { get; set; }\n        public int HitSpeed { get; set; }\n        public int LoadTime { get; set; }\n        public int Damage { get; set; }\n        public int DamageSpecial { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public bool LoadFirstHit { get; set; }\n        public int StopTimeAfterAttack { get; set; }\n        public int StopTimeAfterSpecialAttack { get; set; }\n        public string Projectile { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public int MultipleTargets { get; set; }\n        public bool AllTargetsHit { get; set; }\n        public int Range { get; set; }\n        public int MinimumRange { get; set; }\n        public bool AttacksGround { get; set; }\n        public bool AttacksAir { get; set; }\n        public int DeathDamageRadius { get; set; }\n        public int DeathDamage { get; set; }\n        public int DeathPushBack { get; set; }\n        public int AttackPushBack { get; set; }\n        public bool PushbackStaticDir { get; set; }\n        public int ReloadAfterHits { get; set; }\n        public int ReloadTime { get; set; }\n        public int LifeTime { get; set; }\n        public string ProjectileSpecial { get; set; }\n        public string ProjectileEffect { get; set; }\n        public string ProjectileEffectSpecial { get; set; }\n        public int AreaDamageRadius { get; set; }\n        public bool TargetOnlyBuildings { get; set; }\n        public int SpecialAttackInterval { get; set; }\n        public int OpponentCardHealthReduction { get; set; }\n        public int OwnCardHealthReduction { get; set; }\n        public string BuffOnDamage { get; set; }\n        public int BuffOnDamageTime { get; set; }\n        public bool IgnoreTargetIfImmuneToBuff { get; set; }\n        public string StartingBuff { get; set; }\n        public int StartingBuffTime { get; set; }\n        public string FileName { get; set; }\n        public string BlueExportName { get; set; }\n        public string BlueTopExportName { get; set; }\n        public string RedExportName { get; set; }\n        public string RedTopExportName { get; set; }\n        public bool UseAnimator { get; set; }\n        public string AttachedCharacter { get; set; }\n        public int AttachedCharacterHeight { get; set; }\n        public string DamageEffect { get; set; }\n        public string DamageEffectSpecial { get; set; }\n        public string DeathEffect { get; set; }\n        public string MoveEffect { get; set; }\n        public string SpawnEffect { get; set; }\n        public bool CrowdEffects { get; set; }\n        public int ShadowScaleX { get; set; }\n        public int ShadowScaleY { get; set; }\n        public int ShadowX { get; set; }\n        public int ShadowY { get; set; }\n        public int ShadowSkew { get; set; }\n        public int Pushback { get; set; }\n        public bool IgnorePushback { get; set; }\n        public int Scale { get; set; }\n        public int CollisionRadius { get; set; }\n        public int Mass { get; set; }\n        public int TileSizeOverride { get; set; }\n        public string AreaBuff { get; set; }\n        public int AreaBuffTime { get; set; }\n        public int AreaBuffRadius { get; set; }\n        public bool AreaBuffOwnTroops { get; set; }\n        public bool AreaBuffEnemies { get; set; }\n        public int Gold { get; set; }\n        public int ManaOnDeath { get; set; }\n        public string HealthBar { get; set; }\n        public int HealthBarOffsetY { get; set; }\n        public bool ShowHealthNumber { get; set; }\n        public int FlyingHeight { get; set; }\n        public bool FlyFromGround { get; set; }\n        public string DamageExportName { get; set; }\n        public int GrowTime { get; set; }\n        public int GrowSize { get; set; }\n        public string MorphCharacter { get; set; }\n        public string MorphEffect { get; set; }\n        public bool HealOnMorph { get; set; }\n        public string AreaEffectOnMorph { get; set; }\n        public string AttackStartEffect { get; set; }\n        public string AttackStartEffectSpecial { get; set; }\n        public string DashStartEffect { get; set; }\n        public string DashEffect { get; set; }\n        public int DashCooldown { get; set; }\n        public int JumpHeight { get; set; }\n        public int DashPushBack { get; set; }\n        public int DashRadius { get; set; }\n        public int DashDamage { get; set; }\n        public string LandingEffect { get; set; }\n        public int DashMinRange { get; set; }\n        public int DashMaxRange { get; set; }\n        public int JumpSpeed { get; set; }\n        public string ContinuousEffect { get; set; }\n        public int OpponentCardSpawn { get; set; }\n        public int OwnCardSpawn { get; set; }\n        public int SpawnStartTime { get; set; }\n        public int SpawnInterval { get; set; }\n        public int SpawnNumber { get; set; }\n        public int SpawnLimit { get; set; }\n        public int SpawnPauseTime { get; set; }\n        public int SpawnCharacterLevelIndex { get; set; }\n        public string SpawnCharacter { get; set; }\n        public string SpawnCharacterEffect { get; set; }\n        public string SpawnDeployBaseAnim { get; set; }\n        public int SpawnRadius { get; set; }\n        public int DeathSpawnCount { get; set; }\n        public string DeathSpawnCharacter { get; set; }\n        public int DeathSpawnRadius { get; set; }\n        public int DeathSpawnAngleShift { get; set; }\n        public int DeathSpawnDeployTime { get; set; }\n        public bool DeathSpawnPushback { get; set; }\n        public string DeathAreaEffect { get; set; }\n        public bool Kamikaze { get; set; }\n        public string KamikazeEffect { get; set; }\n        public int SpawnPathfindSpeed { get; set; }\n        public string SpawnPathfindEffect { get; set; }\n        public string SpawnPathfindMorph { get; set; }\n        public int SpawnPushback { get; set; }\n        public int SpawnPushbackRadius { get; set; }\n        public string SpawnAreaObject { get; set; }\n        public int SpawnAreaObjectLevelIndex { get; set; }\n        public string ChargeEffect { get; set; }\n        public string TakeDamageEffect { get; set; }\n        public int ProjectileStartRadius { get; set; }\n        public int ProjectileStartZ { get; set; }\n        public int StopMovementAfterMS { get; set; }\n        public int WaitMS { get; set; }\n        public bool DontStopMoveAnim { get; set; }\n        public bool IsSummonerTower { get; set; }\n        public int NoDeploySizeW { get; set; }\n        public int NoDeploySizeH { get; set; }\n        public string TID { get; set; }\n        public int VariableDamage2 { get; set; }\n        public int VariableDamageTime1 { get; set; }\n        public int VariableDamage3 { get; set; }\n        public int VariableDamageTime2 { get; set; }\n        public string TargettedDamageEffect1 { get; set; }\n        public string TargettedDamageEffect2 { get; set; }\n        public string TargettedDamageEffect3 { get; set; }\n        public string DamageLevelTransitionEffect12 { get; set; }\n        public string DamageLevelTransitionEffect23 { get; set; }\n        public string FlameEffect1 { get; set; }\n        public string FlameEffect2 { get; set; }\n        public string FlameEffect3 { get; set; }\n        public int TargetEffectY { get; set; }\n        public bool SelfAsAoeCenter { get; set; }\n        public bool HidesWhenNotAttacking { get; set; }\n        public int HideTimeMs { get; set; }\n        public bool HideBeforeFirstHit { get; set; }\n        public bool SpecialAttackWhenHidden { get; set; }\n        public string TargetedHitEffect { get; set; }\n        public string TargetedHitEffectSpecial { get; set; }\n        public int UpTimeMs { get; set; }\n        public string HideEffect { get; set; }\n        public string AppearEffect { get; set; }\n        public int AppearPushbackRadius { get; set; }\n        public int AppearPushback { get; set; }\n        public string AppearAreaObject { get; set; }\n        public int ManaCollectAmount { get; set; }\n        public int ManaGenerateTimeMs { get; set; }\n        public int ManaGenerateLimit { get; set; }\n        public bool HasRotationOnTimeline { get; set; }\n        public int TurretMovement { get; set; }\n        public int ProjectileYOffset { get; set; }\n        public int ChargeSpeedMultiplier { get; set; }\n        public int DeployDelay { get; set; }\n        public string DeployBaseAnimExportName { get; set; }\n        public bool JumpEnabled { get; set; }\n        public int SightClip { get; set; }\n        public string AreaEffectOnDash { get; set; }\n        public int SightClipSide { get; set; }\n        public int WalkingSpeedTweakPercentage { get; set; }\n        public int ShieldHitpoints { get; set; }\n        public int ShieldDiePushback { get; set; }\n        public string ShieldLostEffect { get; set; }\n        public string BlueShieldExportName { get; set; }\n        public string RedShieldExportName { get; set; }\n        public string LoadAttackEffect1 { get; set; }\n        public string LoadAttackEffect2 { get; set; }\n        public string LoadAttackEffect3 { get; set; }\n        public string LoadAttackEffectReady { get; set; }\n        public int RotateAngleSpeed { get; set; }\n        public bool EnableAttackOnDamage { get; set; }\n        public int SecondaryHitDelay { get; set; }\n        public int DeployTimerDelay { get; set; }\n        public bool RetargetAfterAttack { get; set; }\n        public int AttackShakeTime { get; set; }\n        public int VisualHitSpeed { get; set; }\n        public string Ability { get; set; }\n        public int Burst { get; set; }\n        public int BurstDelay { get; set; }\n        public bool BurstKeepTarget { get; set; }\n        public int ActivationTime { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Locales.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Locales : Data\n    {\n        public Locales(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 1);\n        }\n\n        public string Name { get; set; }\n        public bool Enabled { get; set; }\n        public string Description { get; set; }\n        public int SortOrder { get; set; }\n        public bool HasEvenSpaceCharacters { get; set; }\n        public string UsedSystemFont { get; set; }\n        public string HelpshiftSDKLanguage { get; set; }\n        public string HelpshiftSDKLanguageAndroid { get; set; }\n        public string HelpshiftLanguageTag { get; set; }\n        public string TermsAndServiceUrl { get; set; }\n        public string ParentsGuideUrl { get; set; }\n        public string PrivacyPolicyUrl { get; set; }\n        public bool TestLanguage { get; set; }\n        public string TestExcludes { get; set; }\n        public string RegionListFile { get; set; }\n        public bool MaintenanceRoyalBox { get; set; }\n        public string RoyalBoxURL { get; set; }\n        public string RoyalBoxStageURL { get; set; }\n        public string RoyalBoxDevURL { get; set; }\n        public string BoomBoxURL { get; set; }\n        public string EventsURL { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Locations.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Locations : Data\n    {\n        public Locations(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 15);\n        }\n\n        public string Name { get; set; }\n        public bool NpcOnly { get; set; }\n        public bool PvpOnly { get; set; }\n        public int ShadowR { get; set; }\n        public int ShadowG { get; set; }\n        public int ShadowB { get; set; }\n        public int ShadowA { get; set; }\n        public int ShadowOffsetX { get; set; }\n        public int ShadowOffsetY { get; set; }\n        public string Sound { get; set; }\n        public string ExtraTimeMusic { get; set; }\n        public int MatchLength { get; set; }\n        public string WinCondition { get; set; }\n        public int OvertimeSeconds { get; set; }\n        public int EndScreenDelay { get; set; }\n        public string FileName { get; set; }\n        public string TileDataFileName { get; set; }\n        public string AmbientSound { get; set; }\n        public string OverlaySC { get; set; }\n        public string OverlayExportName { get; set; }\n        public bool CrowdEffects { get; set; }\n        public string CloudFileName { get; set; }\n        public string CloudExportName { get; set; }\n        public int CloudMinScale { get; set; }\n        public int CloudMaxScale { get; set; }\n        public int CloudMinSpeed { get; set; }\n        public int CloudMaxSpeed { get; set; }\n        public int CloudMinAlpha { get; set; }\n        public int CloudMaxAlpha { get; set; }\n        public int CloudCount { get; set; }\n        public string WalkEffect { get; set; }\n        public string WalkEffectOvertime { get; set; }\n        public string LoopingEffectRegularTime { get; set; }\n        public string LoopingEffectOvertime { get; set; }\n        public string LoopingEffect { get; set; }\n        public string LoopingEffectOvertimeSide { get; set; }\n        public int ReflectionRed { get; set; }\n        public int ReflectionGreen { get; set; }\n        public int ReflectionBlue { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Npcs.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Npcs : Data\n    {\n        public Npcs(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 18);\n        }\n\n        public string Name { get; set; }\n        public string Location { get; set; }\n        public string PredefinedDeck { get; set; }\n        public int Trophies { get; set; }\n        public int ManaRegenMs { get; set; }\n        public int ManaRegenMsEnd { get; set; }\n        public int ManaRegenMsOvertime { get; set; }\n        public int ExpLevel { get; set; }\n        public bool CanReplay { get; set; }\n        public string TID { get; set; }\n        public int ExpReward { get; set; }\n        public int Seed { get; set; }\n        public bool FullDeckNotNeeded { get; set; }\n        public int ManaReserve { get; set; }\n        public int StartingMana { get; set; }\n        public int WizardHpMultiplier { get; set; }\n        public string StartTaunt { get; set; }\n        public string OwnTowerDestroyedTaunt { get; set; }\n        public bool HighlightTargetsOnManaFull { get; set; }\n        public bool TrainingMatchAllowed { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/PredefinedDecks.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class PredefinedDecks : Data\n    {\n        public PredefinedDecks(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 12);\n        }\n\n        public string Name { get; set; }\n        public string[] Spells { get; set; }\n        public int SpellLevel { get; set; }\n        public string RandomSpellSets { get; set; }\n        public string Description { get; set; }\n        public string TID { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Projectiles.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Projectiles : Data\n    {\n        public Projectiles(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 10);\n        }\n\n        public string Name { get; set; }\n        public string Rarity { get; set; }\n        public int Speed { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string RedExportName { get; set; }\n        public string ShadowExportName { get; set; }\n        public string RedShadowExportName { get; set; }\n        public bool ShadowDisableRotate { get; set; }\n        public int Scale { get; set; }\n        public bool Homing { get; set; }\n        public string HitEffect { get; set; }\n        public string DeathEffect { get; set; }\n        public int Damage { get; set; }\n        public int CrownTowerDamagePercent { get; set; }\n        public int Pushback { get; set; }\n        public bool PushbackAll { get; set; }\n        public int Radius { get; set; }\n        public int RadiusY { get; set; }\n        public bool AoeToAir { get; set; }\n        public bool AoeToGround { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public int MaximumTargets { get; set; }\n        public int Gravity { get; set; }\n        public string SpawnAreaEffectObject { get; set; }\n        public int SpawnCharacterLevelIndex { get; set; }\n        public int SpawnCharacterDeployTime { get; set; }\n        public string SpawnCharacter { get; set; }\n        public bool SpawnConstPriority { get; set; }\n        public int SpawnCharacterCount { get; set; }\n        public string TargetBuff { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public string TrailEffect { get; set; }\n        public int ProjectileRadius { get; set; }\n        public int ProjectileRadiusY { get; set; }\n        public int ProjectileRange { get; set; }\n        public bool use360Frames { get; set; }\n        public string HitSoundWhenParentAlive { get; set; }\n        public string SpawnProjectile { get; set; }\n        public int MinDistance { get; set; }\n        public int MaxDistance { get; set; }\n        public int ConstantHeight { get; set; }\n        public bool HeightFromTargetRadius { get; set; }\n        public int Heal { get; set; }\n        public int CrownTowerHealPercent { get; set; }\n        public bool TargetToEdge { get; set; }\n        public int ChainedHitRadius { get; set; }\n        public string ChainedHitEndEffect { get; set; }\n        public string PingpongDeathEffect { get; set; }\n        public bool ShakesTargets { get; set; }\n        public int PingpongVisualTime { get; set; }\n        public int RandomAngle { get; set; }\n        public int RandomDistance { get; set; }\n        public string Scatter { get; set; }\n        public int DragBackSpeed { get; set; }\n        public int DragMargin { get; set; }\n        public string TargettedEffect { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/PveBoss.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class PveBoss : Data\n    {\n        public PveBoss(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 80);\n        }\n\n        public string Name { get; set; }\n        public string Waves { get; set; }\n        public int WaveDuration { get; set; }\n        public bool Repeat { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/PveGamemodes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class PveGamemodes : Data\n    {\n        public PveGamemodes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 79);\n        }\n\n        public string Name { get; set; }\n        public string Waves { get; set; }\n        public string VictoryCondition { get; set; }\n        public string ForcedCards { get; set; }\n        public string Location { get; set; }\n        public string ComputerPlayerType { get; set; }\n        public string TowerRules { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/PveWaves.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class PveWaves : Data\n    {\n        public PveWaves(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 78);\n        }\n\n        public string Name { get; set; }\n        public string Spells { get; set; }\n        public int PositionX { get; set; }\n        public int PositionY { get; set; }\n        public int Delay { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/QuestOrder.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class QuestOrder : Data\n    {\n        public QuestOrder(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row);\n        }\n\n        public string Name { get; set; }\n        public string Column { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Rarities.cs",
    "content": "using System.Collections.Generic;\nusing ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Rarities : Data\n    {\n        public Rarities(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 14);\n        }\n\n        public string Name { get; set; }\n        public int LevelCount { get; set; }\n        public int RelativeLevel { get; set; }\n        public int MirrorRelativeLevel { get; set; }\n        public int CloneRelativeLevel { get; set; }\n        public int DonateCapacity { get; set; }\n        public int SortCapacity { get; set; }\n        public int DonateReward { get; set; }\n        public int DonateXP { get; set; }\n        public int GoldConversionValue { get; set; }\n        public int ChanceWeight { get; set; }\n        public int BalanceMultiplier { get; set; }\n        public int[] UpgradeExp { get; set; }\n        public int[] UpgradeMaterialCount { get; set; }\n        public int[] UpgradeCost { get; set; }\n        public int PowerLevelMultiplier { get; set; }\n        public int RefundGems { get; set; }\n        public string TID { get; set; }\n        public string CardBaseFileName { get; set; }\n        public string BigFrameExportName { get; set; }\n        public string CardBaseExportName { get; set; }\n        public string StackedCardExportName { get; set; }\n        public string CardRewardExportName { get; set; }\n        public string CastEffect { get; set; }\n        public string InfoTitleExportName { get; set; }\n        public string CardRarityBGExportName { get; set; }\n        public int SortOrder { get; set; }\n        public int Red { get; set; }\n        public int Green { get; set; }\n        public int Blue { get; set; }\n        public string AppearEffect { get; set; }\n        public string BuySound { get; set; }\n        public string LoopEffect { get; set; }\n        public int CardTxtBgFrameIdx { get; set; }\n        public string CardGlowInstanceName { get; set; }\n        public string SpellSelectedSound { get; set; }\n        public string SpellAvailableSound { get; set; }\n        public string RotateExportName { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Regions.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Regions : Data\n    {\n        public Regions(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 57);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public string DisplayName { get; set; }\n        public bool IsCountry { get; set; }\n        public bool RegionPopup { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/ResourcePacks.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class ResourcePacks : Data\n    {\n        public ResourcePacks(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 55);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public string Resource { get; set; }\n        public int Amount { get; set; }\n        public string IconFile { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Resources.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Resources : Data\n    {\n        public Resources(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 5);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public string IconSWF { get; set; }\n        public bool UsedInBattle { get; set; }\n        public string CollectEffect { get; set; }\n        public string IconExportName { get; set; }\n        public bool PremiumCurrency { get; set; }\n        public string CapFullTID { get; set; }\n        public int TextRed { get; set; }\n        public int TextGreen { get; set; }\n        public int TextBlue { get; set; }\n        public int Cap { get; set; }\n        public string IconFile { get; set; }\n        public string ShopIcon { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Shop.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Shop : Data\n    {\n        public Shop(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 66);\n        }\n\n        public string Name { get; set; }\n        public string Category { get; set; }\n        public string TID { get; set; }\n        public string Rarity { get; set; }\n        public bool Disabled { get; set; }\n        public string Resource { get; set; }\n        public int Cost { get; set; }\n        public int Count { get; set; }\n        public int CycleDuration { get; set; }\n        public int CycleDeadzoneStart { get; set; }\n        public int CycleDeadzoneEnd { get; set; }\n        public bool TopSection { get; set; }\n        public bool SpecialOffer { get; set; }\n        public int DurationSecs { get; set; }\n        public int AvailabilitySecs { get; set; }\n        public bool SyncToShopCycle { get; set; }\n        public string Chest { get; set; }\n        public int TrophyLimit { get; set; }\n        public string IAP { get; set; }\n        public string StarterPack_Item0_Type { get; set; }\n        public string StarterPack_Item0_ID { get; set; }\n        public int StarterPack_Item0_Param1 { get; set; }\n        public string StarterPack_Item1_Type { get; set; }\n        public string StarterPack_Item1_ID { get; set; }\n        public int StarterPack_Item1_Param1 { get; set; }\n        public string StarterPack_Item2_Type { get; set; }\n        public string StarterPack_Item2_ID { get; set; }\n        public int StarterPack_Item2_Param1 { get; set; }\n        public int ValueMultiplier { get; set; }\n        public bool AppendArenaToChestName { get; set; }\n        public string TiedToArenaUnlock { get; set; }\n        public string RepeatPurchaseGemPackOverride { get; set; }\n        public string EventName { get; set; }\n        public bool CostAdjustBasedOnChestContents { get; set; }\n        public bool IsChronosOffer { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Skins.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Skins : Data\n    {\n        public Skins(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 83);\n        }\n\n        public string Name { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string ExportNameRed { get; set; }\n        public string TopExportName { get; set; }\n        public string TopExportNameRed { get; set; }\n        public string Category { get; set; }\n        public int ValueGems { get; set; }\n        public string TID { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n        public bool IsInUse { get; set; }\n        public string Type { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SpellSets.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SpellSets : Data\n    {\n        public SpellSets(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 51);\n        }\n\n        public string Name { get; set; }\n        public string Spells { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SpellsBuildings.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SpellsBuildings : Data\n    {\n        public SpellsBuildings(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 27);\n        }\n\n        public string Name { get; set; }\n        public string IconFile { get; set; }\n        public string UnlockArena { get; set; }\n        public string Rarity { get; set; }\n        public int ManaCost { get; set; }\n        public bool ManaCostFromSummonerMana { get; set; }\n        public bool NotInUse { get; set; }\n        public bool Mirror { get; set; }\n        public int CustomDeployTime { get; set; }\n        public string SummonCharacter { get; set; }\n        public int SummonNumber { get; set; }\n        public int SummonCharacterLevelIndex { get; set; }\n        public string SummonCharacterSecond { get; set; }\n        public int SummonCharacterSecondCount { get; set; }\n        public int SummonRadius { get; set; }\n        public int Radius { get; set; }\n        public int Height { get; set; }\n        public string Projectile { get; set; }\n        public bool SpellAsDeploy { get; set; }\n        public bool CanPlaceOnBuildings { get; set; }\n        public int InstantDamage { get; set; }\n        public int DurationSeconds { get; set; }\n        public int InstantHeal { get; set; }\n        public int HealPerSecond { get; set; }\n        public string Effect { get; set; }\n        public int Pushback { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public int BuffNumber { get; set; }\n        public string BuffType { get; set; }\n        public string BuffOnDamage { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool CanDeployOnEnemySide { get; set; }\n        public string CastSound { get; set; }\n        public string AreaEffectObject { get; set; }\n        public string TID { get; set; }\n        public string TID_INFO { get; set; }\n        public string IndicatorEffect { get; set; }\n        public bool HideRadiusIndicator { get; set; }\n        public string DestIndicatorEffect { get; set; }\n        public string ReleaseDate { get; set; }\n        public int ElixirProductionStopTime { get; set; }\n        public bool DarkMirror { get; set; }\n        public bool StatsUnderInfo { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SpellsCharacters.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SpellsCharacters : Data\n    {\n        public SpellsCharacters(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 26);\n        }\n\n        public string Name { get; set; }\n        public string IconFile { get; set; }\n        public string UnlockArena { get; set; }\n        public string Rarity { get; set; }\n        public int ManaCost { get; set; }\n        public bool ManaCostFromSummonerMana { get; set; }\n        public bool NotInUse { get; set; }\n        public bool Mirror { get; set; }\n        public int CustomDeployTime { get; set; }\n        public string SummonCharacter { get; set; }\n        public int SummonNumber { get; set; }\n        public int SummonCharacterLevelIndex { get; set; }\n        public string SummonCharacterSecond { get; set; }\n        public int SummonCharacterSecondCount { get; set; }\n        public int SummonRadius { get; set; }\n        public int Radius { get; set; }\n        public int Height { get; set; }\n        public string Projectile { get; set; }\n        public bool SpellAsDeploy { get; set; }\n        public bool CanPlaceOnBuildings { get; set; }\n        public int InstantDamage { get; set; }\n        public int DurationSeconds { get; set; }\n        public int InstantHeal { get; set; }\n        public int HealPerSecond { get; set; }\n        public string Effect { get; set; }\n        public int Pushback { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public int BuffNumber { get; set; }\n        public string BuffType { get; set; }\n        public string BuffOnDamage { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool CanDeployOnEnemySide { get; set; }\n        public string CastSound { get; set; }\n        public string AreaEffectObject { get; set; }\n        public string TID { get; set; }\n        public string TID_INFO { get; set; }\n        public string IndicatorEffect { get; set; }\n        public bool HideRadiusIndicator { get; set; }\n        public string DestIndicatorEffect { get; set; }\n        public string ReleaseDate { get; set; }\n        public int ElixirProductionStopTime { get; set; }\n        public bool DarkMirror { get; set; }\n        public bool StatsUnderInfo { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SpellsHeroes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SpellsHeroes : Data\n    {\n        public SpellsHeroes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row);\n        }\n\n        public string Name { get; set; }\n        public string IconFile { get; set; }\n        public string UnlockArena { get; set; }\n        public string Rarity { get; set; }\n        public int ManaCost { get; set; }\n        public bool ManaCostFromSummonerMana { get; set; }\n        public bool NotInUse { get; set; }\n        public bool Mirror { get; set; }\n        public int CustomDeployTime { get; set; }\n        public string SummonCharacter { get; set; }\n        public int SummonNumber { get; set; }\n        public int SummonCharacterLevelIndex { get; set; }\n        public string SummonCharacterSecond { get; set; }\n        public int SummonRadius { get; set; }\n        public int Radius { get; set; }\n        public string Projectile { get; set; }\n        public bool ProjectileAsDeploy { get; set; }\n        public bool CanPlaceOnBuildings { get; set; }\n        public int InstantDamage { get; set; }\n        public int DurationSeconds { get; set; }\n        public int InstantHeal { get; set; }\n        public int HealPerSecond { get; set; }\n        public string Effect { get; set; }\n        public int Pushback { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public int BuffNumber { get; set; }\n        public string BuffType { get; set; }\n        public string BuffOnDamage { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool CanDeployOnEnemySide { get; set; }\n        public string CastSound { get; set; }\n        public string AreaEffectObject { get; set; }\n        public string TID { get; set; }\n        public string TID_INFO { get; set; }\n        public string IndicatorEffect { get; set; }\n        public bool HideRadiusIndicator { get; set; }\n        public string DestIndicatorEffect { get; set; }\n        public string ReleaseDate { get; set; }\n        public int ElixirProductionStopTime { get; set; }\n        public bool DarkMirror { get; set; }\n        public bool StatsUnderInfo { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SpellsOther.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SpellsOther : Data\n    {\n        public SpellsOther(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 28);\n        }\n\n        public string Name { get; set; }\n        public string IconFile { get; set; }\n        public string UnlockArena { get; set; }\n        public string Rarity { get; set; }\n        public int ManaCost { get; set; }\n        public bool ManaCostFromSummonerMana { get; set; }\n        public bool NotInUse { get; set; }\n        public bool Mirror { get; set; }\n        public int CustomDeployTime { get; set; }\n        public string SummonCharacter { get; set; }\n        public int SummonNumber { get; set; }\n        public int SummonCharacterLevelIndex { get; set; }\n        public string SummonCharacterSecond { get; set; }\n        public int SummonCharacterSecondCount { get; set; }\n        public int SummonRadius { get; set; }\n        public int Radius { get; set; }\n        public int Height { get; set; }\n        public string Projectile { get; set; }\n        public bool SpellAsDeploy { get; set; }\n        public bool CanPlaceOnBuildings { get; set; }\n        public int InstantDamage { get; set; }\n        public int DurationSeconds { get; set; }\n        public int InstantHeal { get; set; }\n        public int HealPerSecond { get; set; }\n        public string Effect { get; set; }\n        public int Pushback { get; set; }\n        public int MultipleProjectiles { get; set; }\n        public string CustomFirstProjectile { get; set; }\n        public int BuffTime { get; set; }\n        public int BuffTimeIncreasePerLevel { get; set; }\n        public int BuffNumber { get; set; }\n        public string BuffType { get; set; }\n        public string BuffOnDamage { get; set; }\n        public bool OnlyOwnTroops { get; set; }\n        public bool OnlyEnemies { get; set; }\n        public bool CanDeployOnEnemySide { get; set; }\n        public string CastSound { get; set; }\n        public string AreaEffectObject { get; set; }\n        public string TID { get; set; }\n        public string TID_INFO { get; set; }\n        public string IndicatorEffect { get; set; }\n        public bool HideRadiusIndicator { get; set; }\n        public string DestIndicatorEffect { get; set; }\n        public string ReleaseDate { get; set; }\n        public int ElixirProductionStopTime { get; set; }\n        public bool DarkMirror { get; set; }\n        public bool StatsUnderInfo { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/SurvivalModes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class SurvivalModes : Data\n    {\n        public SurvivalModes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 65);\n        }\n\n        public string Name { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n        public string GameMode { get; set; }\n        public string WinsIconExportName { get; set; }\n        public bool Enabled { get; set; }\n        public bool EventOnly { get; set; }\n        public int JoinCost { get; set; }\n        public string JoinCostResource { get; set; }\n        public int FreePass { get; set; }\n        public int MaxWins { get; set; }\n        public int MaxLoss { get; set; }\n        public int RewardCards { get; set; }\n        public int RewardGold { get; set; }\n        public int RewardSpellCount { get; set; }\n        public string RewardSpell { get; set; }\n        public int RewardSpellMaxCount { get; set; }\n        public string ItemExportName { get; set; }\n        public string ConfirmExportName { get; set; }\n        public string TID { get; set; }\n        public string CardTheme { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/Taunts.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class Taunts : Data\n    {\n        public Taunts(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 53);\n        }\n\n        public string Name { get; set; }\n        public string TID { get; set; }\n        public bool TauntMenu { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string IconExportName { get; set; }\n        public string BtnExportName { get; set; }\n        public string Sound { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TournamentTiers.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TournamentTiers : Data\n    {\n        public TournamentTiers(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 63);\n        }\n\n        public string Name { get; set; }\n        public int Version { get; set; }\n        public bool Disabled { get; set; }\n        public int CreateCost { get; set; }\n        public int MaxPlayers { get; set; }\n        public int Prize1 { get; set; }\n        public int Prize2 { get; set; }\n        public int Prize3 { get; set; }\n        public int Prize10 { get; set; }\n        public int Prize20 { get; set; }\n        public int Prize30 { get; set; }\n        public int Prize40 { get; set; }\n        public int Prize50 { get; set; }\n        public int Prize60 { get; set; }\n        public int Prize70 { get; set; }\n        public int Prize80 { get; set; }\n        public int Prize90 { get; set; }\n        public int Prize100 { get; set; }\n        public int Prize150 { get; set; }\n        public int Prize200 { get; set; }\n        public int Prize250 { get; set; }\n        public int Prize300 { get; set; }\n        public int Prize350 { get; set; }\n        public int Prize400 { get; set; }\n        public int Prize450 { get; set; }\n        public int Prize500 { get; set; }\n        public int OpenChestVariation { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TreasureChests.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TreasureChests : Data\n    {\n        public TreasureChests(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 19);\n        }\n\n        public string Name { get; set; }\n        public string BaseChest { get; set; }\n        public string Arena { get; set; }\n        public bool InShop { get; set; }\n        public bool InArenaInfo { get; set; }\n        public bool TournamentChest { get; set; }\n        public bool SurvivalChest { get; set; }\n        public int ShopPriceWithoutSpeedUp { get; set; }\n        public int TimeTakenDays { get; set; }\n        public int TimeTakenHours { get; set; }\n        public int TimeTakenMinutes { get; set; }\n        public int TimeTakenSeconds { get; set; }\n        public int RandomSpells { get; set; }\n        public int DifferentSpells { get; set; }\n        public int ChestCountInChestCycle { get; set; }\n        public int RareChance { get; set; }\n        public int EpicChance { get; set; }\n        public int LegendaryChance { get; set; }\n        public int SkinChance { get; set; }\n        public string GuaranteedSpells { get; set; }\n        public int MinGoldPerCard { get; set; }\n        public int MaxGoldPerCard { get; set; }\n        public string FileName { get; set; }\n        public string ExportName { get; set; }\n        public string ShopExportName { get; set; }\n        public string GainedExportName { get; set; }\n        public string AnimExportName { get; set; }\n        public string OpenInstanceName { get; set; }\n        public string SlotLandEffect { get; set; }\n        public string OpenEffect { get; set; }\n        public string TapSound { get; set; }\n        public string TapSoundShop { get; set; }\n        public string DescriptionTID { get; set; }\n        public string TID { get; set; }\n        public string NotificationTID { get; set; }\n        public string SpellSet { get; set; }\n        public int Exp { get; set; }\n        public int SortValue { get; set; }\n        public bool SpecialOffer { get; set; }\n        public bool DraftChest { get; set; }\n        public string IconSWF { get; set; }\n        public string IconExportName { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TutorialChestOrder.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TutorialChestOrder : Data\n    {\n        public TutorialChestOrder(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 82);\n        }\n\n        public string Name { get; set; }\n        public string Chest { get; set; }\n        public string NPC { get; set; }\n        public string PvE_Tutorial { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TutorialsHome.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TutorialsHome : Data\n    {\n        public TutorialsHome(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 45);\n        }\n\n        public string Name { get; set; }\n        public string Location { get; set; }\n        public string NPC { get; set; }\n        public string TID { get; set; }\n        public string ButtonTID { get; set; }\n        public string FinishRequirement { get; set; }\n        public string Chest { get; set; }\n        public int WaitTimeMS { get; set; }\n        public string FileName { get; set; }\n        public int PopupCorner { get; set; }\n        public string PopupExportName { get; set; }\n        public string BubbleExportName { get; set; }\n        public string Sound { get; set; }\n        public bool Darkening { get; set; }\n        public string BubbleObject { get; set; }\n        public string OverlayExportName { get; set; }\n        public string SpellDragExportName { get; set; }\n        public string SpellToCast { get; set; }\n        public bool ForceSpellTile { get; set; }\n        public bool DisableOtherSpells { get; set; }\n        public int SpellTileX { get; set; }\n        public int SpellTileY { get; set; }\n        public bool DisableSpells { get; set; }\n        public bool HideCombatUI { get; set; }\n        public bool DisableTroopMovement { get; set; }\n        public bool DisableLeaderMovement { get; set; }\n        public bool DisableSpawnPoints { get; set; }\n        public bool DisableOpponentSpells { get; set; }\n        public bool PauseCombat { get; set; }\n        public string Dependency { get; set; }\n        public int Priority { get; set; }\n        public string Taunt { get; set; }\n        public bool HighlightTargetsOnManaFull { get; set; }\n        public bool DisableBattleStartScreen { get; set; }\n        public int NpcMatchesPlayed { get; set; }\n        public bool DisableBattleMenu { get; set; }\n        public int CloseAutomaticallyAfterSeconds { get; set; }\n        public int GroupMod { get; set; }\n        public int GroupValue { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TutorialsNpc.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TutorialsNpc : Data\n    {\n        public TutorialsNpc(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 48);\n        }\n\n        public string Name { get; set; }\n        public string Location { get; set; }\n        public string NPC { get; set; }\n        public string TID { get; set; }\n        public string ButtonTID { get; set; }\n        public string FinishRequirement { get; set; }\n        public string Chest { get; set; }\n        public int WaitTimeMS { get; set; }\n        public string FileName { get; set; }\n        public int PopupCorner { get; set; }\n        public string PopupExportName { get; set; }\n        public string BubbleExportName { get; set; }\n        public string Sound { get; set; }\n        public bool Darkening { get; set; }\n        public string BubbleObject { get; set; }\n        public string OverlayExportName { get; set; }\n        public string SpellDragExportName { get; set; }\n        public string SpellToCast { get; set; }\n        public bool ForceSpellTile { get; set; }\n        public bool DisableOtherSpells { get; set; }\n        public int SpellTileX { get; set; }\n        public int SpellTileY { get; set; }\n        public bool DisableSpells { get; set; }\n        public bool HideCombatUI { get; set; }\n        public bool DisableTroopMovement { get; set; }\n        public bool DisableLeaderMovement { get; set; }\n        public bool DisableSpawnPoints { get; set; }\n        public bool DisableOpponentSpells { get; set; }\n        public bool PauseCombat { get; set; }\n        public string Dependency { get; set; }\n        public int Priority { get; set; }\n        public string Taunt { get; set; }\n        public bool HighlightTargetsOnManaFull { get; set; }\n        public bool DisableBattleStartScreen { get; set; }\n        public int NpcMatchesPlayed { get; set; }\n        public bool DisableBattleMenu { get; set; }\n        public int CloseAutomaticallyAfterSeconds { get; set; }\n        public int GroupMod { get; set; }\n        public int GroupValue { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvLogic/TveGamemodes.cs",
    "content": "using ClashRoyale.Files.CsvHelpers;\nusing ClashRoyale.Files.CsvReader;\n\nnamespace ClashRoyale.Files.CsvLogic\n{\n    public class TveGamemodes : Data\n    {\n        public TveGamemodes(Row row, DataTable datatable) : base(row, datatable)\n        {\n            LoadData(this, GetType(), row, 81);\n        }\n\n        public string Name { get; set; }\n        public string PrimarySpells { get; set; }\n        public string SecondarySpells { get; set; }\n        public string CastSpells { get; set; }\n        public bool RandomWaves { get; set; }\n        public int ElixirPerWave { get; set; }\n        public int WaveCount { get; set; }\n        public int TimePerWave { get; set; }\n        public int TimeToFirstWave { get; set; }\n        public string ForcedCards1 { get; set; }\n        public string ForcedCards2 { get; set; }\n        public bool RotateDecks { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvReader/Column.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\n\nnamespace ClashRoyale.Files.CsvReader\n{\n    public class Column\n    {\n        private readonly List<string> _values;\n\n        public Column()\n        {\n            _values = new List<string>();\n        }\n\n        public static int GetArraySize(int offset, int nOffset)\n        {\n            return nOffset - offset;\n        }\n\n        public void Add(string value)\n        {\n            if (value == null)\n                _values.Add(_values.Count > 0 ? _values.Last() : string.Empty);\n            else\n                _values.Add(value);\n        }\n\n        public string Get(int row)\n        {\n            return _values[row];\n        }\n\n        public int GetSize()\n        {\n            return _values.Count;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvReader/Gamefiles.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Files.CsvHelpers;\n\nnamespace ClashRoyale.Files.CsvReader\n{\n    public class Gamefiles : IDisposable\n    {\n        private readonly List<DataTable> _dataTables = new List<DataTable>();\n\n        public Gamefiles()\n        {\n            if (Csv.Gamefiles.Count <= 0) return;\n\n            for (var i = 0; i < Csv.Gamefiles.Count; i++)\n                _dataTables.Add(new DataTable());\n        }\n\n        public void Dispose()\n        {\n            _dataTables.Clear();\n        }\n\n        public DataTable Get(Csv.Files index)\n        {\n            return _dataTables[(int) index - 1];\n        }\n\n        public DataTable Get(int index)\n        {\n            return _dataTables[index - 1];\n        }\n\n        public void Initialize(Table table, Csv.Files index)\n        {\n            _dataTables[(int) index - 1] = new DataTable(table, index);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvReader/Row.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing ClashRoyale.Files.CsvHelpers;\n\nnamespace ClashRoyale.Files.CsvReader\n{\n    public class Row\n    {\n        private readonly Table _table;\n        public readonly int RowStart;\n\n        public Row(Table table)\n        {\n            _table = table;\n            RowStart = _table.GetColumnRowCount();\n\n            _table.AddRow(this);\n        }\n\n        public int Offset => RowStart;\n\n        public void LoadData(Data data)\n        {\n            foreach (var property in data.GetType().GetProperties(BindingFlags.Instance |\n                                                                  BindingFlags.NonPublic |\n                                                                  BindingFlags.Public))\n                if (property.CanRead && property.CanWrite)\n                {\n                    if (property.PropertyType.IsArray)\n                    {\n                        var elementType = property.PropertyType.GetElementType();\n\n                        if (elementType == typeof(byte)) property.SetValue(data, LoadBoolArray(property.Name));\n                        else if (elementType == typeof(int)) property.SetValue(data, LoadIntArray(property.Name));\n                        else if (elementType == typeof(string)) property.SetValue(data, LoadStringArray(property.Name));\n                    }\n                    else if (property.PropertyType.IsGenericType)\n                    {\n                        if (property.PropertyType == typeof(List<>))\n                        {\n                            var listType = typeof(List<>);\n                            var generic = property.PropertyType.GetGenericArguments();\n                            var concreteType = listType.MakeGenericType(generic);\n                            var newList = Activator.CreateInstance(concreteType);\n                            var add = concreteType.GetMethod(\"Add\");\n                            var indexerName =\n                                ((DefaultMemberAttribute)newList.GetType()\n                                    .GetCustomAttributes(typeof(DefaultMemberAttribute), true)[0]).MemberName;\n                            var indexProperty = newList.GetType().GetProperty(indexerName);\n\n                            for (var i = Offset; i < Offset + GetArraySize(property.Name); i++)\n                            {\n                                var value = GetValue(property.Name, i - Offset);\n\n                                if (value == string.Empty && i != Offset)\n                                    if (indexProperty != null)\n                                        value = indexProperty.GetValue(newList, new object[]\n                                        {\n                                            i - Offset - 1\n                                        }).ToString();\n\n                                if (string.IsNullOrEmpty(value))\n                                {\n                                    var Object = generic[0].IsValueType\n                                        ? Activator.CreateInstance(generic[0])\n                                        : string.Empty;\n\n                                    if (add != null)\n                                        add.Invoke(newList, new[]\n                                        {\n                                            Object\n                                        });\n                                }\n                                else\n                                {\n                                    if (add != null)\n                                        add.Invoke(newList, new[]\n                                        {\n                                            Convert.ChangeType(value, generic[0])\n                                        });\n                                }\n                            }\n\n                            property.SetValue(data, newList);\n                        }\n                        else if (property.PropertyType == typeof(Data) ||\n                                 property.PropertyType.BaseType == typeof(Data))\n                        {\n                            var pData = (Data)Activator.CreateInstance(property.PropertyType);\n                            LoadData(pData);\n                            property.SetValue(data, pData);\n                        }\n                    }\n                    else\n                    {\n                        var value = GetValue(property.Name, 0);\n\n                        if (!string.IsNullOrEmpty(value))\n                            property.SetValue(data, Convert.ChangeType(value, property.PropertyType));\n                    }\n                }\n        }\n\n        public int GetArraySize(string name)\n        {\n            var index = _table.GetColumnIndexByName(name);\n            return index != -1 ? _table.GetArraySizeAt(this, index) : 0;\n        }\n\n        public string GetName()\n        {\n            return _table.GetValueAt(0, RowStart);\n        }\n\n\n        public string GetValue(string name, int level)\n        {\n            return _table.GetValue(name, level + RowStart);\n        }\n\n        private bool[] LoadBoolArray(string column)\n        {\n            var array = new bool[GetArraySize(column)];\n\n            for (var i = 0; i < array.Length; i++)\n            {\n                var value = GetValue(column, i);\n\n                if (string.IsNullOrEmpty(value)) continue;\n\n                if (bool.TryParse(value, out var boolean))\n                    array[i] = boolean;\n            }\n\n            return array;\n        }\n\n        private int[] LoadIntArray(string column)\n        {\n            var array = new int[GetArraySize(column)];\n\n            for (var i = 0; i < array.Length; i++)\n            {\n                var value = GetValue(column, i);\n\n                if (string.IsNullOrEmpty(value)) continue;\n\n                if (int.TryParse(value, out var number))\n                    array[i] = number;\n            }\n\n            return array;\n        }\n\n        private string[] LoadStringArray(string column)\n        {\n            var array = new string[GetArraySize(column)];\n\n            for (var i = 0; i < array.Length; i++) array[i] = GetValue(column, i);\n\n            return array;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/CsvReader/Table.cs",
    "content": "﻿using System.Collections.Generic;\nusing Microsoft.VisualBasic.FileIO;\n\nnamespace ClashRoyale.Files.CsvReader\n{\n    public class Table\n    {\n        private readonly List<Column> _columns;\n        private readonly List<string> _headers;\n        private readonly List<Row> _rows;\n        private readonly List<string> _types;\n\n        public Table(string path)\n        {\n            _rows = new List<Row>();\n            _headers = new List<string>();\n            _types = new List<string>();\n            _columns = new List<Column>();\n\n            using (var reader = new TextFieldParser(path))\n            {\n                reader.SetDelimiters(\",\");\n\n                var columns = reader.ReadFields();\n\n                foreach (var column in columns)\n                {\n                    _headers.Add(column);\n                    _columns.Add(new Column());\n                }\n\n                var types = reader.ReadFields();\n\n                foreach (var type in types) _types.Add(type);\n\n                while (!reader.EndOfData)\n                {\n                    var values = reader.ReadFields();\n\n                    if (!string.IsNullOrEmpty(values[0])) AddRow(new Row(this));\n\n                    for (var i = 0; i < _headers.Count; i++) _columns[i].Add(values[i]);\n                }\n            }\n        }\n\n        public void AddRow(Row row)\n        {\n            _rows.Add(row);\n        }\n\n        public int GetArraySizeAt(Row row, int columnIndex)\n        {\n            var index = _rows.IndexOf(row) + 1;\n            if (index == -1) return 0;\n\n            int nextOffset;\n            if (index + 1 >= _rows.Count)\n            {\n                nextOffset = _columns[columnIndex].GetSize();\n            }\n            else\n            {\n                var nextRow = _rows[index + 1];\n                nextOffset = nextRow.Offset;\n            }\n\n            return Column.GetArraySize(row.Offset, nextOffset);\n        }\n\n        public int GetColumnIndexByName(string name)\n        {\n            return _headers.IndexOf(name);\n        }\n\n        public string GetColumnName(int index)\n        {\n            return _headers[index];\n        }\n\n        public int GetColumnRowCount()\n        {\n            return _columns.Count > 0 ? _columns[0].GetSize() : 0;\n        }\n\n        public Row GetRowAt(int index)\n        {\n            return _rows[index];\n        }\n\n        public int GetRowCount()\n        {\n            return _rows.Count;\n        }\n\n        public string GetValue(string name, int level)\n        {\n            var index = _headers.IndexOf(name);\n            return GetValueAt(index, level);\n        }\n\n        public string GetValueAt(int column, int row)\n        {\n            return _columns[column].Get(row);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/Fingerprint.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing ClashRoyale.Extensions.Utils;\nusing ClashRoyale.Utilities.Utils;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Files\n{\n    public class Fingerprint\n    {\n        public const string Path = \"GameAssets/fingerprint.json\";\n\n        public Fingerprint()\n        {\n            try\n            {\n                if (File.Exists(Path))\n                {\n                    Json = File.ReadAllText(Path);\n                    Files = new List<Asset>();\n\n                    var json = JObject.Parse(Json);\n                    {\n                        Sha = json[\"sha\"].ToObject<string>();\n                        Version = json[\"version\"].ToObject<string>().Split('.').Select(int.Parse).ToArray();\n\n                        foreach (var file in json[\"files\"]) Files.Add(file.ToObject<Asset>());\n\n                        Logger.Log($\"Fingerprint [v{GetVersion}] loaded.\",\n                            GetType());\n                    }\n                }\n                else\n                {\n                    Console.WriteLine(\"The Fingerprint cannot be loaded, the file does not exist.\");\n                    Program.Exit();\n                }\n            }\n            catch (Exception)\n            {\n                Console.WriteLine(\"Failed to load the Fingerprint.\");\n                Program.Exit();\n            }\n        }\n\n        [JsonIgnore] public string Json { get; set; }\n        [JsonIgnore] public int[] Version { get; set; }\n\n        [JsonIgnore] public int GetMajorVersion => Version?[0] ?? 3;\n        [JsonIgnore] public int GetBuildVersion => Version?[1] ?? 377;\n        [JsonIgnore] public int GetContentVersion => Version?[2] ?? 1;\n\n        [JsonProperty(\"files\")] public List<Asset> Files { get; set; }\n        [JsonProperty(\"sha\")] public string Sha { get; set; }\n\n        [JsonProperty(\"version\")]\n        public string GetVersion => $\"{GetMajorVersion}.{GetBuildVersion}.{GetContentVersion}\";\n\n        public void Save()\n        {\n            var json = JsonConvert.SerializeObject(this, new JsonSerializerSettings\n            {\n                DefaultValueHandling = DefaultValueHandling.Ignore,\n                Formatting = Formatting.None\n            });\n\n            Json = json.Replace(\"/\", \"\\\\/\").TrimEnd(); // Somehow cr hates correct paths\n\n            File.WriteAllText(Path, Json);\n        }\n    }\n\n    public class Asset\n    {\n        [JsonProperty(\"defer\")] public bool Defer { get; set; }\n        [JsonProperty(\"file\")] public string File { get; set; }\n        [JsonProperty(\"sha\")] public string Sha { get; set; }\n\n        public async Task<bool> HasFileChanged()\n        {\n            var path = Path.Combine(UpdateManager.BaseDir, File);\n            if (!System.IO.File.Exists(path)) return false;\n\n            var expression = Path.GetExtension(File).Replace(\".\", string.Empty);\n\n            switch (expression)\n            {\n                case \"csv\":\n                {\n                    var rawData = await System.IO.File.ReadAllBytesAsync(path);\n                    var compressedData = CompressionUtils.CompressData(rawData);\n                    var sha = ServerUtils.GetChecksum(compressedData);\n\n                    return sha != Sha;\n                }\n\n                case \"sc\":\n                {\n                    var compressedData = await System.IO.File.ReadAllBytesAsync(path);\n                    var sha = ServerUtils.GetChecksum(compressedData);\n\n                    return sha != Sha;\n                }\n\n                default:\n                {\n                    Logger.Log($\"Unknown file expression {expression}\", GetType(), ErrorLevel.Warning);\n                    break;\n                }\n            }\n\n            return false;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Files/UpdateManager.cs",
    "content": "﻿using System.IO;\nusing System.Threading.Tasks;\nusing ClashRoyale.Extensions.Utils;\nusing ClashRoyale.Utilities.Utils;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Files\n{\n    public class UpdateManager\n    {\n        public const string BaseDir = \"GameAssets/\";\n        public const string PatchDir = BaseDir + \"update/\";\n        public const string TempDir = PatchDir + \"temp/\";\n\n        public async Task Initialize()\n        {\n            if (!Resources.Configuration.UseContentPatch) return;\n            var assetsChanged = await CheckForChanges();\n            if (!assetsChanged) return;\n\n            Logger.Log(\"Assets have been updated. Creating patch...\", GetType(), ErrorLevel.Warning);\n\n            await CreatePatch();\n\n            Logger.Log($\"Fingerprint updated to [v{Resources.Fingerprint.GetVersion}]\", GetType());\n        }\n\n        /// <summary>\n        /// This task checks if there have been made any changes to an asset for a new patch\n        /// </summary>\n        /// <returns></returns>\n        public async Task<bool> CheckForChanges()\n        {\n            var modified = false;\n\n            foreach (var asset in Resources.Fingerprint.Files)\n            {\n                var hasChanged = await asset.HasFileChanged();\n                if (!hasChanged) continue;\n\n                modified = true;\n                break;\n            }\n\n            return modified;\n        }\n\n        /// <summary>\n        ///     Creates a new patch if the files have been updated\n        /// </summary>\n        public async Task CreatePatch()\n        {\n            if (!Directory.Exists(PatchDir)) Directory.CreateDirectory(PatchDir);\n\n            var fingerprint = Resources.Fingerprint;\n\n            foreach (var asset in fingerprint.Files)\n            {\n                var path = Path.Combine(BaseDir, asset.File);\n                if (!File.Exists(path)) return;\n\n                var expression = Path.GetExtension(asset.File).Replace(\".\", string.Empty);\n                var newPath = Path.Combine(TempDir, asset.File);\n                var newDir = Path.GetDirectoryName(newPath);\n\n                if (!Directory.Exists(newDir)) \n                    Directory.CreateDirectory(newDir);\n\n                switch (expression)\n                {\n                    case \"csv\":\n                    {\n                        var rawData = await File.ReadAllBytesAsync(path);\n                        var compressedData = CompressionUtils.CompressData(rawData);\n                        var sha = ServerUtils.GetChecksum(compressedData);\n\n                        asset.Sha = sha;\n                        await File.WriteAllBytesAsync(newPath, compressedData);\n                        break;\n                    }\n\n                    case \"sc\":\n                    {\n                        var compressedData = await File.ReadAllBytesAsync(path);\n                        var sha = ServerUtils.GetChecksum(compressedData);\n\n                        asset.Sha = sha;\n                        await File.WriteAllBytesAsync(newPath, compressedData);\n                        break;\n                    }\n\n                    default:\n                    {\n                        Logger.Log($\"Unknown file expression {expression}\", GetType(), ErrorLevel.Warning);\n                        break;\n                    }\n                }\n            }\n\n            fingerprint.Version[2]++;\n\n            fingerprint.Sha = ServerUtils.GetChecksum(fingerprint.GetVersion);\n            fingerprint.Save();\n\n            Directory.Move(TempDir, Path.Combine(PatchDir, fingerprint.Sha));\n            File.Copy(Path.Combine(BaseDir, \"fingerprint.json\"),\n                Path.Combine(PatchDir, fingerprint.Sha, \"fingerprint.json\"), true);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/background_decos.csv",
    "content": "\"Name\",\"FileName\",\"ExportName\",\"Layer\"\n\"string\",\"string\",\"string\",\"String\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/billing_packages.csv",
    "content": "\"Name\",\"TID\",\"Disabled\",\"ExistsApple\",\"ExistsAndroid\",\"ExistsKunlun\",\"ExistsJupiter\",\"Diamonds\",\"USD\",\"RMB\",\"Order\",\"IconFile\",\"JupiterID\",\"StarterPackName\",\"IsRedPackage\",\"RumblePackName\",\"ChronosOfferName\",\"RedeemMax\",\"CampaignId\"\n\"String\",\"String\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"String\",\"String\",\"boolean\",\"String\",\"String\",\"int\",\"int\"\n\"com.supercell.scroll.gempack0\",\"TID_DIAMOND_PACK_1\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",500,499,3000,1,\"shop_gems02\",\"GD2016061215330106019057\",,,,,,\n\"com.supercell.scroll.gempack1\",\"TID_DIAMOND_PACK_2\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",1200,999,6800,2,\"shop_gems03\",\"GD2016061215323806381524\",,,,,,\n\"com.supercell.scroll.gempack2\",\"TID_DIAMOND_PACK_3\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",2500,1999,12800,3,\"shop_gems04\",\"GD2016061215321706171743\",,,,,,\n\"com.supercell.scroll.gempack3\",\"TID_DIAMOND_PACK_4\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",6500,4999,32800,4,\"shop_gems05\",\"GD2016061215315506556451\",,,,,,\n\"com.supercell.scroll.gempack4\",\"TID_DIAMOND_PACK_5\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",14000,9999,64800,5,\"shop_gems06\",\"GD2016061215313306335467\",,,,,,\n\"com.supercell.scroll.gempack5\",\"TID_DIAMOND_PACK_0\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",80,99,600,0,\"shop_gems01\",\"GD2016061215332206224221\",,,,,,\n\"com.supercell.scroll.consumablestarterpack0\",\"TID_STARTER_PACK_0\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,99,600,,\"shop_gems01\",\"GD2016090715541609164138\",\"StarterPackArena3\",,,,,\n\"com.supercell.scroll.consumablestarterpack1\",\"TID_STARTER_PACK_1\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,99,600,,\"shop_gems01\",\"GD2016090715533809381851\",\"StarterPackArena4\",,,,,\n\"com.supercell.scroll.consumablestarterpack2\",\"TID_STARTER_PACK_2\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,499,3000,,\"shop_gems01\",\"GD2016090715523109315310\",\"StarterPackArena5\",,,,,\n\"com.supercell.scroll.consumablestarterpack3\",\"TID_STARTER_PACK_3\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,499,3000,,\"shop_gems01\",\"GD2016090715511809181614\",\"StarterPackArena6\",,,,,\n\"com.supercell.scroll.consumablestarterpack4\",\"TID_STARTER_PACK_4\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,999,6800,,\"shop_gems01\",\"GD2016090715504909493286\",\"StarterPackArena7\",,,,,\n\"com.supercell.scroll.consumablestarterpack5\",\"TID_STARTER_PACK_5\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,999,6800,,\"shop_gems01\",\"GD2016090715501009109938\",\"StarterPackArena8\",,,,,\n\"com.supercell.scroll.consumablestarterpack6\",\"TID_STARTER_PACK_6\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,999,6800,,\"shop_gems01\",\"GD2016090715483309335310\",\"StarterPackArenaL\",,,,,\n\"com.supercell.scroll.red\",,,\"FALSE\",,,,,499,3000,,\"shop_gems01\",,,\"TRUE\",,,,\n\"com.supercell.scroll.rumblebundle0\",\"TID_SHOP_RUMBLE_0\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,99,600,,\"shop_gems01\",\"GD2016101719460710073940\",,,\"RumbleBundle0\",,,\n\"com.supercell.scroll.rumblebundle1\",\"TID_SHOP_RUMBLE_1\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,499,3000,,\"shop_gems01\",\"GD2016101719470910099948\",,,\"RumbleBundle1\",,,\n\"com.supercell.scroll.rumblebundle2\",\"TID_SHOP_RUMBLE_2\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,999,6800,,\"shop_gems01\",\"GD2016101719480310039994\",,,\"RumbleBundle2\",,,\n\"com.supercell.scroll.consumablestarterpack7\",\"TID_STARTER_PACK_7\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,999,6800,,\"shop_gems01\",\"GD2016113016024711471172\",\"StarterPackArena9\",,,,,\n\"com.supercell.scroll.consumableholidaypack0\",\"TID_SHOP_HOLIDAY_0\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,499,3000,,\"shop_gems01\",\"GD2016112914175811583972\",,,\"HolidayBundle0\",,,\n\"com.supercell.scroll.consumableholidaypack1\",\"TID_SHOP_HOLIDAY_1\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,999,6800,,\"shop_gems01\",\"GD2016112914194711471139\",,,\"HolidayBundle1\",,,\n\"com.supercell.scroll.consumableholidaypack2\",\"TID_SHOP_HOLIDAY_2\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,1999,12800,,\"shop_gems01\",\"GD2016112914210911091330\",,,\"HolidayBundle2\",,,\n\"com.supercell.scroll.consumablechinesenewyear0\",\"TID_SHOP_CHINESE_NEW_YEAR_0\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,99,600,,\"shop_gems01\",\"GD2016112914222711278436\",,,\"ChineseNewYearBundle0\",,,\n\"com.supercell.scroll.consumablechinesenewyear1\",\"TID_SHOP_CHINESE_NEW_YEAR_1\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,499,3000,,\"shop_gems01\",\"GD2016112914254811483251\",,,\"ChineseNewYearBundle1\",,,\n\"com.supercell.scroll.consumablechinesenewyear2\",\"TID_SHOP_CHINESE_NEW_YEAR_2\",,\"FALSE\",\"FALSE\",\"FALSE\",\"FALSE\",,999,6800,,\"shop_gems01\",\"GD2016112914270411044957\",,,\"ChineseNewYearBundle2\",,,\n\"com.supercell.scroll.specialoffertier1\",\"TID_SPECIAL_OFFER_1\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,99,600,,\"shop_gems01\",\"GD2017030110212703273756\",,,,\"ChronosOffer_1\",,\n\"com.supercell.scroll.specialoffertier2\",\"TID_SPECIAL_OFFER_2\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,199,1200,,\"shop_gems01\",\"GD2017030110272703277288\",,,,\"ChronosOffer_2\",,\n\"com.supercell.scroll.specialoffertier3\",\"TID_SPECIAL_OFFER_3\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,299,1800,,\"shop_gems01\",\"GD2017030110293403345487\",,,,\"ChronosOffer_3\",,\n\"com.supercell.scroll.specialoffertier4\",\"TID_SPECIAL_OFFER_4\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,399,2500,,\"shop_gems01\",\"GD2017030111182003209889\",,,,\"ChronosOffer_4\",,\n\"com.supercell.scroll.specialoffertier5\",\"TID_SPECIAL_OFFER_5\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,499,3000,,\"shop_gems01\",\"GD2017030111263203326386\",,,,\"ChronosOffer_5\",,\n\"com.supercell.scroll.specialoffertier6\",\"TID_SPECIAL_OFFER_6\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,599,4000,,\"shop_gems01\",\"GD2017030111292503252769\",,,,\"ChronosOffer_6\",,\n\"com.supercell.scroll.specialoffertier7\",\"TID_SPECIAL_OFFER_7\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,699,4500,,\"shop_gems01\",\"GD2017030111314103413038\",,,,\"ChronosOffer_7\",,\n\"com.supercell.scroll.specialoffertier8\",\"TID_SPECIAL_OFFER_8\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,799,5000,,\"shop_gems01\",\"GD2017030111333203324567\",,,,\"ChronosOffer_8\",,\n\"com.supercell.scroll.specialoffertier9\",\"TID_SPECIAL_OFFER_9\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,899,6000,,\"shop_gems01\",\"GD2017030111361103116793\",,,,\"ChronosOffer_9\",,\n\"com.supercell.scroll.specialoffertier10\",\"TID_SPECIAL_OFFER_10\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,999,6800,,\"shop_gems01\",\"GD2017030111380203027724\",,,,\"ChronosOffer_10\",,\n\"com.supercell.scroll.specialoffertier15\",\"TID_SPECIAL_OFFER_15\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,1499,9800,,\"shop_gems01\",\"GD2017030111395403541218\",,,,\"ChronosOffer_15\",,\n\"com.supercell.scroll.specialoffertier20\",\"TID_SPECIAL_OFFER_20\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,1999,12800,,\"shop_gems01\",\"GD2017030111412503256519\",,,,\"ChronosOffer_20\",,\n\"com.supercell.scroll.specialoffertier50\",\"TID_SPECIAL_OFFER_50\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,4999,32800,,\"shop_gems01\",\"GD2017030111425403545830\",,,,\"ChronosOffer_50\",,\n\"com.supercell.scroll.specialoffertier60\",\"TID_SPECIAL_OFFER_60\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,9999,64800,,\"shop_gems01\",\"GD2017030111441503152823\",,,,\"ChronosOffer_60\",,\n\"com.supercell.scroll.consumablestarterpack8\",\"TID_STARTER_PACK_8\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,2499,16300,,\"shop_gems01\",\"GD2017030111452503254030\",\"StarterPackArenaT\",,,,,\n\"com.supercell.scroll.cardcampaignpack1\",\"TID_REDEEM_PACK_1\",,,\"TRUE\",,,100,99,,,,,,,,,5,1\n\"com.supercell.scroll.cardcampaignpack2\",\"TID_REDEEM_PACK_2\",,,\"TRUE\",,,200,199,,,,,,,,,5,1\n\"com.supercell.scroll.cardcampaignpack3\",\"TID_REDEEM_PACK_3\",,,\"TRUE\",,,500,499,,,,,,,,,5,1\n\"com.supercell.scroll.cardcampaignpack4\",\"TID_REDEEM_PACK_4\",,,\"TRUE\",,,1500,1199,,,,,,,,,5,1\n\"com.supercell.scroll.consumablestarterpack9\",\"TID_STARTER_PACK_9\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,99,600,,\"shop_gems01\",\"GD2017052309500305038302\",\"StarterPackArena1\",,,,,\n\"com.supercell.scroll.consumablestarterpack10\",\"TID_STARTER_PACK_10\",,\"TRUE\",\"TRUE\",\"TRUE\",\"TRUE\",,99,600,,\"shop_gems01\",\"GD2017052309510405041568\",\"StarterPackArena2\",,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/client_globals.csv",
    "content": "Name,NumberValue,BooleanValue,TextValue,StringArray,NumberArray\nString,int,boolean,string,String,int\nUDP_HEARTBEAT_MS,200,,,,\nUDP_DISCONNECTED_SECONDS,2,,,,\nUDP_DESTRUCT_ON_INVALID_CONNECTION,,TRUE,,,\nMAIN_MENU_PARALLAX,0,,,,\nSHOW_MANA_FULL_AFTER_SECONDS,5,,,,\nBACKGROUND_Y_SIZE,1120,,,,\nBACKGROUND_Y_OFFSET,90,,,,\nREPLAY_ENABLED,,TRUE,,,\nREPLAY_BACKGROUND_Y_SIZE,1200,,,,\nREPLAY_BACKGROUND_Y_OFFSET,250,,,,\nREPLAY_BATTLE_END_HUD_DELAY_MILLIS,2700,,,,\nREPLAY_SHOW_TOUCH_EVENTS,,TRUE,,,\nREPLAY_SHOW_DRAG_EVENTS,,FALSE,,,\nREPLAY_SKIP_TIME_ENABLED,,,,,\nREPLAY_SKIP_TIME_INTERVAL_SECONDS,10,,,,\nNPC_REPLAY_ENABLED,,,,,\nSPELL_DRAG_NAME_Y_POS,-30,,,,\nSHOW_NOT_ENOUGH_MANA_AFTER_FAILURES,1,,,,\nLOCAL_NOTIFICATION_FREE_WORKERS_MINUTES,120,,,,\nSPELL_DRAG_OBJECT_ALPHA,50,,,,\nMIN_SPELL_COUNT_FOR_SORT_BUTTON,10,,,,\nUNIT_SPEED_1,30,,,,\nUNIT_SPEED_2,45,,,,\nUNIT_SPEED_3,60,,,,\nUNIT_SPEED_4,90,,,,\nUNIT_SPEED_5,120,,,,\nGAME_FACEBOOK_URL,,,,,\nPAYING_USER_EMAIL_ID,249,,,,\nGAME_CENTER_ACHIEVEMENTS_ENABLED,,TRUE,,,\nGAMECENTER_REAUTHORIZE,,,,,\nGAME_CENTER_CHALLENGES_ENABLED,,TRUE,,,\nFAQ_URL,,,0,,\nFORUMS_URL,,,0,,\nLOW_GFX_DEVICES,,,,ipod1,\n,,,,ipod2,\n,,,,ipod3,\n,,,,ipod4,\n,,,,ipad1,\n,,,,iphone1,\n,,,,iphone2,\n,,,,iphone3,\nMED_GFX_DEVICES,,,,,\nLOW_MEM_DEVICES,,,,ipod1,\n,,,,ipod2,\n,,,,ipod3,\n,,,,ipod4,\n,,,,ipad1,\n,,,,iphone2,\nMED_MEM_DEVICES,,,,ipad2,\nLOW_GFX_DEVICES_ANDROID,,,,st25i,\n,,,,GT-N7000,\n,,,,GT-i8190N,\n,,,,U8950,\n,,,,SM-T211,\n,,,,i9300,\n,,,,i8190,\n,,,,i9305,\n,,,,i9301,\n,,,,i8200,\n,,,,g3812b,\n,,,,I535,\n,,,,I747,\n,,,,L710,\n,,,,T999,\n,,,,T210,\n,,,,P3210,\n,,,,SC-06D,\n,,,,SC-03E,\n,,,,I939,\n,,,,E210S,\n,,,,E210L,\n,,,,E210K,\n,,,,I9303,\n,,,,G730A,\n,,,,G730W8,\n,,,,M440S,\n,,,,R530U,\n,,,,S968C,\n,,,,SGH-N064,\n,,,,SGH-N035,\n,,,,SCH-J021,\n,,,,SCH-R530,\n,,,,SCH-S960L,\n,,,,I9308,\nHIGH_MEMORY_ANDROID,820,,,,\nMEDIUM_MEMORY_ANDROID,600,,,,\nCOME_BACK_NOTIFICATION_DELAY_HOURS_SMALL,48,,,,\nCOME_BACK_NOTIFICATION_DELAY_HOURS_MEDIUM,120,,,,\nCOME_BACK_NOTIFICATION_DELAY_HOURS_LARGE,336,,,,\nAPP_RATE_XP_LEVEL,11,,,,\nFEEDBACK_EMAIL,,,0,,\nSECTOR_COMMAND_MESSAGE_INTERVAL_SECONDS,2,,,,\nPOPUP_BLUR_ENABLED,,TRUE,,,\nPOPUP_BLUR_PERCENT,170,,,,\nPOPUP_BLUR_ITERATIONS,4,,,,\nMATCH_END_BLUR_PERCENT,120,,,,\nMATCH_END_BLUR_ITERATIONS,4,,,,\nMAX_SPELL_PENDING_TIME,1200,,,,\nTAUNTS_ENABLED,,TRUE,,,\nTAUNTS_MUTE_ENABLED,,TRUE,,,\nTAUNTS_FULL_MUTE_ENABLED,,TRUE,,,\nSHOW_TAUNT_TIME_SEC,4,,,,\nSHOW_MATCHMAKING_TIME_TOLERANCE,3,,,,\nENABLE_FACEBOOK,,TRUE,,,\nENABLE_FACEBOOK_KUNLUN,,FALSE,,,\nENABLE_FACEBOOK_TENCENT,,FALSE,,,\nENABLE_GAMECENTER_FRIENDS,,TRUE,,,\nSWITCH_CONFIRMATION_XP_LEVEL,4,,,,\nPROMPT_GC_SWITCH_MIN_NPC_WINS,0,,,,\nNO_DEPLOY_ZONE_COLOR,,,90900000,,\nSHOP_BUY_ALL_CARDS_CONFIRMATION,,TRUE,,,\nPAYMENT_LIMIT_CONFIRMATION_ENABLED,,TRUE,,,\nPAYMENT_LIMIT_CONFIRMATION_USD,15000,,,,\nPAYMENT_LIMIT_CONFIRMATION_TIME,15,,,,\nCONFIRM_WORD_MAX_LENGTH,15,,,,\nDISCONNECT_IN_APPS,,FALSE,,,\nIN_APP_RETRY_LIMIT,4,,,,\nRETRY_PURCHASES_IN_SHOP,,TRUE,,,\nHELPSHIFT_ENABLED,,TRUE,,,\nDISABLE_HELPSHIFT_CONTACT_US_FROM_NON_PAYING,,,,,\nUSE_HELPSHIFT_SDK_LANGUAGE,,TRUE,,,\nEXTRA_HELPSHIFT_LANGUAGES,,,,,\nHELPSHIFT_SHOW_CONTACT_UNTIL_EXP_LEVEL,2,,,,\nSEND_GC_ACHIVEMENT_0_PROGRESS,,TRUE,,,\nSEND_GC_ACHIVEMENT_PROGRESS_ONCE,,TRUE,,,\nUSE_GC_SEND_ALL_ACHIEVEMENTS,,TRUE,,,\nSHOW_NOTIFICATION_FOR_DONATE,,TRUE,,,\nKEEP_ALIVE_WARNING_MS,10000,,,,\nPING_WARNING_MS,3500,,,,\nMATCHMAKING_TIP_INTERVAL_SEC,15,,,,\nATTRIBUTION_MAT,,TRUE,,,\nATTRIBUTION_FB,,,,,\nATTRIBUTION_IAD,,TRUE,,,\nAPP_RATE_DIALOG_ENABLED,,TRUE,,,\nPURCHASE_DIALOG_ENABLED,,TRUE,,,\nPLAYER_ID_SHOW_ENABLED,,TRUE,,,\nVIBRATE_AFTER_MATCHMAKING_SECONDS,0,,,,\nTAUNT_LIMIT,100,,,,\nNAME_CHANGE_START_LEVEL,4,,,,\nENABLE_NAME_CHANGE,,TRUE,,,\nTAUNT_SOUND_COOLDOWN,3000,,,,\nGOOGLE_ACHIEVEMENTS,,TRUE,,,\nGOOGLE_ACHIEVEMENTS_KUNLUN,,FALSE,,,\nGOOGLE_ACHIEVEMENTS_TENCENT,,FALSE,,,\nACCOUNT_CONFIRM_POPUP_CENTERED,,,,,\nENTER_NAME_POPUP_CENTERED,,,,,\nCHALLENGE_POPUP_CENTERED,,TRUE,,,\nSHADOW_BLUR_DISTANCE,170,,,,\nCONNECT_IOS_TO_KUNLUN,,TRUE,,,\nKUNLUN_SPLASH_MESSAGE,,,健康游戏公告：抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活,,\nTOURNAMENT_TOGGLE_ENABLED,,,,,\nTOURNAMENT_MODE_ENABLED,,TRUE,,,\nUSE_ARABIC_FALLBACK_FONT,,TRUE,,,\nUSE_JAPANESE_FALLBACK_FONT,,TRUE,,,\nDISABLE_FB_IN_CHINA,,TRUE,,,\nPEPPER_ENABLED,,FALSE,,,\nSHOW_SEASON_END_POPUP_SEC_AFTER_HOME,5,,,,\nPENDING_SPELL_RECEIVED_DELAY_MS,1000,,,,\nCLOSE_TUTORIAL_POPUPS_BY_TAPPING,,TRUE,,,\nCHAT_COMBINE_MESSAGE_MAX_TIME_DIFF_SEC,30,,,,\nCHAT_COMBINE_MESSAGE_MAX_COUNT,5,,,,\nCHAT_NEW_DIVIDER_ENABLED,,TRUE,,,\nADMIN_MESSAGE_BUTTON_ENABLED,,TRUE,,,\nADMIN_MESSAGES_ENABLED,,TRUE,,,\nCACHE_MAX_EXTRA_SC_FILES,15,,,,\nUSE_STARTED_FROM_NOTIFICATION_ID,,TRUE,,,\nGOOGLE_PLAY_LOGIN_ONLY_WHEN_NOT_LOGGED,,TRUE,,,\nCLIP_GFX_BEHIND_BOTTOM_BAR,,,,,\nUSE_DASH_ANIMS,,TRUE,,,\nPLAYER_INFO_SORT_SPELLS,,,,,\nPLAYER_INFO_COPY_DECK_ENABLED,,TRUE,,,\nPLAYER_INFO_CARD_SCALE,60,,,,\nHIDE_BG_BEHIND_CREDITS_MENU,,TRUE,,,\nHIDE_BG_BEHIND_ARENA_CHANGE_MENU,,TRUE,,,\nHIDE_INVISIBLE_ILLEGAL_PLACE_RENDERER,,TRUE,,,\nHIDE_INVISIBLE_UI,,TRUE,,,\nLOW_GFX_SHOW_BASE_LAYER_OBJECTS,,TRUE,,,\nSPECTATE_CHEER_BUTTON_COOLDOWN_SECONDS,8,,,,\nSPECTATE_CHEER_MAX_CONFETTIS,20,,,,\nSPECTATE_CHEER_MAX_CONFETTIS_2V2,40,,,,\nAREA_DAMAGE_INDICATOR_DURATION_MS,400,,,,\nTV_ARENAS,,,,Arena1,\n,,,,Arena2,\n,,,,Arena3,\n,,,,Arena4,\n,,,,Arena5,\n,,,,Arena6,\n,,,,Arena7,\n,,,,Arena8,\n,,,,Arena9,\n,,,,Arena_L,\n,,,,Arena_T,\nTOURNAMENT_INGAME_NOTIFICATION_END_TIMES,,,,,5400\n,,,,,3600\n,,,,,1800\n,,,,,1200\n,,,,,600\n,,,,,300\nENABLE_JUPITER_FRIENDS,,TRUE,,,\nENABLE_JUPITER,,TRUE,,,\nENABLE_JUPITER_ANDROID,,FALSE,,,\nENABLE_JUPITER_TENCENT,,TRUE,,,\nJUPITER_IOS_CHECK_LANGUAGE_CODE,,TRUE,,,\nSEND_ACCOUNT_SWITCHED_MESSAGE_FROM_CONFIRM_POPUP,,TRUE,,,\nNAME_CHANGE_CONFIRM_CASE_SENSITIVE,,FALSE,,,\nDONT_MOVE_OPEN_ID_MIN_NPC_WINS,2,,,,\nLANDSCAPE_MODE_ENABLED,,FALSE,,,\nGC_TENCENT_CONFIRMATION_XP_LEVEL,2,,,,\nTENCENT_PROMPT_GC_SWITCH_MIN_NPC_WINS,0,,,,\nDISABLE_TENCENT_AFTER_LOGIN,,FALSE,,,\nRESET_STATICS_WHEN_CHANGING_ACCOUNT,,TRUE,,,\nCHINESE_ANDROID_APP_STORE_LOGIN_FAILED_MESSAGE,,,此微信/QQ帐号已经关联了从其他安卓应用商店下载的相同游戏，不能再次关联。如果您希望使用该微信/QQ帐号重新开始游戏，请从游戏内联系Supercell玩家支持团队。,,\nHIDE_WECHAT_BUTTON_IF_NOT_INSTALLED,,TRUE,,,\nHIDE_WECHAT_BUTTON_IF_NOT_INSTALLED_ANDROID,,FALSE,,,\nTOURNAMENT_SORT_BY_CAPACITY,,TRUE,,,\n4K_FONT_TEXTURE_MEMORY_LIMIT,1500,,,,\n4K_FONT_TEXTURE_MEMORY_LIMIT_ANDROID,1000,,,,\nCLEAR_FONT_TEXTURE_BEFORE_BATTLE,,FALSE,,,\nCLEAR_FONT_TEXTURE_BEFORE_BATTLE_ANDROID,,FALSE,,,\nQQ_TARGET_URL,,,http://gamecenter.qq.com/gcjump?appid=1105383847&pf=invite&from=iphoneqq&plat=qq&originuin=111&ADTAG=gameobj.msg_invite,,\nQQ_TARGET_URL_ANDROID,,,http://gamecenter.qq.com/gcjump?appid=1105383847&pf=invite&from=androidqq&plat=qq&originuin=111&ADTAG=gameobj.msg_invite,,\nQQ_IMAGE_URL,,,http://image.clashroyale.qq.com/CR_icon_200x200.png,,\nWECHAT_MEDIA_TAG,,,MSG_INVITE,,\nWECHAT_IMAGE_PATH,,,image/icon_wechat_200x200.png,,\nVERIFY_FRIENDLY_BATTLE_IN_CLIENT,,TRUE,,,\nDISABLE_EXTRA_CACHING_IN_TUTORIAL,,TRUE,,,\nENABLE_FRIENDLY_CHALLENGE,,TRUE,,,\nNOTIFY_IF_NOT_FRIEND,,TRUE,,,\nFRIENDLY_CHALLENGE_REPLAY_ENABLED,,TRUE,,,\nPLAY_MISSING_EFFECTS_WHEN_ENTERING_BATTLE,,TRUE,,,\nCACHE_FRIENDS_SECONDS,120,,,,\nEVENT_SCREEN_TAB_BUTTON_ANALYTICS,,TRUE,,,\nTUTORIAL_HAND_FADE_IN_MS,300,,,,\nTUTORIAL_HAND_FADE_IN_AFTER_TARGET_CHANGES,,TRUE,,,\nSHOW_CLAN_PAGE_NOTIFICATIONS_IN_BUTTONS,,TRUE,,,\nFRIEND_SPECTATE_ENABLED,,TRUE,,,\nSHOW_PVP_SPECTATOR_COUNT,,TRUE,,,\nTENCENT_FRIENDLY_CHALLENGE_SHARE,,TRUE,,,\nPRELOAD_BATTLE_MUSIC,,TRUE,,,\nBLACK_SCREEN_FIX,,TRUE,,,\nCLEAR_BATTLE_RESULT_MESSAGE_IN_HOME,,TRUE,,,\nTOP_HUD_GRADIENT_INTERACTIVE,,FALSE,,,\nSTAGGERED_SPELL_LIST_SHOW_ON_XP_LEVEL,4,,,,\nSHOW_STAGGERED_SPELL_LIST,,TRUE,,,\nFORCE_REQUEST_FRIENDS_IN_HOME,,TRUE,,,\nASK_FRIEND_STATUS_AFTER_HIBERNATE,,TRUE,,,\nCAN_CHALLENGE_OFFLINE_FRIENDS,,TRUE,,,\nRELEASE_BATTLE_END_SC,,FALSE,,,\nPRODUCT_RED_ENABLED,,FALSE,,,\nEMPTY_INBOX_UI_FIX,,TRUE,,,\nLOAD_ASSETS_DURING_LOGIN,,TRUE,,,\nRUMBLE_URL,,,http://gaming.youtube.com/kingscup,,\nRUMBLE_HIDE_LINK_COUNTRY_CODES,,,,CO,\nPRODUCT_RED_LIKE_URL,,,https://www.facebook.com/joinred,,\nDONATE_CONTINUOUS_PRESS,,TRUE,,,\nRUMBLE_URL_OVERRIDE_COUNTRY_CODES,,,,KZ,\nRUMBLE_URL_OVERRIDE_COUNTRY_URLS,,,,https://www.youtube.com/c/%EB%B0%B0%ED%8B%80%EB%A1%9C%EC%96%84/live,\nRUMBLE_HIDE_LINK_LANGUAGE_CODES,,,,CN,\n,,,,CNT,\nCHEST_OPEN_SHOW_ALL_REWARDS,,TRUE,,,\nNEW_ARENA_COLORS,,,,0xFFDA65,\n,,,,0xFFDA65,\n,,,,0xF7F9FC,\n,,,,0xFFDA65,\n,,,,0xFFDA65,\n,,,,0xFFB64A,\n,,,,0xEB8F23,\n,,,,0xFFDA65,\nSTAGGERED_ARENA_POPUP_MIN_TROPHIES,1000,,,,\nKOREAN_SHOP_DISCLAIMER_TEXT,,,\"청약철회는 구매일로부터 7일 이내 가능(단, 사용 시 철회불가) 법정대리인 동의 없는 미성년자명의 결제 시 취소가능\",,\nKOREAN_SHOP_DISCLAIMER_BUTTON,,,자세히보기,,\nEVENT_NOTIFICATION_MAX_TIME_OFFSET_MINUTES,15,,,,\nEVENT_END_NOTIFICATION_MINUTES_BEFORE_END,120,,,,\nCHARACTER_ANGLE_INITIAL_FILTERING,,TRUE,,,\nUPDATE_TIER_FROM_SERVER,,TRUE,,,\nCONTENT_DOWNLOAD_ENABLED,,TRUE,,,\nCONTENT_DOWNLOAD_ENABLED_DURING_BATTLE,,FALSE,,,\nCONTENT_DOWNLOAD_ENABLED_DURING_NPC,,TRUE,,,\nROYAL_BOX_URL_WHITE_LIST,,,,https://www.youtube.com/embed/,\n,,,,about:blank,\nROYAL_BOX_DOMAIN_WHITE_LIST,,,,clashroyale.com,\n,,,,kunlun-cdn.com,\n,,,,accounts.google.com,\n,,,,cr.kunlun.com,\nROYAL_BOX_URL_PARAM_USER_AGENT,,,supercell-in-game,,\nROYAL_BOX_PASS_ALL_EVENT_TIMES,,TRUE,,,\nLOAD_ONLY_LOWRES_TEX,,FALSE,,,\nSORT_ARENAS_DESCENDING,,TRUE,,,\nDEVICE_LINK_ERROR_POPUP_LINK_BUTTON_ENABLED,,,,,\nSHOW_OLD_LEGEND_TROPHIES,,TRUE,,,\nSHOW_OLD_STORED_LEGEND_STATS,,FALSE,,,\nSHOW_OLD_CURRENT_LEGEND_STATS,,FALSE,,,\nSOUNDS_TUTORIAL,,,,Tut_jing_time_1,\n,,,,Tut_jing_time_2,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\n,,,,Tut_count_01,\nSOUNDS_PVP,,,,60sec_warn_01,\n,,,,30sec_warn_01,\n,,,,Countdown_10,\n,,,,Countdown_9,\n,,,,Countdown_8,\n,,,,Countdown_7,\n,,,,Countdown_6,\n,,,,Countdown_5,\n,,,,Countdown_4,\n,,,,Countdown_3,\n,,,,Countdown_2,\n,,,,Countdown_1,\nSOUND_START_TIMES,,,,,180\n,,,,,60\n,,,,,30\n,,,,,10\n,,,,,9\n,,,,,8\n,,,,,7\n,,,,,6\n,,,,,5\n,,,,,4\n,,,,,3\n,,,,,2\n,,,,,1\nMUSIC_START_TIMES,,,,,180\n,,,,,60\n,,,,,30\nMUSICS_TUTORIAL,,,,TrainingArena,\n,,,,60sec_training,\nMUSICS_PVP,,,,BattleMusic,\n,,,,60sec_loop,\n,,,,30sec_loop,\nSHOW_TEAM_BATTLE_INGAME_NOTIFICATION,,TRUE,,,\nSHOW_MAIN_MENU_ARENA_NUMBER,,FALSE,,,\nMAXIMUM_DAYS_FOR_NEW_SPELL_POPUP,30,,,,\nENABLE_ROYAL_BOX_EVENTS,,FALSE,,,\nENABLE_CHAT_REPORTING,,TRUE,,,\nSHOW_NEW_SPELL_TEASER,,TRUE,,,\nCARD_CYCLE_CONDITION_CHINA,,,每3个月都将刷新出所有已解锁的卡牌。商店每天24点刷新。,,\nCHINA_GAME_CENTER,,,Game Center 登录,,\nCHINA_LOADING_WARNING,,,本网络游戏适合年满13周岁以上的用户使用；为了您的健康，请合理控制游戏时间。\\n抵制不良游戏，拒绝盗版游戏。注意自我保护，谨防受骗上当。\\n适度游戏益脑，沉迷游戏伤身。合理安排时间，享受健康生活。\\n文网游进字【2016】0024号\\n新广出审【2016】396号\\n出版物号：ISBN 978-7-89988-603-8\\n著作权人：SUPERCELL OY\\n出版单位：北京昆仑乐享网络技术有限公司,,\nCHINESE_GIFT,,,赠,,\nCHINA_REGULATIONS_ENABLED,,TRUE,,,\nCHINA_SHOP_LABEL,,,请适度娱乐理性消费,,\nCLAN_INVITE_TOKEN_ENABLED,,TRUE,,,\nCLAN_INVITE_TOKEN_EXPIRE_TIME_SECONDS,600,,,,\nFRIEND_INVITE_TOKEN_ENABLED,,TRUE,,,\nFRIEND_INVITE_TOKEN_EXPIRE_TIME_SECONDS,600,,,,\nCANCEL_SPELL_DRAG_AFTER_IDLE_SECONDS,20,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/credits.csv",
    "content": "Name,0\nString,boolean\nRichard Bangs,\nJohn Cipriani,\nPatrick Corander,\nNiko Derome,\nJonathan Dower,\nStefan Engblom,\nVisa Forsten,\nTommi Hakala,\nDavid Hart,\nHrvoje Horbec,\nChih-Han Hsu,\nJanne Juhola,\nRene Kivioja,\nRauli Laatikainen,\nLassi Leppinen,\nJani Lintunen,\nTaneli Oksama,\nMartin Schjøler,\nJarno Seppänen,\nTimothy Smith,\nPetri Styrman,\nAntti Summala,\nWilhelm Tigerstedt,\nTibor Toth,\nJouni Utriainen,\nTuomas Volotinen,\nKustaa Vuori,\n-,\nMikko Hokkanen,\nDaniel Iosca,\nKim Jensen,\nMikko Lehtonen,\nLasse Louhento,\nAntti Mattila,\nDouglas Portugal,\nAsko Puurula,\nEwan Thonger,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/effects.csv",
    "content": "\"Name\",\"Loop\",\"FollowParent\",\"ShakeScreen\",\"Time\",\"RenderableScale\",\"Sound\",\"Type\",\"FileName\",\"ExportName\",\"ParticleEmitterName\",\"Effect\",\"Layer\",\"Scale\",\"TextInstanceName\",\"TextParentInstanceName\",\"EnemyVersion\",\"FlashWidth\",\"KillLoopingSoundsOnEnd\",\"OutputEvent\",\"ParentLookAtOffsetRadius\",\"Shadow\"\n\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"string\",\"int\",\"boolean\"\n\"upgradeCard_start\",,,,,,\"sound_upgradeCard_start\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ArcherTower_particle1\",,\"Above\",,,,,,,,,\n\"upgradeCard_ready\",,,,,,\"sound_upgradeCard_ready\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Card_upgraded_effect1\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Card_upgrade_effect2\",,\"Above\",,,,,,,,,\n,,,,3200,,,\"ParticleEmitter\",,,\"Card_upgrade_effect2\",,\"Above\",,,,,,,,,\n,,,,6400,,,\"ParticleEmitter\",,,\"Card_upgrade_effect2\",,\"Above\",,,,,,,,,\n,,,,9600,,,\"ParticleEmitter\",,,\"Card_upgrade_effect2\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Card_upgrade_effect3\",,\"Above\",,,,,,,,,\n\"upgradeCard_stat_appear\",,,,,,\"sound_upgradeCard_stat_appear\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"upgradeCard_stat_change\",,,,,,\"sound_upgradeCard_stat_change\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_wood\",,,,,,\"sound_openChest_wood\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_iron\",,,,,,\"sound_openChest_iron\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_gold\",,,,,,\"sound_openChest_gold\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_magical\",,,,,,\"sound_openChest_magical\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_star\",,,,,,\"sound_openChest_star\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_draft\",,,,,,\"sound_openChest_champion\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_get_gold\",,,,,,\"sound_openChest_get_gold\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_common_effect_smoke\",,\"Base\",,,,,,,,,\n\"openChest_get_gem\",,,,,,\"sound_openChest_get_gem\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_common_effect_smoke\",,\"Base\",,,,,,,,,\n\"openChest_get_common\",,,,,,\"sound_openChest_get_common\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_common_effect_smoke\",,\"Base\",,,,,,,,,\n\"openChest_get_rare\",,,,,,\"sound_openChest_get_rare\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_get_rare\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_common_effect_smoke\",,\"Base\",,,,,,,,,\n\"openChest_get_epic\",,,,,,\"sound_openChest_get_epic\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_epic_stars2\",,\"Above\",,,,,,,,,\n\"openChest_loop_gold\",,,,,,\"sound_openChest_loop_gold\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_loop_gem\",,,,,,\"sound_openChest_loop_gem\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_loop_common\",,,,,,\"sound_openChest_loop_common\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_loop_rare\",\"true\",,,,,\"sound_openChest_loop_rare\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BlueSparksEmitter\",,\"Base\",,,,,,,,,\n\"openChest_loop_epic\",\"true\",,,,,\"sound_openChest_loop_epic\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_epic_loop1\",,\"Object\",,,,,,,,,\n\"musketeer_deploy\",,,,,,\"sound_musketeer_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_musketeer_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"musketeer_steps\",,,,,,\"sound_musketeer_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"musketeer_attack\",,,,,,\"sound_musketeer_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"musketeer_attack_start\",,,,,,\"sound_musketeer_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"musketeer_hit\",,,,,,\"sound_musketeer_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"musketeer_die\",,,,,,\"sound_musketeer_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n\"goblin_barrel_explosion\",,,,,,\"sound_goblin_barrel_explosion\",\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BlueSparkEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_rock_Emitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Base\",,,,,,,,,\n\"goblin_barrel_spawn\",,,,,,\"sound_goblin_barrel_spawn\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"knight_deploy\",,,,,,\"sound_knight_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_knight_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,\"knight_deploy_dustPuff2\",\"Deploy_ground_fX_mediumSize\",\"Object\",,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"knight_steps\",,,,,,\"sound_knight_steps\",\"ParticleEmitter\",,,\"knight_speps_dust1\",,\"Ground\",100,,,,,,,,\n\"knight_attack_start\",,,,,,\"sound_knight_attack_start\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n\"knight_hit\",,,,,,\"sound_knight_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"knight_die\",,,,,,\"sound_knight_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_die_particle_sword\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n\"spear_goblin_deploy\",,,,,,\"sound_spear_goblin_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"spear_goblin_steps\",,,,,,\"sound_spear_goblin_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"spear_goblin_attack_start\",,,,,,\"sound_spear_goblin_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"spear_goblin_attack\",,,,,,\"sound_spear_goblin_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"spear_goblin_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_spear_goblin_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"spear_goblin_projectile_hit\",,,,,,\"sound_spear_goblin_projectile_hit\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"barbarian_deploy\",,,,,,\"sound_barbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"angry_barbarian_deploy\",,,,,,\"sound_barbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_angry_barbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"barbarian_steps\",,,,,,\"sound_barbarian_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"angry_barbarian_steps\",,,,,,\"sound_angry_barbarian_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"barbarian_attack_start\",,,,,,\"sound_barbarian_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"angry_barbarian_attack_start\",,,,,,\"sound_angry_barbarian_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"barbarian_hit\",,,,,,\"sound_barbarian_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"barbarian_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_barbarian_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"ragebarbarian_deploy\",,,,,,\"sound_ragebarbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n,,,,,,\"sound_ragebarbarian_deploy_sfx\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ragebarbarian_attack_start\",,,,,,\"sound_ragebarbarian_attack_start_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_ragebarbarian_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ragebarbarian_hit\",,,,,,\"sound_ragebarbarian_attack_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ragebarbarian_steps\",,,,,,\"sound_ragebarbarian_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"executioner_deploy\",,,,,,\"sound_executioner_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"executioner_steps\",,,,,,\"sound_executioner_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"executioner_attack_start\",,,,,,\"sound_executioner_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"goblins_deploy\",,,,,,\"sound_goblins_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"goblins_steps\",\"true\",,,,,\"sound_goblins_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"goblins_attack_start\",\"true\",,,,,\"sound_goblins_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"goblins_hit\",,,,,,\"sound_goblins_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"goblins_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_goblins_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"giant_skeleton_deploy\",,,,,,\"sound_giant_skeleton_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,\"giant_skeleton_deploy_enemy\",,,,,\n,,,,,,\"sound_giant_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"giant_skeleton_deploy_enemy\",,,,,,\"sound_giant_skeleton_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n,,,,,,\"sound_giant_deploy_vo\",\"SWF\",,,,,\"Base\",,,,,,,,,\n\"giant_skeleton_steps\",,,,,,\"sound_giant_skeleton_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"giant_skeleton_attack_start\",,,,,,\"sound_giant_skeleton_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"giant_skeleton_hit\",,,,,,\"sound_giant_skeleton_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"giant_hit_sparks\",,\"Above\",,,,,,,,,\n,,,,25,,,\"ParticleEmitter\",,,\"giant_hit_puff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"giant_hitpuff2\",,\"Object\",,,,,,,,,\n\"giant_skeleton_die\",,,,,,\"sound_giant_skeleton_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,\"giant_die_enemy\",,,,,\n\"royal_giant_deploy\",,,,,,\"sound_royal_giant_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,\"royal_giant_deploy_enemy\",,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"royal_giant_deploy_enemy\",,,,,,\"sound_royal_giant_deploy_enemy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"royal_giant_steps\",,,,,,\"sound_royal_giant_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"royal_giant_attack_start\",,,,,,\"sound_royal_giant_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"royal_giant_projectile_fx\",,,,,,\"sound_royal_giant_projectile_fx\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_firePareticles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow_top\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_smoke1\",,\"Object\",,,,,,,,,\n\"royal_giant_projectile_hit\",,\"true\",,,,\"sound_royal_giant_projectile_hit\",\"ParticleEmitter\",,,\"cannon_hit_rock_emiter\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_hit_smokePuff\",,\"Object\",60,,,,,,,,\n\"royal_giant_die\",,,,,,\"sound_royal_giant_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,\"royal_giant_die_enemy\",,,,,\n\"royal_giant_die_enemy\",,,,,,\"sound_royal_giant_die_enemy\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,,,,,,\n\"giant_deploy\",,,,,,\"sound_giant_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,\"giant_deploy_enemy\",,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"giant_deploy_enemy\",,,,,,\"sound_giant_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"giant_steps\",,,,,,\"sound_giant_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"giant_attack_start\",,,,,,\"sound_giant_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"giant_hit\",,,,,,\"sound_giant_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"giant_hit_sparks\",,\"Above\",,,,,,,,,\n,,,,25,,,\"ParticleEmitter\",,,\"giant_hit_puff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"giant_hitpuff2\",,\"Object\",,,,,,,,,\n\"giant_die\",,,,,,\"sound_giant_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,\"giant_die_enemy\",,,,,\n\"giant_die_enemy\",,,,,,\"sound_giant_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,,,,,,\n\"death_giant1\",,,,,,\"sound_generic_death\",\"ParticleEmitter\",,,\"giant_death_elixir_burst1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"giant_death_puff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"giant_death_puff1_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"giant_death_elixir_ground1\",,\"Base\",,,,,,,,,\n\"pekka_deploy\",,,,,,\"sound_pekka_deploy\",\"SWF\",,,,,\"Object\",100,,,\"pekka_deploy_enemy\",,,,,\n,,,,,,\"sound_pekka_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"pekka_deploy_enemy\",,,,,,\"sound_pekka_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_pekka_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"pekka_steps\",,,,,,\"sound_pekka_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"pekka_attack_start\",,,,,,\"sound_pekka_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"pekka_hit\",,,,,,\"sound_pekka_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"pekka_die\",,,,,,\"sound_pekka_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,\"pekka_die_enemy\",,,,,\n\"pekka_die_enemy\",,,,,,\"sound_pekka_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n\"baby_dragon_deploy\",,,,,,\"sound_baby_dragon_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_baby_dragon_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"baby_dragon_steps\",,,,,,\"sound_baby_dragon_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"baby_dragon_attack_start\",,,,,,\"sound_baby_dragon_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"baby_dragon_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_baby_dragon_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"minion_deploy\",,,,,,\"sound_minion_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"minion_steps\",,,,,,\"sound_minion_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"minion_attack_start\",,,,,,\"sound_minion_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"minion_attack\",,,,,,\"sound_minion_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"minion_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_minion_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"mortar_attack\",,,,,,\"sound_mortar_attack\",\"ParticleEmitter\",,,\"cannon_smoke1\",,\"Above\",,,,,,,,,\n\"mortar_deploy\",,,,,,\"sound_mortar_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"mortar_hit\",,,350,,,\"sound_mortar_hit\",\"ParticleEmitter\",,,\"catapult_rock_Emitter\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_smoke\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_grass_emitter\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_shadow\",,\"Shadow\",,,,,,,,,\n\"mortar_die\",,,,150,,,\"ParticleEmitter\",,,\"TowerExplode_sparks\",,\"Above\",,,,,,,,,\n,,,,,,\"sound_mortar_die\",\"SWF\",\"sc/effects.sc\",,,,\"Above\",,,,,,,,,\n,,,,40,,,\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Above\",,,,,,,,,\n,,,,150,,,\"ParticleEmitter\",,,\"TowerExplode_rockEmitter\",,\"Object\",,,,,,,,,\n,,,,200,,,\"ParticleEmitter\",,,\"TowerExplode_smokePuff\",,\"Above\",,,,,,,,,\n\"balloon_deploy\",,,,,,\"sound_balloon_deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"balloon_steps\",,,,,,\"sound_balloon_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"balloon_attack_start\",,,,,,\"sound_balloon_attack_start\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"balloon_hit\",,,350,,,\"sound_balloon_hit\",\"ParticleEmitter\",,,\"catapult_rock_Emitter\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_smoke\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_grass_emitter\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_shadow\",,\"Shadow\",,,,,,,,,\n\"balloon_die\",,,,,,\"sound_balloon_die\",\"SWF\",\"sc/effects.sc\",,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"balloon_die_puff\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ballon_die_smoke\",,\"Above\",,,,,,,,,\n\"goblin_hut_deploy\",,,,250,,\"sound_goblin_hut_deploy\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Ground\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"Rock Pieces Emitter\",,\"Ground\",,,,,,,,,\n\"goblin_hut_die\",,,,,,\"sound_goblin_hut_die\",\"ParticleEmitter\",,,\"Goblin_hut_woodExplosion\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_smokePuff\",,\"Base\",,,,,,,,,\n\"witch_deploy\",,,,,,\"sound_witch_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"witch_steps\",,,,,,\"sound_witch_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"witch_attack_start\",,,,,,\"sound_witch_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"witch_hit\",,,,,,\"sound_witch_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"witch_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_witch_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"witch_deploy_skeleton\",,,,,,\"sound_witch_deploy_skeleton\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bomber_deploy\",,,,,,\"sound_bomber_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_bomber_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"bomber_steps\",\"true\",,,,,\"sound_bomber_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"bomber_attack\",\"true\",,,,,\"sound_bomber_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bomber_attack_start\",\"true\",,,,,\"sound_bomber_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bomber_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_bomber_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"skeleton_deploy\",,,,,,\"sound_skeleton_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_steps\",\"true\",,,,,\"sound_skeleton_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"skeleton_attack_start\",\"true\",,,,,\"sound_skeleton_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_hit\",,,,,,\"sound_skeleton_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"bat_die\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_skeleton_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"golem_deploy\",,,,,,\"sound_golem_deploy\",\"SWF\",,,,,\"Object\",100,,,\"golem_deploy_enemy\",,,,,\n,,,,,,\"sound_golem_deploy_end\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"small_golem_deploy\",,,,,,\"sound_small_golem_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"golem_deploy_enemy\",,,,,,\"sound_golem_deploy\",\"SWF\",,,,,\"Object\",100,,,\"golem_deploy_enemy\",,,,,\n,,,,,,\"sound_golem_deploy_end\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"golem_steps\",,,,,,\"sound_golem_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"giant_hitpuff2\",,\"Base\",,,,,,,,,\n\"golem_attack_start\",,,,,,\"sound_golem_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"small_golem_attack_start\",,,,,,\"sound_small_golem_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"golem_hit\",,,,,,\"sound_golem_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"small_golem_hit\",,,,,,\"sound_small_golem_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"golem_die\",,,,200,,\"sound_golem_die\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Object\",100,,,\"golem_die_enemy\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Small_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Death_player\",\"Object\",,,,,,,,,\n\"small_golem_die\",,,,200,,\"sound_small_golem_die\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Object\",100,,,\"golem_die_enemy\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Small_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Death_player\",\"Object\",,,,,,,,,\n\"golem_die_enemy\",,,,200,,\"sound_golem_die\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Small_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Death_player\",\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",,,\"Object\",,,,,,,,,\n\"valkyrie_deploy\",,,,,,\"sound_valkyrie_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_valkyrie_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"valkyrie_steps\",,,,,,\"sound_valkyrie_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"valkyrie_attack_start\",,,,,,\"sound_valkyrie_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"valkyrie_hit\",,,,,,\"sound_valkyrie_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"valkyrie_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_valkyrie_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"replay_drag\",,,,,,,\"ParticleEmitter\",,,\"touch_sparkle1\",,\"Above\",,,,\"replay_drag_enemy\",,,,,\n\"replay_drag_enemy\",,,,,,,\"ParticleEmitter\",,,\"touch_sparkle2\",,\"Above\",,,,,,,,,\n\"dragon_attack_start\",,,,,,\"sound_dragon_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"dragon_hit\",,,,,,\"sound_dragon_projectile_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dragon_hit_sparks\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dragon_fire_hit\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dragon_hit_smoke\",,\"Object\",,,,,,,,,\n\"Dragon_Emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"DragonEmitterTrail\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dragon_trail_glow\",,\"Object\",,,,,,,,,\n\"tesla_deploy\",,,,,,\"sound_tesla_deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"tesla_up\",,,,,,\"sound_tesla_up\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"tesla_down\",,,,,,\"sound_tesla_down\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"Tesla_beam\",,,,,,\"sound_tesla_attack\",\"SWF\",\"sc/effects.sc\",\"tesla_beam\",,,\"Above\",,,,,80,,,,\n\"tesla_hit_effect\",,\"true\",,,,\"sound_tesla_hit\",\"ParticleEmitter\",,,\"tesla_hit_spark\",,\"Object\",70,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tesla_spot_hit\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tesla_smoke_hit\",,\"Above\",,,,,,,,,\n,,,,150,,,\"ParticleEmitter\",,,\"tesla_electric_hit\",,\"Above\",,,,,,,,,\n\"tesla_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",,,,,,,,,\n,,,,,,\"Boulder impact\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"elixircollector_deploy\",,,,,,\"sound_elixircollector_deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"elixircollector_die\",,,,,,\"sound_elixircollector_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",,,,,,,,,\n,,,,,,\"Boulder impact\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"chr_wizard_deploy\",,,,,,\"sound_chr_wizard_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_chr_wizard_deploy_end\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"chr_wizard_steps\",\"true\",,,,,\"sound_chr_wizard_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"chr_wizard_attack_start\",,,,,,\"sound_chr_wizard_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_chr_wizard_attack_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"chr_wizard_projectile_hit\",,,,,,\"sound_chr_wizard_projectile_hit\",\"ParticleEmitter\",,,\"chr_wiz_hit_sparks\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chr_wiz_hit_fire\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chr_wiz_hit_smoke\",,\"Object\",,,,,,,,,\n\"chr_wizard_hit\",,,,,,\"sound_chr_wizard_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"chr_wizard_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_chr_wizard_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"mini_pekka_deploy\",,,,,,\"sound_minipekka_deploy\",\"SWF\",,,,,\"Object\",100,,,\"mini_pekka_deploy_enemy\",,,,,\n,,,,,,\"sound_minipekka_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"mini_pekka_deploy_enemy\",,,,,,\"sound_minipekka_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_minipekka_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"mini_pekka_steps\",,,,,,\"sound_minipekka_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"mini_pekka_attack_start\",,,,,,\"sound_minipekka_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"mini_pekka_hit\",,,,,,\"sound_minipekka_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"mini_pekka_die\",,,,,,\"sound_minipekka_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,\"pekka_die_enemy\",,,,,\n\"hog_rider_deploy\",,,,,,\"sound_hog_rider_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_hog_rider_deploy_end\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"hog_rider_steps\",,,,,,\"sound_hog_rider_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"hog_rider_attack_start\",,,,,,\"sound_hog_rider_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"hog_rider_hit\",,,,,,\"sound_hog_rider_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"hog_rider_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_hog_rider_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"hog_rider_landing\",,,,,,\"sound_hog_rider_landing\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_depoy_dustShadow\",,\"Shadow\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Object\",60,,,,,,,,\n\"tombstone_deploy\",,,,250,,\"sound_tombstone_deploy\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Ground\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"Rock Pieces Emitter\",,\"Ground\",,,,,,,,,\n\"tombstone_die\",,,,,,\"sound_tombstone_die\",\"ParticleEmitter\",,,\"Goblin_hut_woodExplosion\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_smokePuff\",,\"Base\",,,,,,,,,\n\"GetMana\",,,,,,\"get mana\",\"SWF\",\"sc/effects.sc\",\"get_mana\",,,\"Above\",,\"txt\",\"resource\",,,,,,\n\"Damage\",,,,,,,\"SWF\",\"sc/effects.sc\",\"effect_Hit1\",,,\"Object\",100,,,,,,,,\n\"Immunity\",,\"true\",,,,,\"SWF\",\"sc/effects.sc\",\"immunity\",,,\"Above\",100,,,,,,,,\n\"Vulnerability\",,\"true\",,,,,\"SWF\",\"sc/effects.sc\",\"vulnerability\",,,\"Above\",100,,,,,,,,\n\"Healing\",,\"true\",,,,\"sound_heal_spell\",\"ParticleEmitter\",,,\"heal_ground\",,\"Base\",100,,,\"Healing_enemy\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_ground_ring\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_particle_lines\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_effect_border_smoke\",,\"Base\",,,,,,,,,\n,,,,10,,,\"ParticleEmitter\",,,\"heal_border_burst\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_border_burst2\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_cross\",,\"Object\",,,,,,,,,\n\"CharacterDeploy\",\"true\",,,,,\"CharacterDeploy\",\"SWF\",,,,,\"Object\",50,,,,,,,,\n\"Cast_RainOfArrows\",,,,,,\"Arrow fire\",\"ParticleEmitter\",,,,,\"Above\",,,,,,,,,\n\"ArrowHitGround\",,,,,,\"Arrow volley hit\",\"ParticleEmitter\",,,\"Arrows Hit Ground\",,\"Ground\",100,,,,,,,,\n\"ArrowHit\",,,,,,\"Arrow hit\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"TowerExplode\",,,1000,50,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"TargetDummy_smoke\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_rockEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Tower_destroyed_ground\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Big_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n\"CrowdTowerTakeDamage\",,,,,,\"sound_tower_take_damage\",\"Effect\",,,,,\"Object\",,,,\"CrowdTowerTakeDamageEnemy\",,,,,\n\"CrowdTowerTakeDamageEnemy\",,,,,,\"sound_tower_take_damage_enemy\",\"Effect\",,,,,\"Object\",,,,,,,,,\n\"CrowdSummonBigUnit\",,,,,,\"sound_summon_own_big\",\"Effect\",,,,,\"Object\",,,,\"CrowdSummonBigUnitEnemy\",,,,,\n\"CrowdSummonBigUnitEnemy\",,,,,,\"sound_summon_enemy_big\",\"Effect\",,,,,\"Object\",,,,,,,,,\n\"CrowdDieBigUnit\",,,,,,\"sound_summon_own_big_die\",\"Effect\",,,,,\"Object\",,,,\"CrowdDieBigUnitEnemy\",,,,,\n\"CrowdDieBigUnitEnemy\",,,,,,\"sound_summon_enemy_big_die\",\"Effect\",,,,,\"Object\",,,,,,,,,\n\"WizardProjectileHit\",,,,,,\"WizardProjectileHit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"XbowAttack\",,,,,,\"sound_xbow_fire_1\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ArcherTowerAttack\",,,,,,\"ArcherTower attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ArcherDeploy\",,,,,,\"Archer deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"ArcherSteps\",,,,,,\"Archer steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"ArcherAttackStart\",,,,,,\"Archer attack start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ArcherAttack\",,,,,,\"Archer attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ArcherDie\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"Archer die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"PoisonSteam\",,\"true\",,,,,\"ParticleEmitter\",,,\"PoisonSteamer\",,\"Above\",,,,,,,,,\n\"GoodTarget\",,\"true\",,,,,\"Filter\",\"sc/effects.sc\",\"filter_target\",,,\"Base\",100,,,,,,,,\n\"RangeDanger\",,\"true\",,,,,\"Filter\",\"sc/effects.sc\",\"filter_enemy\",,,\"Base\",100,,,,,,,,\n,,,,,,\"Enemy on range\",\"SWF\",\"sc/effects.sc\",\"spot_enemy\",,,\"Above\",,,,,,,,,\n\"DragEffect\",\"true\",,,,,,\"ParticleEmitter\",,,\"DragSparkEmitter\",,\"Base\",,,,,,,,,\n\"SpellCasting\",,,,,,\"SpellCasting\",\"ParticleEmitter\",,,\"HotCoals_sparks\",,\"Object\",,,,,,,,,\n\"Fireball_explosion\",,,800,100,,,\"ParticleEmitter\",,,\"explosion_base\",,\"Ground\",85,,,,,,\"BlueFireball\",,\n,,,,,,\"Fire ball explo\",\"ParticleEmitter\",,,\"Fireball_explosion_smoke\",,\"Object\",,,,,,,\"RedFireball\",,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"explosion_glow1\",\"Fireball_explosion_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"explosion_glow1\",\"Fireball_explosion_sparks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"darken_gradient\",\"explosion_lava\",,\"Base\",,,,,,,,,\n,,,,10,,,\"ParticleEmitter\",,,\"explosion_gradients\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_fire\",,\"Object\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"explosion_continousFire\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_glow\",,\"Above\",,,,,,,,,\n\"Death_player\",,,,,,\"sound_generic_death\",\"ParticleEmitter\",,,\"Death_elixir_burst1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_enemy_puff\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_blue_smoke_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_elixir_ground1\",,\"Base\",,,,,,,,,\n\"cannon_fire_projectile\",,,,,,\"Cannon Fire\",\"ParticleEmitter\",,,\"cannon_glow_top\",,\"Above\",1,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke1\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_firePareticles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke_shadow\",,\"Shadow\",,,,,,,,,\n\"cannon_hit\",,\"true\",,,,,\"ParticleEmitter\",,,\"cannon_hit_rock_emiter\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_hit_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"Cannon_deploy\",,,,,,\"Cannon Deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"Xbow_deploy\",,,,,,\"sound_xbow_deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"Cannon_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",,,,,,,,,\n,,,,,,\"Boulder impact\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"Character_marker_player\",,,,,,,\"SWF\",,,,,\"Base\",,,,\"Character_marker_enemy\",,,,,\n\"Character_marker_enemy\",,,,,,,\"SWF\",,,,,\"Base\",,,,,,,,,\n\"FireballEmitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"FireballEmitterTrail\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"fireball_trial_spark\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"fireball_trail_glow\",,\"Above\",,,,,,,,,\n\"Spell_rage_ground\",,,,,,,\"SWF\",\"sc/effects.sc\",\"rage_effect_ground\",,,\"Base\",,,,\"Spell_rage_ground_red\",,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_rage_radius_blue\",\"rage_spell_radius_blue\",,\"Base\",,,,,,,,,\n\"Spell_rage_effect\",,,,,,\"sound_rage_effect\",\"ParticleEmitter\",,,\"Spell_rage_smoke1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Spell_rage_smoke2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Spell_rage_glowFast\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Spell_rage_sparckle1\",,\"Object\",,,,,,,,,\n\"Spell_rage_hit_effect\",\"true\",\"true\",,,,,,,,,,,,,,,,,,,\n\"Spell_rage_loop\",\"true\",,,,,,\"ParticleEmitter\",,,\"Spell_rage_sparkle1_loop\",,\"Object\",,,,,,,,,\n\"EnemyGenericDie\",,,,,,\"sound_enemy_die_jingle\",\"Effect\",,,,,\"Object\",,,,,,,,,\n\"GenericDie\",,,,,,\"sound_own_die_jingle\",\"Effect\",,,,,\"Object\",,,,\"EnemyGenericDie\",,,,,\n\"inferno_tower_deploy\",,,,250,,\"sound_place_inferno_tower\",\"ParticleEmitter\",,,\"towerExplode_Smoke\",,\"Ground\",,,,,,,,,\n\"inferno_beam_lvl1\",\"true\",,,,,\"inferno_loop\",\"SWF\",\"sc/effects.sc\",\"inferno_beam\",,,\"Above\",,,,,170,,,,\n\"inferno_beam_lvl2\",\"true\",,,,,\"inferno_loop\",\"SWF\",\"sc/effects.sc\",\"inferno_beam_stage2\",,,\"Above\",,,,,170,,,,\n\"inferno_beam_lvl3\",\"true\",,,,,\"inferno_loop\",\"SWF\",\"sc/effects.sc\",\"inferno_beam_stage3\",,,\"Above\",,,,,170,,,,\n\"inferno_hit_effect\",,\"true\",,,,,\"ParticleEmitter\",,,\"inferno_hit_sparks\",,\"Object\",70,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_hit_lines\",,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",\"sc/effects.sc\",\"inferno_hit\",,\"inferno_dragon_firehit\",\"Object\",,,,,,,,,\n\"inferno_muzzle\",,,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot\",,,\"Above\",,,,,-1,,,,\n\"inferno_stage2_root\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_stage2_root\",,,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_stage2_sparks\",,\"Base\",,,,,,,,,\n\"inferno_stage3_root\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_stage3_root\",,,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_stage3_sparks\",,\"Base\",,,,,,,,,\n\"inferno_muzzle_stage2\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot_st2\",,,\"Above\",,,,,-1,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_stage2_peak_flame\",,\"Above\",,,,,,,,,\n\"inferno_muzzle_stage3\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot_st3\",,,\"Above\",,,,,-1,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_stage3_peak_flame\",,\"Above\",,,,,,,,,\n\"BombTower_die\",,,400,50,,\"sound_bomb_tower_die\",\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"TargetDummy_smoke\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n\"BombTower_projectile_hit\",,,,,,\"sound_BombTower_projectile_hit\",\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BlueSparkEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_glow\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BombTower_hit_flame\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"HitEffectParticles\",,\"Object\",,,,,,,,,\n\"BombTower_attack\",\"true\",,,,,\"sound_bomber_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"BombTower_attack_start\",\"true\",,,,,\"sound_bomber_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"Rocket_Emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"Rocket_Emitter_Smoketrail\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Rocket_Emitter_Sparks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Rocket_Emitter_Glow\",,\"Above\",,,,,,,,,\n,,,,800,,,\"ParticleEmitter\",,,\"Rocket_Emitter_Smoketrail\",,\"Object\",,,,,,,,,\n\"Rocket_explosion\",,,1500,,,\"sound_rocket_explosion\",\"ParticleEmitter\",,,\"Fireball_explosion_smoke\",,\"Object\",100,,,,,,\"BlueRocket\",,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"explosion_glow1\",\"Fireball_explosion_glow\",,\"Object\",,,,,,,\"RedRocket\",,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"explosion_glow1\",\"Fireball_explosion_sparks\",,\"Object\",,,,,,,,,\n,,,,10,,,\"ParticleEmitter\",,,\"explosion_gradients\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_fire\",,\"Object\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"explosion_continousFire\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"explosion_glow\",,\"Above\",,,,,,,,,\n\"Spell_freeze_loop\",\"true\",,,,,,\"ParticleEmitter\",,,\"freeze_snow1\",,\"Object\",,,,,,,,,\n\"Spell_freeze_ground\",,,,,,,\"SWF\",\"sc/effects.sc\",\"freeze_effect_ground\",,,\"Base\",,,,\"Spell_freeze_ground_red\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"freeze_snowPiles1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"freeze_snow_scatter1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_freeze_radius_blue\",,,\"Base\",,,,,,,,,\n\"Spell_freeze_cast\",,,,,,\"sound_freeze_deploy\",\"Effect\",,,,,\"Above\",,,,,,,,,\n\"level_up_hud\",,,,,,,\"ParticleEmitter\",,,\"Get_xp_sparkle\",,\"Above\",,,,,,,,,\n\"Spell_lightning_effect\",,,1000,200,,\"sound_lightning_1\",\"ParticleEmitter\",,,\"Spell_ligntning_smoke1\",,\"Object\",,,,,,,\"BlueLighning\",,\n,,,,200,,,\"ParticleEmitter\",,,\"Spell_lightning_hitSpot\",,\"Ground\",,,,,,,\"RedLightning\",,\n,,,,200,,,\"ParticleEmitter\",,,\"Spell_lightning_hitSpot2\",,\"Above\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"Spell_lightning_bolt\",,\"Above\",,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"Spell_lightning_sparks\",,\"Object\",,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"Spell_lightning_Flash\",,\"Ground\",,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"Spell_lightning_Rock_debris\",,\"Base\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"Spell_lightning_Rock_debris2\",,\"Base\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"Spell_lightning_electric\",,\"Base\",,,,,,,,,\n\"Spell_zap_effect\",,,250,150,,\"sound_spell_zap\",\"ParticleEmitter\",,,\"Spell_zap_smoke1\",,\"Object\",,,,,,,,,\n,,,,200,,,\"ParticleEmitter\",,,\"Spell_zap_hitSpot\",,\"Ground\",,,,,,,,,\n,,,,200,,,\"ParticleEmitter\",,,\"Spell_zap_hitSpot2\",,\"Ground\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"Spell_zap_bolt\",,\"Above\",,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"Spell_zap_sparks\",,\"Object\",,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"Spell_zap_Flash\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Zap_hit_area\",,\"Base\",,,,,,,,,\n,,,,,,,\"Filter\",\"sc/effects.sc\",\"filter_target\",,,\"Base\",,,,,,,,,\n\"MegaBombExplodeSkeleton\",,,1000,,,\"sound_GiantSkeleton_bomb_die\",\"ParticleEmitter\",,,\"MagaBomb_FireRing\",,\"Object\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"MegaBomb_explode_smoke\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explode_debris\",,\"Ground\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"MegaBomb_destroyed_ground\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explode_debris2\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explosion_glow\",,\"Object\",,,,,,,,,\n\"MegaBombExplodeBalloon\",,,1000,,,\"sound_Balloon_Bomb_die\",\"ParticleEmitter\",,,\"MagaBomb_FireRing\",,\"Object\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"MegaBomb_explode_smoke\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explode_debris\",,\"Ground\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"MegaBomb_destroyed_ground\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explode_debris2\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"MegaBomb_explosion_glow\",,\"Object\",,,,,,,,,\n\"prince_deploy\",,,,,,\"sound_prince_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_prince_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"prince_steps\",,,,,,\"sound_prince_steps\",\"ParticleEmitter\",,,\"knight_speps_dust1\",,\"Ground\",100,,,,,,,,\n\"prince_charge\",,,,,,\"sound_prince_charge\",\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Filter\",\"sc/effects.sc\",\"filter_protection\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"effect_charge\",,,\"Above\",,\"txt\",\"charge\",,,,,,\n\"battleram_charge\",,,,,,\"sound_battleram_charge\",\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Filter\",\"sc/effects.sc\",\"filter_protection\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"effect_charge\",,,\"Above\",,\"txt\",\"charge\",,,,,,\n\"prince_charge_hit\",,,,,,\"sound_prince_charge_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"prince_attack_start\",,,,,,\"sound_prince_attack_start\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n\"prince_hit\",,,,,,\"sound_prince_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"prince_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n\"Deploy_ground_fX_mediumSize\",,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_rocks_hitGround\",,\"Ground\",100,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Ground\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_depoy_dustShadow\",,\"Shadow\",60,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"Deploy_ground_fx_largeSize\",,,,300,,,\"ParticleEmitter\",,,\"giant_deploy_dustPuff\",,\"Ground\",100,,,\"giant_skeleton_deploy_enemy\",,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"giant_deploy_rocks_hitGround\",,\"Ground\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"giant_deploy_dustPuff_shadow\",,\"Shadow\",,,,,,,,,\n\"King_enemy_activate_training\",,,,,,\"sound_king_enemy_activate\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,\"sound_king_happy_tower\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"King_player_activate\",,,,,,\"sound_king_player_activate\",\"SWF\",,,,,\"Object\",,,,\"King_enemy_activate\",,,,,\n,,,,,,\"sound_king_angry\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"King_player_die\",,,,,,\"sound_king_player_die\",\"SWF\",,,,,\"Object\",,,,\"King_enemy_die\",,,,,\n,,,2000,50,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"TargetDummy_smoke\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_rockEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"KingTower_destroyed_ground\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Big_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n\"King_enemy_activate\",,,,,,\"sound_king_enemy_activate\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,\"sound_king_angry\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"King_enemy_die\",,,,,,\"sound_king_enemy_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,2000,50,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"TargetDummy_smoke\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_rockEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"KingTower_destroyed_ground\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Big_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n\"King_attack\",,,,,,\"sound_king_attack\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_firePareticles\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow_top\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_smoke1\",,\"Above\",,,,,,,,,\n\"chest_landing_gold\",,,,,,\"sound_chest_hit_slot\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"chest_landing_goldDust\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"chest_landing_goldDust2\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_goldFlash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_goldBurst\",,\"Base\",,,,,,,,,\n\"chest_landing_magic\",,,,,,\"sound_chest_hit_slot\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"chest_landing_magicDust\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_magicFlash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_goldFlash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_magicBurst\",,\"Base\",,,,,,,,,\n\"shop_spell_appear\",,,,,,\"sound_shop_new_spell\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n\"chest_landing_wood\",,,,,,\"sound_chest_hit_slot\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n\"chest_landing_iron\",,,,,,\"sound_chest_hit_slot\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_metalHit\",,\"Base\",,,,,,,,,\n\"dark_arena_pot_flame\",,,,,,,\"ParticleEmitter\",,,\"FlameEmitterSlow\",,\"Above\",100,,,,,,,,\n\"arena_reached\",,,,,,,\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"arena_levelup_sparks\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"arena_levelup_flash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"arena_levelup_burst\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"arena_levelup_hit_sparks\",,\"Base\",,,,,,,,,\n\"xp_levelup\",,,,,,,\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"xp_levelup_sparks\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"xp_levelup_flash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"xp_levelup_burst\",,\"Base\",,,,,,,,,\n\"Inferno_continuous\",\"true\",,,,,,\"ParticleEmitter\",,,\"Inferno_loop1\",,\"Object\",100,,,\"Inferno_continuous\",,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"Inferno_loop1\",,\"Object\",,,,,,,,,\n\"GiantSkeleton_Bomb_deploy\",,,,,,\"sound_GiantSkeleton_bomb_deploy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"Balloon_Bomb_deploy\",,,,,,\"sound_Balloon_Bomb_deploy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"LegendaryArena_torch_fire\",\"true\",,,,,,\"ParticleEmitter\",,,\"LegendaryArena_torch_fire1\",,\"Above\",50,,,,,,,,\n\"legendaryArena_smokeGlow\",\"true\",,,,,,\"ParticleEmitter\",,,\"LegendaryArena_fx1\",,\"Above\",50,,,,,,,,\n\"ice_wizard_deploy\",,,,,,\"sound_ice_wizard_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_ice_wizard_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,350,,,\"Effect\",,,,\"ice_wizard_hit\",\"Base\",,,,,,,,,\n,,,,350,,,\"Effect\",,,,\"ShakeShcreen_delay\",\"Base\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Ground\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Object\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"ice_wizard_deploy_flakes\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"ice_wizard_steps\",\"true\",,,,,\"sound_ice_wizard_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"ice_wizard_attack_start\",,,,,,\"sound_ice_wizard_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_ice_wizard_attack_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"ice_wizard_hit\",,,,,,\"sound_ice_wizard_projectile_hit\",\"ParticleEmitter\",,,\"ice_wiz_hit_ground\",,\"Ground\",100,,,,,,,,\n,,,,-100,,,\"ParticleEmitter\",,,\"ice_wiz_hit_burst\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_wiz_hit_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_wiz_hit_flakes\",,\"Above\",,,,,,,,,\n\"ice_wizard_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_ice_wizard_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"openChest_loop_legendary\",\"true\",,,,,\"sound_openChest_loop_legendary\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_legendary_loop1\",,\"Object\",,,,,,,,,\n\"openChest_get_legendary\",,,,,,\"sound_openChest_get_legendary\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_legend_particles\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"openChest_legend_particles\",,\"Above\",,,,,,,,,\n\"chest_landing_giant\",,,,,,,\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_giant\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_giantBurst\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_giantBurst2\",,\"Base\",,,,,,,,,\n\"chest_landing_mega\",,,,,,,\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_mega\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"chest_landing_megaDust\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_megaFlash\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_megaBurst\",,\"Base\",,,,,,,,,\n\"openChest_mega\",,,,,,\"sound_openChest_bigmagical\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"openChest_giant\",,,,,,\"sound_openChest_giant\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"ShakeShcreen_delay\",,,300,,,,\"SWF\",,,,,\"Base\",,,,,,,,,\n\"BomberBomb_fire_emitter\",\"true\",,,,,,\"ParticleEmitter\",,,\"FlameArrowEmitter_small\",,\"Above\",50,,,,,,,,\n\"princess_deploy\",,,,,,\"sound_princess_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_princess_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"princess_steps\",,,,,,\"sound_princess_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"princess_attack_start\",,,,,,\"sound_princess_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"princess_attack\",,,,,,\"sound_princess_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_princess_atk_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"princess_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_princess_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"blowdart_goblin_atk_start\",,,,,,\"sound_blowdart_goblin_atk_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_blowdart_gob_jump\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"blowdart_goblin_steps\",,,,,,\"sound_blowdart_gob_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"blowdart_goblin_deploy\",,,,,,\"sound_blowdart_goblin_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"Spell_poison_ground\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"Poison_radius\",,,\"Base\",,,,\"Spell_poison_ground_red\",,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_poison_radius_blue\",\"poison_spell_radius_blue\",,\"Base\",,,,,,,,,\n\"Spell_poison_effect\",,,,,,\"sound_poison_spell\",\"ParticleEmitter\",,,\"Poison_skull1\",,\"Object\",,,,,,,,,\n\"Spell_poison_loop\",\"true\",,,,,,\"ParticleEmitter\",,,\"Poison_skull1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Poison_big_skull\",,\"Object\",,,,,,,,,\n\"ice_wiz_emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"ice_wiz_emitter_trail\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_wiz_trail_shards\",,\"Above\",,,,,,,,,\n\"PrincessArrowHitGround\",,,,,,\"sound_PrincessArrowHitGround\",\"ParticleEmitter\",,,\"Princess_arrow_hit_ground\",,\"Ground\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Princess_arrow_hit_ground_loop\",,\"Base\",,,,,,,,,\n\"PrincessArrowProjectileEmitter\",\"true\",,,,,,\"ParticleEmitter\",,,\"Princess_arrow_emitter_small_zeroZ\",,\"Above\",50,,,,,,,,\n\"GuardShieldDown\",,,,75,,,\"ParticleEmitter\",,,\"guard_shield_down\",,\"Ground\",100,,,,,,,,\n,,,,,,\"sound_GuardShieldDown\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_GuardShieldDown_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"guard_shield_down_sparks\",,\"Above\",,,,,,,,,\n\"dark_prince_deploy\",,,,,,\"sound_dark_prince_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_dark_prince_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_dark_prince_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"dark_prince_steps\",,,,,,\"sound_dark_prince_steps\",\"ParticleEmitter\",,,\"knight_speps_dust1\",,\"Ground\",100,,,,,,,,\n\"dark_prince_charge\",,,,,,\"sound_dark_prince_charge\",\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",,,,,,,,,\n,,,,,,\"sound_dark_prince_charge_jing\",\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Filter\",\"sc/effects.sc\",\"filter_protection\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"effect_charge\",,,\"Above\",,\"txt\",\"charge\",,,,,,\n\"dark_prince_charge_hit\",,,,,,\"sound_dark_prince_charge_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"dark_prince_attack_start\",,,,,,\"sound_dark_prince_attack_start\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_dark_prince_attack_start_vo\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n\"dark_prince_hit\",,,,,,\"sound_dark_prince_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"dark_prince_die\",,,,,,\"sound_dark_prince_death\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"guard_die_particle_stick\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n\"golem_cont_effect\",\"true\",,,,,,\"ParticleEmitter\",,,\"golem_firefly_trail\",,\"Above\",50,,,,,,,,\n,,,,3000,,,\"ParticleEmitter\",,,\"golem_firefly_trail\",,\"Above\",,,,,,,,,\n,,,,9000,,,\"ParticleEmitter\",,,\"golem_firefly_trail\",,\"Above\",,,,,,,,,\n,,,,12000,,,\"ParticleEmitter\",,,\"golem_firefly_trail\",,\"Above\",,,,,,,,,\n\"miner_deploy\",,,500,,,\"sound_miner_deploy_up\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_miner_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_rocks_hitGround\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"giant_hitpuff2\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"miner_deploy_rocks1\",,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"miner_deploy_rocks1_shadow\",,\"Shadow\",,,,,,,,,\n\"miner_steps\",,,,,,\"sound_miner_steps\",\"ParticleEmitter\",,,\"knight_speps_dust1\",,\"Ground\",100,,,,,,,,\n\"miner_attack_start\",,,,,,\"sound_miner_attack_start\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_miner_attack_start_vo\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n\"miner_hit\",,,,,,\"sound_miner_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"miner_die\",,,,,,\"sound_miner_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",100,,,,,,,,\n\"skeleton_warrior_deploy\",,,,,,\"sound_skeleton_warrior_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_warrior_steps\",\"true\",,,,,\"sound_skeleton_warrior_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"skeleton_warrior_attack_start\",\"true\",,,,,\"sound_skeleton_warrior_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_warrior_hit\",,,,,,\"sound_skeleton_warrior_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"skeleton_warrior_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_skeleton_warrior_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"skeleton_warrior_lose_shield\",,,,,,\"sound_skeleton_warrior_lose_shield\",\"ParticleEmitter\",,,\"skeleton_warrior_lose_shield\",,\"Object\",,,,,,,,,\n\"win_battle_confetti_blue\",,,,,,,\"ParticleEmitter\",,,\"win_battle_confetti_blue1\",,\"Above\",,,,\"win_battle_confetti_red\",,,,,\n\"win_battle_confetti_blue_top\",,,,,,,\"ParticleEmitter\",,,\"win_battle_confetti_blue2\",,\"Above\",,,,\"win_battle_confetti_red_top\",,,,,\n\"win_battle_confetti_red\",,,,,,,\"ParticleEmitter\",,,\"win_battle_confetti_red1\",,\"Above\",,,,,,,,,\n\"win_battle_confetti_red_top\",,,,,,,\"ParticleEmitter\",,,\"win_battle_confetti_red2\",,\"Above\",,,,,,,,,\n\"firespirit_continuous_fx\",\"true\",,,,,,\"ParticleEmitter\",,,\"firespirit_cont_fire1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"firespirit_cont_sparks1\",,\"Above\",,,,,,,,,\n\"firespirit_attack\",,,,,,\"sound_firespirit_attack\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"firespirit_die\",,,,,,\"sound_firespirit_die\",\"Effect\",,,\"MagaBomb_FireRing\",\"Death_player_small\",\"Object\",,,,,,,,,\n\"firespirit_steps\",,,,,,\"sound_firespirit_steps\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,\"sound_firespirit_steps_sfx\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"firespirit_deploy\",,,,,,\"sound_firespirit_deploy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"firespirit_projectile_hit\",,,,,,\"sound_firespirit_projectile_hit\",\"ParticleEmitter\",,,\"chr_wiz_hit_sparks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"firespirit_hit_embers\",,\"Object\",,,,,,,,,\n\"Death_player_small\",,,,,,\"sound_generic_death\",\"ParticleEmitter\",,,\"Death_elixir_burst1_small\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_enemy_puff_small\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_elixir_ground1_small\",,\"Base\",,,,,,,,,\n\"lava_hound_deploy\",,,,,,\"sound_lava_hound_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_lava_hound_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"lava_hound_steps\",,,,,,\"sound_lava_hound_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"lava_hound_attack_start\",,,,,,\"sound_lava_hound_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaHound_attackParticles\",,\"Object\",,,,,,,,,\n\"lava_hound_projectile_hit\",,,,,,\"sound_lava_hound_projectile_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lava_hound_hit_sparks3\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lava_hound_hit_sparks0\",,\"Ground\",,,,,,,,,\n\"lava_hound_die\",,,,,,\"sound_lava_hound_die\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chr_wiz_hit_fire\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,,,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lava_hound_die_sparks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaHound_embers\",,\"Object\",,,,,,,,,\n\"cheer_confetti_blue\",,,,,,,\"ParticleEmitter\",,,\"cheer_confetti_ground_blue\",,\"Base\",,,,\"cheer_confetti_red\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cheer_confetti_blue2\",,\"Object\",,,,,,,,,\n\"cheer_confetti_red\",,,,,,,\"ParticleEmitter\",,,\"cheer_confetti_ground_red\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cheer_confetti_red2\",,\"Object\",,,,,,,,,\n\"miner_travel_effect\",\"true\",,,,,,\"ParticleEmitter\",,,\"miner_deploy_predeploy_rocks\",,\"Object\",,,,,,\"true\",,,\n,,,,,,,\"ParticleEmitter\",,,\"miner_deploy_dig\",,\"Ground\",,,,,,,,,\n,,,,,,\"sound_miner_travel_effect\",\"SWF\",,,,,\"Base\",,,,,,,,,\n,,,,,,\"sound_miner_deploy\",\"SWF\",,,,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"miner_deploy_dig\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"miner_deploy_dig\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Miner_travel_particles2\",,\"Base\",,,,,,,,,\n\"Firespirit_building_spawn\",,,,,,\"sound_firespirit_building_spawn\",\"ParticleEmitter\",,,\"Firespirit_building_spawn_burst1_small\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Firespirit_building_spawn_puff_small\",,\"Above\",,,,,,,,,\n\"lava_pups_deploy\",,,,,,\"sound_lava_pups_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_lava_pups_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"lava_pups_steps\",,,,,,\"sound_lava_pups_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"lava_pups_attack_start\",,,,,,\"sound_lava_pups_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaPups_attackParticles\",,\"Object\",,,,,,,,,\n\"lava_pups_projectile_hit\",,,,,,\"sound_lava_pups_projectile_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaPups_hit_drops\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaPups_hit_drops2\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"lavaPups_hit_drops3\",,\"Ground\",,,,,,,,,\n\"lava_pups_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_lava_pups_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"lava_hound_Emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"LavaHound_EmitterTrail\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"LavaHound_EmitterTrail\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"LavaHound_EmitterTrail\",,\"Object\",,,,,,,,,\n\"lava_pups_emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"LavaPups_EmitterTrail\",,\"Object\",50,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"LavaPups_EmitterTrail\",,\"Object\",,,,,,,,,\n,,,,25,,,\"ParticleEmitter\",,,\"LavaPups_EmitterTrail2\",,\"Object\",,,,,,,,,\n\"zapmachine_deploy\",,,,,,\"sound_zapmachine_deploy\",\"SWF\",,,,,\"Object\",100,,,\"zapmachine_deploy_enemy\",,,,,\n,,,,,,\"sound_zapmachine_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"zapmachine_deploy_enemy\",,,,,,\"sound_zapmachine_deploy_enemy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_zapmachine_deploy_end_enemy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"zapmachine_steps\",,,,,,\"sound_zapmachine_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"zapmachine_load_weapon\",\"true\",,,,,\"sound_zapmachine_load_weapon\",\"SWF\",,,,,\"Object\",100,,,,,,,1200,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_cont_sparks1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_cont_fire1\",,\"Above\",,,,,,,,,\n\"zapmachine_load_weapon_1\",,,,,,\"sound_zapmachine_load_1\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"zapmachine_load_weapon_2\",,,,,,\"sound_zapmachine_load_2\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"zapmachine_load_weapon_3\",,,,,,\"sound_zapmachine_load_3\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"zapmachine_attack\",,,,,,\"sound_zapmachine_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_attack_sparks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_attack_beam\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_attack_electric\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_attack_pushback\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_attack_pushback_shadow\",,\"Shadow\",,,,,,,,,\n\"zapmachine_projectile_hit\",,,800,,,\"sound_zapmachine_projectile_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Zap_hit_area\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapMachine_hit_sparks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapMachine_smallHit\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_hit_effect_particles\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zap_hit_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_spechit_smoke\",,\"Base\",,,,,,,,,\n\"zapmachine_die\",,,,,,\"sound_zapmachine_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,\"zapmachine_die_enemy\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Goblin_hut_woodExplosion\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n\"zapmachine_die_enemy\",,,,,,\"sound_zapmachine_die_enemy\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Goblin_hut_woodExplosion\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_death_wheels\",,\"Base\",,,,,,,,,\n\"zapMachine_trail_emitter\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"zapmachine_trail_electric\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_trail_electric\",,\"Object\",,,,,,,,,\n\"Spell_freeze_ground_red\",,,,,,,\"SWF\",\"sc/effects.sc\",\"freeze_effect_ground_red\",,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"freeze_snowPiles1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"freeze_snow_scatter1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_freeze_radius_red\",,,\"Base\",,,,,,,,,\n\"Spell_poison_ground_red\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"Poison_radius\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_poison_radius_red\",\"poison_spell_radius_red\",,\"Base\",,,,,,,,,\n\"Spell_rage_ground_red\",,,,,,,\"SWF\",\"sc/effects.sc\",\"rage_effect_ground\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_rage_radius_red\",,,\"Base\",,,,,,,,,\n\"rage_bottle_explode\",,,,,,\"sound_barbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"rage_bottle_glass_break\",\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"rage_bottle_break_puff\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"rage_bottle_spill\",,\"Base\",,,,,,,,,\n\"log_hit\",,\"true\",,,,\"sound_log_hit\",\"ParticleEmitter\",,,\"cannon_hit_rock_emiter\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_hit_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"log_emitter\",\"true\",,,,,\"sound_log_roll\",\"ParticleEmitter\",,,\"log_emitter_particles\",,\"Base\",,,,,,\"true\",,,\n,,,,,,,\"ParticleEmitter\",,,\"log_sparkle\",,\"Base\",,,,,,,,,\n\"log_deploy\",,,,,,\"sound_log_deploy\",\"SWF\",,,,,\"Base\",,,,,,,,,\n,,,,,,\"sound_log_vocal\",\"SWF\",,,,,\"Base\",,,,,,,,,\n\"bowler_deploy\",,,,,,\"sound_bowler_deploy\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fx_largeSize\",\"Base\",,,,,,,,,\n\"bowler_steps\",,,,,,\"sound_bowler_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n,,,,,,\"sound_bowler_steps_vo\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"bowler_attack_start\",,,,,,\"sound_bowler_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bowler_die\",,,,,,\"sound_bowler_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"death_giant1\",\"Object\",100,,,,,,,,\n\"log_die\",,,,,,\"sound_log_hit\",\"ParticleEmitter\",,,\"log_woodExplosion\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"log_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"log_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"log_die_smoke2\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"log_sparkle_explode\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"log_sparkle_explode\",,\"Base\",,,,,,,,,\n\"icespirit_deploy\",,,,,,\"sound_icespirit_deploy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"icespirit_continuous_fx\",\"true\",,,,,,\"ParticleEmitter\",,,\"icespirit_cont_sparks1\",,\"Above\",,,,,,,,,\n,,,,200,,,\"ParticleEmitter\",,,\"icespirit_cont_snowTrail\",,\"Ground\",,,,,,,,,\n,,,,400,,,\"ParticleEmitter\",,,\"icespirit_cont_snowTrail\",,\"Ground\",,,,,,,,,\n,,,,600,,,\"ParticleEmitter\",,,\"icespirit_cont_snowTrail\",,\"Ground\",,,,,,,,,\n,,,,800,,,\"ParticleEmitter\",,,\"icespirit_cont_snowTrail\",,\"Ground\",,,,,,,,,\n\"icespirit_attack\",,,,,,\"sound_icespirit_attack\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"icespirit_steps\",,,,,,\"sound_icespirit_steps\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,\"sound_icespirit_steps_sfx\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"icespirit_projectile_hit\",,,,,,\"sound_icespirit_projectile_hit\",\"ParticleEmitter\",,,\"ice_wiz_hit_ground\",,\"Ground\",100,,,,,,,,\n,,,,-100,,,\"ParticleEmitter\",,,\"ice_wiz_hit_burst\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_wiz_hit_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_wiz_hit_flakes\",,\"Above\",,,,,,,,,\n\"icespirit_die\",,,,,,\"sound_icespirit_die\",\"Effect\",,,\"MagaBomb_FireRing\",\"Death_player_small\",\"Object\",,,,,,,,,\n\"bowler_projectile_trail\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"bowler_emitter_trail\",,\"Ground\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"bowler_emitter_smoke\",,\"Ground\",,,,,,,,,\n\"bowler_projectile_die\",,,,,,\"sound_bowler_hit\",\"ParticleEmitter\",,,\"bowler_projectile_rocks_front\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"bowler_projectile_rocks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"bowler_hit_smoke\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"bowler_hit_smoke_shadow\",,\"Shadow\",60,,,,,,,,\n\"ice_water_sparkle_01\",\"true\",,,,,\"sound_openChest_loop_epic\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_water_sparkle_01\",,\"Object\",,,,,,,,,\n\"ice_cauldron_fire_01\",,,,,,,\"ParticleEmitter\",,,\"ice_cauldron_fire_01\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_cauldron_glow_01\",,\"Object\",,,,,,,,,\n\"ice_cauldron_fire_02\",,,,,,,\"ParticleEmitter\",,,\"ice_cauldron_fire_02\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_cauldron_glow_02\",,\"Object\",,,,,,,,,\n\"ice_water_ripple_01\",\"true\",,,,,\"sound_openChest_loop_epic\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_water_ripple_01\",,\"Ground\",,,,,,,,,\n\"ice_arena_snow\",\"true\",,,-100,,,\"ParticleEmitter\",,,\"ice_arena_snow_particles\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"ice_arena_snow_particles\",,\"Above\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"ice_arena_snow_particles\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"ice_arena_snow_particles\",,\"Above\",,,,,,,,,\n,,,,1000,,,\"ParticleEmitter\",,,\"ice_arena_snow_particles\",,\"Above\",,,,,,,,,\n\"PoisonArrowProjectileEmitter\",\"true\",,,,,,\"ParticleEmitter\",,,\"Poison_arrow_emitter_small_zeroZ\",,\"Above\",50,,,,,,,,\n\"PoisonArrowHit\",,,,,,\"sound_blowdart_hit\",\"ParticleEmitter\",,,\"Poison_big_skull\",,\"Above\",,,,,,,,,\n,,,,,,\"sound_blowdart_hit\",\"ParticleEmitter\",,,\"poison_arrow_hit_puff\",,\"Object\",,,,,,,,,\n\"Graveyard_appear\",,,,,50,,\"ParticleEmitter\",,,\"graveyard_spawn_puff\",,\"Ground\",100,,,,,,,,\n,,,,,50,,\"ParticleEmitter\",,,\"Graveyard_deploy_rocks\",,\"Ground\",100,,,,,,,,\n,,,,,,\"sound_skeleton_deploy\",\"SWF\",,,,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Graveyard_holes\",,\"Ground\",,,,,,,,,\n\"Spell_poison_ground_small\",\"true\",,,,43,,\"SWF\",\"sc/effects.sc\",\"Poison_radius\",,,\"Base\",,,,\"Spell_poison_ground_red\",,,,,\n,,,,,43,,\"SWF\",\"sc/effects.sc\",\"spell_poison_radius_blue\",\"poison_spell_radius_blue\",,\"Base\",,,,,,,,,\n\"Spell_poison_ground_small_red\",\"true\",,,,43,,\"SWF\",\"sc/effects.sc\",\"Poison_radius\",,,\"Base\",,,,,,,,,\n,,,,,43,,\"SWF\",\"sc/effects.sc\",\"spell_poison_radius_red\",\"poison_spell_radius_red\",,\"Base\",,,,,,,,,\n\"Spell_poison_small_loop\",\"true\",,,,,,\"ParticleEmitter\",,,\"Poison_small_skull\",,\"Object\",,,,,,,,,\n\"Spell_graveyard_ground\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"Graveyard_ground_area_blue\",,,\"Base\",,,,\"Spell_graveyard_ground_red\",,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_graveyard_radius_blue\",\"poison_spell_radius_blue\",,\"Base\",,,,,,,,,\n,,,,,,\"sound_graveyard_deploy\",\"ParticleEmitter\",\"sc/effects.sc\",\"inferno_stage2_root\",\"graveyard_embers\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"graveyard_smoke_mist\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"graveyard_dark_partivles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"graveyard_drak_particle_boil\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"graveyard_dark_particle_bol_big\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"graveyard_dark_particle_bol_big\",,\"Object\",,,,,,,,,\n\"Spell_graveyard_ground_red\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"Graveyard_ground_area_blue\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"poison_spell_radius_red\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_embers\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_smoke_mist\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_dark_partivles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_dark_particle_bol_big\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_dark_particle_bol_big\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_graveyard_radius_red\",\"graveyard_drak_particle_boil\",,\"Object\",,,,,,,,,\n\"inferno_dragon_muzzle_stage3\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot_st2\",,,\"Object\",,,,,-1,,,1050,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_emitterTrail\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_glowTrail\",,\"Object\",,,,,,,,,\n\"inferno_dragon_muzzle_stage2\",\"true\",,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot\",,,\"Object\",,,,,-1,,,1050,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_glowTrail\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_glowTrail\",,\"Object\",,,,,,,,,\n\"inferno_dragon_muzzle\",,,,,,,\"SWF\",\"sc/effects.sc\",\"inferno_shoot\",,,\"Object\",,,,,-1,,,1050,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_glowTrail\",,\"Object\",,,,,,,,,\n\"inferno_dragon_beam_lvl1\",\"true\",,,,,\"sound_inferno_dragon_beam_lvl1\",\"SWF\",\"sc/effects.sc\",\"inferno_dragon_beam\",,,\"Object\",,,,,170,,,1050,\n\"inferno_dragon_beam_lvl2\",\"true\",,,,,\"sound_inferno_dragon_beam_lvl2\",\"SWF\",\"sc/effects.sc\",\"inferno_dragon_beam1\",,,\"Object\",,,,,170,,,1050,\n\"inferno_dragon_beam_lvl3\",\"true\",,,,,\"sound_inferno_dragon_beam_lvl3\",\"SWF\",\"sc/effects.sc\",\"inferno_dragon_beam2\",,,\"Object\",,,,,170,,,1050,\n\"inferno_dragon_deploy\",,,,,,\"sound_inferno_dragon_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_inferno_dragon_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"inferno_dragon_steps\",,,,,,\"sound_inferno_dragon_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"inferno_dragon_attack_start\",,,,,,\"sound_inferno_dragon_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"inferno_dragon_attack\",,,,,,\"sound_inferno_dragon_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"inferno_dragon_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_inferno_dragon_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"Deploy_ground_fX_mediumSize_nodelay\",,,,,,,\"ParticleEmitter\",,,\"knight_deploy_rocks_hitGround\",,\"Ground\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_depoy_dustShadow\",,\"Shadow\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"challenge_win\",,,,,,,\"ParticleEmitter\",,,\"challenge_win\",,\"Base\",,,,,,,,,\n\"chest_landing_legendary\",,,,,,,\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_mega\",,\"Above\",,,,,,,,,\n,,,,500,,,\"ParticleEmitter\",,,\"chest_landing_legend_dust\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_legendBurst\",,\"Base\",,,,,,,,,\n\"royal_minion_deploy\",,,,,,\"sound_royal_minion_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"royal_minion_steps\",,,,,,\"sound_royal_minion_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"royal_minion_attack_start\",,,,,,\"sound_royal_minion_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"royal_minion_attack\",,,,,,\"sound_royal_minion_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"royal_minion_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_royal_minion_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_minion_die_helmet\",,\"Object\",,,,,,,,,\n,,,,670,,,\"Effect\",,,,\"mega_minion_helmet_hit\",\"Base\",,,,,,,,,\n\"snowman_deploy\",,,,,,\"sound_snowman_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_snowman_deploy_end\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,,\"Effect\",,,\"knight_deploy_dustPuff2\",\"Deploy_ground_fX_mediumSize\",\"Object\",,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"snowman_steps\",,,,,,\"sound_snowman_steps\",\"ParticleEmitter\",,,\"knight_speps_dust1\",,\"Ground\",100,,,,,,,,\n\"snowman_attack_start\",,,,,,\"sound_snowman_attack_start\",\"Effect\",,,,,\"Object\",100,,,,,,,,\n\"snowman_attack\",,,,,,\"sound_snowman_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"snowman_hit\",,,,,50,\"sound_snowman_hit\",\"ParticleEmitter\",,,\"giant_hitpuff2\",,\"Object\",100,,,,,,,,\n,,,,,50,\"sound_snowman_hit\",\"ParticleEmitter\",,,\"giant_hit_puff1\",,\"Object\",,,,,,,,,\n,,,,,50,\"sound_snowman_hit\",\"ParticleEmitter\",,,\"giant_hit_sparks\",,\"Object\",,,,,,,,,\n\"snowman_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_snowman_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"inferno_dragon_firehit\",\"true\",\"true\",,,,,\"ParticleEmitter\",,,\"inferno_dragon_emitterTrail\",,\"Object\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"fireball_trial_spark\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"inferno_dragon_glowTrail\",,\"Above\",,,,,,,,,\n\"IceGolem_slow_loop\",,,,,,,\"ParticleEmitter\",,,\"IceGolem_slow_snow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"IceGolem_slow_puff\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"IceGolem_slow_puff_shadow\",,\"Shadow\",,,,,,,,,\n\"IceGolem_slow_ground\",,,,,,,\"ParticleEmitter\",,,\"IceGolem_snowPile1\",,\"Ground\",,,,\"IceGolem_slow_ground_red\",,,,,\n,,,,,68,,\"ParticleEmitter\",,,\"IceGolem_ground_area\",,\"Base\",,,,,,,,,\n\"IceGolem_slow_ground_red\",,,,,,,\"ParticleEmitter\",,,\"IceGolem_snowPile1\",,\"Ground\",,,,\"IceGolem_slow_ground_red\",,,,,\n,,,,,68,,\"ParticleEmitter\",,,\"IceGolem_ground_area_red\",,\"Ground\",,,,,,,,,\n\"Spell_graveyard_cast\",,,,,,\"sound_graveyard_deploy\",\"Effect\",,,,,\"Above\",,,,,,,,,\n\"mega_minion_helmet_hit\",,\"true\",,,,,\"ParticleEmitter\",,,\"mega_minion_helmet_smokePuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Mega_Minion_helmet_rockEmitter\",,\"Object\",60,,,,,,,,\n\"Spell_tornado_deploy\",,,,,,,\"ParticleEmitter\",,,\"tornado_rocks\",,\"Object\",,,,\"Spell_tornado_deploy_enemy\",,,,,\n,,,,,,\"sound_tornado\",\"SWF\",\"sc/effects.sc\",\"spell_tornado_radius_blue\",,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_cloud\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_glow\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl_ground\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_cloud2\",,\"Object\",,,,,,,,,\n\"Spell_tornado_deploy_enemy\",,,,,,,\"ParticleEmitter\",,,\"tornado_rocks\",,\"Object\",,,,,,,,,\n,,,,,,\"sound_tornado\",\"SWF\",\"sc/effects.sc\",\"spell_tornado_radius_red\",,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_cloud\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_glow\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl_ground\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_whirl\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"tornado_cloud2\",,\"Base\",,,,,,,,,\n\"spell_clone_ground\",,,,,,\"sound_clone_spell\",\"SWF\",\"sc/effects.sc\",\"clone_effect_ground\",,,\"Base\",,,,,,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_clone_radius_blue\",,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_poison_radius_blue\",\"clone_sparkle1\",,\"Object\",,,,,,,,,\n\"hologram_loop\",\"true\",,,,,,\"ParticleEmitter\",,,\"clone_emitter\",,\"Above\",,,,,,,,,\n\"mega_minion_hit\",,,,,,\"Arrow hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_minion_hit_sparks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Mega_minion_hit_puff\",,\"Above\",,,,,,,,,\n\"spell_clone_ground_enemy\",,,,,,,\"SWF\",\"sc/effects.sc\",\"clone_effect_ground\",,,\"Base\",,,,\"spell_clone_ground_enemy\",,,,,\n,,,,,,,\"SWF\",\"sc/effects.sc\",\"spell_clone_radius_red\",,,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"spell_poison_radius_blue\",\"clone_sparkle1\",,\"Object\",,,,,,,,,\n\"electro_wizard_deploy\",,,,,,\"sound_electro_wizard_deploy\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,,,,\"sound_electro_wizard_deploy_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Ground\",,,,,,,,,\n,,,,300,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Object\",,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"electro_wizard_steps\",\"true\",,,,,\"sound_electro_wizard_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"electro_wizard_attack_start\",,,,,,\"sound_electro_wizard_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,\"sound_electro_wizard_attack_vo\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"electro_wizard_hit\",,,,,,\"sound_electro_wizard_hit\",\"ParticleEmitter\",,,,,\"Ground\",100,,,,,,,,\n,,,,-100,,,\"ParticleEmitter\",,,\"electro_wizard_hit_burst\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"electro_wizard_hit_puff\",,\"Above\",,,,,,,,,\n,,,,100,,,\"ParticleEmitter\",,,\"electro_wizard_electric_hit\",,\"Above\",,,,,,,,,\n\"electro_wizard_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_electro_wizard_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"electro_wizard_beam\",,,,,,\"sound_electro_wizard_beam\",\"SWF\",\"sc/effects.sc\",\"electro_wiz_beam\",,,\"Above\",,,,,80,,,,\n\"jungle_arena_rain\",\"true\",,,2500,,,\"ParticleEmitter\",,,\"jungle_arena_rain\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_lightning_01\",\"jungle_arena_flash\",,\"Above\",,,,,,,,,\n\"jungle_arena_firefly_01\",\"true\",,,,,,\"ParticleEmitter\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_lightning_01\",\"jungle_arena_firefly_01\",,\"Ground\",,,,,,,,,\n\"jungle_arena_firefly_02\",\"true\",,,,,,\"ParticleEmitter\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_lightning_01\",\"jungle_arena_firefly_02\",,\"Ground\",,,,,,,,,\n\"jungle_arena_firefly_03\",\"true\",,,,,,\"ParticleEmitter\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_lightning_01\",\"jungle_arena_firefly_03\",,\"Ground\",,,,,,,,,\n\"jungle_arena_walk_splash\",,,,,,,\"SWF\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_splash_01\",\"jungle_arena_splash\",,\"Ground\",,,,,,,,,\n\"barbarian_deploy_nodelay\",,,,,,\"sound_barbarian_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize_nodelay\",\"Base\",,,,,,,,,\n\"battleram_deploy_nodelay\",,,,,,\"sound_battleram_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize_nodelay\",\"Base\",,,,,,,,,\n\"battle_ram_hit_sfx\",,,,,,\"sound_battle_ram_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"battle_ram_hit\",,,500,,,,\"ParticleEmitter\",,,\"zapmachine_spechit_smoke\",,\"Above\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"battle_ram_log_drop\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"battle_ram_log_planks\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"battle_ram_log_planks2\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapMachine_smallHit\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"battle_ram_planks_inverse\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Battle_ram_hit_debris\",,\"Base\",,,,,,,,,\n\"rain_splash\",,,,,,,\"SWF\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_splash_01\",\"jungle_arena_splash\",,\"Ground\",,,,,,,,,\n\"battle_ram_die\",,,,50,,,\"ParticleEmitter\",,,\"battle_ram_log_planks\",,\"Object\",100,,,,,,,,\n,,,,50,,,\"ParticleEmitter\",,,\"battle_ram_log_planks2\",,\"Object\",,,,,,,,,\n,,,,150,,,\"ParticleEmitter\",,,\"Battle_ram_die_smoke\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"battle_ram_log_drop_die\",,\"Object\",,,,,,,,,\n\"barbarian_king_hit\",,,500,,,\"sound_barbarian_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Spell_zap_smoke1\",,\"Base\",,,,,,,,,\n\"blowdart_goblin_attack\",,\"true\",,,,,\"ParticleEmitter\",,,\"blowdart_goblin_attack_puff\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"axe_man_projectile_hit\",,\"true\",,,,,\"ParticleEmitter\",,,\"axe_man_projectile_hit_puff\",,\"Above\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"axe_man_projectile_hit_sparks\",,\"Above\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"axe_man_projectile_die\",,,,250,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff1\",,\"Object\",100,,,,,,,,\n,,,,-20,,,\"ParticleEmitter\",,,\"axeman_axe_particle\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n,,,,,,,,,,,,,100,,,,,,,,\n\"AxeProjectileEmitter\",\"true\",,,,,,\"ParticleEmitter\",,,\"Axe_man_projectile_emitter\",,\"Above\",50,,,,,,,,\n\"BlowdartProjectileEmitter\",\"true\",,,,,,\"ParticleEmitter\",,,\"Blowdart_arrow_emitter\",,\"Above\",50,,,,,,,,\n\"BlowdartArrowHit\",,,,,,\"sound_blowdart_hit\",\"ParticleEmitter\",,,\"blowdart_goblin_attack_puff\",,\"Object\",,,,,,,,,\n,,,,,,\"sound_blowdart_hit\",\"ParticleEmitter\",,,\"blowdart_hit_sparks\",,\"Above\",,,,,,,,,\n\"assassin_deploy\",,,,,,\"sound_assassin_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"assassin_steps\",\"true\",,,,,\"sound_assassin_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"assassin_attack_start\",\"true\",,,,,\"sound_assassin_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"assassin_dash_start\",,,,,,\"sound_assassin_charge\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_buff\",,\"Above\",,,,,,,,,\n\"assassin_dashing\",,\"true\",,,,\"sound_assassin_dashing\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"assassin_dashing\",,\"Ground\",,,,,,,,,\n\"assasin_dashing_red\",,\"true\",,,,\"sound_assassin_dashing\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"assassin_dashing_red\",,\"Ground\",,,,,,,,,\n\"assassin_dash_end\",,,,,,\"sound_assassin_dash_end\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_buff\",,\"Above\",,,,,,,,,\n\"assassin_hit\",,,,,,\"sound_assassin_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"assassin_hit_special\",,,500,100,80,\"sound_assassin_hit_special\",\"ParticleEmitter\",,,\"assassin_hit_special_smoke\",,\"Above\",100,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_hit_special\",,\"Above\",,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_hit_special_blue_puff\",,\"Above\",,,,,,,,,\n\"assassin_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_assassin_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"Healing_enemy\",,\"true\",,,,\"sound_heal_spell\",\"ParticleEmitter\",,,\"heal_ground\",,\"Base\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_ground_ring_enemy\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_border_burst\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_border_burst2\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_effect_border_smoke\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_particle_lines\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"heal_cross\",,\"Object\",,,,,,,,,\n\"league_skull_eye_fx\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_skull_fire_eye_emmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_skull_eye_spark_emitter\",,\"Above\",,,,,,,,,\n\"league_bg_vfx_01\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_amber_03\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n\"league_bg_vfx_02\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_emitter\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_03\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_bokeh_02\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n\"minion_witch_deploy\",,,,,,\"sound_witch_deploy_skeleton\",\"ParticleEmitter\",,,\"minion_pulse\",,\"Object\",100,,,,,,,,\n\"league_ultimate_sparkle\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_ultimate_sparkle_emitter\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_ultimate_amber_emitter\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_ultimate_sparkle_emitter_2\",,\"Above\",,,,,,,,,\n\"king_2v2_die\",,,,,,\"sound_king_player_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n,,,2000,50,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"FireRingEmitter\",,\"Object\",,,,,,,,,\n,,,,250,,,\"ParticleEmitter\",,,\"TargetDummy_smoke\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TowerExplode_rockEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"2v2_tower_destroyed_ground\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Big_rock_particle1\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"2v2_rocks_destroyrd\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"2v2_dirt_destroyed\",,\"Base\",,,,,,,,,\n\"league_bg_vfx_03\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_emitter\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_04\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_bg_amber_02\",,\"Base\",,,,,,,,,\n\"league_bg_vfx_05\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_godrays_empty\",,\"Base\",,,,,,,,,\n\"league_bg_vfx_04\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_godrays_empty\",,\"Base\",,,,,,,,,\n\"league_bg_vfx_06\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_bg_godrays_01\",,\"Base\",,,,,,,,,\n\"bat_deploy\",,,,,,\"sound_bat_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bat_dark_witch_spawn\",,,,300,,\"sound_dark_witch_deploy_bat\",\"ParticleEmitter\",,,\"bat_DW_spawn\",,\"Object\",100,,,,,,,,\n\"bat_steps\",\"true\",,,,,\"sound_bat_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"bat_attack_start\",\"true\",,,,,\"sound_bat_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bat_hit\",,,,,,\"sound_bat_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"bat_die\",,,,,,\"sound_bat_die\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Death_elixir_burst1_small\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"Death_enemy_puff_small\",,\"Base\",,,,,,,,,\n,,,,,25,,\"ParticleEmitter\",,,\"Death_blue_smoke_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,75,,\"ParticleEmitter\",,,\"Death_elixir_ground1_small\",,\"Ground\",,,,,,,,,\n\"dark_witch_deploy\",,,,,,\"sound_dark_witch_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"dark_witch_steps\",,,,,,\"sound_dark_witch_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"dark_witch_attack_start\",,,,,,\"sound_dark_witch_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"dark_witch_hit\",,,,,,\"sound_dark_witch_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dark_witch_hit_burst\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"dark_witch_hit_smoke\",,\"Object\",,,,,,,,,\n\"dark_witch_die\",,,,,,,\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,\"sound_dark_witch_die\",\"SWF\",,,,,\"Object\",,,,,,,,,\n\"waterfall_haze\",\"true\",,,,,,\"ParticleEmitter\",,,\"water_fall_haze_emmiter\",,\"Ground\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"waterfall_cloud\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"waterfall_bubbles\",,\"Object\",,,,,,,,,\n\"legendary_arena_loop\",,,,,,,\"ParticleEmitter\",,,\"confetti_legendary_arena\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"confetti_legendary_arena\",,\"Above\",,,,,,,,,\n\"assassin_hit_special_red\",,,500,100,80,\"sound_assassin_hit_special\",\"ParticleEmitter\",,,\"assassin_hit_special_smoke\",,\"Above\",100,,,\"assassin_hit_special\",,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_hit_special_red\",,\"Above\",,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_hit_special_red_puff\",,\"Above\",,,,,,,,,\n\"chest_open_legendary_sparkle\",\"true\",,,,,,\"ParticleEmitter\",,,\"league_ultimate_sparkle_emitter\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"league_ultimate_amber_emitter\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"zapmachine_cont_sparks1\",,\"Above\",,,,,,,,,\n\"card_legendary_reveal_001\",\"true\",,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_gather_001\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"arena_levelup_sparks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"arena_levelup_burst\",,\"Above\",,,,,,,,,\n\"card_legendary_reveal_002\",,,30,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_giant\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"xp_levelup_flash\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"xp_levelup_burst\",,\"Above\",,,,,,,,,\n\"card_exclusive_reveal_001\",,,3,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n\"card_exclusive_reveal_002\",,,8,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n\"card_exclusive_reveal_003\",,,15,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_giant\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode\",,\"Above\",,,,,,,,,\n\"card_exclusive_reveal_004\",,,25,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_002\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"chest_landing_puff_mega\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode_001\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"xp_levelup_flash\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"card_legendary_reveal_explode\",,\"Above\",,,,,,,,,\n\"mega_knight_deploy\",,,,250,,\"sound_mega_knight_deploy\",\"Effect\",,,,,\"Base\",,,,,,,,,\n\"mega_knight_deploy_end\",,,500,10,,,\"Effect\",,,,\"mega_knight_deploy_compile\",\"Base\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_sparks_hit_ground2\",,\"Ground\",,,,,,,,,\n\"mega_knight_steps\",,,,,,\"sound_mega_knight_steps\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"mega_knight_attack_start\",,,,,,\"sound_mega_knight_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"mega_knight_dash_start\",,,,,,\"sound_mega_knight_charge\",\"SWF\",,,,,\"Above\",,,,,,,,,\n,,,,,100,,\"ParticleEmitter\",,,\"assassin_buff\",,\"Above\",,,,,,,,,\n\"mega_knight_dashing\",,\"true\",,,,\"sound_mega_knight_dashing\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"mega_knight_dash_end\",,,350,,25,\"sound_mega_knight_dash_end\",\"Effect\",,,,\"mega_knight_deploy_compile\",\"Above\",100,,,,,,,,\n\"mega_knight_hit\",,,,,,\"sound_mega_knight_hit\",\"ParticleEmitter\",,,\"mega_knight_hitPuff\",\"ragebarbarian_hit\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_sparks_hit\",,\"Above\",,,,,,,,,\n\"mega_knight_die\",,,,,,\"sound_mega_knight_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_gloves\",,\"Object\",,,,,,,,,\n\"moving_cannon_deploy\",,,,,,\"sound_moving_cannon_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_ground_fX_mediumSize\",\"Base\",,,,,,,,,\n\"moving_cannon_steps\",,,,,,\"sound_moving_cannon_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"moving_cannon_fire_projectile\",,,,,,\"Cannon Fire\",\"ParticleEmitter\",,,\"cannon_glow_top\",,\"Above\",1,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke1\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_firePareticles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke_shadow\",,\"Shadow\",,,,,,,,,\n\"moving_cannon_hit\",,\"true\",,,,\"sound_moving_cannon_hit\",\"ParticleEmitter\",,,\"cannon_hit_rock_emiter\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_hit_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"moving_cannon_die\",,,,,,\"sound_moving_cannon_die\",\"SWF\",,,\"giant_deploy_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"moving_cannon_die_dustPuff\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"moving_cannon_die_dustPuff_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"moving_cannon_die_planks\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"moving_cannon_die_wheels\",,\"Object\",,,,,,,,,\n\"broken_cannon_deploy\",,,,,,\"sound_broken_cannon_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"broken_cannon_fire_projectile\",,,,,,\"Cannon Fire\",\"ParticleEmitter\",,,\"cannon_glow_top\",,\"Above\",1,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke1\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_firePareticles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_smoke_shadow\",,\"Shadow\",,,,,,,,,\n\"broken_cannon_hit\",,\"true\",,,,\"sound_broken_cannon_hit\",\"ParticleEmitter\",,,\"cannon_hit_rock_emiter\",,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"cannon_hit_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n\"broken_cannon_die\",,,,,,\"sound_broken_cannon_die\",\"Effect\",,,\"giant_deploy_dustPuff\",\"Cannon_die\",\"Object\",100,,,\"giant_deploy_enemy\",,,,,\n,,,,,40,,\"ParticleEmitter\",,,\"moving_cannon_die_dustPuff\",,\"Ground\",,,,,,,,,\n,,,,,40,,\"ParticleEmitter\",,,\"moving_cannon_die_dustPuff_shadow\",,\"Shadow\",,,,,,,,,\n,,,,,80,,\"ParticleEmitter\",,,\"moving_cannon_die_planks\",,\"Object\",,,,,,,,,\n\"skeleton_balloon_deploy\",,,,,,\"sound_skeleton_balloon_deploy\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"skeleton_balloon_steps\",\"true\",,,,,\"sound_skeleton_balloon_steps\",\"SWF\",,,,,\"Ground\",100,,,,,\"true\",,,\n\"skeleton_balloon_attack_start\",,,,,,\"sound_skeleton_balloon_attack_start\",\"SWF\",,,,,\"Above\",,,,,,,,,\n\"skeleton_balloon_hit\",,,350,,,\"sound_skeleton_balloon_hit\",\"ParticleEmitter\",,,\"catapult_rock_Emitter\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_smoke\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_smokePuff\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_grass_emitter\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_hit_shadow\",,\"Shadow\",,,,,,,,,\n\"skeleton_balloon_die\",,,,,,\"sound_skeleton_balloon_die\",\"SWF\",,,,,\"Object\",100,,,\"skeleton_balloon_die_red\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_ballon_pop1_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop_die_blue\",,\"Above\",,,,,,,,,\n\"skeleton_container_explosion\",,,,,,\"sound_skeleton_container_explosion\",\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BlueSparkEmitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"catapult_rock_Emitter\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks2\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"knight_deploy_dustPuff2\",,\"Base\",,,,,,,,,\n\"flying_machine_deploy\",,,,,,\"sound_flying_machine_deploy\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"Deploy_flying_machine\",\"Base\",,,,,,,,,\n\"flying_machine_steps\",\"true\",,,,,\"sound_flying_machine_steps\",\"SWF\",,,,,\"Ground\",100,,,,,,,,\n\"flying_machine_attack\",,,,,,\"sound_flying_machine_attack\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"Effect\",,,,\"flying_machine_projectile_fx\",\"Base\",,,,,,,,,\n\"flying_machine_attack_start\",,,,,,\"sound_flying_machine_attack_start\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"flying_machine_hit\",,,,,,\"sound_flying_machine_hit\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n\"flying_machine_die\",,,,,,\"sound_flying_machine_die\",\"Effect\",\"sc/effects.sc\",\"RoundExplosion\",\"Death_sparkle_still1\",\"Death_player\",\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"BlueSparkEmitter\",,\"Base\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"TargetDummy_planks\",,\"Base\",,,,,,,,,\n\"mega_knight_deploy_compile\",,,,,,,\"ParticleEmitter\",,,\"mega_knight_rocks_hit\",,\"Ground\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_dustPuff\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_sparks\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_sparks_hit\",,\"Object\",60,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"mega_knight_sparks_hit_ground\",,\"Ground\",60,,,,,,,,\n\"flying_machine_projectile_fx\",,,,,,\"sound_royal_giant_projectile_fx\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_firePareticles\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_glow_top\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"giant_hit_blow\",\"cannon_smoke1\",,\"Object\",,,,,,,,,\n\"skeleton_balloon_pop1\",,,,,,\"sound_skeleton_balloon_pop1\",\"SWF\",,,,,\"Object\",100,,,\"skeleton_balloon_pop1_red\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_ballon_pop1_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop1_blue\",,\"Above\",,,,,,,,,\n\"skeleton_balloon_pop2\",,,,,,\"sound_skeleton_balloon_pop2\",\"SWF\",,,,,\"Object\",100,,,\"skeleton_balloon_pop2_red\",,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop2_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop2_blue\",,\"Above\",,,,,,,,,\n\"skeleton_balloon_pop2_red\",,,,,,\"sound_skeleton_balloon_pop2\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop2_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop2_red\",,\"Above\",,,,,,,,,\n\"skeleton_balloon_pop1_red\",,,,,,\"sound_skeleton_balloon_pop1\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_ballon_pop1_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop1_red\",,\"Above\",,,,,,,,,\n\"skeleton_balloon_die_red\",,,,,,\"sound_skeleton_balloon_die\",\"SWF\",,,,,\"Object\",100,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_ballon_pop1_fx\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"skeleton_balloon_pop_die_red\",,\"Above\",,,,,,,,,\n\"skeleton_balloon_die_elixir\",,,,,,,\"ParticleEmitter\",,,\"Death_elixir_burst1_small\",,\"Object\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",\"sc/effects.sc\",\"BloodCloud\",\"Death_enemy_puff_small\",,\"Object\",,,,,,,,,\n\"shop_gob_sparkle\",\"true\",,,,,,\"ParticleEmitter\",,,\"shop_gob_sparkle_emitter\",,\"Above\",50,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"shop_gob_bokeh_emitter\",,\"Above\",,,,,,,,,\n,,,,,,,\"ParticleEmitter\",,,\"shop_gob_sparkle_emitter2\",,\"Above\",,,,,,,,,\n\"Deploy_flying_machine\",\"true\",,,300,,,\"ParticleEmitter\",,,\"flying_machine_dustPuff\",,\"Object\",100,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n,,,,,,,,,,,,,60,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/event_output.csv",
    "content": "\"Name\",\"Id\",\"Channels\",\"DurationMillis\"\n\"String\",\"Int\",\"Int\",\"Int\"\n\"OvertimeStart\",0,0,500\n\"CountdownStart\",1,0,500\n\"60s_Left\",2,0,500\n\"60s_LeftOvertime\",3,0,500\n\"30s_Left\",4,0,500\n\"Draw\",5,0,500\n\"BlueLeftTowerDown\",0,1,500\n\"BlueRightTowerDown\",1,1,500\n\"BlueKingDown\",2,1,500\n\"BlueWin\",3,1,500\n\"BlueFireball\",4,1,500\n\"BlueLightning\",5,1,500\n\"BlueRocket\",6,1,500\n\"BlueXbow\",7,1,500\n\"RedLeftTowerDown\",0,2,500\n\"RedRightTowerDown\",1,2,500\n\"RedKingDown\",2,2,500\n\"RedWin\",3,2,500\n\"RedFireball\",4,2,500\n\"RedLightning\",5,2,500\n\"RedRocket\",6,2,500\n\"RedXbow\",7,2,500\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/health_bars.csv",
    "content": "\"Name\",\"FileName\",\"PlayerExportName\",\"EnemyExportName\",\"NoDamagePlayerExportName\",\"NoDamageEnemyExportName\",\"MinimumHitpointValue\",\"ShowOwnAlways\",\"ShowEnemyAlways\",\"YOffset\",\"ShowAsShield\"\n\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\"\n\"Small\",\"sc/ui.sc\",\"hp_player_small\",\"hp_enemy_small\",\"hp_player_number\",\"hp_enemy_number\",0,,\"true\",,\n\"Medium\",\"sc/ui.sc\",\"hp_player_medium\",\"hp_enemy_medium\",\"hp_player_number\",\"hp_enemy_number\",75,,\"true\",,\n\"High\",\"sc/ui.sc\",\"hp_player_high\",\"hp_enemy_high\",\"hp_player_number\",\"hp_enemy_number\",150,,\"true\",,\n\"Tower\",\"sc/ui.sc\",\"hp_player_tower_withNumber\",\"hp_enemy_tower_withNumber\",\"hp_player_tower_withNumber\",\"hp_enemy_tower_withNumber\",,,\"true\",,\n\"Summoner\",\"sc/ui.sc\",\"hp_player_wizard\",\"hp_enemy_wizard\",\"hp_player_wizard\",\"hp_enemy_wizard\",,\"true\",\"true\",20,\n\"Shield\",\"sc/ui.sc\",\"hp_shield_player_medium\",\"hp_shield_enemy_medium\",\"hp_shield_player_number\",\"hp_shield_enemy_number\",,,\"true\",,\n\"Shield_small\",\"sc/ui.sc\",\"hp_shield_player_small\",\"hp_shield_enemy_small\",\"hp_shield_player_number\",\"hp_shield_enemy_number\",,,\"true\",,\n\"MediumShield\",\"sc/ui.sc\",\"hp_shield_player_medium\",\"hp_shield_enemy_medium\",\"hp_shield_player_number\",\"hp_shield_enemy_number\",,,\"true\",,TRUE\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/helpshift.csv",
    "content": "\"Name\",\"HelpshiftId\"\n\"String\",\"String\"\n\"ParentsGuide\",\"2237\"\n\"Terms\",2342\n\"LocationGuideIOS\",\"3734\"\n\"LocationGuideAndroid\",\"3735\"\n\"TournamentTerms\",\"3736\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/hints.csv",
    "content": "\"Name\",\"TID\",\"NotBeenInClan\",\"NotBeenInTournament\",\"NotCreatedTournament\",\"MinNpcWins\",\"MaxNpcWins\",\"MinArena\",\"MaxArena\",\"MinTrophies\",\"MaxTrophies\",\"MinExpLevel\",\"MaxExpLevel\",\"iOSTID\",\"AndroidTID\"\n\"String\",\"String\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"String\",\"String\"\n\"welcome message\",\"TID_HINT_WELCOME\",,,,,6,,,,,,,,\n\"winning condition1\",\"TID_HINT_WINNING_CONDITION1\",,,,2,,,1,,,,,,\n\"winning condition2\",\"TID_HINT_WINNING_CONDITION2\",,,,2,,,1,,,,,,\n\"elixir basics1\",\"TID_HINT_ELIXIR_BASICS1\",,,,4,,,1,,,,,,\n\"elixir basics2\",\"TID_HINT_ELIXIR_BASICS2\",,,,4,,,1,,,,,,\n\"elixir basics3\",\"TID_HINT_ELIXIR_BASICS3\",,,,4,,,1,,,,,,\n\"exp level1\",\"TID_HINT_EXP_LEVEL1\",,,,,,2,3,,,,,,\n\"exp level2\",\"TID_HINT_EXP_LEVEL2\",,,,,,2,3,,,,,,\n\"battle basics1\",\"TID_HINT_BATTLE_BASICS1\",,,,,,2,3,,,,,,\n\"battle basics2\",\"TID_HINT_BATTLE_BASICS2\",,,,,,2,3,,,,,,\n\"join clan\",\"TID_HINT_JOIN_CLAN\",\"TRUE\",,,,,,,,,3,,,\n\"tv royale\",\"TID_HINT_TV_ROYALE\",,,,,,1,3,,,,,,\n\"arrows\",\"TID_HINT_ARROWS\",,,,6,,,2,,,,,,\n\"giant\",\"TID_HINT_GIANT\",,,,6,,,2,,,,,,\n\"knight and archers\",\"TID_HINT_KIGHT_AND_ARCHERS\",,,,,,1,1,,,,,,\n\"area damage\",\"TID_HINT_AREA_DAMAGE\",,,,,,2,3,,,,,,\n\"free chest\",\"TID_HINT_FREE_CHEST\",,,,,,2,3,,,,,,\n\"match duration\",\"TID_HINT_MATCH_DURATION\",,,,,,1,3,,,,,,\n\"overtime\",\"TID_HINT_OVERTIME\",,,,,,1,3,,,,,,\n\"card types\",\"TID_HINT_CARD_TYPES\",,,,,,2,3,,,,,,\n\"card rarities\",\"TID_HINT_CARD_RARITIES\",,,,,,1,7,,,,,,\n\"deck basics1\",\"TID_HINT_DECK_BASICS1\",,,,,,2,3,,,,,,\n\"deck basics2\",\"TID_HINT_DECK_BASICS2\",,,,,,1,1,,,,,,\n\"achievements\",\"TID_HINT_ACHIEVEMENT_GEMS\",,,,,,,,,,3,6,,\n\"clan rewards\",\"TID_HINT_DONATE_REWARDS\",,,,,,,,,,3,6,,\n\"king activation\",\"TID_HINT_KING_ACTIVATION\",,,,,,2,4,,,,,,\n\"king daughters\",\"TID_HINT_KING_DAUGHTERS\",,,,,,2,3,,,,,,\n\"story1\",\"TID_HINT_STORY1\",,,,,,3,4,,,,,,\n\"building lifetime\",\"TID_HINT_BUILDING_LIFETIME\",,,,,,2,4,,,,,,\n\"crown towers\",\"TID_HINT_TOWER_TARGETING\",,,,,,2,3,,,,,,\n\"building targeting\",\"TID_HINT_BUILDINGS\",,,,,,2,3,,,,,,\n\"common max level\",\"TID_HINT_COMMON_MAX_LEVEL\",,,,,,,,,,8,,,\n\"rare max level\",\"TID_HINT_RARE_MAX_LEVEL\",,,,,,,,,,8,,,\n\"epic max level\",\"TID_HINT_EPIC_MAX_LEVEL\",,,,,,,,,,8,,,\n\"card upgrades\",\"TID_HINT_CARD_UPGRADES\",,,,,,1,2,,,,,,\n\"card unlocks\",\"TID_HINT_CARD_UNLOCKS\",,,,,,2,3,,,,,,\n\"card shop\",\"TID_HINT_SHOP_CYCLE\",,,,,,1,4,,,,,,\n\"chest basics1\",\"TID_HINT_CHEST_BASICS1\",,,,,,2,4,,,,,,\n\"chest basics2\",\"TID_HINT_CHEST_BASICS2\",,,,,,2,6,,,,,,\n\"chest basics3\",\"TID_HINT_CHEST_BASICS3\",,,,,,2,4,,,,,,\n\"chest basics4\",\"TID_HINT_CHEST_BASICS4\",,,,,,2,4,,,,,,\n\"chest_basics5\",\"TID_HINT_CHEST_BASICS5\",,,,,,3,6,,,,,,\n\"matchmaking\",\"TID_HINT_MATCHMAKING\",,,,,,2,4,,,,,,\n\"bomb tower\",\"TID_HINT_BOMB_TOWER\",,,,,,2,3,,,,,,\n\"tank1\",\"TID_HINT_TANK1\",,,,,,2,3,,,,,,\n\"tank2\",\"TID_HINT_TANK2\",,,,,,2,3,,,,,,\n\"prince\",\"TID_HINT_PRINCE\",,,,,,2,3,,,,,,\n\"tesla\",\"TID_HINT_BATTLE_TESLA\",,,,,,4,5,,,,,,\n\"deploy area\",\"TID_HINT_DEPLOY_AREA\",,,,,,2,3,,,,,,\n\"taunts\",\"TID_HINT_TAUNTS\",,,,,,2,3,,,,,,\n\"three crowns\",\"TID_HINT_THREE_CROWNS\",,,,,,3,5,,,,,,\n\"balloon\",\"TID_HINT_BALLOON\",,,,,,2,4,,,,,,\n\"double elixir\",\"TID_HINT_DOUBLE_ELIXIR\",,,,,,2,3,,,,,,\n\"huts\",\"TID_HINT_HUTS\",,,,,,2,3,,,,,,\n\"tombstone\",\"TID_HINT_TOMBSTONE\",,,,,,2,3,,,,,,\n\"rage\",\"TID_HINT_RAGE\",,,,,,3,5,,,,,,\n\"direct damage\",\"TID_HINT_DIRECT_DAMAGE\",,,,,,3,4,,,,,,\n\"elixir basics4\",\"TID_HINT_MAX_ELIXIR\",,,,,,2,3,,,,,,\n\"starting hand\",\"TID_HINT_STARTING_HAND\",,,,,,2,3,,,,,,\n\"crown chest\",\"TID_HINT_CROWN_CHEST\",,,,,,2,4,,,,,,\n\"pro1\",\"TID_HINT_BATTLE_PRO1\",,,,,,3,,,,,,,\n\"pro2\",\"TID_HINT_BATTLE_PRO2\",,,,,,3,,,,,,,\n\"pro3\",\"TID_HINT_BATTLE_PRO3\",,,,,,5,,,,,,,\n\"pro4\",\"TID_HINT_BATTLE_PRO4\",,,,,,3,5,,,,,,\n\"pro5\",\"TID_HINT_BATTLE_PRO5\",,,,,,5,,,,,,,\n\"targeting\",\"TID_HINT_TARGETING\",,,,,,3,5,,,,,,\n\"inferno\",\"TID_HINT_INFERNO\",,,,,,4,5,,,,,,\n\"giant skeleton\",\"TID_HINT_GIANT_SKELETON\",,,,,,2,4,,,,,,\n\"epic sunday\",\"TID_HINT_EPIC_SUNDAY\",,,,,,2,5,,,,,,\n\"gems from chests\",\"TID_HINT_GEMS_FROM_CHESTS\",,,,,,2,5,,,,,,\n\"hog rider\",\"TID_HINT_HOG_RIDER\",,,,,,4,,,,,,,\n\"golem1\",\"TID_HINT_GOLEM1\",,,,,,6,,,,,,,\n\"golem2\",\"TID_HINT_GOLEM2\",,,,,,6,,,,,,,\n\"golem3\",\"TID_HINT_GOLEM3\",,,,,,6,,,,,,,\n\"pekkas\",\"TID_HINT_PEKKAS\",,,,,,2,6,,,,,,\n\"trophy count\",\"TID_HINT_TROPHY_COUNT\",,,,,,3,5,,,,,,\n\"lightning\",\"TID_HINT_LIGHTNING\",,,,,,2,4,,,,,,\n\"bomber\",\"TID_HINT_BOMBER\",,,,,,1,2,,,,,,\n\"pekka\",\"TID_HINT_PEKKA\",,,,,,4,,,,,,,\n\"wizard\",\"TID_HINT_WIZARD\",,,,,,5,,,,,,,\n\"friendly battles1\",\"TID_HINT_FRIENDLY_BATTLES1\",,,,,,,,,,3,,,\n\"friendly battles2\",\"TID_HINT_FRIENDLY_BATTLES2\",,,,,,,,,,3,,,\n\"friendly battles3\",\"TID_HINT_FRIENDLY_BATTLES3\",,,,,,,,,,3,,,\n\"friendly battles4\",\"TID_HINT_FRIENDLY_BATTLES4\",,,,,,,,,,3,,,\n\"tourney battles1\",\"TID_HINT_TOURNEY_BATTLES1\",,,,,,,,,,8,,,\n\"tourney battles2\",\"TID_HINT_TOURNEY_BATTLES2\",,,,,,,,,,8,,,\n\"legendary chest1\",\"TID_HINT_CHEST_LEGENDARY1\",,,,,,,,1400,,,,,\n\"legendary chest2\",\"TID_HINT_CHEST_LEGENDARY2\",,,,,,,,2000,,,,,\n\"super magical chest1\",\"TID_HINT_CHEST_SUPER_MAGICAL1\",,,,,,4,,,,,,,\n\"super magical chest2\",\"TID_HINT_CHEST_SUPER_MAGICAL2\",,,,,,,,400,,,,,\n\"giant chest1\",\"TID_HINT_CHEST_GIANT1\",,,,,,2,,,,,,,\n\"giant chest2\",\"TID_HINT_CHEST_GIANT2\",,,,,,2,,,,,,,\n\"three musketeers\",\"TID_HINT_THREE_MUSKETEERS\",,,,,,7,,,,,,,\n\"dark prince\",\"TID_HINT_DARK_PRINCE\",,,,,,7,,,,,,,\n\"ice wizard\",\"TID_HINT_ICE_WIZARD\",,,,,,5,,,,,,,\n\"princess\",\"TID_HINT_PRINCESS\",,,,,,7,,,,,,,\n\"royal giant\",\"TID_HINT_ROYAL_GIANT\",,,,,,7,,,,,,,\n\"poison\",\"TID_HINT_POISON\",,,,,,5,,,,,,,\n\"legendary max level\",\"TID_HINT_LEGENDARY_MAX_LEVEL\",,,,,,,,,,8,,,\n\"gold per win\",\"TID_HINT_GOLD_PER_WIN\",,,,,,1,,,,,,,\n\"lava hound\",\"TID_HINT_LAVA_HOUND\",,,,,,4,,,,,,,\n\"miner\",\"TID_HINT_MINER\",,,,,,6,,,,,,,\n\"sparky\",\"TID_HINT_SPARKY\",,,,,,6,,,,,,,\n\"legendary card\",\"TID_HINT_LEGENDARY_CARDS\",,,,,,4,,,,,,,\n\"bowler\",\"TID_HINT_BOWLER\",,,,,,8,,,,,,,\n\"rage log\",\"TID_HINT_RAGE_LOG\",,,,,,6,,,,,,,\n\"tourney1\",\"TID_HINT_TOURNEY1\",,,\"TRUE\",,,,,,,8,,,\n\"tourney2\",\"TID_HINT_TOURNEY2\",,,,,,,,,,5,7,,\n\"tourney3\",\"TID_HINT_TOURNEY3\",,,,,,,,,,8,,,\n\"tourney4\",\"TID_HINT_TOURNEY4\",,,,,,,,,,8,,,\n\"tourney5\",\"TID_HINT_TOURNEY5\",,,,,,,,,,8,,,\n\"tourney6\",\"TID_HINT_TOURNEY6\",,,,,,,,,,8,,,\n\"tourney7\",\"TID_HINT_TOURNEY7\",,,,,,,,,,8,,,\n\"tourney8\",\"TID_HINT_TOURNEY8\",,,,,,,,,,8,,,\n\"tourney9\",\"TID_HINT_TOURNEY9\",,,,,,,,,,8,,,\n\"arena pack\",\"TID_HINT_ARENA_PACK\",,,,,,,,,,3,,,\n\"friends list1\",\"TID_HINT_FRIENDS_LIST1\",,,,,,,,,,3,,,\n\"friends list2\",\"TID_HINT_FRIENDS_LIST2\",,,,,,,,,,3,,,\n\"mute\",\"TID_HINT_MUTE\",,,,,,,,,,4,,,\n\"epic chest\",\"TID_HINT_CHEST_EPIC\",,,,,,,,1000,,,,,\n\"graveyard\",\"TID_HINT_GRAVEYARD\",,,,,,5,,,,,,,\n\"clone\",\"TID_HINT_CLONE\",,,,,,8,,,,,,,\n\"bandit\",\"TID_HINT_BANDIT\",,,,,,9,,,,,,,\n\"sparky2\",\"TID_HINT_SPARKY2\",,,,,,11,,,,,,,\n\"2v2 1\",\"TID_HINT_2v2_1\",,,,,,1,,,,,,,\n\"2v2 2\",\"TID_HINT_2v2_2\",,,,,,1,,,,,,,\n\"2v2 3\",\"TID_HINT_2v2_3\",,,,,,2,,,,,,,\n\"2v2 4\",\"TID_HINT_2v2_4\",,,,,,2,,,,,,,\n\"2v2 5\",\"TID_HINT_2v2_5\",,,,,,2,,,,,,,\n\"2v2 6\",\"TID_HINT_2v2_6\",,,,,,3,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/music.csv",
    "content": "\"Name\",\"FileName\",\"Volume\",\"Loop\",\"PlayCount\",\"FadeOutTimeSec\",\"DurationSec\"\n\"String\",\"String\",\"int\",\"boolean\",\"int\",\"int\",\"int\"\n\"BattleMusic\",\"music/2min_loop_battle_01.ogg\",50,\"true\",,,\n,\"music/2min_loop_battle_02.ogg\",50,\"true\",,,\n,\"music/2min_loop_battle_03.ogg\",50,\"true\",,,\n\"MenuMusic\",\"music/menu_03.ogg\",70,,2,30,96\n,\"music/wizmen04.ogg\",70,,2,30,96\n,\"music/new_menu_01.ogg\",70,,2,30,96\n\"TrainingArena\",\"music/tutorial_2m_arena_forest_amb_01.ogg\",50,\"true\",,,\n\"60sec_training\",\"music/60secs_training_Arena_01.ogg\",65,,,,\n\"Sudden_death\",\"music/sudden_death_01.ogg\",60,\"true\",,,\n\"Pre_result\",\"music/scroll_preresult_loop_01.ogg\",80,,,,\n\"Win\",\"music/scroll_win_02.ogg\",95,,,,\n\"Lose\",\"music/scroll_lose_01.ogg\",85,,,,\n\"Draw\",\"music/scroll_draw_01.ogg\",85,,,,\n\"Post_result_loop\",\"music/scroll_post_jingle_loop_01.ogg\",50,\"true\",,,\n\"60sec_loop\",\"music/60_sec_music_loop_01.ogg\",55,,,,\n\"30sec_loop\",\"music/30_sec_music_loop_01.ogg\",60,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/news.csv",
    "content": "\"Name\",\"ID\",\"Enabled\",\"TID\",\"InfoTID\",\"ItemSWF\",\"ItemExportName\",\"IconSWF\",\"IconExportName\",\"ImageSWF\",\"ImageExportName\",\"ButtonUrl\",\"ButtonTID\"\n\"String\",\"int\",\"Boolean\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\"\n\"Update\",121,\"TRUE\",\"TID_NEWS_UPDATE_TITLE\",\"TID_NEWS_UPDATE_TEXT\",\"sc/ui.sc\",\"news_item\",,,,,\"http://clashroyale.com/blog/news/upcoming-balance-changes\",\"TID_NEWS_ITEM_BUTTON\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/particle_emitters.csv",
    "content": "\"Name\",\"ParticleCount\",\"MinLife\",\"MaxLife\",\"ParticleMinInterval\",\"ParticleMaxInterval\",\"ParticleMinLife\",\"ParticleMaxLife\",\"ParticleMinAngle\",\"ParticleMaxAngle\",\"ParticleAngleRelativeToParent\",\"ParticleRandomAngle\",\"ParticleMinRadius\",\"ParticleMaxRadius\",\"ParticleMinSpeed\",\"ParticleMaxSpeed\",\"ParticleStartXYAreaRadius\",\"ParticleStartZ\",\"ParticleMinVelocityZ\",\"ParticleMaxVelocityZ\",\"ParticleGravity\",\"ParticleMinTailLength\",\"ParticleMaxTailLength\",\"ParticleResource\",\"ParticleExportName\",\"RotateToDirection\",\"LoopParticleClip\",\"StartScale\",\"EndScale\",\"FadeInDuration\",\"FadeOutDuration\",\"Inertia\",\"EnemyVersion\",\"NoBounce\",\"StopOnBounce\",\"RandomScale\",\"NoLowEndOptimization\",\"SortingOffset\",\"Shadow\",\"AngularSpeed\",\"ShadowMulR\",\"ShadowMulG\",\"ShadowMulB\",\"ShadowMulA\",\"InverseSpeed\",\"Trail\",\"TrailWidth\",\"TrailMaxPoints\",\"TrailDuration\",\"TrailSWF\",\"TrailExportName\",\"SpecialEffect\",\"FrameFromAngle\",\"RotateMinSpeed\",\"RotateMaxSpeed\",\"IgnoreShadowFlip\",\"ResourceFromAngle\"\n\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"boolean\",\"int\",\"int\",\"boolean\",\"boolean\"\n\"Arrows Hit Ground\",1,1,200,,,1500,1900,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_1\",,\"true\",,,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"FireRingEmitter\",16,120,250,,,200,550,100,360,,\"true\",-1,2,60,120,,,10,150,,60,200,\"sc/effects.sc\",\"FireParticle1\",,,110,50,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"PoisonSteamer\",5,,,50,200,600,3000,180,270,,\"true\",,,1,5,,30,5,6,-900,,,\"sc/effects.sc\",\"poisoncloud_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"HitEffectParticles\",20,100,100,,10,150,200,1,360,,\"true\",2,2,300,350,,,60,100,,100,150,\"sc/effects.sc\",\"Sparkle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BlueSparkEmitter\",10,150,150,,10,200,350,,360,,\"true\",,,,500,,,200,200,,100,300,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BlueSparksEmitter\",8,100,5000,10,40,300,600,,160,,\"true\",-25,25,10,100,,,20,100,300,,,\"sc/effects.sc\",\"SparkleBlue\",,,200,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"FlameArrowEmitter_small\",10,1,1,1,50,200,500,,,,,,,,,,29,90,100,,,,\"sc/effects.sc\",\"FireParticle1_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Rock Pieces Emitter\",13,400,400,,5,800,1200,,360,,\"true\",,,30,150,,20,100,250,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"HotCoals_sparks\",4,100,5000,,50,300,800,,360,,\"true\",7,7,10,80,,,10,100,500,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"DragSparkEmitter\",30,500,500,,40,300,400,90,90,\"true\",,2,2,100,200,,35,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset1\",\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Fireball_explosion_smoke\",34,100,100,1,1,1500,2300,,360,,\"true\",3,7,10,15,,14,20,30,10,,,\"sc/effects.sc\",\"explosion_cloud_1\",\"true\",\"true\",100,120,,1500,20,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Fireball_explosion_sparks\",22,190,190,1,3,800,900,,360,,\"true\",1,3,70,80,,73,500,900,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,100,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Fireball_explosion_glow\",12,190,190,1,3,1200,2800,-30,30,,\"true\",,2,,50,,10,20,90,35,,,\"sc/effects.sc\",\"Death_blue_smoke\",\"true\",,23,30,,3500,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_lava\",15,200,200,,20,900,1000,,360,,\"true\",1,1,40,90,,30,800,900,-3000,3,15,\"sc/effects.sc\",\"particle_coal9\",\"true\",,120,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_gradients\",1,190,190,1,1,4000,5000,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"darken_gradient\",,,135,135,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_base\",32,100,100,1,1,1800,2200,,360,\"true\",\"true\",1,8,,,,,,50,-3500,,,\"sc/effects.sc\",\"particle_coal1\",,\"true\",,,,300,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_shadow\",12,100,100,1,1,2700,2800,,360,,\"true\",4,7,,,,,,,,,,\"sc/effects.sc\",\"explosion_cloud_1\",\"true\",\"true\",150,150,,5000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_fire\",4,300,300,1,1,1200,1200,,360,,,1,7,1,10,,,90,100,,,,\"sc/effects.sc\",\"FireParticle1\",,,200,50,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_continousFire\",8,1500,1500,150,100,700,800,,360,,\"true\",1,3,,10,,,,,300,,,\"sc/effects.sc\",\"MolotovTrailParticle\",\"true\",,200,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"explosion_glow\",8,100,100,1,1,500,2500,,360,,\"true\",1,5,,,,25,,,100,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",\"true\",,150,50,,2000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TargetDummy_planks\",13,130,130,2,5,500,1200,,360,,\"true\",1,3,10,100,,8,100,300,-500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,70,10,,,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TargetDummy_planks2\",15,130,130,2,5,2500,3000,,360,,\"true\",1,3,10,50,,4,400,700,-1200,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,70,40,,,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TargetDummy_smoke\",10,150,150,1,3,1100,2500,,360,\"true\",,,2,5,15,,59,50,90,-20,,1000,\"sc/effects.sc\",\"smoke_cloud_1\",\"true\",\"true\",140,1,,400,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_sparkle_still1\",12,180,180,1,3,300,2500,-20,20,\"true\",,,2,,35,,25,,50,-150,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",80,10,,2000,25,\"Death_sparkle2_purple\",,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_blue_smoke_shadow\",6,190,190,1,3,1200,2800,-30,30,,\"true\",,2,,50,,,-20,-90,-35,,,\"sc/effects.sc\",\"Death_blue_smoke\",\"true\",,25,40,,2500,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_sparkle2_purple\",12,180,180,1,3,600,2900,-20,20,\"true\",,,2,,35,,25,,50,-150,,,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",80,10,,1600,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_enemy_puff\",12,190,190,1,3,1200,2800,-30,30,,\"true\",,2,,50,,10,20,90,35,,,\"sc/effects.sc\",\"explosion_purple_glow1\",\"true\",,23,30,,2000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ArcherTower_particle1\",1,180,180,1,3,1000,1200,,360,\"true\",,,,10,50,,,450,600,-2000,,,\"sc/effects.sc\",\"SparkleBlue\",,,100,80,,200,55,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_glow_top\",1,,,,,1200,1400,,,,,,,,,,,40,40,30,,,\"sc/effects.sc\",\"Deco_small_glow2\",,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_smoke1\",10,,,,,500,1500,,360,\"true\",,,,5,25,,,80,120,-60,,250,\"sc/effects.sc\",\"smoke_cloud_1\",\"true\",\"true\",75,40,,1800,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_firePareticles\",9,150,150,1,50,300,400,-40,40,\"true\",,,,100,200,,,10,200,-200,,,\"sc/effects.sc\",\"fireplace_particle\",\"true\",,180,10,,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_glow\",1,,,,,400,600,,,\"true\",,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_small_glow\",\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_smoke_shadow\",5,,,,,1100,2500,,360,\"true\",,,,-5,-15,,,-50,-90,-20,,1000,\"sc/effects.sc\",\"smoke_cloud_1\",\"true\",\"true\",80,30,,2000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_hit_rock_emiter\",4,200,400,,5,400,800,,360,,\"true\",,,30,75,,35,50,120,-1000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,10,,,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cannon_hit_smokePuff\",7,2,2,,,300,700,10,50,,\"true\",,,30,40,,,200,250,-1000,,,\"sc/effects.sc\",\"SteamSmall\",\"true\",\"true\",100,125,,250,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tower_fire_particles2_enemy\",3,50,50,1,10,500,800,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,2000,,\"Tower_fire_particles2_enemy\",,,,,,,,,,,,,,,,,,,,,,,,\n\"FireballEmitterTrail\",50,800,800,5,10,600,800,-360,360,,\"true\",-2,2,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail1\",,,55,80,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"fireball_trial_spark\",16,800,800,5,10,600,800,,360,,\"true\",-4,4,15,30,,,100,200,35,,,\"sc/effects.sc\",\"Sparkle\",,,55,80,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"fireball_trail_glow\",50,800,800,5,10,600,800,-360,360,,\"true\",-2,2,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail3\",,,55,80,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"catapult_hit_smoke\",12,1,1,,,1000,1200,,360,,,,,100,120,,3,10,10,25,,,\"sc/effects.sc\",\"catapult_hit_cloud_1\",,,,,,800,350,,,,,,,,,,,,,,,,,,,,,,,,,\n\"catapult_smokePuff\",10,100,100,,,600,1000,45,90,,\"true\",-2,2,10,80,,42,50,120,50,,,\"sc/effects.sc\",\"catapult_hit_cloud_1\",,,30,50,,600,80,,,,,,,,,,,,,,,,,,,,,,,,,\n\"catapult_grass_emitter\",5,400,400,,5,800,1200,,360,,\"true\",,,60,150,,20,100,250,-2000,,,\"sc/effects.sc\",\"grass_particle_1\",,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"grass_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"catapult_rock_Emitter\",13,400,400,,5,800,1200,,360,,\"true\",,,50,150,,20,100,250,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,100,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"catapult_hit_shadow\",8,1,1,,,1000,1200,,360,,,,,20,20,,,,,-350,,,\"sc/effects.sc\",\"catapult_hit_cloud_1\",,,100,105,,1000,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"towerExplode_Smoke\",10,1,1,,,800,1000,,360,,,,,70,75,,8,,,50,,,\"sc/effects.sc\",\"tower_destr_cloud_1\",,,,,,500,125,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerExplode_sparks\",20,200,200,,10,250,350,,360,,\"true\",,,200,250,,,,,,,,\"sc/effects.sc\",\"Sparkle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerExplode_smokePuff\",11,,,,,800,1000,,360,,\"true\",,,,20,,40,80,100,25,,,\"sc/effects.sc\",\"tower_destr_cloud_1\",,,,,,900,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerExplode_rockEmitter\",23,350,350,,10,600,2000,,360,\"true\",\"true\",2,4,,60,,,300,1000,-3500,,,\"sc/effects.sc\",\"Rock1Particle\",\"true\",,50,80,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Goblin_hut_woodExplosion\",48,150,150,5,10,1000,1600,,360,\"true\",\"true\",,2,50,80,,30,300,700,-1500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,100,80,,200,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_deploy_dustPuff1\",12,1,1,,,800,1300,,360,,\"true\",-1,,40,70,,,20,,,,,\"sc/effects.sc\",\"d1\",\"true\",,150,160,,1650,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_deploy_rocks_hitGround\",13,400,400,,5,1300,2000,,360,,\"true\",3,3,30,50,,20,150,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,600,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_depoy_dustShadow\",3,1,1,,,900,1300,,360,,\"true\",-1,,-40,-70,,,-20,,,,,\"sc/effects.sc\",\"d3\",\"true\",,230,260,,1000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_deploy_dustPuff2\",55,1,1,,,500,600,,360,,\"true\",3,4,40,50,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,80,80,,500,50,,,,,,,\"true\",,,,43,95,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_die_particle_sword\",1,1,1,,1,24000,25000,,360,,\"true\",,,,50,,,,,,,,\"sc/effects.sc\",\"particle_sword\",,,105,100,,400,60,,,,,,,,,,,,,,,,,,,,,,,,,\n\"knight_speps_dust1\",3,1,1,,,600,1100,,360,,\"true\",-1,,,,,,20,,,,,\"sc/effects.sc\",\"d2\",\"true\",,60,80,,800,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_elixir_burst1\",21,80,80,1,3,300,1000,,360,,,,,20,70,,39,,600,-1700,,100,\"sc/effects.sc\",\"death_particle_elixir1\",,,100,40,,200,55,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_particle_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_elixir_ground1\",3,80,80,1,3,3000,4000,,360,\"true\",,,3,10,20,,,,,-1700,,,\"sc/effects.sc\",\"death_ground_elixir1\",,,100,40,,2000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tower_destroyed_ground\",1,,,,,800000,800000,,,,,,,,,,,,,,,,\"sc/building_tower.sc\",\"Tower_destroyed_ground1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Big_rock_particle1\",1,180,180,1,3,1900,1900,,360,,\"true\",,,70,70,,,,,15,,,\"sc/effects.sc\",\"big_rock_particle1\",,,80,80,,500,55,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"big_rock_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_deploy_dustPuff\",60,1,1,,,700,750,,360,,\"true\",4,4,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,90,120,,600,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_deploy_rocks_hitGround\",13,400,400,,5,1300,2000,,360,,\"true\",3,6,60,80,,20,150,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,600,40,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_deploy_dustPuff_shadow\",60,1,1,,,700,750,,360,,\"true\",4,4,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,90,120,,700,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_death_elixir_burst1\",23,80,80,1,3,300,1000,,360,,,,,20,70,,39,,600,-1700,,100,\"sc/effects.sc\",\"death_particle_elixir1\",,,120,60,,200,55,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_particle_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_death_puff1\",15,190,190,1,3,1200,2800,-30,30,,\"true\",2,4,,50,,10,20,90,35,,,\"sc/effects.sc\",\"explosion_purple_glow1\",\"true\",,40,30,,2000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_death_puff1_shadow\",6,190,190,1,3,1200,2800,-30,30,,\"true\",,2,,50,,,-20,-90,-35,,,\"sc/effects.sc\",\"Death_blue_smoke\",\"true\",,25,40,,2500,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_death_elixir_ground1\",4,80,80,1,3,3000,4000,,360,\"true\",,,3,10,20,,,,,-1700,,,\"sc/effects.sc\",\"death_ground_elixir1\",,,180,40,,2000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_hit_sparks\",10,100,100,,10,100,100,1,360,\"true\",\"true\",,2,300,350,,50,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,110,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_hit_puff1\",7,,,,,350,400,,360,\"true\",,-2,2,25,20,,50,200,250,,,600,\"sc/effects.sc\",\"d5\",\"true\",,40,100,,600,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"giant_hitpuff2\",24,,,,,400,400,-100,360,\"true\",\"true\",,,100,100,,49,,,,,,\"sc/effects.sc\",\"d3\",,,100,50,,500,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_rage_smoke1\",16,190,190,1,3,2200,5800,,360,,\"true\",5,10,,50,,21,,,,,,\"sc/effects.sc\",\"explosion_purple_glow1\",\"true\",,50,100,,9000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_rage_smoke2\",16,,50,,,1200,2800,,360,,\"true\",2,20,,50,,10,,50,1,,,\"sc/effects.sc\",\"rage_glowPurple\",,,200,50,,1000,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_rage_glowFast\",1,,200,,5,200,200,,360,\"true\",,,,,,,22,,,,,,\"sc/effects.sc\",\"rage_effect_glow1\",,,50,130,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_rage_sparckle1\",32,180,180,1,3,300,800,,360,\"true\",,,18,40,100,,44,80,230,-600,,,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",90,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_rage_sparkle1_loop\",7,180,180,1,3,300,1800,,360,\"true\",,,18,40,100,,44,80,230,-600,,,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",90,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_hit_sparks\",10,150,,,50,150,250,,360,,,2,2,100,200,,40,,,,,,\"sc/effects.sc\",\"sharp_spark\",\"true\",\"true\",5,20,,100,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_stage2_sparks\",28,3000,,100,500,600,800,220,310,,\"true\",,,50,70,,,,,500,,,\"sc/effects.sc\",\"inferno_spark\",,,80,130,,,20,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_stage3_sparks\",27,3000,,50,200,600,900,220,310,,\"true\",1,2,80,110,,,,,700,,,\"sc/effects.sc\",\"inferno_spark\",,,90,130,,,30,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_stage2_peak_flame\",27,3000,,50,200,800,1200,220,310,,\"true\",1,2,10,15,,,,,100,,,\"sc/effects.sc\",\"inferno_spark_red\",,,300,450,,,70,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_stage3_peak_flame\",32,3000,,50,200,950,1350,220,310,,\"true\",1,2,10,15,,,,,130,,,\"sc/effects.sc\",\"inferno_spark\",,,400,550,,,70,,,,,,,,,,,,,,,,,,,,,,,,,\n\"touch_sparkle1\",1,200,200,1,3,400,600,,360,,,,,,,,,,,1,50,100,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",60,10,,200,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"touch_sparkle2\",1,200,200,1,3,400,600,,360,,,,,,,,,,,1,50,100,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",60,10,,200,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Small_rock_particle1\",8,180,180,1,3,1900,1900,,360,,\"true\",1,2,25,35,,,,,10,,,\"sc/effects.sc\",\"big_rock_particle1\",,,40,40,,500,10,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"big_rock_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BombTower_hit_flame\",50,350,350,5,10,600,800,-360,360,,\"true\",-2,2,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail1\",,,70,50,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Rocket_Emitter_Smoketrail\",55,800,800,5,10,1800,2000,-360,360,,\"true\",-2,2,,,,,,,35,,,\"sc/effects.sc\",\"fireball_trail1\",,,120,40,,500,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Rocket_Emitter_Sparks\",13,800,800,,10,600,800,,360,,\"true\",-4,4,15,300,,,,50,35,,,\"sc/effects.sc\",\"Sparkle\",,,55,80,,500,20,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Rocket_Emitter_Glow\",50,800,800,5,10,800,800,-360,360,,\"true\",-3,3,,,,,,,35,,,\"sc/effects.sc\",\"fireball_trail3\",,,150,20,,,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"dragon_hit_sparks\",15,190,190,1,3,800,900,-65,65,\"true\",,1,3,40,60,,41,300,500,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,60,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"DragonEmitterTrail\",31,1200,2000,5,10,700,900,-360,360,,\"true\",,,1,5,,,25,150,35,,,\"sc/effects.sc\",\"fireball_trail1\",,,35,60,,600,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"dragon_trail_glow\",27,800,800,5,10,600,800,-360,360,,\"true\",,,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail3\",,,55,80,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"dragon_fire_hit\",11,1,1,,,100,150,-90,90,,\"true\",-1,3,2,2,,,,,25,,,\"sc/effects.sc\",\"filter_damage_wobble_down\",\"true\",,120,150,,200,125,,,,,,,,,,,,,,,,,,,,,,,,,\n\"dragon_hit_smoke\",10,1,1,,,600,650,-45,45,,\"true\",3,3,50,110,,,150,200,25,,,\"sc/effects.sc\",\"fireball_trail2\",\"true\",,20,120,,500,250,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_epic_stars2\",22,300,300,2,9,300,800,-180,,\"true\",,,10,,400,,44,300,900,-1000,,,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",150,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Card_upgraded_effect1\",70,1,1,,1,900,1800,,360,\"true\",,,20,,100,,,,,200,,,\"sc/effects.sc\",\"Green_sparkle1\",,\"true\",150,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Card_upgrade_effect2\",22,3000,3000,10,100,900,1800,,360,\"true\",,-20,20,,100,,,,,200,,,\"sc/effects.sc\",\"Green_sparkle1\",,\"true\",150,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Green_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Card_upgrade_effect3\",15,1,1,,,2000,3800,,360,\"true\",,-20,20,,,,,50,100,,,,\"sc/effects.sc\",\"Haze1\",,\"true\",150,10,,4000,30,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_common_effect_smoke\",11,190,190,1,3,2200,5800,,360,,\"true\",3,8,,50,,41,,50,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,40,90,,8000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_epic_loop1\",8,300,300,10,50,300,1500,-180,,\"true\",,-40,50,,50,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle1\",,\"true\",150,10,,500,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tesla_hit_spark\",5,200,300,20,20,500,600,,360,,\"true\",1,1,50,100,,40,60,100,-500,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",\"true\",\"true\",20,10,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tesla_smoke_hit\",4,50,100,1,5,500,700,-90,90,,\"true\",,,30,50,,,80,120,,,,\"sc/effects.sc\",\"d2\",\"true\",,60,80,,1200,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tesla_spot_hit\",1,,100,,,500,700,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,150,80,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tesla_electric_hit\",2,450,450,50,75,400,400,-360,360,,\"true\",1,2,25,30,,23,,,,,,\"sc/effects.sc\",\"electricity\",\"true\",,60,50,,,200,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chr_wiz_hit_sparks\",9,190,190,1,3,800,900,,360,,\"true\",1,1,60,65,,20,200,300,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,50,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chr_wiz_hit_fire\",16,400,400,2,6,500,600,,360,,\"true\",-3,4,,5,,,50,200,1250,1000,1000,\"sc/effects.sc\",\"FireParticle1\",\"true\",,90,40,,400,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chr_wiz_hit_smoke\",34,100,100,1,1,800,1200,,360,,\"true\",1,2,10,25,,,20,50,150,,,\"sc/effects.sc\",\"explosion_cloud_1\",\"true\",\"true\",60,80,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"KingTower_destroyed_ground\",1,,,,,800000,800000,,,,,,,,,,,,,,,,\"sc/building_tower.sc\",\"Tower_destroyed_ground2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_ligntning_smoke1\",16,190,190,1,3,1000,1500,,360,,\"true\",2,3,30,40,,42,25,25,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,35,55,,800,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_Flash\",1,,100,,5,100,150,,360,,,,,,,,,,,,,,\"sc/effects.sc\",\"ExplosionGroundGlowBlue\",,,80,80,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_bolt\",1,1,1,,,300,300,,,,,1,1,,,,11,,,,,,\"sc/effects.sc\",\"lightning_bolt\",,,100,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lightning_bolt2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_hitSpot\",1,,100,,,1500,1500,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,200,200,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_hitSpot2\",1,,100,,,1500,1500,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_small_glow2\",,,100,100,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_sparks\",10,300,300,10,10,400,600,,360,,\"true\",1,1,80,150,,35,150,150,,,,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,80,,250,20,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_smoke1\",8,190,190,1,3,1000,1200,,360,,\"true\",1,2,10,25,,42,10,20,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,25,35,,1000,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_hitSpot\",1,,100,,,1500,2000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,200,200,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_hitSpot2\",1,,100,,,1000,1000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_small_glow2\",,,80,40,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_sparks\",6,300,300,10,10,400,600,,360,,\"true\",1,1,50,150,,35,50,100,-1000,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",\"true\",,20,30,,400,20,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_Flash\",1,,100,,5,100,150,,360,,,,,,,,,,,,,,\"sc/effects.sc\",\"ExplosionGroundGlowBlue\",,,40,40,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_zap_bolt\",1,1,1,,,200,250,,,,,1,1,,,,11,,,,,,\"sc/effects.sc\",\"zap_bolt1\",,,100,100,,250,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"zap_bolt2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaBomb_destroyed_ground\",1,,,,,5000,5000,,,,,,,,,,,,,,,,\"sc/building_mega_bomb.sc\",\"bomb_destruction_state\",,,100,100,,1000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaBomb_explode_smoke\",10,150,200,1,3,1000,2000,,360,\"true\",,,2,10,25,,33,90,100,,,50,\"sc/effects.sc\",\"smoke_cloud_1\",\"true\",\"true\",200,50,,1200,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaBomb_explode_debris\",14,350,350,,10,600,2000,,360,\"true\",\"true\",2,4,50,60,,,300,1000,-3500,,,\"sc/effects.sc\",\"Rock1Particle\",\"true\",,80,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaBomb_explode_debris2\",5,350,350,,10,600,2000,,360,\"true\",\"true\",2,4,50,60,,,300,600,-1000,,,\"sc/effects.sc\",\"towerExplode_wall2\",\"true\",,80,80,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaBomb_explosion_glow\",8,100,100,1,1,450,800,,360,,\"true\",1,5,,,,11,,,50,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",\"true\",,120,100,,1000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MagaBomb_FireRing\",16,120,250,,,200,550,100,360,,\"true\",-1,2,60,120,,,10,150,,60,200,\"sc/effects.sc\",\"FireParticle1\",,,110,50,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_Rock_debris\",10,400,400,,5,800,1200,,360,,\"true\",,,80,100,,9,200,300,-1000,,,\"sc/effects.sc\",\"Rock1Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_Rock_debris2\",5,400,400,,5,800,1200,,360,,\"true\",,,80,100,,9,200,300,-2500,,,\"sc/effects.sc\",\"towerExplode_wall2\",\"true\",,80,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Spell_lightning_electric\",3,800,1200,10,50,150,200,-180,,,\"true\",-6,6,10,30,,,,,,,,\"sc/effects.sc\",\"electricity\",\"true\",\"true\",60,70,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_puff\",11,190,190,1,3,2200,2500,,360,,\"true\",1,5,,30,,,50,150,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,40,90,,6000,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_goldDust\",8,800,800,5,10,600,800,,360,,\"true\",-8,8,15,30,,,100,200,35,,,\"sc/effects.sc\",\"golden_dust\",,,35,10,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"golden_dust2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_magicDust\",16,800,800,5,10,600,800,,360,,\"true\",-8,8,15,30,,,100,200,35,,,\"sc/effects.sc\",\"inferno_hit\",,,50,10,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_goldDust2\",8,800,800,5,10,600,800,,360,,\"true\",-8,8,15,30,,,100,200,35,,,\"sc/effects.sc\",\"golden_dust\",,,15,10,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"golden_dust2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_metalHit\",16,250,250,1,10,1000,1200,,360,\"true\",\"true\",,2,50,80,,,100,150,-1000,,,\"sc/effects.sc\",\"d4\",\"true\",,80,100,,2000,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_goldFlash\",2,,,,,400,500,,,\"true\",,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_small_glow\",\"true\",,100,200,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_magicFlash\",1,,,,,400,500,,360,\"true\",,,,,,,,,,,,,\"sc/effects.sc\",\"rage_effect_glow1\",,,50,80,,300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_magicBurst\",15,1,1,,1,900,1800,,360,\"true\",,,10,,100,,,,,200,,,\"sc/effects.sc\",\"inferno_hit\",,\"true\",100,10,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_goldBurst\",15,1,1,,1,900,1800,,360,\"true\",,,10,,100,,,,,200,,,\"sc/effects.sc\",\"golden_dust2\",,\"true\",50,10,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"golden_dust\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_small_glow2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_get_rare\",25,200,200,,10,400,550,,360,,\"true\",1,5,200,250,,40,150,250,-50,,,\"sc/effects.sc\",\"Sparkle\",,,200,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"balloon_die_puff\",11,,,,,800,1000,,360,,\"true\",2,3,15,20,,97,100,120,25,,,\"sc/effects.sc\",\"tower_destr_cloud_1\",,,,,,900,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ballon_die_smoke\",17,100,100,1,1,1000,1500,,360,,\"true\",,3,10,35,,157,50,60,50,,,\"sc/effects.sc\",\"smoke_cloud_1\",\"true\",\"true\",60,125,,3000,25,,,,,,,,,,,,,,,,,,,,,,,,,\n\"FlameEmitterSlow\",8,,,170,200,1600,1800,,,,,,,,,,50,50,60,,,,\"sc/effects.sc\",\"FireParticle1\",,,100,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,100,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,100,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"xp_levelup_flash\",8,,,,,500,800,,360,\"true\",,,,100,,,,,,,,,\"sc/effects.sc\",\"Death_blue_smoke\",,,50,300,,600,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"xp_levelup_burst\",23,1,1,,1,900,1800,,360,\"true\",,,10,100,250,,,,,100,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,\"true\",100,10,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"xp_levelup_sparks\",16,800,800,5,10,600,800,,360,,\"true\",-8,8,50,80,,,100,200,35,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,50,10,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Inferno_loop1\",8,410,800,1,10,300,700,,360,\"true\",\"true\",2,2,,5,,,,100,60,,,\"sc/effects.sc\",\"FireParticle1_small\",,\"true\",150,50,,300,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireplace_particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LegendaryArena_torch_fire1\",11,1,1,1,10,200,500,,360,,\"true\",-1,1,1,1,,44,10,30,200,,,\"sc/effects.sc\",\"FireParticle1\",\"true\",\"true\",50,,,900,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Get_xp_sparkle\",1,800,800,1,3,500,800,-30,80,\"true\",,,3,10,30,,,,50,100,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",80,10,,600,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LegendaryArena_fx1\",7,1,1,1,10,200,400,,360,,\"true\",,4,1,1,,,10,30,400,,,\"sc/effects.sc\",\"FireParticle1_blue\",\"true\",,130,50,,3900,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_blue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_hit_ground\",3,80,80,1,3,3000,4000,,360,\"true\",,-1,3,10,20,,,,,-1700,,,\"sc/effects.sc\",\"ice_wiz_hit_ground1\",,,120,40,,2000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_wiz_hit_ground2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_hit_burst\",11,70,70,,5,200,500,,360,\"true\",\"true\",2,2,,150,,26,100,500,-1200,,,\"sc/effects.sc\",\"ice_particle1\",\"true\",,70,10,,100,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_wiz_snow_particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_hit_puff\",12,1,1,,,800,1300,,360,,\"true\",-1,,40,70,,59,20,,,,,\"sc/effects.sc\",\"d1\",\"true\",,150,160,,1650,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_hit_flakes\",15,100,600,5,5,600,1500,,360,\"true\",\"true\",-6,6,,20,,100,,150,-100,,,\"sc/effects.sc\",\"snowflake_anim\",\"true\",\"true\",40,10,,250,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_legendary_loop1\",20,,,20,50,900,2000,-180,360,\"true\",\"true\",-15,10,,80,,,,,,,,\"sc/effects.sc\",\"FireParticle1_rainbow\",\"true\",\"true\",200,400,,1000,30,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_puff_giant\",20,190,190,1,3,2200,2500,,360,,\"true\",3,8,30,35,,,10,150,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,40,90,,6000,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_giantBurst\",15,1,1,,1,900,1800,,360,\"true\",\"true\",,10,,100,,,,,200,,,\"sc/effects.sc\",\"get_legend_spark1\",\"true\",\"true\",30,,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_giantBurst2\",22,190,190,1,3,800,900,,360,,\"true\",1,3,70,80,,73,500,900,-2000,,20,\"sc/effects.sc\",\"Grassland_1x1_rock1\",\"true\",,35,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"get_legend_spark1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_puff_mega\",30,190,190,1,3,2200,2500,,360,,\"true\",3,8,100,150,,,10,80,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,40,90,,6000,250,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_megaFlash\",1,,,,,250,250,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",,,,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_megaDust\",20,800,800,5,10,600,800,,360,,\"true\",5,8,25,100,,,200,300,35,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,100,,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_megaBurst\",35,1,1,,1,900,1800,,360,\"true\",\"true\",,10,50,100,,,,,200,,,\"sc/effects.sc\",\"inferno_spark\",\"true\",\"true\",100,,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wizard_deploy_flakes\",15,,,,,600,1000,,360,\"true\",\"true\",-8,8,,70,,,200,600,-500,,,\"sc/effects.sc\",\"snowflake_anim\",\"true\",\"true\",40,10,,250,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Poison_skull1\",15,3000,3000,140,300,1500,2300,,360,,\"true\",5,15,,,,,,20,1,,,\"sc/effects.sc\",\"poison_skull\",,\"true\",1,150,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Poison_big_skull\",9,,,10,50,1500,2300,,360,\"true\",\"true\",-8,8,1,10,,,,,-700,,,\"sc/effects.sc\",\"poison_skull\",,,50,280,,4500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_emitter_trail\",50,1200,1200,10,10,600,800,-360,360,,\"true\",-1,1,1,2,,,25,50,20,,,\"sc/effects.sc\",\"FireParticle1_blue\",\"true\",,25,40,,700,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"snowflake_anim\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_wiz_trail_shards\",45,1200,1200,10,10,300,500,,360,,\"true\",-2,2,50,60,,,100,200,-2500,,,\"sc/effects.sc\",\"ice_particle1\",\"true\",,25,40,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Princess_arrow_hit_ground\",1,1,200,,,1500,1900,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_1\",,\"true\",,,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Arrow_enemy_ground_anim_6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Princess_arrow_hit_ground_loop\",30,1200,1400,10,80,200,600,,,,\"true\",,,,,,,30,60,200,,,\"sc/effects.sc\",\"FireParticle1_small\",,\"true\",90,40,,300,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Princess_arrow_emitter_small_zeroZ\",10,1,1,1,50,200,500,,,,,,,,,,,90,100,,,,\"sc/effects.sc\",\"FireParticle1_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Zap_hit_area\",16,100,100,,5,200,600,-360,360,\"true\",\"true\",-5,5,,30,,11,,50,,,,\"sc/effects.sc\",\"electricity\",\"true\",\"true\",190,,,200,200,,,,,,,,,,,,,,,,,,,,,,,,,\n\"guard_shield_down\",1,180,180,1,3,8000,8000,,360,\"true\",\"true\",-2,2,45,55,,,,,,,,\"sc/effects.sc\",\"shield_red_particle_01\",,,80,70,,250,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"shield_red_particle_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"guard_shield_down_sparks\",20,150,150,,10,200,350,90,250,\"true\",\"true\",3,3,350,400,,46,,,,100,300,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,100,100,,,30,,,,,,,,,,,,,,,,,,,,,,,,,\n\"guard_die_particle_stick\",1,1,1,,1,7000,7000,,360,\"true\",\"true\",-2,2,50,70,,,,,,,,\"sc/effects.sc\",\"stick_red_particle_01\",,,75,80,,400,60,,,,,,,,,,,,,,,,,,,,,,,,,\n\"golem_firefly_trail\",1,1200,1200,100,100,5500,7000,,360,,\"true\",-2,2,,,,46,,,,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle1\",\"true\",\"true\",30,60,,5000,,\"golem_firefly_trail_red\",,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"golem_firefly_trail_red\",1,1200,1200,100,100,5500,7000,,360,,\"true\",-2,2,,,,46,,,,,,\"sc/effects.sc\",\"Golem_firefly_red_particle1\",\"true\",\"true\",35,60,,5000,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Golem_firefly_red_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Golem_firefly_red_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_deploy_predeploy_rocks\",26,10000,10000,,50,700,2500,,360,,\"true\",,,10,50,,,10,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle_b\",\"true\",,70,50,,400,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock1Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_deploy_rocks1\",26,,,,,1300,2000,,360,,\"true\",1,3,30,50,,20,150,1000,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,600,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_warrior_lose_shield\",1,180,180,1,3,2800,3200,,360,\"true\",\"true\",2,2,30,30,,,,,,,,\"sc/effects.sc\",\"shield_red_particle_01\",,\"true\",65,55,,200,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"shield_red_particle_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"win_battle_confetti_blue1\",70,,,,,10000,15000,,360,,\"true\",2,2,100,200,,,100,800,-150,,,\"sc/effects.sc\",\"confetti_blue1\",\"true\",\"true\",45,60,,500,80,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"win_battle_confetti_blue2\",15,,,,,10000,15000,,360,,\"true\",2,2,100,200,,,100,800,-150,,,\"sc/effects.sc\",\"confetti_blue1\",\"true\",\"true\",45,60,,500,80,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"win_battle_confetti_red1\",70,,,,,10000,15000,,360,,\"true\",2,2,100,200,,,100,800,-150,,,\"sc/effects.sc\",\"confetti_red1\",\"true\",\"true\",45,60,,500,80,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"win_battle_confetti_red2\",15,,,,,10000,15000,,360,,\"true\",2,2,100,200,,,100,800,-150,,,\"sc/effects.sc\",\"confetti_red1\",\"true\",\"true\",45,60,,500,80,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"firespirit_cont_sparks1\",2,800,2000,5,30,800,1000,,360,\"true\",\"true\",,2,,20,,24,,,200,,,\"sc/effects.sc\",\"Sparkle\",\"true\",,55,80,,,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"firespirit_cont_fire1\",4,1200,1400,10,80,300,400,,360,,\"true\",,,,10,,28,30,60,200,,,\"sc/effects.sc\",\"FireParticle1_small\",\"true\",\"true\",160,,,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_deploy_rocks1_shadow\",21,,,,,700,1200,90,150,,\"true\",,4,30,200,,20,100,200,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,6000,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"firespirit_hit_embers\",12,190,190,1,3,600,1400,,360,\"true\",,,2,10,40,,41,300,500,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,80,10,,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_elixir_burst1_small\",7,80,80,1,3,300,1000,,360,,,,,20,70,,39,,300,-1700,,100,\"sc/effects.sc\",\"death_particle_elixir1\",,,100,40,,200,55,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_particle_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_enemy_puff_small\",2,190,190,1,3,700,2000,-30,30,,\"true\",,2,,50,,10,20,90,35,,,\"sc/effects.sc\",\"explosion_purple_glow1\",\"true\",,23,30,,2000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Death_elixir_ground1_small\",1,80,80,1,3,3000,4000,,360,\"true\",,,,10,20,,,,,-1700,,,\"sc/effects.sc\",\"death_ground_elixir1\",,,100,40,,2000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Firespirit_building_spawn_burst1_small\",7,80,80,1,3,300,1000,,360,,,,,20,70,,50,,300,-1700,,100,\"sc/effects.sc\",\"death_particle_elixir1\",,,100,40,,200,55,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_particle_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Firespirit_building_spawn_puff_small\",2,190,190,1,3,700,2000,-30,30,,\"true\",,2,,50,,50,20,90,35,,,\"sc/effects.sc\",\"explosion_purple_glow1\",\"true\",,23,30,,2000,40,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaHound_EmitterTrail\",15,12000,12000,5,7,400,800,-360,360,\"true\",\"true\",-1,1,10,20,,16,,,-1000,,,\"sc/effects.sc\",\"lava_drop1\",,,40,25,,400,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lava_hound_hit_sparks3\",6,190,190,1,3,1200,1500,,-360,,,-3,3,80,100,,,80,125,-1800,,,\"sc/effects.sc\",\"lava_drop1\",,,20,20,,,150,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lava_hound_hit_sparks0\",7,190,190,1,3,800,900,,-360,\"true\",,1,3,40,60,,,300,500,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,60,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_deploy_dig\",25,10000,10000,25,50,1000,1500,,360,,\"true\",,,10,30,,,,,-2000,,,\"sc/effects.sc\",\"miner_trail\",\"true\",,90,90,,,500,,,,10,\"true\",,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"miner_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"miner_trail3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lavaHound_attackParticles\",9,150,150,1,50,500,800,-50,40,\"true\",,,,80,150,,38,25,50,-1000,,,\"sc/effects.sc\",\"lava_drop1\",\"true\",,18,5,,500,150,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_candle_fire1\",3,1200,1400,10,80,300,400,,360,,\"true\",,,,10,,72,30,60,200,,,\"sc/effects.sc\",\"FireParticle1_small\",\"true\",\"true\",80,,,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3_small\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"miner_candle_sparks1\",1,800,2000,5,30,800,1000,,360,\"true\",\"true\",,,,20,,72,,,120,,,\"sc/effects.sc\",\"Sparkle\",\"true\",,55,80,,,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cheer_confetti_blue2\",20,,,,,1500,2500,,360,,\"true\",,6,20,100,,70,20,110,-90,,,\"sc/effects.sc\",\"confetti_blue1\",\"true\",\"true\",20,20,,500,80,,,\"true\",30,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cheer_confetti_red2\",20,,,,,1500,2500,,360,,\"true\",,6,60,100,,70,20,110,-90,,,\"sc/effects.sc\",\"confetti_red1\",\"true\",\"true\",20,20,,500,80,,,\"true\",30,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaPups_EmitterTrail\",1,12000,12000,5,7,200,500,-360,360,\"true\",\"true\",-1,1,5,15,,10,,,-1000,,,\"sc/effects.sc\",\"lava_drop1\",,,10,5,,250,100,,,,30,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lavaPups_attackParticles\",5,,,,,500,800,-50,40,\"true\",,,,25,100,,20,30,50,-200,,,\"sc/effects.sc\",\"lava_drop1\",\"true\",,18,5,,500,150,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaPups_EmitterTrail2\",1,12000,12000,5,7,300,400,-360,360,\"true\",\"true\",-1,1,5,15,,10,,,-1000,,,\"sc/effects.sc\",\"lava_drop1\",,,15,5,,250,100,,,,30,,,,,,,,,,,,,,,,,,,,,\n\"lavaPups_hit_drops\",4,190,190,1,3,1200,1500,,-360,,,-1,1,30,50,,,80,125,-1800,,,\"sc/effects.sc\",\"lava_drop1\",,,40,40,,,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lavaPups_hit_drops2\",3,190,190,1,3,1200,1500,,-360,,,-3,3,60,80,,,80,125,-1800,,,\"sc/effects.sc\",\"lava_drop1\",,,20,20,,,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lavaPups_hit_drops3\",6,190,190,1,3,1200,1500,,-360,,,-3,3,80,100,,,80,125,-1800,,,\"sc/effects.sc\",\"lava_drop1\",,,10,10,,,150,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"lava_drop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_cont_sparks1\",2,800,2000,5,30,800,1000,,360,\"true\",\"true\",,2,,20,,50,,,200,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",\"true\",\"true\",20,25,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_cont_fire1\",4,1200,1400,10,80,300,400,,360,,\"true\",1,2,25,35,,50,30,60,-300,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",\"true\",\"true\",25,,,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Miner_travel_particles2\",10,10000,10000,,50,900,2500,,360,,\"true\",,,25,50,,,10,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle_b\",\"true\",,70,50,,400,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock1Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapMachine_smallHit\",19,280,280,,10,350,350,,360,,\"true\",-5,5,,,,,,100,,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",\"true\",,400,,,200,,,,,110,,,,,,,,,,,,,,,,,,,,,\n\"zapMachine_hit_sparks\",9,,100,,2,200,400,,360,,\"true\",-1,5,100,300,,,60,900,-500,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",\"true\",\"true\",70,20,,300,50,,,,105,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_attack_sparks\",4,,,,,200,200,-30,45,\"true\",,-2,2,300,500,,,,,,1000,1000,\"sc/effects.sc\",\"Death_blue_sparkle4\",\"true\",\"true\",40,40,,100,,,,,5,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_hit_effect_particles\",26,100,100,,7,110,150,1,360,,\"true\",,9,300,350,,,600,1000,,1000,1500,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",90,,,,,,,,110,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_spechit_smoke\",30,190,190,1,3,500,900,,360,,\"true\",2,2,35,50,,,,,,,,\"sc/effects.sc\",\"d4\",\"true\",,120,50,,800,25,,,,150,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zap_hit_puff\",25,100,100,,5,300,950,,360,,\"true\",-4,4,60,100,,,10,100,,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle2\",\"true\",\"true\",40,40,,200,25,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_trail_electric\",25,500,500,,25,250,300,-360,360,,\"true\",-2,2,1,10,,,10,15,,,,\"sc/effects.sc\",\"electricity\",\"true\",\"true\",25,40,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_attack_beam\",6,100,100,,,50,100,-10,10,\"true\",,-2,2,500,500,,5,,,,1500,1500,\"sc/effects.sc\",\"electricity\",\"true\",\"true\",80,80,,250,,,,,10,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_attack_electric\",4,,,,,250,300,-10,10,\"true\",,-2,2,50,10,,,,,,,,\"sc/effects.sc\",\"electricity\",\"true\",\"true\",60,80,,200,,,,,5,,,,,,,,,,,,,,,,,,,,,\n\"lava_hound_die_sparks\",23,100,100,,2,150,200,1,360,,\"true\",2,2,200,250,,40,60,100,,50,100,\"sc/effects.sc\",\"Sparkle\",,,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"freeze_snow1\",70,100,200,40,150,2600,4500,,360,\"true\",\"true\",-12,12,,-20,,268,,-50,-100,,,\"sc/effects.sc\",\"snowflake_anim\",\"true\",\"true\",35,25,,250,,,,\"true\",50,,,,,,,,,,,,,,,,,,,,,\n\"freeze_snowPiles1\",14,,,,,6500,7500,,360,,,,9,10,90,,10,,300,-1700,,,\"sc/effects.sc\",\"snowPile1\",,\"true\",120,50,,1000,100,,,\"true\",40,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"snowPile2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"snowPile3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"freeze_snow_scatter1\",26,,,,,5600,6500,,360,,\"true\",,9,20,50,,,100,200,-300,,,\"sc/effects.sc\",\"snowPile3\",,,65,5,,5000,20,,,\"true\",50,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_attack_pushback\",14,100,100,,2,400,600,-145,145,\"true\",,,,25,75,,-1800,,,,,,\"sc/effects.sc\",\"d2\",\"true\",\"true\",145,180,,450,40,,,,5,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_attack_pushback_shadow\",5,100,100,,2,400,600,-145,145,\"true\",,,,15,65,,-1800,,,,,,\"sc/effects.sc\",\"d2\",\"true\",\"true\",145,180,,1500,40,,,,5,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"zapmachine_death_wheels\",1,201,201,50,50,6800,8200,,360,,,-3,2,55,80,,,50,80,-500,,,\"sc/chr_zap_machine.sc\",\"zapMachine_deathWheel\",,\"true\",65,55,,200,90,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_zap_machine.sc\",\"zapMachine_deathWheel2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cheer_confetti_ground_blue\",3,,,,,22000,25000,,360,,\"true\",,2,50,50,,30,30,60,-150,,,\"sc/effects.sc\",\"confetti_ground_blue1\",,,110,110,,500,80,,,\"true\",,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_blue2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"cheer_confetti_ground_red\",3,,,,,22000,25000,,360,,\"true\",,2,50,50,,30,30,60,-150,,,\"sc/effects.sc\",\"confetti_ground_red1\",,,110,110,,500,80,,,\"true\",,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"poison_spell_radius_blue\",1,,,,,9000,9000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_blue\",,\"true\",130,130,,1300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"poison_spell_radius_red\",1,,,,,9000,9000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_red\",,,130,130,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"rage_spell_radius_red\",1,,,,,12000,12000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_red\",,,210,210,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"rage_spell_radius_blue\",1,,,,,12000,12000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_blue\",,,210,210,,1500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"freeze_spell_radius_blue\",1,,,,,5500,5500,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_blue\",,\"true\",100,100,,1300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"freeze_spell_radius_red\",1,,,,,5500,5500,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_radius_red\",,\"true\",100,100,,1300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"lavaHound_embers\",22,190,190,1,3,800,900,,360,,\"true\",,,70,80,,,500,900,-2000,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",,100,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"rage_bottle_glass_break\",8,400,400,,5,800,1200,,360,\"true\",,,,50,100,,,100,250,-2000,,,\"sc/effects.sc\",\"ice_particle2\",\"true\",,50,50,,1500,,,,,50,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"rage_bottle_break_puff\",24,,,,,400,400,-100,360,\"true\",\"true\",,,100,100,,,,,,,,\"sc/effects.sc\",\"d3\",,,100,50,,500,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"rage_bottle_spill\",3,80,80,1,3,3000,4000,,360,\"true\",,,3,10,20,,,,,-1700,,,\"sc/effects.sc\",\"death_ground_elixir1\",,,100,40,,2000,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"death_ground_elixir3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bowler_hit_smoke\",29,1,1,,,800,1000,,360,,,,1,100,130,,3,10,10,25,,,\"sc/effects.sc\",\"bowler_hit_cloud_1\",,,20,30,,1500,350,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"bowler_hit_smoke_shadow\",5,1,1,,,800,1300,,360,,,,1,100,130,,,,,-20,,,\"sc/effects.sc\",\"bowler_hit_cloud_1\",,,30,40,,2000,350,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"bowler_smokePuff\",5,100,100,,,600,1000,,360,\"true\",\"true\",-3,3,35,50,,42,30,80,30,,,\"sc/effects.sc\",\"catapult_hit_cloud_1\",\"true\",,60,50,,1200,80,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"log_emitter_particles\",21,10000,10000,,1,900,2500,,180,,\"true\",4,5,25,80,,,10,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle_b\",\"true\",,40,20,,400,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock1Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_woodExplosion\",33,150,150,5,10,1000,1600,90,270,\"true\",\"true\",2,3,50,80,,30,500,800,-1500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,50,40,,200,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_planks2\",15,130,130,2,5,2500,3000,90,270,,\"true\",2,3,10,50,,4,400,700,-1200,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,80,40,,,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_planks\",17,130,130,2,5,500,1200,90,270,,\"true\",1,2,10,100,,8,100,300,-500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,50,10,,,20,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_die_smoke\",16,1,1,,,800,1000,,360,,,,,50,75,,14,,,50,,,\"sc/effects.sc\",\"tower_destr_cloud_1\",,,100,40,,1200,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_die_smoke2\",57,1,1,,,800,1300,90,270,,\"true\",1,2,50,70,,,150,,,,,\"sc/effects.sc\",\"d1\",\"true\",,90,150,,1650,200,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bowler_emitter_trail\",14,1200,1200,10,10,800,800,-360,360,,\"true\",2,2,35,75,,,,,,,,\"sc/effects.sc\",\"Rock1Particle\",\"true\",,40,40,,200,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock1Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bowler_emitter_smoke\",25,1200,1200,25,25,600,800,-360,360,,\"true\",,,50,80,,5,10,15,,,,\"sc/effects.sc\",\"catapult_hit_cloud_1\",\"true\",,60,80,,2000,200,,,,,,,,,,,,,,,,,,,,,,,,,\n\"icespirit_cont_sparks1\",2,800,2000,5,30,800,1000,,360,\"true\",\"true\",,2,,20,,24,,,200,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",\"true\",,15,30,,300,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"icespirit_cont_snowTrail\",1,2000,2000,100,100,2500,3000,,360,,,-2,2,,,,7,,,-200,,,\"sc/effects.sc\",\"ice_wiz_hit_ground1\",,,50,50,,300,,,,,25,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_wiz_hit_ground2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_wiz_snow_particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bowler_projectile_rocks\",10,400,400,,5,1000,1200,,360,,\"true\",,,50,120,,20,,,-200,,,\"sc/effects.sc\",\"towerExplode_wall1\",\"true\",,40,40,,300,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Grassland_1x1_rock1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_water_sparkle_01\",1,200,300,1000,10000,300,1000,-180,,\"true\",,1,4,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",40,20,,800,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_cauldron_fire_01\",8,,,170,200,1600,1800,,,,,,,,,,34,30,50,,,,\"sc/effects.sc\",\"FireParticle1\",,,80,40,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,100,60,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,100,60,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n\"ice_cauldron_glow_01\",8,100,100,1,1,500,2500,,360,,\"true\",1,3,,,,25,,,,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",\"true\",,100,50,,2000,,,,,,,5,,,,,,,,,,,,,,,,,,,\n\"ice_cauldron_glow_02\",8,100,100,1,1,500,2500,,360,,\"true\",1,3,,,,25,,,,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",\"true\",,50,10,,2000,,,,,,,5,,,,,,,,,,,,,,,,,,,\n\"ice_cauldron_fire_02\",8,,,170,200,1600,1800,,,,,,,,,,21,30,50,,,,\"sc/effects.sc\",\"FireParticle1\",,,40,10,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle2\",,,100,60,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"FireParticle3\",,,100,60,,,,,,,,,5,,,,,,,,,,,,,,,,,,,\n\"ice_water_ripple_01\",1,500,1500,1,10000,1000,2000,-180,-180,\"true\",,,,10,20,,,1,1,,,,\"sc/level_ice_arena.sc\",\"ice_vfx_ripple_01\",,\"true\",65,55,,3000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bowler_projectile_rocks_front\",19,100,400,,5,400,700,280,430,,\"true\",2,,100,200,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall1\",\"true\",,30,40,,300,200,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Grassland_1x1_rock1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ice_arena_snow_particles\",8,1000,1000,5,5,4000,5000,-180,360,,\"true\",-150,130,,,,900,-130,-110,,,,\"sc/effects.sc\",\"snowPile3\",,,30,20,,1500,-3,,\"true\",,33,,,,,,,,,,,,,,,,,,,,,\n\"Poison_arrow_emitter_small_zeroZ\",15,1,400,,50,300,500,,360,,\"true\",,,10,20,,,50,70,,,,\"sc/effects.sc\",\"poisoncloud_small\",,,40,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Graveyard_deploy_rocks\",14,,,,,1300,2000,,360,,\"true\",1,3,30,50,,20,50,300,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,600,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Poison_small_skull\",5,,,10,50,1500,2300,,360,\"true\",\"true\",-8,8,1,10,,,,,-700,,,\"sc/effects.sc\",\"poison_skull\",,,25,100,,4500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_spawn_puff\",24,,,,,400,400,-100,360,\"true\",\"true\",,,100,100,,,,,,,,\"sc/effects.sc\",\"d3\",,,100,50,,500,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_dragon_stage3_peak_flame\",12,3000,,50,200,700,1200,220,310,,\"true\",1,2,10,15,38,,,,130,,,\"sc/effects.sc\",\"inferno_spark\",,,250,300,,,70,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_dragon_stage2_peak_flame\",13,3000,,50,200,800,1200,220,310,,\"true\",1,2,10,15,14,,,,100,,,\"sc/effects.sc\",\"inferno_spark_red\",,,200,300,,,70,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_sparkle\",21,100,6000,,50,300,800,,180,,\"true\",7,10,10,80,,,50,300,-500,,,\"sc/effects.sc\",\"SparkleBlue\",,,50,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_sparkle_explode\",26,2,1000,,5,300,2000,,360,,\"true\",2,10,10,80,,41,150,150,-500,,,\"sc/effects.sc\",\"SparkleBlue\",,,50,150,,,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"log_sparkle_explode2\",25,2,1000,,5,500,2000,,360,,\"true\",1,2,10,80,,41,200,300,-500,,,\"sc/effects.sc\",\"SparkleBlue\",,,50,150,,,100,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_sparks\",31,5500,5500,1,3,800,8000,,360,,\"true\",4,10,60,65,,20,200,300,-1500,,20,\"sc/effects.sc\",\"SparkleBlue\",\"true\",\"true\",50,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"particle_coal2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_embers\",21,5500,5500,50,100,400,700,,360,,\"true\",,15,1,5,,,5,20,20,,,\"sc/effects.sc\",\"SparkleBlue\",,\"true\",50,80,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_blackness\",10,2,600,1,5,200,350,270,270,\"true\",\"true\",14,15,50,150,,,,,10,,,\"sc/effects.sc\",\"SparkleBlue\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_smoke\",70,5000,5000,,,300,500,,360,,\"true\",16,19,10,10,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,40,120,,600,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_legendBurst\",35,1,1,,1,900,1800,,360,\"true\",\"true\",,10,50,100,,,,,200,,,\"sc/effects.sc\",\"rainbow_sparkle1\",\"true\",\"true\",80,,,300,50,,,,25,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"openChest_legend_particles\",22,300,300,2,9,300,800,-180,,\"true\",,,10,,400,,44,300,900,-1000,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,\"true\",150,10,,300,30,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_purple_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"chest_landing_legend_dust\",20,800,800,5,10,600,800,,360,,\"true\",5,8,25,100,,,200,300,35,,,\"sc/effects.sc\",\"get_legend_spark1\",,,25,,,500,1,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"Graveyard_holes\",1,1,1,,1,3000,5000,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"graveyard_ground\",,,50,50,,,60,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"graveyard_groundB\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_dragon_emitterTrail\",28,800,800,5,10,600,800,-360,360,,\"true\",-2,2,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail1\",,,35,60,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"fireball_trail2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"inferno_dragon_glowTrail\",29,800,800,5,10,600,800,-360,360,,\"true\",-2,2,1,10,,,50,200,35,,,\"sc/effects.sc\",\"fireball_trail3\",,,40,60,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"challenge_win\",60,200,200,1,2,500,1500,-200,20,\"true\",\"true\",3,10,60,250,,,,,-250,100,100,\"sc/effects.sc\",\"Death_blue_sparkle1\",\"true\",\"true\",100,,,200,200,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_slow_snow\",7,1,1,,,1000,1500,180,360,\"true\",\"true\",-8,10,15,50,152,48,80,100,-200,,,\"sc/effects.sc\",\"snowflake_anim\",\"true\",\"true\",35,25,500,500,10,,,\"true\",50,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_slow_puff\",50,,,,,700,900,,360,\"true\",\"true\",,,90,100,,28,,,,,,\"sc/effects.sc\",\"d3\",,,70,100,200,200,125,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_snowPile1\",6,,,,,1000,1200,,360,,,,9,10,90,,10,,300,-1700,,,\"sc/effects.sc\",\"snowPile1\",,\"true\",80,50,,450,100,,,\"true\",40,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"snowPile2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"snowPile3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_ground_area\",1,1,1,,1,1000,1000,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"freeze_effect_ground\",,,100,100,1000,400,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_ground_area_red\",1,1,1,,1,1000,1000,,,,\"true\",,,,,,,,,,,,\"sc/effects.sc\",\"freeze_effect_ground_red\",,,100,100,1000,400,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolem_slow_puff_shadow\",48,,,,,800,900,,360,\"true\",\"true\",,,90,100,,,,,,,,\"sc/effects.sc\",\"d3\",,,70,100,800,800,120,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_minion_die_helmet\",1,1,1,,1,5000,5000,-180,360,\"true\",\"true\",1,2,10,12,,100,700,800,-2300,,,\"sc/effects.sc\",\"mega_minion_helmet\",,\"true\",110,110,,400,,,,,,,,\"true\",,100,100,100,167,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"mega_minion_helmet1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"mega_minion_helmet\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"mega_minion_helmet1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"mega_minion_helmet2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_smoke_mist\",10,9000,9000,50,100,2500,2800,,360,,\"true\",-8,8,,,200,14,,,,,,\"sc/effects.sc\",\"d3_white\",,,300,360,2200,2400,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d1_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_dark_partivles\",29,10000,10000,,,1000,1200,,360,,\"true\",16,19,10,10,,,50,80,50,,,\"sc/effects.sc\",\"glow_darkparticle\",,,50,20,600,600,125,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_drak_particle_boil\",70,10000,10000,,,300,500,,360,,\"true\",17,19,10,10,,,20,,25,,,\"sc/effects.sc\",\"glow_darkparticle\",,,30,40,,600,125,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"graveyard_dark_particle_bol_big\",70,10000,10000,,,500,800,,360,,\"true\",17,19,10,10,,,2,,,,,\"sc/effects.sc\",\"glow_darkparticle\",,,60,20,600,500,125,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"Mega_Minion_helmet_rockEmitter\",10,200,400,,5,400,800,,360,,\"true\",,,30,75,,35,50,120,-1000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,10,,,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_minion_helmet_smokePuff\",7,2,2,,,300,700,10,50,,\"true\",,,30,40,,,200,250,-1000,,,\"sc/effects.sc\",\"SteamSmall\",\"true\",\"true\",100,125,,250,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_rocks\",70,3000,4000,15,20,1500,2500,,360,,\"true\",,3,70,120,238,,5,50,30,,,\"sc/effects.sc\",\"Rock1Particle\",,\"true\",60,40,,500,,,,,10,,,\"true\",117,,,77,36,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"clone_emitter\",9,4000,4000,700,700,2000,2000,270,270,,,,,20,25,,,5,5,20,,,\"sc/effects.sc\",\"Death_blue_smoke\",,\"true\",30,20,300,300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_minion_hit_sparks\",10,100,100,,10,100,100,1,360,\"true\",\"true\",-2,2,300,350,,50,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,120,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Mega_minion_hit_puff\",10,200,200,1,1,300,500,,360,,\"true\",-1,1,75,100,,62,,,,,,\"sc/effects.sc\",\"Smoke_puff_01\",,,30,10,400,500,60,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_dust2\",2,3000,4000,15,20,1500,2500,,360,,\"true\",,2,70,120,238,,5,50,30,,,\"sc/effects.sc\",\"towerExplode_wall2\",,\"true\",70,50,,500,,,,,10,,,\"true\",66,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_dust\",60,1,1,,,20,50,,360,,\"true\",4,4,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,90,120,,600,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_cloud\",50,3500,4000,,,1,500,,360,,\"true\",5,7,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,50,140,,600,,,,,,,,\"true\",176,,,81,84,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_whirl\",33,3500,4000,1,300,1000,1200,,360,,,1,,,,,,10,,150,1,,\"sc/chr_valkyrie.sc\",\"whirl_animation_fx\",,\"true\",50,115,,200,1,,,,,,,\"true\",,,,100,203,,,,,,,,,,,,,\n\"tornado_glow\",8,100,5000,1,1,500,2500,,360,,\"true\",1,3,,,,,,,,,,\"sc/effects.sc\",\"Deco_fireplace_glow\",\"true\",,30,60,,2000,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_whirl_ground\",41,3500,4000,1,50,900,1000,,360,,,,,,,,,,40,100,50,100,\"sc/chr_valkyrie.sc\",\"whirl_animation_fx\",,\"true\",20,60,,,1,,,,,,,,,,,,,,,,,,,,,,,,,\n\"tornado_cloud2\",22,3500,4000,,,1,700,,360,,\"true\",18,20,80,170,,,1,2,,,,\"sc/effects.sc\",\"d3\",,,60,90,,600,,,,,,,,\"true\",,,13,100,202,\"true\",,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"clone_sparkle1\",10,1800,2000,1,3,300,2500,,360,\"true\",,1,10,,35,,,,50,5,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",40,15,,2000,25,\"Death_sparkle2_purple\",,,,,,,,,,,,,,74,42,1145,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"clone_stripe1\",3,1000,1500,1,500,300,2500,,360,\"true\",,5,6,,35,,25,,50,,,,\"sc/effects.sc\",\"clone_stripe_fx\",,\"true\",50,15,,2000,25,\"Death_sparkle2_purple\",,,,,,,,,,,,,,74,42,1145,,,,,,,,\n\"electro_wizard_hit_burst\",11,70,70,,5,200,500,,360,\"true\",\"true\",2,2,,75,,26,100,500,-1200,,,\"sc/effects.sc\",\"ice_particle1\",\"true\",,30,10,,100,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"electro_wizard_hit_puff\",12,1,1,,,800,1300,,360,,\"true\",-1,,40,70,,21,20,,,,,\"sc/effects.sc\",\"d1\",\"true\",,100,120,1600,1600,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"electro_wizard_electric_hit\",2,450,450,50,75,400,400,-360,360,,\"true\",1,2,25,30,,23,,,,,,\"sc/effects.sc\",\"electricity\",\"true\",,10,45,,,200,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_rain\",30,100,200,1,5,3000,4000,,,,\"true\",-150,130,200,,,907,,,-2000,,,\"sc/effects.sc\",\"ice_particle1\",\"true\",,70,,,1500,-1,,\"true\",,33,,,,,,,,,,,,,,,,\"RainFall\",,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"ice_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_splash\",30,100,200,50,50,500,1000,,180,,\"true\",-150,130,,,,748,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_splash_01\",,,,,,1500,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_flash\",1,,,350000,350000,1200,1200,,,,,,,,,,569,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_lightning_01\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_firefly_01\",1,,,10000,20000,5000,5000,,,,,,,,,,,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_firefly_01\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_firefly_02\",1,,,10000,20000,5000,5000,,,,,,,,,,,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_firefly_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_vfx_firefly_03\",1,,,5000,10000,5000,5000,,,,,,,,,,,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_firefly_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"jungle_arena_firefly_03\",1,,,10000,20000,5000,5000,,,,,,,,,,,,,,,,\"sc/level_jungle_arena.sc\",\"jungle_vfx_firefly_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"battle_ram_log_planks\",3,130,130,2,5,1500,2000,,180,,\"true\",,1,10,50,76,55,400,700,-1200,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,80,40,,,20,,,,,,,\"true\",,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"battle_ram_log_planks2\",18,130,130,2,5,500,1200,90,270,,\"true\",1,2,10,100,,45,100,300,-500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,25,50,,,20,,,,,,,\"true\",,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"battle_ram_log_drop\",1,1,1,,1,800,800,,,,\"true\",1,1,50,75,,110,350,350,-2300,,,\"sc/chr_battle_ram.sc\",\"battle_ram_log\",\"true\",,110,110,,400,,,,,,,,\"true\",,100,100,100,167,\"true\",,,,,,,,\"true\",-760,760,\"true\",\n\"battle_ram_planks_inverse\",8,1,1,,1,1000,1000,,,\"true\",\"true\",1,5,75,100,162,110,350,350,-1500,,,\"sc/effects.sc\",\"crate_particle_1\",\"true\",,1,2,,400,,,,,,,,\"true\",,100,100,100,167,\"true\",,,,,,,,,-760,760,\"true\",\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"blowdart_goblin_attack_puff\",17,2,2,,,500,700,,-360,,,,,80,110,,,5,15,,,,\"sc/effects.sc\",\"SteamSmall\",,,25,60,,,400,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"axe_man_projectile_hit_puff\",7,2,2,,,300,700,-360,360,,\"true\",,,10,25,,,,,-1000,,,\"sc/effects.sc\",\"SteamSmall\",\"true\",\"true\",100,125,,250,10,,,,,,,,,,,,,,,,,,,,,,,,,\n\"axe_man_projectile_hit_sparks\",10,100,100,,10,100,100,1,360,\"true\",\"true\",,2,300,350,,,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,110,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"poison_arrow_hit_puff\",7,1,1,,,350,600,-360,360,,,,,80,100,,21,10,25,,,,\"sc/effects.sc\",\"poisoncloud_small\",,,80,100,,,600,,,,25,,,,,,,,,,,,,,,,,,,,,\n\"axeman_axe_particle\",1,1,1,,1,8000,12000,,360,\"true\",,,,,,,,100,150,-3000,,,\"sc/effects.sc\",\"axeman_axe_effect\",\"true\",,95,95,,500,,,,\"true\",,,,,,,,,67,,,,,,,,,\"true\",,,,\n\"Axe_man_projectile_emitter\",10,10,10,5,5,250,300,-360,360,,,,,,,,,,,,,,\"sc/effects.sc\",\"axe_speed_lines2\",\"true\",,70,90,50,250,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Blowdart_arrow_emitter\",15,,,25,25,300,600,-360,360,,\"true\",,,10,15,,,5,10,,,,\"sc/effects.sc\",\"d4\",\"true\",,25,60,100,800,,,,,,,,,,,,,,,,,,,,,,,-360,360,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"blowdart_hit_sparks\",10,100,100,,10,100,100,1,360,\"true\",\"true\",,2,300,350,,,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,110,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"battle_ram_log_drop_die\",1,1,1,,1,400,400,,,,\"true\",1,1,,,,110,100,150,-1500,,,\"sc/chr_battle_ram.sc\",\"battle_ram_log\",\"true\",,110,100,,200,,,,,,,,\"true\",,100,100,100,167,,,,,,,,,\"true\",-360,360,\"true\",\n\"Battle_ram_hit_debris\",5,350,350,,10,600,2000,,360,\"true\",\"true\",2,4,50,100,,,300,600,-2000,,,\"sc/effects.sc\",\"towerExplode_wall2\",\"true\",,60,60,,,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"towerExplode_wall1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Battle_ram_die_smoke\",38,1,1,,,800,1300,-360,360,,\"true\",1,2,70,120,,,70,,,,,\"sc/effects.sc\",\"SteamSmall\",\"true\",,90,150,,1650,200,,,,,,,,,,,,,,,,,,,,,,-360,360,,\n\"assassin_buff\",4,190,190,1,3,1000,1500,,360,,\"true\",3,4,50,100,,14,10,80,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,20,40,500,500,250,,,,,,,\"true\",,,,,,\"true\",,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_02\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"assassin_dashing\",8,1000,1000,25,25,300,400,,360,,\"true\",,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_1\",,,100,100,,500,,\"assassin_dashing_red\",,,,,,,,,,,,,,,,,,,,,,,,\"true\"\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_dash1_9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_ground\",1,4000,4000,4000,4000,4000,4000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"heal_effect_ground\",,,125,125,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_ground_ring\",1,,,,,4000,4000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_heal_radius_blue\",,,100,100,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_ground_ring_enemy\",1,,,,,4000,4000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"spell_heal_radius_red\",,,100,100,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_skull_fire_eye_emmitter\",10,600,1400,30,35,200,300,,360,,\"true\",,,,20,,,,25,400,,,\"sc/effects.sc\",\"skull_fire_particle1\",\"true\",\"true\",65,30,,300,5,,,,,,,,,,,,,,,,,,,,,,,80,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"skull_fire_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_skull_eye_spark_emitter\",2,800,2000,5,30,800,1000,,360,\"true\",\"true\",,2,,40,,,,,150,,,\"sc/effects.sc\",\"inferno_spark\",\"true\",,80,30,,500,15,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_amber_emitter\",14,1500,4000,25,60,1500,4000,-70,-100,,,,20,20,100,,,10,5,150,,,\"sc/effects.sc\",\"sparkle_trail_1\",\"true\",\"true\",150,60,,300,30,,,,50,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sparkle_trail_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sparkle_trail_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_amber_02\",27,1,6000,5,100,1000,6000,-90,-90,,,,80,40,70,,,5,5,100,,,\"sc/effects.sc\",\"SparkleBlueOffset2\",,\"true\",80,20,,,30,,,,50,,,,,,,,,,,,,,,,,,100,200,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_amber_03\",7,1,1500,1,800,1500,5000,-35,-155,,,,50,30,150,,,1,2,,,,\"sc/effects.sc\",\"particle_amber_bokeh\",,\"true\",30,60,500,2000,5,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"hunter_trap_hit\",3,800,800,250,250,1000,1000,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"skull_fire_particle1\",,\"true\",80,50,100,200,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"skull_fire_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"skull_fire_particle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"hunter_trap_expire\",16,800,800,,,1000,1500,,360,,,,,,75,,7,200,,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,50,50,100,1000,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"minion_pulse\",16,500,500,,,600,1000,,360,,\"true\",1,1,20,40,,48,,,,,,\"sc/effects.sc\",\"d3\",,\"true\",50,120,,600,,,,,,,,\"true\",,,13,100,202,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d1_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_particle_lines\",22,2500,3000,50,50,800,1500,,360,,,-10,12,,,,,,,,,,\"sc/effects.sc\",\"heal_effect_glow_line\",,\"true\",40,50,,300,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_border_burst\",70,2500,3000,1,10,1000,1000,,360,,\"true\",12,10,,,,,,,,,,\"sc/effects.sc\",\"heal_effect_glow_border\",,,80,90,1200,1000,,,,,10,,,,,,,,,,,500,200,469,\"sc/effects.sc\",\"reflection_blob\",,,,,,\n\"heal_border_burst2\",70,2500,3500,5,10,1000,1000,,360,,\"true\",12,9,10,25,,,25,,25,,,\"sc/effects.sc\",\"get_legend_spark1\",,,20,,1200,1000,25,,,,25,,,,,,,,,,,500,200,469,\"sc/effects.sc\",\"reflection_blob\",,,,,,\n\"heal_effect_border_smoke\",62,2500,3000,5,5,1000,1000,,360,,\"true\",12,9,,,,,,,25,,,\"sc/effects.sc\",\"heal_effect_ground\",,,15,20,800,800,,,,,11,,,,,,,,,,,340,66,1159,\"sc/effects.sc\",\"reflection_blob\",,,,,,\n\"dark_witch_hit_burst\",14,190,190,1,3,800,900,,360,,\"true\",1,1,60,120,,20,100,150,-300,,20,\"sc/effects.sc\",\"Death_blue_sparkle1\",\"true\",,50,1,,,150,,,,,,,,,,,,,,,,,,,,,,,,,\n\"dark_witch_hit_smoke\",29,1,1,,,800,1000,,360,,,,1,100,130,,3,10,10,25,,,\"sc/effects.sc\",\"Death_blue_smoke\",,,20,30,,1500,350,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"league_ultimate_sparkle_emitter\",5,2000,4000,750,2500,800,1000,,360,,,1,12,50,60,,,5,10,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop1\",,,80,20,250,300,1500,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_ultimate_amber_emitter\",3,2000,4000,600,300,1200,2500,,360,,,1,15,80,90,,,10,20,,,,\"sc/effects.sc\",\"particle_amber_bokeh_ultimate\",,,100,50,300,600,1500,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n\"league_ultimate_sparkle_emitter_2\",11,2000,4000,750,2500,800,1000,,360,,,5,14,50,60,,,5,10,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop1\",,,40,10,250,300,1500,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"2v2_tower_destroyed_ground\",1,,,,,800000,800000,,,,,,,,,,,,,,,,\"sc/building_tower.sc\",\"Tower_2v2_destroyed\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"2v2_rocks_destroyrd\",6,,,,,800000,800000,,,,\"true\",,,,,179,,,,,,,\"sc/effects.sc\",\"Grassland_1x1_rock1\",,,55,55,,,,,,,30,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Grassland_1x1_rock3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Grassland_2x2_rock2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"2v2_dirt_destroyed\",7,,,,,800000,800000,,,,\"true\",,,,,203,,,,,,,\"sc/effects.sc\",\"Rock1Particle_b\",,,100,100,,,,,,,30,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle_b\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_amber_04\",32,1500,6000,25,20,500,6000,-70,-110,,,5,30,60,200,,,25,50,50,,,\"sc/effects.sc\",\"rainbow_sparkle2\",,\"true\",25,50,600,800,25,,,,35,,,,,,,,,,,,,,,,,,360,360,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SparkleBlueOffset3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"SteamSmall\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"assassin_dashing_red\",8,1000,1000,25,25,300,400,,360,,\"true\",,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_1\",,,100,100,,500,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\"\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit_red_dash1_9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_bokeh_02\",22,1,6000,1,300,1500,6000,-35,-155,,,,50,40,60,,,1,2,20,,,\"sc/effects.sc\",\"particle_amber_bokeh\",,\"true\",30,60,500,2000,5,,,,50,,,,,,,,,,,,,,,,,,360,360,,\n\"legue_bg_godrays_01\",7,1,1500,1,800,1500,5000,-35,-155,,,,50,30,150,,,1,2,,,,\"sc/effects.sc\",\"particle_amber_bokeh\",,\"true\",30,60,500,2000,5,,,,50,,,,,,,,,,,,,,,,,,360,360,,\n\"league_bg_godrays_01\",9,1,1500,1,600,1500,5000,,,,,,100,,,,14,1,2,,,,\"sc/effects.sc\",\"sky_ray_loop_001\",,\"true\",30,60,500,2000,5,,,,50,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_002\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_003\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_004\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_005\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_006\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_004\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"league_bg_godrays_empty\",9,1,1500,1,600,1500,5000,,,,,,100,,,,14,1,2,,,,\"sc/effects.sc\",\"sky_ray_loop_006\",,\"true\",30,60,500,2000,5,,,,50,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"sky_ray_loop_005\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"arena_levelup_sparks\",8,800,800,5,10,600,800,,360,,\"true\",-8,16,125,160,62,,100,350,35,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle1\",,,35,15,,500,1,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Golem_firefly_blue_particle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"arena_levelup_flash\",8,,,,,500,1250,,360,\"true\",\"true\",,,160,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_01\",,,80,160,250,1000,80,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_03\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Smoke_puff_01\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"arena_levelup_burst\",12,1,1,,1,900,1800,,360,\"true\",,,10,100,250,,,,,100,,,\"sc/effects.sc\",\"inferno_spark\",,\"true\",65,10,,300,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"arena_levelup_hit_sparks\",21,50,100,,10,350,500,1,360,\"true\",\"true\",,10,450,600,,,60,250,,600,1250,\"sc/effects.sc\",\"rainbow_sparkle1\",\"true\",,40,25,,,60,,,,,,,,,,,,,,,,,,,,,,,,,\n\"bat_DW_spawn\",16,100,200,,,400,700,,360,,\"true\",,1,20,40,,21,,,,,,\"sc/effects.sc\",\"d3\",,\"true\",30,80,,600,50,,,,,,,\"true\",,,13,100,202,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d1_white\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"water_fall_haze_emmiter\",6,10000,10000,200,450,2000,2500,,360,,,,,,,,24,30,50,,,,\"sc/effects.sc\",\"Smoke_puff_01\",\"true\",,40,160,300,3000,25,,,,,,,,,,,,,,,,,,,,,,,,,\n\"waterfall_cloud\",34,3500,4000,1,5,300,800,,,,\"true\",-5,5,,,24,,25,30,50,,,\"sc/effects.sc\",\"d3\",,,120,140,150,1000,,,,,,,,,,,,81,84,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"waterfall_bubbles\",32,3500,4000,5,10,350,800,,,,,-4,4,,,,,,,,,,\"sc/effects.sc\",\"reflection_blob_2\",,,40,80,,1800,,,,,,,,,,,,81,84,,,,,,,,,,,,,\n\"confetti_legendary_arena\",65,999999,9999999,250,250,12000,12000,,360,,\"true\",,25,10,20,,417,-150,-100,,,,\"sc/effects.sc\",\"confetti_blue1\",,\"true\",20,20,500,500,400,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_blue11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red10\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_red11\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"assassin_hit_special\",26,100,100,,7,110,150,-360,360,,\"true\",,,300,350,,,,,,200,500,\"sc/effects.sc\",\"Death_blue_sparkle1\",,\"true\",10,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"assassin_hit_special_smoke\",12,1,1,,,800,1300,,360,,\"true\",-1,,40,70,,21,20,,,,,\"sc/effects.sc\",\"d1\",\"true\",,100,120,1600,1600,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"assassin_hit_special_blue_puff\",29,1,1,,,800,1000,,360,,,,1,100,130,,3,10,10,25,,,\"sc/effects.sc\",\"Death_blue_smoke\",,,20,30,,1500,350,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"assassin_hit_special_red_puff\",29,1,1,,,800,1000,,360,,,,1,100,130,,3,10,10,25,,,\"sc/effects.sc\",\"explosion_purple_glow1\",,,20,30,,2500,350,,,,50,,,,,,,,,,,,,,,,,,,,,\n\"assassin_hit_special_red\",26,100,100,,7,110,150,-360,360,,\"true\",,,300,350,,,,,,200,500,\"sc/effects.sc\",\"particle_coal4\",,\"true\",10,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"heal_cross\",8,1800,2000,1,3,300,2500,,360,\"true\",,,11,,35,79,,30,50,,,,\"sc/effects.sc\",\"heal_effect_cross1\",,\"true\",70,90,,3000,25,,,,,,,,,,,,,,,74,42,1145,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"heal_effect_cross2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"heal_effect_cross3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"card_legendary_reveal_gather_001\",50,1500,2500,10,20,600,800,,365,,\"true\",30,50,800,1500,,,,,,500,500,\"sc/effects.sc\",\"rainbow_sparkle2\",,,65,35,300,400,3000,,,,25,,,,,,,,,\"true\",,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"card_legendary_reveal_explode\",35,200,300,,,350,1200,,365,,,,,650,2000,,,,50,,500,500,\"sc/effects.sc\",\"rainbow_sparkle2\",\"true\",,80,25,,200,25,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"card_legendary_reveal_explode_001\",40,200,300,,,350,1200,,365,,,,,600,800,,,,150,-500,100,200,\"sc/effects.sc\",\"rainbow_sparkle2\",\"true\",,60,20,,200,50,,,,5,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"card_legendary_reveal_explode_002\",45,200,300,,,600,1200,,365,,,,,250,500,,,65,150,,100,200,\"sc/effects.sc\",\"rainbow_sparkle2\",\"true\",,60,25,,200,250,,,,5,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Death_blue_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"card_legendary_reveal_gather_002\",35,1500,2500,10,20,300,600,,365,,\"true\",40,100,2000,3000,,,,,,500,1200,\"sc/effects.sc\",\"rainbow_sparkle2\",,,40,25,300,200,6000,,,,50,,,,,,,,,\"true\",,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"rainbow_sparkle3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Sparkle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"moving_cannon_die_dustPuff\",60,1,1,,,700,750,,360,,\"true\",4,4,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,90,120,,600,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"moving_cannon_die_dustPuff_shadow\",27,1,1,,,700,750,,360,,\"true\",4,4,60,80,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,90,120,,700,125,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"moving_cannon_die_planks\",5,400,400,,5,1300,2000,,360,,\"true\",1,3,60,100,,20,150,500,-2000,,,\"sc/effects.sc\",\"crate_particle_1\",,,100,80,,600,40,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"crate_particle_3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"moving_cannon_die_wheels\",3,200,300,50,50,2500,3000,,-360,,,3,-3,30,90,,,30,90,-500,,,\"sc/chr_zap_machine.sc\",\"zapMachine_deathWheel\",,\"true\",40,40,,200,90,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_zap_machine.sc\",\"zapMachine_deathWheel2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_ballon_pop1_fx\",5,100,100,,10,100,100,1,360,\"true\",\"true\",,2,200,250,,100,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop2_red\",3,100,100,,10,150,300,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-350,,,\"sc/effects.sc\",\"confetti_ground_red2\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop2_fx\",9,100,100,,10,100,100,1,360,\"true\",\"true\",,2,200,300,,100,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop2_blue\",3,100,100,,10,120,300,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-350,,,\"sc/effects.sc\",\"confetti_ground_blue1\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop1_blue\",3,100,100,,10,230,350,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-350,,,\"sc/effects.sc\",\"confetti_ground_blue1\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop1_red\",3,100,100,,10,150,300,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-350,,,\"sc/effects.sc\",\"confetti_ground_red1\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_red2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop_die_blue\",6,100,100,,10,250,400,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-550,,,\"sc/effects.sc\",\"confetti_ground_blue1\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_blue3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"skeleton_balloon_pop_die_red\",6,100,100,,10,250,400,1,360,\"true\",\"true\",,2,50,80,,100,20,35,-550,,,\"sc/effects.sc\",\"confetti_ground_red1\",\"true\",,120,140,,50,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"confetti_ground_red3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"shop_gob_sparkle_emitter\",12,2000,4000,750,2500,800,1000,,360,,,1,12,50,60,,,5,10,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop1\",,,80,20,250,300,1500,,,,60,,,,,,,,,,,,,,,,,,-90,90,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"shop_gob_sparkle_emitter2\",13,2000,4000,50,200,800,1000,200,340,,,1,10,50,60,,7,5,10,50,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop1\",,,40,10,250,300,1500,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/ui_arena.sc\",\"league_badge_9_sparkle_loop2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"shop_gob_bokeh_emitter\",29,2000,4000,1,100,1200,2500,180,360,,,5,50,,,334,,10,20,,,,\"sc/effects.sc\",\"particle_amber_bokeh_ultimate\",,,40,100,300,600,3000,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n\"shop_gob_bokeh_emitter_2\",16,2000,4000,60,1,1200,2500,180,360,,,2,50,,,334,,10,20,-500,,,\"sc/effects.sc\",\"particle_amber_bokeh_ultimate\",,,10,20,300,600,3000,,,,60,,,,,,,,,,,,,,,,,,-25,25,,\n\"flying_machine_deploy_cloud\",55,1,1,,,500,600,,360,,\"true\",3,4,40,50,,21,20,,25,,,\"sc/effects.sc\",\"d3\",,,80,80,,500,100,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"flying_machine_dustPuff\",55,1,1,,,500,600,,360,,\"true\",3,4,40,50,,-3000,20,,25,,,\"sc/effects.sc\",\"d3\",,,80,80,,500,50,,,,,,,\"true\",,,,43,95,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_sparks\",27,100,100,,5,100,100,1,360,\"true\",\"true\",,3,300,350,,,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_dustPuff\",70,1,5,,,500,600,,360,,\"true\",5,6,40,50,,,20,,25,,,\"sc/effects.sc\",\"d3\",,,80,70,,300,50,,,,,,,\"true\",,,,43,95,,,,,,,,,,-90,9,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"d3_green_dark\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_rocks_hit\",13,400,400,,5,1300,2000,,360,,\"true\",5,6,30,50,,20,150,500,-2000,,,\"sc/effects.sc\",\"Rock1Particle\",,,80,50,,600,50,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock2Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/effects.sc\",\"Rock3Particle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_sparks_hit\",13,100,100,,5,100,100,1,360,\"true\",\"true\",,3,300,350,,52,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_hitPuff\",14,,,,,400,400,-100,360,\"true\",\"true\",,,20,40,,49,,,,,,\"sc/effects.sc\",\"d3\",,,20,100,,1000,50,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_sparks_hit_ground\",13,100,100,,5,100,100,1,360,\"true\",\"true\",8,10,300,350,,,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,80,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_sparks_hit_ground2\",13,100,100,,5,100,100,1,360,\"true\",\"true\",11,12,300,350,,,60,100,,500,500,\"sc/effects.sc\",\"Sparkle\",\"true\",,20,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"mega_knight_gloves\",2,80,80,2,8,900,900,230,310,,\"true\",1,3,10,50,76,59,200,300,-1200,,,\"sc/chr_mega_knight.sc\",\"mega_knight_gloveA\",\"true\",,100,100,,100,20,,,,,,,\"true\",,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,\"sc/chr_mega_knight.sc\",\"mega_knight_gloveB\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/sounds.csv",
    "content": "\"Name\",\"FileNames\",\"MinVolume\",\"MaxVolume\",\"MinPitch\",\"MaxPitch\",\"Priority\",\"MaximumByType\",\"MaxRepeatMs\",\"Loop\",\"PlayVariationsInSequence\",\"PlayVariationsInSequenceManualReset\",\"StartDelayMinMs\",\"StartDelayMaxMs\",\"PlayOnlyWhenInView\",\"MaxVolumeScaleLimit\",\"NoSoundScaleLimit\",\"PadEmpyToEndMs\"\n\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\"\n\"60sec_warn_01\",\"sfx/60_sec_warn_02_v2.wav\",80,80,100,100,1,1,,,,,,,,,,\n\"30sec_warn_01\",\"sfx/60_sec_warn_02_v2.wav\",90,90,119,119,1,1,,,,,,,,,,\n\"ScrollAmb01\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,,,,,,,,,,\n\"Menu swipe\",\"sfx/menu_swipe_09.wav\",30,30,98,102,1,2,,,,,,,,,,\n\"Menu updown swipe\",\"sfx/up_down_swipe_01.wav\",25,28,97,103,1,1,,,,,,,,,,\n\"Countdown_10\",\"sfx/10_cd_02.wav\",84,84,100,100,1,3,,,,,,,,,,\n\"Countdown_9\",\"sfx/9_cd_02.wav\",86,86,100,100,1,3,,,,,,,,,,\n\"Countdown_8\",\"sfx/8_cd_02.wav\",88,88,100,100,1,3,,,,,,,,,,\n\"Countdown_7\",\"sfx/7_cd_02.wav\",90,90,100,100,1,3,,,,,,,,,,\n\"Countdown_6\",\"sfx/6_cd_02.wav\",92,92,100,100,1,3,,,,,,,,,,\n\"Countdown_5\",\"sfx/5_cd_02.wav\",94,94,100,100,1,3,,,,,,,,,,\n\"Countdown_4\",\"sfx/4_cd_02.wav\",96,96,100,100,1,3,,,,,,,,,,\n\"Countdown_3\",\"sfx/3_cd_02.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"Countdown_2\",\"sfx/2_cd_02.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"Countdown_1\",\"sfx/1_cd_02.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"ButtonClick\",\"sfx/button_click_02.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"ButtonClick2\",\"sfx/menu_click_06.wav\",50,50,100,100,1,3,,,,,,,,,,\n\"AttackButton\",\"sfx/attack_button_01.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"SpellCasting\",\"sfx/spellcast01.wav\",30,35,96,104,1,2,,,,,,,,,,\n\"CharacterDeploy\",\"sfx/dummy_01.wav\",1,1,98,102,3,1,,,,,,,,,,\n\"Arrow fire\",\"sfx/archer_queen_attack_02.wav\",45,50,98,102,1,3,,,,,,,,,,\n\"Fire ball\",\"sfx/fire_ball_02.wav\",50,60,98,102,1,3,,,,,,,,,,\n\"Fire ball explo\",\"sfx/fire_ball_explo_02.wav\",50,60,97,103,1,2,,,,,,,,,,\n\"Arrow volley hit\",\"sfx/arrow_norm_impact_06.wav\",55,60,95,105,2,1,,,,,,,,,,\n\"Spell available\",\"sfx/card_ready_02.wav\",40,40,100,100,1,1,,,,,,,,,,\n\"Legendary spell available\",\"sfx/legendary_available_02.wav\",50,50,100,100,1,1,,,,,,,,,,\n\"Select legendary spell\",\"sfx/legendary_available_01.wav\",35,35,100,100,1,1,3000,,,,,,,,,\n\"Spell not ready\",\"sfx/spell_not_ready_01.wav\",50,50,100,100,1,1,,,,,,,,,,\n\"Boulder impact\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"Select spell\",\"sfx/grabcard_01.wav\",50,50,98,102,1,2,,,,,,,,,,\n\"Archer deploy\",\"sfx/clash_archer_deploy_01.wav\",50,50,98,102,1,1,,,,,,,,,,\n\"Archer steps\",\"sfx/archer_step_06.wav\",10,15,96,106,2,1,100,,,,,,,,,\n\"Archer attack\",\"sfx/archer_attack_07.wav\",22,32,97,103,1,2,,,,,,,,,,\n\"Arrow hit\",\"sfx/arrow_hit_13.wav\",20,25,95,105,1,2,,,,,,,,,,\n\"Archer attack start\",\"sfx/target_01.wav\",1,1,97,103,1,3,,,,,,,,,,\n\"Archer die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"Get diamonds\",\"sfx/get_diamonds_01.wav\",35,40,84,84,1,2,,,,,,,,,,\n\"get mana\",\"sfx/get_mana_01.wav\",50,50,97,103,1,2,,,,,,,,,,\n\"ArcherTower attack\",\"sfx/archer_tower_fire_05.wav\",40,50,96,103,1,3,,,,,,,,,,\n\"Scroll open\",\"sfx/scroll_open_01v3333.wav\",50,50,99,101,1,4,,,,,,,,,,\n\"Scroll close\",\"sfx/scroll_close_08.wav\",40,40,97,103,1,4,,,,,,,,,,\n\"Chest unlockstart\",\"sfx/unlock_chest_start_01.wav\",50,50,100,100,4,1,,,,,,,,,,\n\"Claim chest\",\"sfx/dummy_01.wav\",1,1,100,100,4,1,,,,,,,,,,\n\"No workers\",\"sfx/tap_locked_chest_01.wav\",40,40,100,100,1,2,,,,,,,,,,\n\"WizardProjectileHit\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,,,,,,,,,,\n\"Spell fuse\",\"sfx/scroll_fusion_01.wav\",60,60,100,100,1,4,,,,,,,,,,\n\"Enemy on range\",\"sfx/bad_drop_03.wav\",60,60,100,100,1,2,,,,,,,,,,\n\"Unlock with diamonds\",\"sfx/open_chest_diamonds_02.wav\",50,50,100,100,1,3,,,,,,,,,,\n\"SellChest\",\"sfx/get_gold_04.wav\",50,50,99,99,1,3,,,,,,,,,,\n\"Cannon Fire\",\"sfx/cannon_fire_03.wav\",35,45,96,104,1,3,,,,,,,,,,\n\"Cannon Deploy\",\"sfx/cannon_deploy_01.wav\",70,70,98,102,1,3,,,,,,,,,,\n\"sound_knight_deploy\",\"sfx/knight_deploy_31111.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_knight_deploy_end\",\"sfx/knight_deploy_end_01.wav\",60,60,100,100,1,3,,,,,1000,1000,,,,\n\"sound_knight_steps\",\"sfx/knight_footstep_01.wav\",40,50,98,102,1,2,,,,,,,,,,\n,\"sfx/knight_footstep_02.wav\",40,50,98,102,1,2,,,,,,,,,,\n,\"sfx/knight_footstep_03.wav\",40,50,98,102,1,2,,,,,,,,,,\n,\"sfx/knight_footstep_04.wav\",40,50,98,102,1,3,,,,,,,,,,\n\"sound_knight_attack_start\",\"sfx/knight_attack_start_05.wav\",45,55,97,101,1,2,,,,,360,360,,,,\n,\"sfx/knight_attack_start_02.wav\",45,55,97,101,1,2,,,,,430,430,,,,\n,\"sfx/knight_attack_start_03.wav\",45,55,97,101,1,2,,,,,320,320,,,,\n,\"sfx/knight_attack_start_04.wav\",45,55,97,101,1,2,,,,,320,320,,,,\n,\"sfx/knight_attack_start_01.wav\",45,55,97,101,1,2,,,,,300,300,,,,\n\"sound_knight_hit\",\"sfx/knight_hit_01.wav\",30,40,98,102,1,3,,,,,,,,,,\n\"sound_knight_die\",\"sfx/knight_death_01.wav\",60,60,100,100,3,1,,,,,,,,,,\n\"sound_barbarian_deploy\",\"sfx/deploy_barbarians_01.wav\",70,70,98,102,1,1,500,,,,,,,,,\n\"sound_barbarian_steps\",\"sfx/barb_footstep_03_no_vo.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_01.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_02.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_04.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_05.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",20,25,97,103,2,1,400,,,,,,,,,\n,\"sfx/barb_footstep_06.wav\",20,25,97,103,2,1,400,,,,,,,,,\n\"sound_barbarian_attack_start\",\"sfx/barbarian_attack_02.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_03.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_04.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_05.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_06.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_07.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n,\"sfx/barbarian_attack_08.wav\",40,40,98,102,1,2,300,,,,300,300,,,,\n\"sound_angry_barbarian_attack_start\",\"sfx/barbarian_attack_02.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_03.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_04.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_05.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_06.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_07.wav\",50,55,72,80,1,2,100,,,,,,,,,\n,\"sfx/barbarian_attack_08.wav\",50,55,72,80,1,2,100,,,,,,,,,\n\"sound_angry_barbarian_steps\",\"sfx/barb_footstep_03_no_vo.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_01.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_02.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_04.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_05.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_03_no_vo.wav\",25,30,75,85,2,1,300,,,,,,,,,\n,\"sfx/barb_footstep_06.wav\",25,30,75,85,2,1,300,,,,,,,,,\n\"sound_barbarian_hit\",\"sfx/knight_attack_hack_01.wav\",1,1,98,102,1,3,,,,,,,,,,\n\"sound_barbarian_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_ragebarbarian_deploy\",\"sfx/woodsman_deploy_01.wav\",60,60,98,102,1,1,300,,,,,,,,,\n\"sound_ragebarbarian_deploy_sfx\",\"sfx/rage_barb_deploy_02.wav\",60,60,98,102,2,1,300,,,,,,,,,\n\"sound_ragebarbarian_attack_start_vo\",\"sfx/woodsman_atk_01.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_02.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_03.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_04.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_05.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_06.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n,\"sfx/woodsman_atk_07.wav\",60,60,98,102,1,1,2000,,,,,,,,,\n\"sound_ragebarbarian_attack_start\",\"sfx/axeswing_01.wav\",60,60,96,104,1,3,100,,,,200,200,,,,\n\"sound_ragebarbarian_attack_hit\",\"sfx/axe_impact_01.wav\",40,50,98,102,1,3,100,,,,,,,,,\n\"sound_ragebarbarian_steps\",\"sfx/rage_barb_step_01.wav\",30,40,95,105,4,2,200,,,,,,,,,\n\"sound_executioner_deploy\",\"sfx/deploy_executioner_01.wav\",70,70,98,102,1,1,300,,,,,,,,,\n\"sound_executioner_steps\",\"sfx/executioner_footstep_01.wav\",20,30,95,105,2,6,200,,,,,,,,,\n\"sound_executioner_attack\",\"sfx/executioner_atk_01.wav\",80,80,98,102,2,2,200,,,,,,,,,\n\"sound_goblins_deploy\",\"sfx/goblin_deploy_14.wav\",50,50,98,102,1,1,,,,,,,,,,\n\"sound_goblins_steps\",\"sfx/gob_step_01_v5.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v1.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v5.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v2.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v5.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v3.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v5.wav\",10,15,95,105,2,1,350,,,,,,,,,\n,\"sfx/gob_step_01_v4.wav\",10,15,95,105,2,1,350,,,,,,,,,\n\"sound_goblins_attack_start\",\"sfx/gob_attack_01v2.wav\",30,40,97,103,1,3,,,,,,,,,,\n,\"sfx/gob_attack_02v2.wav\",30,40,97,103,1,3,,,,,,,,,,\n,\"sfx/gob_attack_03v2.wav\",30,40,97,103,1,3,,,,,,,,,,\n\"sound_goblins_hit\",\"sfx/footman_attack_hit_01.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_02.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_03.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_04.wav\",10,20,96,104,2,3,,,,,,,,,,\n\"sound_goblins_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_giant_deploy\",\"sfx/giant_deploy_01.wav\",90,90,100,100,1,2,,,,,,,,,,\n\"sound_giant_deploy_vo\",\"sfx/giant_skelly_dep_vo_01.wav\",90,90,98,102,1,2,,,,,600,600,,,,\n\"sound_giant_steps\",\"sfx/demon_step_01.wav\",40,60,95,105,1,2,,,,,,,,,,\n\"sound_giant_attack_start\",\"sfx/giant_attack_swing_01.wav\",65,80,98,102,1,1,,,,,,,,,,\n,\"sfx/giant_attack_swing_02.wav\",65,80,98,102,1,1,,,,,,,,,,\n,\"sfx/giant_attack_swing_03.wav\",65,80,98,102,1,1,,,,,,,,,,\n\"sound_giant_hit\",\"sfx/giant_hit_01.wav\",60,70,95,105,1,2,,,,,,,,,,\n\"sound_giant_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_pekka_deploy\",\"sfx/pekka_deploy_01.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"sound_pekka_deploy_end\",\"sfx/pekka_deploy_end_03.wav\",100,100,100,100,1,3,,,,,3000,3000,,,,\n\"sound_pekka_steps\",\"sfx/pekka_footstep_02.wav\",40,45,96,104,1,3,,,,,,,,,,\n\"sound_pekka_attack_start\",\"sfx/pekka_atk_01.wav\",60,60,97,103,1,3,,,,,,,,,,\n\"sound_pekka_hit\",\"sfx/pekka_attack_hit_03.wav\",50,60,98,102,1,3,,,,,,,,,,\n\"sound_pekka_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_minion_deploy\",\"sfx/minion_deploy_01.wav\",40,40,98,102,1,1,,,,,,,,,,\n\"sound_minion_steps\",\"sfx/minion_wing_02.wav\",15,30,93,107,2,2,100,,,,,,,,,\n\"sound_minion_attack_start\",\"sfx/tinymite_attack_04.wav\",1,1,96,104,1,3,,,,,,,,,,\n\"sound_minion_attack\",\"sfx/tinymite_attack_04.wav\",50,55,95,105,1,1,,,,,,,,,,\n,\"sfx/tinymite_attack_05.wav\",50,55,95,105,1,1,,,,,,,,,,\n,\"sfx/tinymite_attack_06.wav\",50,55,95,105,1,1,,,,,,,,,,\n\"sound_minion_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"Gameend Horn\",\"sfx/big_horn_end_02_v2.wav\",80,80,100,100,1,1,,,,,,,,,,\n\"sound_mortar_attack\",\"sfx/mortar_fire_03.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_mortar_hit\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"sound_mortar_die\",\"sfx/building_destroyed_05.wav\",50,50,100,100,1,3,,,,,,,,,,\n\"sound_mortar_deploy\",\"sfx/mortar_deploy.wav\",80,80,97,103,1,2,,,,,,,,,,\n\"sound_balloon_deploy\",\"sfx/deploy_balloon_06.wav\",90,90,98,102,1,2,,,,,,,,,,\n\"sound_balloon_steps\",\"sfx/balloon_fly_loop_01.wav\",55,55,98,102,2,2,,,,,,,,,,\n\"sound_balloon_attack_start\",\"sfx/drop_bomb_03.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_balloon_hit\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"sound_balloon_die\",\"sfx/building_destroyed_05.wav\",40,40,100,100,1,3,,,,,,,,,,\n\"sound_goblin_hut_deploy\",\"sfx/building_place_01.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_goblin_hut_die\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"sound_elixircollector_die\",\"sfx/building_destroyed_05.wav\",50,50,98,102,1,3,,,,,,,,,,\n\"sound_elixircollector_deploy\",\"sfx/elixir_collector_place_02.wav\",80,80,95,105,1,2,,,,,,,,,,\n\"sound_elixircollector_get\",\"sfx/get_elixir_02.wav\",45,45,86,86,1,2,100,,,,,,,,,\n\"sound_witch_deploy\",\"sfx/summon_witch_01.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_witch_steps\",\"sfx/witch_step_01.wav\",10,20,94,106,2,2,500,,,,,,,,,\n\"sound_witch_attack_start\",\"sfx/witch_attack_02.wav\",35,45,101,99,1,3,,,,,,,,,,\n\"sound_witch_hit\",\"sfx/knight_attack_hack_01.wav\",60,80,98,102,1,3,,,,,,,,,,\n\"sound_witch_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_witch_deploy_skeleton\",\"sfx/witch_summon_02.wav\",60,60,98,102,1,1,1000,,,,,,,,,\n\"sound_skeleton_deploy\",\"sfx/skeleton_deploy_03.wav\",55,55,100,100,1,1,500,,,,,,,,,\n\"sound_skeleton_steps\",\"sfx/skeleton_step_02.wav\",10,12,95,105,2,4,150,,,,,,,,,\n\"sound_skeleton_attack_start\",\"sfx/skeleton_atk_03.wav\",40,50,97,103,1,2,,,,,,,,,,\n\"sound_skeleton_hit\",\"sfx/footman_attack_hit_01.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_02.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_03.wav\",10,20,96,104,2,3,,,,,,,,,,\n,\"sfx/footman_attack_hit_04.wav\",10,20,96,104,2,3,,,,,,,,,,\n\"sound_skeleton_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_golem_deploy\",\"sfx/golem_deploy_01.wav\",90,90,98,102,1,2,,,,,,,,,,\n\"sound_golem_deploy_end\",\"sfx/stone_golem_deploy_02.wav\",98,102,100,100,1,3,,,,,3000,3000,,,,\n\"sound_small_golem_deploy\",\"sfx/stone_golem_deploy_02.wav\",70,70,165,175,1,2,,,,,,,,,,\n\"sound_golem_steps\",\"sfx/golem_walk_02.wav\",40,50,96,104,1,3,,,,,,,,,,\n\"sound_golem_attack_start\",\"sfx/golem_atk_01.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_small_golem_attack_start\",\"sfx/golem_atk_01.wav\",65,65,170,180,1,2,,,,,,,,,,\n\"sound_golem_hit\",\"sfx/golem_atk_hit_01.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_small_golem_hit\",\"sfx/golem_atk_hit_01.wav\",65,65,170,180,1,2,,,,,,,,,,\n\"sound_golem_die\",\"sfx/golem_die_01.wav\",90,90,98,102,1,3,,,,,,,,,,\n\"sound_small_golem_die\",\"sfx/golem_die_01.wav\",65,65,115,125,1,3,,,,,,,,,,\n\"sound_get_star_player\",\"sfx/get_star_equence_01_v2.wav\",75,75,100,100,1,2,,,,,,,,,,\n\"sound_get_star_enemy\",\"sfx/get_star_equence_01boo.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"sound_generic_death\",\"sfx/npc_die_04.wav\",35,45,95,104,1,3,,,,,,,,,,\n\"deploy timer tick\",\"sfx/deploy_timer_tick_01v4.wav\",20,20,100,100,1,2,,,,,,,,,,\n\"deploy timer ding\",\"sfx/deploy_timer_ding_03.wav\",30,20,100,100,1,2,,,,,,,,,,\n\"enemy deploy timer tick\",\"sfx/enemy_deploy_timer_tick_01.wav\",20,20,100,100,1,2,,,,,,,,,,\n\"enemy deploy timer ding\",\"sfx/enemy_deploy_timer_ding_04.wav\",30,30,100,100,1,2,,,,,,,,,,\n\"match start\",\"sfx/big_horn_start_02_v2.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Goblin_arena_start\",\"sfx/goblin_arena_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Bone_pit_arena_start\",\"sfx/bone_pit_arena_jingle_01.wav\",85,85,100,100,1,1,,,,,,,,,,\n\"Dark_arena_start\",\"sfx/dark_arena_jingle_02.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Barbarian_arena_start\",\"sfx/barbarian_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Builder_arena_start\",\"sfx/builder_arena_new_01.wav\",85,85,100,100,1,1,,,,,,,,,,\n\"Spell_arena_start\",\"sfx/spellarena_jing_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Ice_arena_start\",\"sfx/arctic_arena_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Legendary_arena_start\",\"sfx/legendary_arena_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Jungle_arena_start\",\"sfx/jungle_arena_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Hog_arena_start\",\"sfx/hog_arena_jingle_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"inferno_loop\",\"sfx/laser_loop_02.wav\",42,42,100,100,1,1,,\"true\",,,,,,,,\n\"sound_place_inferno_tower\",\"sfx/place_inferno_02.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_tower_take_damage\",\"sfx/tower_attacked_02.wav\",50,50,100,100,1,1,30000,,,,,,,,,\n\"sound_tower_take_damage_enemy\",\"sfx/enemy_tower_attacked_03.wav\",55,55,100,100,1,1,30000,,,,,,,,,\n\"sound_enemy_die_jingle\",\"sfx/dummy_01.wav\",1,1,100,100,5,1,300,,,,,,,,,\n\"sound_own_die_jingle\",\"sfx/dummy_01.wav\",1,1,100,100,5,1,300,,,,,,,,,\n\"sound_rage_effect\",\"sfx/rage_spell_01.wav\",60,60,98,102,1,1,,,,,,,,,,\n\"sound_valkyrie_deploy\",\"sfx/valkyrie_deploy_02.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_valkyrie_deploy_end\",\"sfx/valkyrie_deploy_end_02.wav\",50,50,100,100,1,3,,,,,1000,1000,,,,\n\"sound_valkyrie_steps\",\"sfx/valk_step_02.wav\",12,15,96,104,2,2,300,,,,,,,,,\n\"sound_valkyrie_attack_start\",\"sfx/valkyrie_atk_04.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_05.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_04.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_06.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_07.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_08.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_09.wav\",60,65,97,103,1,3,,,,,,,,,,\n,\"sfx/valkyrie_atk_10.wav\",60,65,97,103,1,3,,,,,,,,,,\n\"sound_valkyrie_hit\",\"sfx/valkyrie_hit_01.wav\",20,35,98,102,1,3,,,,,,,,,,\n\"sound_valkyrie_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_summon_own_big\",\"sfx/summon_own_07.wav\",80,80,97,102,1,2,,,,,1000,1000,,,,\n\"sound_summon_enemy_big\",\"sfx/enemy_summon_01.wav\",55,55,97,103,1,2,,,,,3000,3200,,,,\n\"sound_summon_enemy_big_die\",\"sfx/kill_enemy_big_summon_02.wav\",55,55,97,103,1,2,,,,,2000,2500,,,,\n\"sound_summon_own_big_die\",\"sfx/own_summon_die_03.wav\",55,55,97,103,1,2,,,,,2000,2500,,,,\n\"sound_bomber_deploy\",\"sfx/deploy_skeleton_01.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"sound_bomber_deploy_end\",\"sfx/skeleton_deploy_end_01.wav\",70,70,100,100,1,2,,,,,1000,1000,,,,\n\"sound_bomber_steps\",\"sfx/bomb_skeleton_01v3.wav\",25,35,95,105,3,2,,,,,,,,,,\n\"sound_bomber_attack\",,,,,,,,,,,,,,,,,\n\"sound_bomber_attack_start\",\"sfx/bomb_skeleton_atk_04.wav\",75,80,97,103,1,1,,,,,,,,,,\n\"sound_bomber_die\",,,,,,,,,,,,,,,,,\n\"sound_BombTower_projectile_hit\",\"sfx/skeleton_bomb_explo_01.wav\",65,70,95,105,1,1,,,,,,,,,,\n\"sound_goblin_barrel_explosion\",\"sfx/barrel_explosion_02.wav\",65,70,95,105,1,1,,,,,,,,,,\n\"sound_goblin_barrel_spawn\",\"sfx/barrel_drawback_14.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"sound_rocket_explosion\",\"sfx/rocket_hit_01v2.wav\",75,75,96,104,1,2,,,,,,,,,,\n\"sound_rocket_spawn\",\"sfx/rocket_launch_02v2.wav\",75,75,96,104,1,2,,,,,,,,,,\n\"sound_dragon_attack_start\",\"sfx/tinymite_attack_04.wav\",1,1,96,104,1,3,,,,,,,,,,\n\"chat_donate\",\"sfx/donate_01.wav\",40,40,100,100,1,3,,,,,,,,,,\n\"chat_new_msg\",\"sfx/scroll_chat_01.wav\",20,20,100,100,1,5,,,,,,,,,,\n\"sound_openChest_wood\",\"sfx/wooden_chest_open_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_iron\",\"sfx/iron_chest_open_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_gold\",\"sfx/gold_chest_open_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_magical\",\"sfx/magic_chest_open_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_star\",\"sfx/star_chest_open_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_bigmagical\",\"sfx/huge_magical_land_01.wav\",90,90,100,100,1,5,,,,,,,,,,\n\"sound_openChest_giant\",\"sfx/hugewooden_land_open_01.wav\",90,90,100,100,1,5,,,,,,,,,,\n\"sound_openChest_champion\",\"sfx/champions_chest_land_open_01.wav\",90,90,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_gold\",\"sfx/get_card_gold_01.wav\",60,60,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_gem\",\"sfx/get_card_gems_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_common\",\"sfx/get_card_comon_01.wav\",65,65,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_rare\",\"sfx/get_card_rare_01.wav\",75,75,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_epic\",\"sfx/get_epic_rare_01.wav\",100,100,100,100,1,5,,,,,,,,,,\n\"sound_openChest_get_legendary\",\"sfx/new_leg_reveal_01.wav\",100,100,100,100,1,5,,,,,,,,,,\n\"sound_openChest_loop_gold\",\"sfx/chest_loop_02.wav\",60,60,100,100,1,1,,\"true\",,,,,,,,\n\"sound_openChest_loop_gem\",\"sfx/chest_loop_02.wav\",60,60,100,100,1,1,,\"true\",,,,,,,,\n\"sound_openChest_loop_common\",,60,60,100,100,1,1,,\"true\",,,,,,,,\n\"sound_openChest_loop_rare\",,60,60,100,100,1,1,,\"true\",,,,,,,,\n\"sound_openChest_loop_epic\",,60,60,100,100,1,1,,\"true\",,,,,,,,\n\"sound_musketeer_deploy\",\"sfx/musketeer_deploy_01.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_musketeer_deploy_end\",\"sfx/musketeer_reload_01.wav\",60,60,97,103,1,3,,,,,1200,1200,,,,\n\"sound_musketeer_steps\",\"sfx/knight_footstep_01.wav\",30,45,120,125,2,2,,,,,,,,,,\n,\"sfx/knight_footstep_02.wav\",30,45,120,125,2,2,,,,,,,,,,\n,\"sfx/knight_footstep_03.wav\",30,45,120,125,2,2,,,,,,,,,,\n,\"sfx/knight_footstep_04.wav\",30,45,120,125,2,2,,,,,,,,,,\n\"sound_musketeer_attack\",\"sfx/musket_fire_02.wav\",65,75,94,106,2,4,,,,,,,,,,\n\"sound_musketeer_attack_start\",,,,,,,,,,,,,,,,,\n\"sound_musketeer_hit\",\"sfx/musket_impact_01.wav\",40,50,96,104,2,3,,,,,,,,,,\n\"sound_musketeer_die\",,,,,,,,,,,,,,,,,\n\"sound_upgradeCard_start\",\"sfx/upgrade_card_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_upgradeCard_ready\",\"sfx/card_upgrade_hit_01.wav\",60,60,100,100,1,5,,,,,,,,,,\n\"sound_upgradeCard_stat_appear\",\"sfx/card_upgrade_stat_05.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"sound_upgradeCard_stat_change\",\"sfx/card_upgrade_counter_01.wav\",25,25,100,100,1,20,20,,,,,,,,,\n\"sound_shop_new_spell\",\"sfx/new_cards_01.wav\",70,70,100,100,1,10,,,,,,,,,,\n\"sound_freeze_deploy\",\"sfx/freeze_04.wav\",65,65,98,102,1,2,,,,,,,,,,\n\"sound_tesla_deploy\",\"sfx/building_place_01.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_tesla_up\",\"sfx/tesla_open_02.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_tesla_down\",\"sfx/tesla_close_02.wav\",70,70,98,102,1,3,,,,,,,,,,\n\"sound_tesla_attack\",\"sfx/tesla_zap_01.wav\",40,40,96,103,1,5,,,,,,,,,,\n\"sound_tesla_hit\",\"sfx/dummy_01.wav\",1,1,95,105,1,2,,,,,,,,,,\n\"sound_chr_wizard_deploy\",\"sfx/deploy_wizard_01.wav\",70,70,100,100,1,1,,,,,,,,,,\n\"sound_chr_wizard_deploy_end\",\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,1000,1000,,,,\n,\"sfx/wiz_deploy_vo_01.wav\",55,55,99,101,1,1,5000,,,,,,,,,\n,\"sfx/wiz_deploy_vo_02.wav\",55,55,99,101,1,1,5000,,,,1000,1000,,,,\n\"sound_chr_wizard_steps\",\"sfx/wiz_steps_01v2.wav\",10,15,92,106,2,3,,,,,,,,,,\n\"sound_chr_wizard_attack_start\",\"sfx/wiz_fireball_01v9.wav\",60,60,98,102,1,3,,,,,,,,,,\n\"sound_chr_wizard_attack_vo\",\"sfx/wiz_atk_vo_01.wav\",50,50,99,101,1,1,7000,,,,550,550,,,,\n,\"sfx/wiz_atk_vo_02.wav\",50,60,99,101,1,1,7000,,,,550,550,,,,\n,\"sfx/wiz_atk_vo_03.wav\",50,60,99,101,1,1,7000,,,,550,550,,,,\n,\"sfx/wiz_atk_vo_04.wav\",50,60,99,101,1,1,7000,,,,550,550,,,,\n\"sound_chr_wizard_projectile_hit\",\"sfx/fireball_hit_01.wav\",50,50,95,105,1,3,,,,,,,,,,\n\"sound_chr_wizard_hit\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,,,,,,,,,,\n\"sound_chr_wizard_die\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,,,,,5000,6000,,,,3000\n\"sound_card_fly_in\",\"sfx/card_fly_in_06.wav\",40,40,100,100,2,4,,,,,,,,,,\n\"sound_prince_deploy\",\"sfx/prince_deploy_01.wav\",65,65,100,100,1,3,,,,,,,,,,\n\"sound_prince_deploy_end\",\"sfx/horse_blow_01.wav\",65,65,100,100,1,3,,,,,1000,1000,,,,\n\"sound_prince_steps\",\"sfx/horse_gallop_01.wav\",40,45,97,102,2,2,,,,,,,,,,\n,\"sfx/horse_gallop_02.wav\",40,45,97,102,2,2,,,,,,,,,,\n\"sound_prince_charge\",\"sfx/rider_charge_03.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"sound_prince_charge_hit\",\"sfx/prince_charge_hit_01.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"sound_prince_attack_start\",\"sfx/prince_andrew_use_04.wav\",65,65,99,101,1,2,,,,,220,220,,,,\n,\"sfx/prince_andrew_use_02.wav\",65,65,99,101,1,2,,,,,220,220,,,,\n,\"sfx/prince_andrew_use_09.wav\",65,65,99,101,1,2,,,,,220,220,,,,\n,\"sfx/prince_andrew_use_10.wav\",65,65,99,101,1,2,,,,,220,220,,,,\n\"sound_prince_hit\",\"sfx/prince_hit_01.wav\",70,75,95,105,1,2,,,,,,,,,,\n\"sound_spear_goblin_deploy\",\"sfx/spear_gob_dep_01v2.wav\",45,45,96,104,1,2,,,,,,,,,,\n\"sound_spear_goblin_steps\",\"sfx/spear_gob_step_01.wav\",10,15,94,106,2,1,80,,,,,,,,,\n\"sound_spear_goblin_attack_start\",\"sfx/spear_gob_atk_swish_01.wav\",55,55,98,108,1,2,,,,,550,550,,,,\n\"sound_spear_goblin_attack\",\"sfx/spear_gob_atk_01.wav\",33,33,96,104,1,2,,,,,,,,,,\n,\"sfx/spear_gob_atk_02.wav\",33,33,96,104,1,2,,,,,,,,,,\n,\"sfx/spear_gob_atk_03.wav\",33,33,96,104,1,2,,,,,,,,,,\n\"sound_spear_goblin_die\",,,,,,,,,,,,,,,,,\n\"sound_spear_goblin_projectile_hit\",\"sfx/spear_gob_atk_hit_01.wav\",20,20,95,105,2,4,,,,,,,,,,\n\"sound_giant_skeleton_deploy\",\"sfx/big_skeleton_summon_01.wav\",90,90,100,100,1,3,,,,,,,,,,\n\"sound_giant_skeleton_steps\",\"sfx/big_skeleton_walk_05.wav\",45,55,92,106,1,4,,,,,,,,,,\n\"sound_giant_skeleton_attack_start\",\"sfx/skeleton_arm_swing_02.wav\",60,60,96,104,1,3,,,,,200,200,,,,\n\"sound_giant_skeleton_hit\",\"sfx/big_skeleton_hit_01.wav\",80,80,96,104,1,3,,,,,,,,,,\n\"sound_giant_skeleton_die\",,,,,,,,,,,,,,,,,\n\"sound_minipekka_deploy\",\"sfx/minipekka_deploy_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_minipekka_deploy_end\",\"sfx/mini_pekka_deploy_end_06.wav\",65,65,100,100,1,3,,,,,1100,1100,,,,\n\"sound_minipekka_steps\",\"sfx/minipekka_step_03.wav\",40,45,96,104,1,3,,,,,,,,,,\n\"sound_minipekka_attack_start\",\"sfx/mini_pekka_atk_12.wav\",60,60,97,103,1,3,,,,,100,100,,,,\n\"sound_minipekka_hit\",\"sfx/mini_pekka_hit_03.wav\",60,70,95,105,1,3,,,,,,,,,,\n\"sound_minipekka_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_hog_rider_deploy\",\"sfx/hogrider_deploy_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_hog_rider_deploy_end\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,9000,,,,1000,1000,,,,\n,\"sfx/hogrider_deploy_end_01.wav\",50,50,100,100,1,1,9000,,,,750,750,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,1,1,9000,,,,1000,1000,,,,\n\"sound_hog_rider_steps\",\"sfx/hogrider_step_01.wav\",60,75,97,103,1,3,,,,,,,,,,\n\"sound_hog_rider_attack_start\",\"sfx/hogrider_atk_01.wav\",50,55,98,105,1,3,,,,,250,250,,,,\n\"sound_hog_rider_hit\",\"sfx/hogrider_atk_03.wav\",50,55,98,105,1,3,,,,,,,,,,\n\"sound_hog_rider_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_hog_rider_landing\",\"sfx/boulder_impact_01.wav\",70,70,98,102,1,1,,,,,,,,,,\n\"sound_baby_dragon_deploy\",\"sfx/babydragon_deploy_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_baby_dragon_deploy_end\",\"sfx/baby_dragon_deploy_end_11.wav\",75,75,98,102,2,1,,,,,1100,1100,,,,\n\"sound_baby_dragon_steps\",\"sfx/babydragon_wing_01.wav\",30,40,95,105,2,4,300,,,,100,100,,,,\n\"sound_baby_dragon_attack_start\",\"sfx/baby_dragon_fireball_08.wav\",65,70,98,102,1,3,,,,,150,150,,,,\n\"sound_baby_dragon_die\",,,,,,,,,,,,,,,,,\n\"sound_dragon_projectile_hit\",\"sfx/sound_fireball_hit_01.wav\",55,65,93,106,2,4,,,,,,,,,,\n\"tap_mega_chest\",\"sfx/huge_magical_chest_tap_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"tap_giant_chest\",\"sfx/hugewooden_land_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"tap_magic_chest\",\"sfx/magic_chest_land_01.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"tap_wooden_chest\",\"sfx/wooden_chest_land_01.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"tap_iron_chest\",\"sfx/iron_chest_land_01.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"tap_gold_chest\",\"sfx/golden_chest_land_01.wav\",70,70,100,100,1,2,,,,,,,,,,\n\"tap_champions_chest\",\"sfx/champions_chest_tap_01.wav\",75,75,100,100,1,2,,,,,,,,,,\n\"sound_king_player_activate\",\"sfx/king_activate_01.wav\",100,100,100,100,1,3,,,,,1800,1800,,,,\n\"sound_king_player_die\",,,,,,,,,,,,,,,,,\n\"sound_king_enemy_activate\",\"sfx/king_activate_01.wav\",100,100,100,100,1,3,,,,,1800,1800,,,,\n\"sound_king_angry\",\"sfx/king_tower_gone_01.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_02.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_03.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_04.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_05.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_06.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_tower_gone_07.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n\"sound_king_happy_tower\",\"sfx/king_happy_01.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_happy_02.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_happy_03.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n,\"sfx/king_happy_04.wav\",100,100,100,100,1,3,1500,,,,,,,,,\n\"sound_king_enemy_die\",,,,,,,,,,,,,,,,,\n\"sound_king_attack\",\"sfx/king_fire_06.wav\",70,75,96,106,1,4,,,,,,,,,,\n\"Achievement Unlock\",\"sfx/achievement_unlock_01.wav\",60,60,100,100,1,2,,,,,,,,,,\n\"Claim Achievement\",\"sfx/claim_achievement_01.wav\",60,60,100,100,1,2,,,,,,,,,,\n\"First_Crown\",\"sfx/1st_crown_01.wav\",60,60,100,100,,2,,,,,,,,,,\n\"Second_Crown\",\"sfx/2nd_crown_01.wav\",65,65,100,100,,2,,,,,,,,,,\n\"Third_Crown\",\"sfx/3rd_crown_01.wav\",70,70,100,100,,2,,,,,,,,,,\n\"sound_chest_fly\",\"sfx/chest_fly_01.wav\",60,60,100,100,1,2,,,,,250,250,,,,\n\"Tut_jing_start\",\"sfx/tut_jing_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Tut_jing_time_1\",\"sfx/tut_jing_02.wav\",70,70,100,100,1,1,,,,,,,,,,\n\"Tut_jing_time_2\",\"sfx/tut_jing_02.wav\",80,80,119,119,1,1,,,,,,,,,,\n\"Tut_count_01\",\"sfx/tut_count_01.wav\",40,40,100,100,1,4,,,,,,,,,,\n\"Names_whoosh_out\",\"sfx/tex_whoosh_02.wav\",60,60,100,100,1,4,,,,,50,50,,,,\n\"Names_whoosh_in\",\"sfx/text_whoosh_in_03.wav\",90,90,100,100,1,4,,,,,200,200,,,,\n\"sound_spell_zap\",\"sfx/zap_02.wav\",80,80,95,105,1,3,,,,,,,,,,\n\"sound_board_slide_in\",\"sfx/board_slide_in_01.wav\",55,55,92,92,1,2,,,,,,,,,,\n\"sound_tombstone_deploy\",\"sfx/tombstone_deploy_01.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"sound_tombstone_die\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"sound_supercell_jingle\",\"sfx/supercell_jingle.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"sound_tutorial_first_vo\",\"sfx/king_tut_first_vo_01.wav\",90,90,100,100,1,3,,,,,300,300,,,,\n\"sound_tutorial_second_vo\",\"sfx/king_tut_second_vo_01.wav\",80,80,100,100,1,3,,,,,3200,3200,,,,\n\"sound_tutorial_first_plink\",\"sfx/dummy_01.wav\",1,1,100,100,1,1,,,,,,,,,,\n\"sound_tutorial_second_plink\",\"sfx/tutorial_plink_02v2.wav\",65,65,100,100,1,3,,,,,,,,,,\n\"sound_text_bubble_appear\",\"sfx/speech_bubble_tut_03.wav\",40,40,95,105,1,3,,,,,,,,,,\n\"sound_press_battle_button\",\"sfx/press_arena_01.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"sound_tap_gems\",\"sfx/tap_gems_02.wav\",60,60,100,100,1,5,,,,,,,,,,\n\"sound_tap_coins\",\"sfx/tap_coins_01.wav\",42,42,100,100,1,3,,,,,,,,,,\n\"sound_buy_card_common\",\"sfx/buy_common_card_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_buy_card_rare\",\"sfx/buy_rare_card_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_buy_card_epic\",\"sfx/buy_epic_card_02.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_buy_card_legendary\",\"sfx/buy_legnedary_card_01.wav\",90,90,100,100,1,5,,,,,,,,,,\n\"sound_bomb_tower_die\",\"sfx/building_explode_01.wav\",80,80,95,105,1,3,,,,,,,,,,\n\"sound_purchase_gems\",\"sfx/buy_gems_02.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"sound_king_level_up\",\"sfx/king_level_up_01.wav\",95,95,100,100,1,2,,,,,,,,,,\n\"sound_king_happy\",\"sfx/king_laughter_01.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_laughter_02.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_laughter_03.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_laughter_04.wav\",70,70,98,102,1,2,,,,,,,,,,\n\"sound_king_crying\",\"sfx/king_crying_01.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_crying_02.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_crying_03.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_crying_04.wav\",70,70,98,102,1,2,,,,,,,,,,\n\"sound_king_congratulate\",\"sfx/king_congrats_01.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_congrats_02.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_congrats_03.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_congrats_04.wav\",70,70,98,102,1,2,,,,,,,,,,\n\"sound_king_mad\",\"sfx/king_mad_01.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_mad_02.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_mad_03.wav\",70,70,98,102,1,2,,,,,,,,,,\n,\"sfx/king_mad_04.wav\",70,70,98,102,1,2,,,,,,,,,,\n\"sound_GiantSkeleton_bomb_deploy\",\"sfx/bomb_drop_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_GiantSkeleton_bomb_die\",\"sfx/explosion_01.wav\",80,80,97,103,1,3,,,,,,,,,,\n\"sound_Balloon_Bomb_deploy\",\"sfx/bomb_drop_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_Balloon_Bomb_die\",\"sfx/explosion_01.wav\",80,80,97,103,1,3,,,,,,,,,,\n\"sound_extra_time_jingle\",\"sfx/extratime_jingle_02.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"sound_get_crown_1\",\"sfx/get_crown_03.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"sound_get_crown_2\",\"sfx/get_crown_03.wav\",60,60,112,112,1,3,,,,,,,,,,\n\"sound_get_crown_3\",\"sfx/get_crown_03.wav\",60,60,126,126,1,3,,,,,,,,,,\n\"sound_crown_appear_1\",\"sfx/crown_appear_03.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_crown_appear_2\",\"sfx/crown_appear_03.wav\",70,70,112,112,1,3,,,,,,,,,,\n\"sound_crown_appear_3\",\"sfx/crown_appear_03.wav\",70,70,126,126,1,3,,,,,,,,,,\n\"sound_lightning_1\",\"sfx/lightning_02.wav\",75,75,99,101,1,3,,,,,,,,,,\n\"sound_poison_spell\",\"sfx/poison_spell_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_get_xp\",\"sfx/get_xp_01.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"sound_ice_wizard_deploy\",\"sfx/ice_wiz_deploy_01.wav\",80,80,100,100,1,1,,,,,,,,,,\n\"sound_ice_wizard_deploy_vo\",\"sfx/ice_wiz_dep_01.wav\",60,60,98,102,1,1,3000,,,,800,800,,,,\n,\"sfx/ice_wiz_dep_04.wav\",60,60,98,102,1,1,3000,,,,100,800,,,,\n,\"sfx/ice_wiz_land_01.wav\",60,60,98,102,1,1,3000,,,,300,300,,,,\n,\"sfx/ice_wiz_land_01.wav\",60,60,98,102,1,1,3000,,,,300,300,,,,\n\"sound_ice_wizard_steps\",\"sfx/ice_wiz_footstep_01.wav\",10,15,92,108,1,3,,,,,,,,,,\n\"sound_ice_wizard_attack_start\",\"sfx/icemage_attack_03.wav\",60,60,99,101,1,4,,,,,,,,,,\n\"sound_ice_wizard_attack_vo\",\"sfx/ice_wiz_atk_01.wav\",60,60,98,102,1,1,5000,,,,800,800,,,,\n,\"sfx/ice_wiz_atk_02.wav\",60,60,98,102,1,1,5000,,,,800,800,,,,\n,\"sfx/ice_wiz_atk_03.wav\",60,60,98,102,1,1,5000,,,,800,800,,,,\n,\"sfx/ice_wiz_atk_05.wav\",60,60,98,102,1,1,5000,,,,400,400,,,,\n,\"sfx/ice_wiz_atk_07.wav\",60,60,98,102,1,1,5000,,,,400,400,,,,\n,\"sfx/ice_wiz_atk_08.wav\",60,60,98,102,1,1,5000,,,,800,800,,,,\n\"sound_ice_wizard_projectile_hit\",\"sfx/ice_mage_impact_02.wav\",55,55,95,105,1,4,,,,,,,,,,\n\"sound_ice_wizard_die\",\"sfx/dummy_01.wav\",1,1,98,102,1,1,,,,,5000,6000,,,,3000\n\"sound_xbow_fire_1\",\"sfx/xbow_fire_01.wav\",30,35,97,103,1,5,,,,,,,,,,\n\"sound_xbow_deploy\",\"sfx/xbow_place_02.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_openChest_loop_legendary\",,40,40,100,100,1,1,,\"true\",,,,,,,,\n\"sound_chest_hit_slot\",\"sfx/chest_land_02.wav\",40,40,100,100,1,6,,,,,,,,,,\n\"sound_royal_giant_deploy\",\"sfx/royal_giant_deploy_01.wav\",100,100,100,100,1,2,,,,,,,,,,\n\"sound_royal_giant_deploy_enemy\",,,,,,,,,,,,,,,,,\n\"sound_royal_giant_steps\",\"sfx/demon_step_01.wav\",40,60,95,105,1,2,,,,,,,,,,\n\"sound_royal_giant_attack_start\",\"sfx/royalgiant_fire_03.wav\",95,95,99,101,1,3,,,,,,,,,,\n,\"sfx/royalgiant_fire_02.wav\",95,95,99,101,1,3,,,,,,,,,,\n,\"sfx/royalgiant_fire_01.wav\",95,95,99,101,1,3,,,,,,,,,,\n,\"sfx/royalgiant_fire_04.wav\",95,95,99,101,1,3,,,,,,,,,,\n,\"sfx/royalgiant_fire_05.wav\",95,95,99,101,1,3,,,,,,,,,,\n\"sound_royal_giant_projectile_fx\",,,,,,,,,,,,,,,,,\n\"sound_royal_giant_projectile_hit\",\"sfx/royal_giant_projectile_hit_01.wav\",30,40,95,105,2,2,200,,,,,,,,,\n\"sound_royal_giant_die\",,,,,,,,,,,,,,,,,\n\"sound_royal_giant_die_enemy\",,,,,,,,,,,,,,,,,\n\"sound_princess_deploy\",\"sfx/p_archer_dep_01.wav\",80,80,99,101,1,1,,,,,,,,,,\n\"sound_princess_deploy_vo\",\"sfx/princess_archer_dep_vo_01.wav\",60,60,99,101,1,1,3000,,,,1000,1000,,,,\n,\"sfx/princess_archer_dep_vo_02.wav\",60,60,99,101,1,1,3000,,,,1000,1000,,,,\n,\"sfx/princess_archer_dep_vo_03.wav\",60,60,99,101,1,1,3000,,,,1000,1000,,,,\n,\"sfx/princess_archer_dep_vo_04.wav\",60,60,99,101,1,1,3000,,,,,,,,,\n\"sound_princess_steps\",\"sfx/flamearch_step_01.wav\",15,15,94,106,1,2,,,,,,,,,,\n\"sound_princess_attack\",\"sfx/p_flame_arrow_03.wav\",70,70,97,103,1,2,,,,,,,,,,\n\"sound_princess_atk_vo\",\"sfx/princess_archer_atk_vo_06.wav\",50,50,98,102,1,1,8000,,,,150,150,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/princess_archer_atk_vo_03.wav\",50,50,98,102,1,1,8000,,,,150,150,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n\"sound_princess_hit_vo\",\"sfx/princess_archer_atk_vo_04.wav\",50,50,98,102,1,1,8000,,,,150,150,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/princess_archer_atk_vo_02.wav\",50,50,98,102,1,1,8000,,,,150,150,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n\"sound_princess_attack_start\",\"sfx/target_01.wav\",1,1,97,103,1,3,,,,,,,,,,\n\"sound_princess_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_PrincessArrowHitGround\",\"sfx/p_archer_hit_01.wav\",55,60,95,105,2,1,,,,,,,,,,\n\"sound_dark_prince_deploy\",\"sfx/dark_prince_deploy_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"sound_dark_prince_deploy_vo\",\"sfx/b_knight_deploy_01.wav\",90,90,99,101,2,1,,,,,1000,1000,,,,\n,\"sfx/b_knight_deploy_02.wav\",90,90,99,101,2,1,,,,,1000,1000,,,,\n,\"sfx/b_knight_deploy_03.wav\",90,90,99,101,2,1,,,,,1000,1000,,,,\n\"sound_dark_prince_death\",\"sfx/dark_prince_death_01.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"sound_dark_prince_deploy_end\",,,,,,,,,,,,,,,,,\n\"sound_dark_prince_steps\",\"sfx/dark_prince_step_01.wav\",35,45,92,108,2,4,,,,,,,,,,\n\"sound_dark_prince_charge_jing\",\"sfx/dark_prince_charge_jing_02.wav\",85,85,100,100,1,3,,,,,,,,,,\n\"sound_dark_prince_charge\",\"sfx/b_knight_atk_charge_02.wav\",95,95,99,101,1,1,,,,,200,200,,,,\n,\"sfx/b_knight_atk_charge_01.wav\",95,95,99,101,1,1,,,,,200,200,,,,\n\"sound_dark_prince_charge_hit\",\"sfx/knighchargehit01.wav\",90,90,98,102,1,3,,,,,,,,,,\n\"sound_dark_prince_attack_start\",\"sfx/dark_prince_atk_01.wav\",80,80,98,102,1,3,,,,,200,200,,,,\n\"sound_dark_prince_attack_start_vo\",\"sfx/b_knight_atk_04.wav\",85,85,98,102,1,3,2000,,,,150,150,,,,\n,\"sfx/b_knight_atk_01.wav\",85,85,98,102,1,3,2000,,,,150,150,,,,\n,\"sfx/b_knight_atk_03.wav\",85,80,98,102,1,3,2000,,,,150,150,,,,\n,\"sfx/b_knight_atk_02.wav\",85,85,98,102,1,3,2000,,,,150,150,,,,\n\"sound_dark_prince_hit\",\"sfx/dark_prince_atk_hit_01.wav\",80,80,97,103,1,3,,,,,,,,,,\n\"sound_GuardShieldDown\",\"sfx/dark_prince_shield_01.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"sound_GuardShieldDown_vo\",\"sfx/dark_prince_shield_lost_01.wav\",90,90,98,102,1,3,,,,,,,,,,\n\"sound_miner_deploy\",\"sfx/miner_dig_down_01.wav\",85,85,100,100,1,1,,,,,,,,,,\n\"sound_miner_deploy_up\",\"sfx/miner_dig_up_01.wav\",85,85,100,100,1,1,,,,,,,,,,\n\"sound_miner_deploy_vo\",\"sfx/miner_up_vo_01.wav\",65,70,97,103,1,3,,,,,200,1100,,,,\n\"sound_miner_steps\",\"sfx/miner_footstep_01.wav\",15,25,94,106,2,2,300,,,,,,,,,\n\"sound_miner_attack_start\",\"sfx/miner_atk_01.wav\",55,60,98,102,1,3,,,,,200,200,,,,\n\"sound_miner_attack_start_vo\",\"sfx/miner_atk_vo_01.wav\",40,50,96,104,1,2,,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n\"sound_miner_hit\",\"sfx/miner_hit_01.wav\",40,50,95,105,1,3,200,,,,,,,,,\n\"sound_miner_die\",,,,,,,,,,,,,,,,,\n\"sound_miner_travel_effect\",\"sfx/miner_dig_loop_01.wav\",90,90,100,100,1,1,,\"true\",,,,,,,,\n\"sound_skeleton_warrior_deploy\",\"sfx/skele_warrior_dep_02.wav\",70,70,98,102,1,3,,,,,,,,,,\n\"sound_skeleton_warrior_steps\",\"sfx/skele_warrior_step_02.wav\",20,25,94,106,2,2,300,,,,,,,,,\n\"sound_skeleton_warrior_attack_start\",\"sfx/shield_skele_atk_02.wav\",45,55,95,105,1,3,200,,,,265,265,,,,\n\"sound_skeleton_warrior_hit\",,,,,,,,,,,,,,,,,\n\"sound_skeleton_warrior_die\",,,,,,,,,,,,,,,,,\n\"sound_skeleton_warrior_lose_shield\",\"sfx/shield_skele_lost_02.wav\",75,80,95,105,1,2,200,,,,,,,,,\n\"sound_firespirit_attack\",\"sfx/fire_spirit_attack_01.wav\",50,55,94,106,1,1,200,,,,,,,,,\n\"sound_firespirit_die\",,,,,,,,,,,,,,,,,\n\"sound_firespirit_steps_sfx\",\"sfx/fire_spirit_step_sfx_01.wav\",25,30,94,106,1,2,300,,,,,,,,,\n\"sound_firespirit_steps\",\"sfx/fire_spirit_step_vo_01.wav\",25,35,94,106,1,1,500,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/fire_spirit_step_vo_02.wav\",25,35,94,106,1,1,500,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/fire_spirit_step_vo_03.wav\",20,30,94,106,1,1,500,,,,,,,,,\n\"sound_firespirit_deploy\",\"sfx/fire_spirit_deploy_01.wav\",50,60,96,104,1,3,,,,,,,,,,\n,\"sfx/fire_spirit_deploy_02.wav\",50,60,96,104,1,3,,,,,,,,,,\n,\"sfx/fire_spirit_deploy_02.wav\",50,60,96,104,1,3,,,,,,,,,,\n\"sound_firespirit_projectile_hit\",\"sfx/sound_fireball_hit_01.wav\",45,55,70,80,2,4,,,,,,,,,,\n\"sound_firespirit_building_spawn\",\"sfx/fire_hut_place_01.wav\",80,80,98,102,1,2,,,,,,,,,,\n\"sound_lava_hound_deploy\",\"sfx/lava_hound_deploy_01.wav\",85,85,97,103,1,3,,,,,,,,,,\n\"sound_lava_hound_deploy_end\",\"sfx/deploy_lava_hound_02.wav\",85,85,95,105,1,3,,,,,1100,1100,,,,\n\"sound_lava_hound_steps\",\"sfx/lava_hound_wing_01.wav\",35,45,95,105,2,4,300,,,,100,100,,,,\n\"sound_lava_hound_start\",\"sfx/laval_hound_atk_02.wav\",45,55,95,105,1,2,,,,,150,150,,,,\n,\"sfx/laval_hound_atk_03.wav\",45,55,95,105,1,2,,,,,150,,,,,\n\"sound_lava_hound_die\",,,,,,,,,,,,,,,,,\n\"sound_lava_hound_projectile_hit\",\"sfx/sound_fireball_hit_01.wav\",30,40,80,90,2,4,,,,,,,,,,\n\"sound_lava_pups_deploy\",\"sfx/lava_pups_appear_01.wav\",90,90,98,102,1,1,200,,,,,,,,,\n\"sound_lava_pups_deploy_end\",\"sfx/lava_hound_deploy_01.wav\",1,1,98,102,1,3,,,,,1100,1100,,,,\n\"sound_lava_pups_steps\",\"sfx/lava_pup_wing_01.wav\",35,45,95,105,2,4,300,,,,100,100,,,,\n\"sound_lava_pups_start\",\"sfx/lava_pup_atk_01.wav\",30,40,90,110,1,3,300,,,,150,150,,,,\n\"sound_lava_pups_die\",,,,,,,,,,,,,,,,,\n\"sound_lava_pups_projectile_hit\",\"sfx/sound_fireball_hit_01.wav\",20,30,120,130,2,4,,,,,,,,,,\n\"sound_spectate_cheer_self_red\",\"sfx/royale_horn_01.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_02.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_03.wav\",60,60,95,105,2,1,,,,,,,,,,\n\"sound_spectate_cheer_self_blue\",\"sfx/royale_horn_01.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_02.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_03.wav\",60,60,95,105,2,1,,,,,,,,,,\n\"sound_spectate_cheer_others_red\",\"sfx/royale_horn_01.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_02.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_03.wav\",60,60,95,105,2,1,,,,,,,,,,\n\"sound_spectate_cheer_others_blue\",\"sfx/royale_horn_01.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_02.wav\",60,60,95,105,2,1,,,,,,,,,,\n,\"sfx/royale_horn_03.wav\",60,60,95,105,2,1,,,,,,,,,,\n\"sound_zapmachine_deploy\",\"sfx/zappy_drop_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_zapmachine_deploy_end\",,,,,,,,,,,,,,,,,\n\"sound_zapmachine_deploy_enemy\",\"sfx/zappy_drop_01.wav\",80,80,100,100,1,2,,,,,,,,,,\n\"sound_zapmachine_deploy_end_enemy\",,,,,,,,,,,,,,,,,\n\"sound_zapmachine_steps\",\"sfx/zap_machine_run_loop_04.wav\",38,38,100,100,2,6,,,,,,,,,,\n\"sound_zapmachine_load_weapon\",\"sfx/laser_loop_02.wav\",25,25,140,140,2,1,,\"true\",,,,,,,,\n\"sound_zapmachine_load_1\",\"sfx/zap_machine_charge_06.wav\",55,55,100,100,3,1,,,,,,,,,,\n\"sound_zapmachine_load_2\",\"sfx/zap_machine_charge_06.wav\",50,50,119,119,3,1,,,,,,,,,,\n\"sound_zapmachine_load_3\",\"sfx/zap_machine_charge_06.wav\",50,50,141,141,3,1,,,,,,,,,,\n\"sound_zapmachine_attack\",\"sfx/zappyshot_01.wav\",65,65,95,105,2,1,,,,,,,,,,\n\"sound_zapmachine_projectile_hit\",\"sfx/zap_discarge_03.wav\",75,75,95,105,2,1,,,,,,,,,,\n\"sound_zapmachine_die\",\"sfx/building_destroyed_05.wav\",60,60,95,105,2,3,,,,,,,,,,\n\"sound_zapmachine_die_enemy\",,,,,,,,,,,,,,,,,\n\"sound_bowler_deploy\",\"sfx/bowler_deploy_vo_01.wav\",85,85,98,102,1,2,,,,,,,,,,\n\"sound_bowler_steps\",\"sfx/bowler_step_01v2.wav\",40,60,95,105,1,3,,,,,,,,,,\n\"sound_bowler_steps_vo\",\"sfx/blu_walk_01.wav\",65,75,98,102,1,1,3000,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,2000,,,,,,,,,\n,\"sfx/blu_walk_03.wav\",65,75,98,102,1,1,3000,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,2000,,,,,,,,,\n\"sound_bowler_attack_start\",\"sfx/bowl_atk_01.wav\",85,85,96,103,1,3,,,,,,,,,,\n,\"sfx/bowl_atk_02.wav\",85,85,96,103,1,3,,,,,350,350,,,,\n,\"sfx/bowl_atk_05.wav\",75,75,92,98,1,3,,,,,,,,,,\n,\"sfx/bowl_atk_03.wav\",85,85,96,103,1,3,,,,,350,350,,,,\n,\"sfx/bowl_atk_05.wav\",75,75,92,98,1,3,,,,,,,,,,\n,\"sfx/bowl_atk_04.wav\",85,85,96,103,1,3,,,,,350,350,,,,\n\"sound_bowler_hit\",\"sfx/boulder_impact_01.wav\",70,70,95,105,1,2,200,,,,,,,,,\n\"sound_bowler_die\",,,,,,,,,,,,,,,,,\n\"sound_log_deploy\",\"sfx/logroll01.wav\",100,100,100,100,1,2,,,,,,,,,,\n\"sound_log_hit\",\"sfx/log_impact_01.wav\",50,60,90,110,1,2,100,,,,,,,,,\n\"sound_log_roll\",,,,,,,,,\"true\",,,,,,,,\n\"sound_log_vocal\",\"sfx/log_vocal_01.wav\",90,90,100,100,1,1,8000,,,,,,,,,\n\"sound_icespirit_deploy\",\"sfx/ice_sp_deploy_02.wav\",50,60,96,104,1,3,,,,,,,,,,\n,\"sfx/ice_sp_deploy_01.wav\",50,60,96,104,1,3,,,,,,,,,,\n\"sound_icespirit_steps_sfx\",\"sfx/fire_spirit_step_sfx_01.wav\",25,30,94,106,1,2,300,,,,,,,,,\n\"sound_icespirit_steps\",\"sfx/fire_spirit_step_vo_01.wav\",25,35,94,106,1,1,500,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/fire_spirit_step_vo_02.wav\",25,35,94,106,1,1,500,,,,,,,,,\n,\"sfx/dummy_01.wav\",1,1,100,100,2,1,,,,,,,,,,\n,\"sfx/fire_spirit_step_vo_03.wav\",20,30,94,106,1,1,500,,,,,,,,,\n\"sound_icespirit_attack\",\"sfx/fire_spirit_attack_01.wav\",50,55,94,106,1,1,200,,,,,,,,,\n\"sound_icespirit_projectile_hit\",\"sfx/ice_mage_impact_02.wav\",55,55,95,105,1,4,,,,,,,,,,\n\"sound_icespirit_die\",,,,,,,,,,,,,,,,,\n\"Tournament_win\",\"sfx/win_tour_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"Tournament_loss\",\"sfx/lose_tour_01.wav\",90,90,100,100,1,1,,,,,,,,,,\n\"sound_royal_minion_deploy\",\"sfx/royal_min_dep_01.wav\",60,70,98,102,1,1,,,,,,,,,,\n\"sound_royal_minion_steps\",\"sfx/royal_minion_wing_03.wav\",25,30,98,102,1,4,200,,,,150,150,,,,\n\"sound_royal_minion_attack_start\",\"sfx/royal_min_atk_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_royal_minion_attack\",,,,,,,,,,,,,,,,,\n\"sound_royal_minion_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_inferno_dragon_deploy\",\"sfx/babydragon_deploy_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_inferno_dragon_deploy_end\",\"sfx/baby_dragon_deploy_end_11.wav\",75,75,98,102,2,1,,,,,1100,1100,,,,\n\"sound_inferno_dragon_steps\",\"sfx/babydragon_wing_01.wav\",30,40,95,105,2,4,300,,,,100,100,,,,\n\"sound_inferno_dragon_attack_start\",\"sfx/baby_dragon_fireball_08.wav\",65,70,98,102,1,3,,,,,150,150,,,,\n\"sound_inferno_dragon_attack\",,,,,,,,,,,,,,,,,\n\"sound_inferno_dragon_beam_lvl1\",\"sfx/inferno_dragon_fireloop_01.wav\",50,50,100,100,1,1,,\"true\",,,,,,,,\n\"sound_inferno_dragon_beam_lvl2\",\"sfx/inferno_dragon_fireloop_01.wav\",60,60,115,115,1,1,,\"true\",,,,,,,,\n\"sound_inferno_dragon_beam_lvl3\",\"sfx/inferno_dragon_fireloop_01.wav\",70,70,130,130,1,1,,\"true\",,,,,,,,\n\"sound_inferno_dragon_die\",,,,,,,,,,,,,,,,,\n\"sound_graveyard_deploy\",\"sfx/cemetary_deploy_01.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_snowman_deploy\",\"sfx/deploy_ice_golem_01.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_snowman_deploy_end\",\"sfx/dummy_01.wav\",1,1,100,100,3,1,,,,,1000,1000,,,,\n\"sound_snowman_steps\",\"sfx/snowstep_01.wav\",25,35,95,105,1,2,,,,,,,,,,\n\"sound_snowman_attack_start\",\"sfx/ice_golem_atk_01.wav\",75,85,98,102,1,2,,,,,360,360,,,,\n\"sound_snowman_attack\",,,,,,,,,,,,,,,,,\n\"sound_snowman_hit\",\"sfx/dummy_01.wav\",1,1,100,100,3,1,,,,,,,,,,\n\"sound_snowman_die\",\"sfx/dummy_01.wav\",1,1,98,102,1,1,,,,,5000,6000,,,,3000\n\"sound_electro_wizard_deploy\",\"sfx/zap_discarge_03.wav\",75,75,130,135,1,1,,,,,300,300,,,,\n\"sound_electro_wizard_deploy_vo\",\"sfx/electro_wiz_deploy_01.wav\",65,65,98,102,1,1,3000,,,,,,,,,\n\"sound_electro_wizard_steps\",\"sfx/tesla_zap_01.wav\",10,13,155,165,1,4,150,,,,,,,,,\n\"sound_electro_wizard_attack_start\",\"sfx/zap_02.wav\",40,45,85,92,1,5,,,,,,,,,,\n\"sound_electro_wizard_attack_vo\",\"sfx/electro_wiz_atk_01.wav\",55,60,98,102,1,1,4000,,,,,,,,,\n,\"sfx/electro_wiz_atk_02.wav\",55,60,98,102,1,1,4000,,,,,,,,,\n,\"sfx/electro_wiz_atk_03.wav\",55,60,98,102,1,1,4000,,,,100,100,,,,\n,\"sfx/electro_wiz_atk_04.wav\",55,60,98,102,1,1,4000,,,,300,300,,,,\n,\"sfx/electro_wiz_atk_05.wav\",55,60,98,102,1,1,4000,,,,400,400,,,,\n\"sound_electro_wizard_beam\",\"sfx/dummy_01.wav\",1,1,98,102,1,1,,,,,,,,,,\n\"sound_electro_wizard_hit\",\"sfx/tesla_zap_01.wav\",35,40,85,92,1,4,,,,,,,,,,\n\"sound_electro_wizard_die\",\"sfx/dummy_01.wav\",1,1,98,102,1,1,,,,,5000,6000,,,,3000\n\"sound_tornado\",\"sfx/royale_tornado_01.wav\",85,85,75,78,1,3,,,,,,,,,,\n\"sound_clone_spell\",\"sfx/clone_spell_01.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"sound_angry_barbarian_deploy\",\"sfx/elite_barbs_deploy_01.wav\",85,85,100,100,1,1,,,,,,,,,,\n\"sound_blowdart_goblin_atk_start\",\"sfx/blowdart_goblin_atk_02.wav\",80,80,98,102,1,3,,,,,510,510,,,,\n\"sound_blowdart_gob_jump\",\"sfx/blowdart_gob_jump_01.wav\",50,55,97,103,1,3,,,,,300,300,,,,\n\"sound_blowdart_gob_steps\",\"sfx/gob_step_01_v5.wav\",20,25,88,94,1,3,50,,,,,,,,,\n\"sound_blowdart_goblin_deploy\",\"sfx/blowdart_deploy_01.wav\",90,90,98,102,1,3,,,,,,,,,,\n\"sound_blowdart_hit\",\"sfx/blowdart_hit_01.wav\",30,35,97,103,1,3,,,,,,,,,,\n\"tcc_sound_cards_appear\",\"sfx/get_crown_03.wav\",60,60,100,100,1,1,,,,,,,,,,\n\"tcc_sound_select_card\",\"sfx/claim_achievement_01.wav\",60,60,133,133,1,3,,,,,,,,,,\n\"tcc_card_fly_away\",\"sfx/tex_whoosh_02.wav\",30,30,133,133,1,3,,,,,,,,,,\n\"tcc_card_fly_away_2\",\"sfx/board_slide_in_01.wav\",75,75,75,75,1,3,,,,,,,,,,\n\"tcc_count_down\",\"sfx/tut_count_01.wav\",20,20,100,100,1,3,,,,,,,,,,\n\"tcc_hidden_card_appear\",\"sfx/get_xp_01.wav\",30,30,133,133,1,3,,,,,,,,,,\n\"sound_battleram_deploy\",\"sfx/battleram_deploy_01.wav\",70,70,98,102,1,3,,,,,300,300,,,,\n\"sound_battleram_charge\",\"sfx/battleram_charge_01.wav\",75,75,98,102,1,3,,,,,,,,,,\n\"sound_battle_ram_hit\",\"sfx/prince_charge_hit_01.wav\",80,80,70,80,1,3,,,,,,,,,,\n\"sound_get_chest_show_cards\",\"sfx/get_chest_card_overview_01.wav\",80,80,100,100,1,3,,,,,100,100,,,,\n\"sound_count_gold\",\"sfx/count_gold_01.wav\",30,30,100,100,1,8,,,,,40,40,,,,\n\"sound_count_gems\",\"sfx/count_gems_01.wav\",30,30,100,100,1,8,,,,,40,40,,,,\n\"sound_count_cards\",\"sfx/count_cards_01.wav\",20,20,100,100,1,8,,,,,40,40,,,,\n\"sound_end_show_cards\",\"sfx/end_card_count_01.wav\",80,80,95,105,1,8,,,,,,,,,,\n\"sound_hunter_attack_start\",\"sfx/musketeer_reload_01.wav\",60,60,97,103,1,3,,,,,,,,,,\n,,60,60,97,103,,3,,,,,200,,,,,\n\"sound_hunter_attack\",\"sfx/musket_fire_02.wav\",65,75,94,106,2,4,,,,,,,,,,\n\"water_splash\",\"sfx/water_splash_02.wav\",40,40,98,102,1,3,,,,,,,,,,\n\"sound_offer_bought\",\"sfx/shop_offer_bought_01.wav\",100,100,100,100,1,3,,,,,,,,,,\n\"sound_bat_deploy\",\"sfx/bat_deploy_01.wav\",55,55,100,100,1,1,500,,,,,,,,,\n\"sound_dark_witch_deploy_bat\",\"sfx/bat_deploy_01.wav\",65,65,100,100,1,1,500,,,,,,,,,\n\"sound_bat_steps\",\"sfx/bat_fly_01.wav\",13,18,95,105,2,5,100,,,,,,,,,\n\"sound_bat_attack_start\",\"sfx/bat_atk_01.wav\",30,35,97,103,1,2,,,,,,,,,,\n\"sound_bat_hit\",\"sfx/footman_attack_hit_01.wav\",10,20,96,104,2,3,,,,,,,,,,\n\"sound_bat_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_assassin_deploy\",\"sfx/bandit_deploy_01.wav\",60,60,98,102,1,1,,,,,,,,,,\n\"sound_assassin_steps\",\"sfx/bandit_step_01.wav\",8,12,95,105,2,4,120,,,,,,,,,\n\"sound_assassin_attack_start\",\"sfx/bandit_atk_vo_02.wav\",35,45,97,103,1,3,,,,,300,300,,,,\n,\"sfx/bandit_atk_vo_01.wav\",35,45,97,103,1,3,,,,,300,300,,,,\n\"sound_assassin_charge\",\"sfx/bandit_sneaky_laugh_05.wav\",40,40,98,102,1,3,,,,,,,,,,\n\"sound_assassin_dashing\",\"sfx/bandit_dash_03.wav\",80,80,98,102,1,3,,,,,,,,,,\n\"sound_assassin_dash_end\",\"sfx/p_archer_hit_01.wav\",1,1,95,105,2,1,,,,,,,,,,\n\"sound_assassin_hit\",\"sfx/bandit_bat_hit_01.wav\",80,85,94,106,2,4,,,,,,,,,,\n\"sound_assassin_hit_special\",\"sfx/bandit_slam_01.wav\",90,90,95,105,1,3,,,,,,,,,,\n\"sound_assassin_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_dark_witch_deploy\",\"sfx/dw_deploy_01.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_dark_witch_steps\",\"sfx/witch_step_01.wav\",10,20,94,106,2,2,500,,,,,,,,,\n\"sound_dark_witch_attack_start\",\"sfx/dw_atk_01.wav\",60,60,92,96,1,3,,,,,400,400,,,,\n\"sound_dark_witch_hit\",\"sfx/night_witch_impact_01.wav\",40,50,98,102,1,3,,,,,,,,,,\n\"sound_dark_witch_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_heal_spell\",\"sfx/heal_magic_03.wav\",65,65,100,100,1,3,,,,,,,,,,\n\"sound_challenge_one_time_appear\",\"sfx/get_crown_03.wav\",60,60,100,100,1,1,,,,,,,,,,\n\"sound_challenge_progress_tick\",\"sfx/progress_fill_01.wav\",30,30,100,100,1,1,500,,,,40,40,,,,\n\"sound_unlockSkin_start\",\"sfx/upgrade_card_01.wav\",80,80,100,100,1,5,,,,,,,,,,\n\"sound_unlockSkin_ready\",\"sfx/card_upgrade_hit_01.wav\",60,60,100,100,1,5,,,,,,,,,,\n\"sound_2v2_matchmake_1\",\"sfx/2v2_matchmake_01.wav\",70,70,100,100,1,6,,,,,,,,,,\n\"sound_2v2_matchmake_2\",\"sfx/2v2_matchmake_02.wav\",70,70,100,100,1,6,,,,,,,,,,\n\"sound_2v2_matchmake_3\",\"sfx/2v2_matchmake_03.wav\",70,70,100,100,1,6,,,,,,,,,,\n\"sound_2v2_matchmake_4\",\"sfx/2v2_matchmake_04.wav\",70,70,100,100,1,6,,,,,,,,,,\n\"sound_mega_knight_deploy\",\"sfx/megaknight_dep_sfx_01.wav\",60,60,98,102,1,1,,,,,,,,,,\n\"sound_mega_knight_steps\",\"sfx/knight_footstep_01.wav\",55,50,85,95,1,2,120,,,,,,,,,\n,\"sfx/knight_footstep_02.wav\",55,50,85,95,1,2,,,,,,,,,,\n,\"sfx/knight_footstep_03.wav\",55,50,85,95,1,2,,,,,,,,,,\n,\"sfx/knight_footstep_04.wav\",55,50,85,95,1,2,,,,,,,,,,\n\"sound_mega_knight_attack_start\",\"sfx/megaknight_atk_01.wav\",60,70,95,105,1,3,,,,,500,500,,,,\n,\"sfx/megaknight_atk_02.wav\",60,70,95,105,1,3,,,,,500,500,,,,\n,\"sfx/megaknight_atk_03.wav\",60,70,95,105,1,3,,,,,500,500,,,,\n\"sound_mega_knight_charge\",\"sfx/megaknight_prep_01.wav\",70,70,98,102,1,3,,,,,,,,,,\n\"sound_mega_knight_dashing\",\"sfx/megaknight_jump_01.wav\",90,90,98,102,1,3,,,,,,,,,,\n\"sound_mega_knight_dash_end\",\"sfx/megaknight_big_hit_01.wav\",85,85,95,105,1,2,,,,,,,,,,\n\"sound_mega_knight_hit\",\"sfx/megaknight_hit_01.wav\",70,80,94,106,1,4,,,,,,,,,,\n\"sound_mega_knight_hit_special\",\"sfx/prince_charge_hit_01.wav\",90,90,95,105,1,3,,,,,,,,,,\n\"sound_mega_knight_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_moving_cannon_deploy\",\"sfx/rolling_cannon_deploy_01.wav\",70,70,98,102,1,3,,,,,,,,,,\n\"sound_moving_cannon_steps\",\"sfx/rolling_cannon_step_01.wav\",10,20,98,102,2,8,250,,,,,,,,,\n\"sound_moving_cannon_attack_start\",\"sfx/cannon_fire_03.wav\",35,45,96,104,1,3,,,,,400,400,,,,\n\"sound_moving_cannon_hit\",\"sfx/skeleton_bomb_explo_01.wav\",55,65,110,115,1,3,,,,,,,,,,\n\"sound_moving_cannon_die\",\"sfx/npc_die_02.wav\",1,1,97,103,1,5,,,,,,,,,,\n\"sound_broken_cannon_deploy\",\"sfx/barrel_explosion_02.wav\",65,70,95,105,1,1,,,,,,,,,,\n\"sound_broken_cannon_attack_start\",\"sfx/cannon_fire_03.wav\",35,45,96,104,1,3,,,,,400,400,,,,\n\"sound_broken_cannon_hit\",\"sfx/skeleton_bomb_explo_01.wav\",55,65,110,115,1,3,,,,,,,,,,\n\"sound_broken_cannon_die\",\"sfx/npc_die_02.wav\",70,70,97,103,1,5,,,,,,,,,,\n\"sound_skeleton_balloon_deploy\",\"sfx/deploy_balloon_06.wav\",90,90,115,120,1,2,,,,,,,,,,\n\"sound_skeleton_balloon_steps\",\"sfx/balloon_fly_loop_01.wav\",55,55,98,102,2,2,,\"TRUE\",,,,,,,,\n\"sound_skeleton_balloon_attack_start\",\"sfx/drop_bomb_03.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"sound_skeleton_balloon_hit\",\"sfx/boulder_impact_01.wav\",80,90,95,105,1,2,,,,,,,,,,\n\"sound_skeleton_balloon_pop1\",\"sfx/skeleballoon_pop_01.wav\",70,70,95,105,1,5,,,,,,,,,,\n\"sound_skeleton_balloon_pop2\",\"sfx/skeleballoon_pop_01.wav\",90,90,110,120,1,5,,,,,,,,,,\n\"sound_skeleton_balloon_die\",\"sfx/skeleballoon_pop_03.wav\",90,90,98,102,1,5,,,,,,,,,,\n\"sound_skeleton_container_explosion\",\"sfx/barrel_explosion_02.wav\",65,70,95,105,1,1,,,,,,,,,,\n\"sound_flying_machine_deploy\",\"sfx/cannon_deploy_01.wav\",70,70,70,75,1,3,,,,,,,,,,\n\"sound_flying_machine_steps\",\"sfx/flying_machine_loop_01.wav\",20,20,100,100,1,3,,\"TRUE\",,,,,,,,\n\"sound_flying_machine_attack\",\"sfx/musket_fire_02.wav\",80,80,70,75,1,4,,,,,,,,,,\n\"sound_flying_machine_attack_start\",,,,,,,,,,,,,,,,,\n\"sound_flying_machine_hit\",\"sfx/musket_impact_01.wav\",30,40,65,70,2,3,,,,,,,,,,\n\"sound_flying_machine_die\",,,,,,,,,,,,,,,,,\n\"Card_bonus_1\",\"sfx/bonus_1.wav\",60,60,100,100,1,3,,,,,,,,,,\n\"Card_bonus_2\",\"sfx/bonus_2.wav\",70,70,100,100,1,3,,,,,,,,,,\n\"Card_bonus_3\",\"sfx/bonus_3.wav\",80,80,100,100,1,3,,,,,,,,,,\n\"Card_bonus_4\",\"sfx/bonus_4.wav\",90,90,100,100,1,3,,,,,,,,,,\n\"Card_bonus_reveal\",\"sfx/get_bonus_card_01.wav\",70,70,100,100,1,3,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/texts.csv",
    "content": "\" \",\"EN\",\"FR\",\"DE\",\"ES\",\"IT\",\"NL\",\"NO\",\"TR\",\"JP\",\"KR\",\"RU\",\"AR\",\"PT\",\"CN\",\"CNT\",\"FA\",\"ID\",\"MS\"\n\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\"\n\"TID_LANGUAGE_LOCALIZED_NAME\",\"English\",\"Français\",\"Deutsch\",\"Español\",\"Italiano\",\"Nederlands\",\"Norsk\",\"Türkçe\",\"日本語\",\"한국어\",\"Русский\",\"العربية\",\"Português\",\"简体中文\",\"繁體中文\",\"فارسی\",\"Bahasa Indonesia\",\"Bahasa Melayu\"\n\"TID_LOADING\",\"Loading...\",\"Chargement...\",\"Laden ...\",\"Cargando...\",\"Caricamento...\",\"Laden...\",\"Laster inn ...\",\"Açılıyor...\",\"ロード中...\",\"불러오는 중\",\"Загрузка...\",\"يتم التحميل...\",\"Carregando...\",\"正在载入...\",\"正在載入...\",\"در حال بارگیری...\",\"Memuat...\",\"Memuat...\"\n\"TID_TIME_M_S\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>.<S>\",\"<M>:<S>\",\"<M>：<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\",\"<M>:<S>\"\n\"TID_TAB_BATTLE\",\"Battle\",\"Combattre\",\"Kämpfen\",\"Batalla\",\"Battaglia\",\"Vechten\",\"Kamp\",\"Savaş\",\"バトル開始\",\"전투\",\"В бой\",\"معركة\",\"Batalha\",\"对战\",\"對戰\",\"نبرد\",\"Tempur\",\"Pertempuran\"\n\"TID_TAB_SPELLS\",\"Cards\",\"Cartes\",\"Karten\",\"Cartas\",\"Carte\",\"Kaarten\",\"Kort\",\"Kartlar\",\"カード\",\"카드\",\"Карты\",\"بطاقات\",\"Cartas\",\"卡牌\",\"卡牌\",\"کارت‌ها\",\"Kartu\",\"Kad\"\n\"TID_TAB_SOCIAL\",\"Social\",\"Social\",\"Community\",\"Social\",\"Social\",\"Sociaal\",\"Sosialt\",\"Sosyal\",\"ソーシャル\",\"소셜\",\"Общение\",\"اجتماعي\",\"Social\",\"社交\",\"社交\",\"اجتماعی\",\"Sosial\",\"Sosial\"\n\"TID_TAB_SHOP\",\"Shop\",\"Magasin\",\"Shop\",\"Tienda\",\"Negozio\",\"Winkel\",\"Butikk\",\"Dükkan\",\"ショップ\",\"상점\",\"Магазин\",\"المتجر\",\"Loja\",\"商店\",\"商店\",\"فروشگاه\",\"Toko\",\"Kedai\"\n\"TID_TAB_FEED\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"クラロワTV\",\"로얄 TV\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"皇室TV\",\"皇室TV\",\"TV Royale\",\"TV Royale\",\"TV Diraja\"\n\"TID_TAB_TOURNAMENT\",\"Tournaments\",\"Tournois\",\"Turniere\",\"Torneos\",\"Tornei\",\"Toernooien\",\"Turneringer\",\"Turnuvalar\",\"大会\",\"토너먼트\",\"Турниры\",\"بطولات\",\"Torneios\",\"锦标赛\",\"聯賽\",\"مسابقه‌ها\",\"Turnamen\",\"Pertandingan\"\n\"TID_BUTTON_CLOSE\",\"Close\",\"Fermer\",\"Schließen\",\"Cerrar\",\"Chiudi\",\"Sluiten\",\"Lukk\",\"Kapat\",\"閉じる\",\"닫기\",\"Закрыть\",\"إغلاق\",\"Fechar\",\"关闭\",\"關閉\",\"بستن\",\"Tutup\",\"Tutup\"\n\"TID_BUTTON_DONATE\",\"Donate\",\"Donner\",\"Spenden\",\"Donar\",\"Dona\",\"Doneren\",\"Gi bort\",\"Bağış Yap\",\"寄付\",\"지원\",\"Пожертвовать\",\"تبرع\",\"Doar\",\"捐赠\",\"捐贈\",\"اهدا\",\"Sumbang\",\"Derma\"\n\"TID_TIME_DAYS\",\"d\",\"j\",\"T\",\"d\",\"g\",\"d\",\"d\",\"g\",\"日\",\"일\",\"д.\",\"يوم\",\"d\",\"天\",\"天\",\"روز\",\"h\",\"h\"\n\"TID_TIME_HOURS\",\"h\",\"h\",\"h\",\"h\",\"h\",\"u\",\"t\",\"sa\",\"時間\",\"시간\",\"ч.\",\"ساعة\",\"h\",\"小时\",\"小時\",\"ساعت\",\"j\",\"j\"\n\"TID_TIME_MINS\",\"min\",\"min\",\"min\",\"min\",\"min\",\"min\",\"min\",\"dk\",\"分\",\"분\",\"м.\",\"دقيقة\",\"min\",\"分钟\",\"分鐘\",\"دقیقه\",\"mnt\",\"min\"\n\"TID_TIME_SECS\",\"sec\",\"s\",\"s\",\"s\",\"sec\",\"sec\",\"sek\",\"sn\",\"秒\",\"초\",\"с.\",\"ث\",\"seg\",\"秒\",\"秒\",\"ثانیه\",\"dtk\",\"saat\"\n\"TID_BUTTON_CANCEL\",\"Cancel\",\"Annuler\",\"Abbr.\",\"Cancelar\",\"Annulla\",\"Annuleren\",\"Avbryt\",\"İptal\",\"キャンセル\",\"취소\",\"Отмена\",\"إلغاء\",\"Cancelar\",\"取消\",\"取消\",\"لغو\",\"Batalkan\",\"Batal\"\n\"TID_MATCHMAKING\",\"Searching\\nfor opponent\",\"Recherche\\nd'adversaire\",\"Gegner\\nsuchen\",\"Buscando\\nrival\",\"Ricerca\\navversari\",\"Tegenstander\\nzoeken...\",\"Søker etter\\nmotstander\",\"Rakip\\naranıyor\",\"対戦相手を\\n探しています\",\"상대\\n찾는 중\",\"Ищем\\nпротивника\",\"البحث عن خصم\",\"Buscando\\nadversário\",\"\\n搜索对手\",\"\\n搜尋對手\",\"جستجوی\\nحریفان\",\"Mencari\\nlawan...\",\"Mencari\\npihak lawan\"\n\"TID_MATCHMAKING_CHALLENGE\",\"Waiting for Clanmate\",\"En attente d'un adversaire\",\"Warten auf Clanmitglied\",\"Esperando a aliado\",\"Attendi membro del clan\",\"Wachten op clangenoot\",\"Venter på klanvenn\",\"Klan Arkadaşı bekleniyor\",\"クランメンバー待ち\",\"클랜원을 기다리는 중\",\"Ждем соклановца\",\"في انتظار عضو قبيلة\",\"Esperando colega\",\"等待部落成员回应\",\"等待部落成員回應\",\"انتظار برای هم‌قبیله‌ای\",\"Menunggu Rekan Klan\",\"Menunggu Rakan Klan\"\n\"TID_MATCHMAKING_CHALLENGE_MULTIPLE\",\"Waiting for Players\",\"En attente de joueurs\",\"Warten auf Spieler\",\"Esperando a jugadores\",\"In attesa di giocatori\",\"Wachten op spelers\",\"Venter på spillere\",\"Oyuncular Bekleniyor\",\"プレイヤーを待っています\",\"플레이어들을 기다리는 중\",\"Ждем игроков\",\"في انتظار اللاعبين\",\"Aguardando jogadores...\",\"等待玩家\",\"等待玩家\",\"در انتظار بازیکن‌ها\",\"Menunggu Pemain\",\"Menunggu Pemain\"\n\"TID_MATCHMAKING_WAITING\",\"Waiting for\\nTeammate\",\"En attente\\nd'un équipier\",\"Warten auf\\nMitspieler\",\"Esperando a\\ncompañero\",\"In attesa di\\nun compagno\",\"Wachten op\\nteamgenoot\",\"Venter på\\nlagkamerat\",\"Takım arkadaşı\\nbekleniyor\",\"チームメイトを\\n待っています\",\"팀원을\\n기다리는 중\",\"Ждем\\nчлена команды\",\"بانتظار\\nزميل في الفريق\",\"Esperando\\ncolega de clã.\",\"等待\\n队友\",\"等待\\n隊友\",\"در انتظار\\nهم‌تیمی\",\"Menunggu\\nRekan Tim...\",\"Menunggu\\nRakan Klan\"\n\"TID_MATCHMAKING_MULTIPLE\",\"Searching\\nfor players\",\"Recherche\\nde joueurs\",\"Suche\\nnach Spielern\",\"Buscando\\njugadores\",\"Ricerca\\ngiocatori\",\"Zoeken\\nnaar spelers\",\"Søker\\netter spillere\",\"Oyuncu\\naranıyor\",\"プレイヤーを\\n探しています\",\"플레이어\\n찾는 중\",\"Поиск\\nигроков\",\"بحث\\nعن لاعبين\",\"Buscando\\njogadores\",\"\\n搜索玩家\",\"\\n搜索玩家\",\"جستجوی\\nبازیکنان\",\"Mencari\\npemain\",\"Mencari\\npemain\"\n\"TID_MATCHMAKING_MULTIPLE_2\",\"Searching\\nfor opponents\",\"Recherche\\nd'adversaires\",\"Suche\\nnach Gegnern\",\"Buscando\\nrivales\",\"Ricerca\\navversari\",\"Zoeken\\nnaar tegenstanders\",\"Søker\\netter motstandere\",\"Rakip\\naranıyor\",\"対戦相手を\\n探しています\",\"상대방\\n찾는 중\",\"Поиск\\nпротивников\",\"بحث\\nعن خصوم\",\"Buscando\\noponentes\",\"搜索\\n对手\",\"搜索\\n對手\",\"جستجوی\\nحریفان\",\"Mencari\\nlawan\",\"Mencari\\npihak lawan\"\n\"TID_CANCEL\",\"Cancel\",\"Annuler\",\"Abbr.\",\"Cancelar\",\"Annulla\",\"Annuleren\",\"Avbryt\",\"İptal\",\"キャンセル\",\"취소\",\"Отмена\",\"إلغاء\",\"Cancelar\",\"取消\",\"取消\",\"لغو\",\"Batalkan\",\"Batal\"\n\"TID_CANCELLING\",\"Cancelling\",\"Annulation\",\"Abbruch ...\",\"Cancelando\",\"Annullamento...\",\"Annuleren...\",\"Avbryter\",\"İptal Ediliyor\",\"キャンセル中\",\"취소 중\",\"Отменяем\",\"جارٍ الإلغاء\",\"Cancelando\",\"正在取消\",\"正在取消\",\"درحال لغو\",\"Membatalkan\",\"Membatalkan\"\n\"TID_TITLE_LEADERBOARD\",\"Top Royales\",\"Classements royaux\",\"Beste Royales\",\"Mejores nobles\",\"Top Royale\",\"Beste aristocraten\",\"Toppadel\",\"En İyi Asiller\",\"ランキング\",\"로얄 랭킹\",\"Лучшие роялисты\",\"أفضل الملكيين\",\"Top Royales\",\"皇室排行榜\",\"皇室排行榜\",\"سلطنتی‌های برتر\",\"Royale Teratas\",\"Diraja Teratas\"\n\"TID_CHEST_DESCRIPTION_BASIC\",\"Contains <c38c9ff>gold</c> and <c38c9ff><CARD_COUNT> cards</c>.\",\"Contient de l'<c38c9ff>or</c> et <c38c9ff><CARD_COUNT> cartes</c>.\",\"Enthält <c38c9ff>Gold</c> und <c38c9ff><CARD_COUNT> Karten</c>.\",\"Contiene <c38c9ff>oro</c> y <c38c9ff><CARD_COUNT> cartas</c>.\",\"Contiene <c38c9ff>oro</c> e <c38c9ff><CARD_COUNT> carte</c>.\",\"Bevat <c38c9ff>goud</c> en <c38c9ff><CARD_COUNT> kaarten</c>.\",\"Inneholder <c38c9ff>gull</c> og <c38c9ff><CARD_COUNT> kort</c>.\",\"<c38c9ff>Altın</c> ve <c38c9ff><CARD_COUNT> kart</c> içerir.\",\"<c38c9ff>ゴールド</c>と<c38c9ff>カード<CARD_COUNT>枚入り。</c>\",\"<c38c9ff>골드</c> 및 <c38c9ff>카드 <CARD_COUNT>장이 들어있습니다</c>.\",\"Содержит <c38c9ff>золото</c> и <c38c9ff>карты (<CARD_COUNT> шт.)</c>.\",\"تحتوي على <c38c9ff>الذهب</c> و<c38c9ff><CARD_COUNT>من البطاقات</c>.\",\"Contém <c38c9ff>ouro</c> e <c38c9ff><CARD_COUNT> cartas</c>.\",\"藏有<c38c9ff>金币</c>和<c38c9ff><CARD_COUNT>张卡牌</c>。\",\"藏有<c38c9ff>金幣</c>和<c38c9ff><CARD_COUNT>張卡牌</c>。\",\"حاوی <c38c9ff>طلا</c> و <c38c9ff><CARD_COUNT>کارت</c> هست.\",\"Berisi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kartu</c>.\",\"Mengandungi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> </c> kad.\"\n\"TID_CHEST_DESCRIPTION_ONE_RARE\",\"Contains <c38c9ff>gold</c> and <c38c9ff><CARD_COUNT> cards</c>.\\nAt least <c38c9ff>1 rare</c>.\",\"Contient de l'<c38c9ff>or</c> et <c38c9ff><CARD_COUNT> cartes</c>.\\nAu moins <c38c9ff>1 rare</c>.\",\"Enthält <c38c9ff>Gold</c> und <c38c9ff><CARD_COUNT> Karten</c>.\\nMindestens <c38c9ff>1 seltene</c>.\",\"Contiene <c38c9ff>oro</c> y <c38c9ff><CARD_COUNT> cartas</c>.\\n(Al menos <c38c9ff>1 especial</c>).\",\"Contiene <c38c9ff>oro</c> e <c38c9ff><CARD_COUNT> carte</c>.\\nAlmeno <c38c9ff>1 rara</c>.\",\"Bevat <c38c9ff>goud</c> en <c38c9ff><CARD_COUNT> kaarten</c>.\\nTen minste <c38c9ff>1 zeldzame</c>.\",\"Inneholder <c38c9ff>gull</c> og <c38c9ff><CARD_COUNT> kort</c>.\\nMinst <c38c9ff>1 sjeldent</c>.\",\"<c38c9ff>Altın</c> ve <c38c9ff><CARD_COUNT> kart</c> içerir.\\nEn az <c38c9ff>1 ender</c>.\",\"<c38c9ff>ゴールド</c>と<c38c9ff>カード<CARD_COUNT>枚入り。</c>\\n<c38c9ff>1枚はレア</c>確定。\",\"<c38c9ff>골드</c> 및 <c38c9ff>카드 <CARD_COUNT>장이 들어있습니다</c>.\\n최소한 <c38c9ff>희귀 카드 1장이 포함됩니다</c>.\",\"Содержит <c38c9ff>золото</c> и <c38c9ff>карты (<CARD_COUNT> шт.)</c>.\\nМинимум <c38c9ff>1 редкая</c>.\",\"تحتوي على <c38c9ff>الذهب</c> و<c38c9ff><CARD_COUNT>من البطاقات</c>.\\nعلى الأقل <c38c9ff>بطاقة نادرة</c>.\",\"Contém <c38c9ff>ouro</c> e <c38c9ff><CARD_COUNT> cartas</c>.\\nPelo menos <c38c9ff>1 rara</c>.\",\"藏有<c38c9ff>金币</c>和<c38c9ff><CARD_COUNT>张卡牌</c>。\\n至少<c38c9ff>1张稀有卡</c>。\",\"藏有<c38c9ff>金幣</c>和<c38c9ff><CARD_COUNT>張卡牌</c>。\\n至少<c38c9ff>1張稀有卡</c>。\",\"حاوی <c38c9ff>طلا</c> و <c38c9ff><CARD_COUNT>کارت</c> هست.\\nحداقل <c38c9ff>1 مورد کمیاب</c>.\",\"Berisi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kartu</c>.\\nSetidaknya <c38c9ff>1 langka</c>.\",\"Mengandungi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kad</c>.\\nSekurang-kurangnya <c38c9ff>1 jarang</c>.\"\n\"TID_CHEST_DESCRIPTION_MULTIPLE_RARES\",\"Contains <c38c9ff>gold</c> and <c38c9ff><CARD_COUNT> cards</c>.\\nAt least <c38c9ff><RARE_COUNT> rares</c>.\",\"Contient de l'<c38c9ff>or</c> et <c38c9ff><CARD_COUNT> cartes</c>.\\nAu moins <c38c9ff><RARE_COUNT> rares</c>.\",\"Enthält <c38c9ff>Gold</c> und <c38c9ff><CARD_COUNT> Karten</c>.\\nMindestens <c38c9ff><RARE_COUNT> seltene</c>.\",\"Contiene <c38c9ff>oro</c> y <c38c9ff><CARD_COUNT> cartas</c>.\\n(Al menos <c38c9ff><RARE_COUNT> especiales</c>).\",\"Contiene <c38c9ff>oro</c> e <c38c9ff><CARD_COUNT> carte</c>.\\nAlmeno <c38c9ff><RARE_COUNT> rare</c>.\",\"Bevat <c38c9ff>goud</c> en <c38c9ff><CARD_COUNT> kaarten</c>.\\nTen minste <c38c9ff><RARE_COUNT> zeldzame</c>.\",\"Inneholder <c38c9ff>gull</c> og <c38c9ff><CARD_COUNT> kort</c>.\\nMinst <c38c9ff><RARE_COUNT> sjeldne</c>.\",\"<c38c9ff>Altın</c> ve <c38c9ff><CARD_COUNT> kart</c> içerir.\\nEn az <c38c9ff><RARE_COUNT> ender</c>.\",\"<c38c9ff>ゴールド</c>と<c38c9ff>カード<CARD_COUNT>枚入り。</c>\\n<c38c9ff><RARE_COUNT>枚はレア</c>確定。\",\"<c38c9ff>골드</c> 및 <c38c9ff>카드 <CARD_COUNT>장이 들어있습니다</c>.\\n최소한 <c38c9ff>희귀 카드 <RARE_COUNT>장이 포함됩니다</c>.\",\"Содержит <c38c9ff>золото</c> и <c38c9ff>карты (<CARD_COUNT> шт.)</c>.\\nРедких минимум <c38c9ff><RARE_COUNT></c>.\",\"تحتوي على <c38c9ff>الذهب</c> و<c38c9ff><CARD_COUNT>من البطاقات</c>.\\nعلى الأقل <c38c9ff><RARE_COUNT> من البطاقات النادرة</c>.\",\"Contém <c38c9ff>ouro</c> e <c38c9ff><CARD_COUNT> cartas</c>.\\nPelo menos <c38c9ff><RARE_COUNT> raras</c>.\",\"藏有<c38c9ff>金币</c>和<c38c9ff><CARD_COUNT>张卡牌</c>。\\n至少<c38c9ff><RARE_COUNT>张稀有卡</c>。\",\"藏有<c38c9ff>金幣</c>和<c38c9ff><CARD_COUNT>張卡牌</c>。\\n至少<c38c9ff><RARE_COUNT>張稀有卡</c>。\",\"حاوی <c38c9ff>طلا</c> و <c38c9ff><CARD_COUNT>کارت</c> هست.\\nحداقل <c38c9ff><RARE_COUNT> مورد کمیاب</c>.\",\"Berisi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kartu</c>.\\nSetidaknya <c38c9ff><RARE_COUNT> langka</c>.\",\"Mengandungi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kad</c>.\\nSekurang-kurangnya <c38c9ff><RARE_COUNT> jarang</c>.\"\n\"TID_CHEST_DESCRIPTION_ONE_EPIC\",\"Contains <c38c9ff>gold</c> and <c38c9ff><CARD_COUNT> cards</c>.\\nAt least <c38c9ff>1 epic</c> and <c38c9ff><RARE_COUNT> rares</c>.\",\"Contient de l'<c38c9ff>or</c> et <c38c9ff><CARD_COUNT> cartes</c>.\\nAu moins <c38c9ff>1 épique</c> et <c38c9ff><RARE_COUNT> rares</c>.\",\"Enthält <c38c9ff>Gold</c> und <c38c9ff><CARD_COUNT> Karten</c>.\\nMindestens <c38c9ff>1 epische</c> und <c38c9ff><RARE_COUNT> seltene</c>.\",\"Contiene <c38c9ff>oro</c> y <c38c9ff><CARD_COUNT> cartas</c>.\\n(Al menos <c38c9ff>1 épica</c> y <c38c9ff><RARE_COUNT> especiales</c>).\",\"Contiene <c38c9ff>oro</c> e <c38c9ff><CARD_COUNT> carte</c>.\\nAlmeno <c38c9ff>1 epica</c> e <c38c9ff><RARE_COUNT> rare</c>.\",\"Bevat <c38c9ff>goud</c> en <c38c9ff><CARD_COUNT> kaarten</c>.\\nTen minste <c38c9ff>1 epische</c> en <c38c9ff><RARE_COUNT> zeldzame</c>.\",\"Inneholder <c38c9ff>gull</c> og <c38c9ff><CARD_COUNT> kort</c>.\\nMinst <c38c9ff>1 episk</c> og <c38c9ff><RARE_COUNT> sjeldne</c>.\",\"<c38c9ff>Altın</c> ve <c38c9ff><CARD_COUNT> kart</c> içerir.\\nEn az <c38c9ff>1 destansı</c> ve <c38c9ff><RARE_COUNT> ender</c>.\",\"<c38c9ff>ゴールド</c>と<c38c9ff>カード<CARD_COUNT>枚入り。</c>\\n<c38c9ff>1枚はスーパーレア</c>、<c38c9ff><RARE_COUNT>枚はレア</c>確定。\",\"<c38c9ff>골드</c> 및 <c38c9ff>카드 <CARD_COUNT>장이 들어있습니다</c>.\\n최소한 <c38c9ff>영웅 카드 1장</c> 및 <c38c9ff>희귀 카드 <RARE_COUNT>장이 포함됩니다</c>.\",\"Содержит <c38c9ff>золото</c> и <c38c9ff>карты (<CARD_COUNT> шт.)</c>.\\nМинимум <c38c9ff>1 эпическая и</c><c38c9ff> редкие (<RARE_COUNT> шт.)</c>.\",\"تحتوي على <c38c9ff>الذهب</c> و<c38c9ff><CARD_COUNT> من البطاقات</c>.\\nعلى الأقل <c38c9ff>بطاقة ممتازة</c> و<c38c9ff><RARE_COUNT> من البطاقات النادرة</c>.\",\"Contém <c38c9ff>ouro</c> e <c38c9ff><CARD_COUNT> cartas</c>.\\nPelo menos <c38c9ff>1 épica</c> e <c38c9ff><RARE_COUNT> raras</c>.\",\"藏有<c38c9ff>金币</c>和<c38c9ff><CARD_COUNT>张卡牌</c>。\\n至少<c38c9ff>1张史诗卡</c>和<c38c9ff><RARE_COUNT>张稀有卡</c>。\",\"藏有<c38c9ff>金幣</c>和<c38c9ff><CARD_COUNT>張卡牌</c>。\\n至少<c38c9ff>1張史詩卡</c>和<c38c9ff><RARE_COUNT>張稀有卡</c>。\",\"حاوی <c38c9ff>طلا</c> و <c38c9ff><CARD_COUNT>کارت</c> هست.\\nحداقل <c38c9ff>1 مورد حماسی</c> و <c38c9ff><RARE_COUNT> مورد کمیاب</c>.\",\"Berisi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kartu</c>.\\nSetidaknya <c38c9ff>1 epik</c> dan <c38c9ff><RARE_COUNT> langka</c>.\",\"Mengandungi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kad</c>.\\nSekurang-kurangnya <c38c9ff>1 epik</c> dan <c38c9ff><RARE_COUNT> jarang</c>.\"\n\"TID_CHEST_DESCRIPTION_MULTIPLE_EPICS\",\"Contains <c38c9ff>gold</c> and <c38c9ff><CARD_COUNT> cards</c>.\\nAt least <c38c9ff><EPIC_COUNT> epics</c> and <c38c9ff><RARE_COUNT> rares</c>.\",\"Contient de l'<c38c9ff>or</c> et <c38c9ff><CARD_COUNT> cartes</c>.\\nAu moins <c38c9ff><EPIC_COUNT> épiques</c> et <c38c9ff><RARE_COUNT> rares</c>.\",\"Enthält <c38c9ff>Gold</c> und <c38c9ff><CARD_COUNT> Karten</c>.\\nMindestens <c38c9ff><EPIC_COUNT> epische</c> und <c38c9ff><RARE_COUNT> seltene</c>.\",\"Contiene <c38c9ff>oro</c> y <c38c9ff><CARD_COUNT> cartas</c>.\\n(Al menos <c38c9ff><EPIC_COUNT> épicas</c> y <c38c9ff><RARE_COUNT> especiales</c>).\",\"Contiene <c38c9ff>oro</c> e <c38c9ff><CARD_COUNT> carte</c>.\\nAlmeno <c38c9ff><EPIC_COUNT> epiche</c> e <c38c9ff><RARE_COUNT> rare</c>.\",\"Bevat <c38c9ff>goud</c> en <c38c9ff><CARD_COUNT> kaarten</c>.\\nTen minste <c38c9ff><EPIC_COUNT> epische</c> en <c38c9ff><RARE_COUNT> zeldzame</c>.\",\"Inneholder <c38c9ff>gull</c> og <c38c9ff><CARD_COUNT> kort</c>.\\nMinst <c38c9ff><EPIC_COUNT> episke</c> og <c38c9ff><RARE_COUNT> sjeldne</c>.\",\"<c38c9ff>Altın</c> ve <c38c9ff><CARD_COUNT> kart</c> içerir.\\nEn az <c38c9ff><EPIC_COUNT> destansı</c> ve <c38c9ff><RARE_COUNT> ender</c>.\",\"<c38c9ff>ゴールド</c>と<c38c9ff>カード<CARD_COUNT>枚入り。</c>\\n<c38c9ff><EPIC_COUNT>枚はスーパーレア</c>、<c38c9ff><RARE_COUNT>枚はレア</c>確定。\",\"<c38c9ff>골드</c> 및 <c38c9ff>카드 <CARD_COUNT>장이 들어있습니다</c>.\\n최소한 <c38c9ff>영웅 카드 <EPIC_COUNT>장</c> 및 <c38c9ff>희귀 카드 <RARE_COUNT>장이 포함됩니다</c>.\",\"Содержит <c38c9ff>золото</c> и <c38c9ff>карты (<CARD_COUNT> шт.)</c>.\\nМинимум <c38c9ff>эпические —<EPIC_COUNT> и</c><c38c9ff>редкие — <RARE_COUNT></c>.\",\"تحتوي على <c38c9ff>الذهب</c> و<c38c9ff><CARD_COUNT>من البطاقات</c>.\\nعلى الأقل <c38c9ff><EPIC_COUNT> من البطاقات الممتازة</c> و<c38c9ff><RARE_COUNT> من البطاقات النادرة</c>.\",\"Contém <c38c9ff>ouro</c> e <c38c9ff><CARD_COUNT> cartas</c>.\\nPelo menos <c38c9ff><EPIC_COUNT> épicas</c> e <c38c9ff><RARE_COUNT> raras</c>.\",\"藏有<c38c9ff>金币</c>和<c38c9ff><CARD_COUNT>张卡牌</c>。\\n至少<c38c9ff><EPIC_COUNT>张史诗卡</c>和<c38c9ff><RARE_COUNT>张稀有卡</c>。\",\"藏有<c38c9ff>金幣</c>和<c38c9ff><CARD_COUNT>張卡牌</c>。\\n至少<c38c9ff><EPIC_COUNT>張史詩卡</c>和<c38c9ff><RARE_COUNT>張稀有卡</c>。\",\"حاوی <c38c9ff>طلا</c> و <c38c9ff><CARD_COUNT>کارت</c>.\\nحداقل <c38c9ff><EPIC_COUNT> مورد حماسی</c>و <c38c9ff><RARE_COUNT> مورد کمیاب</c>.\",\"Berisi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kartu</c>.\\nSetidaknya <c38c9ff><EPIC_COUNT> epik</c> dan <c38c9ff><RARE_COUNT> langka</c>.\",\"Mengandungi <c38c9ff>emas</c> dan <c38c9ff><CARD_COUNT> kad</c>.\\nSekurang-kurangnya <c38c9ff><EPIC_COUNT> epik</c> dan <c38c9ff><RARE_COUNT> jarang</c>.\"\n\"TID_CHEST_WOOD\",\"Wooden Chest\",\"Coffre en bois\",\"Holztruhe\",\"Cofre de madera\",\"Baule di legno\",\"Houten kist\",\"Trekiste\",\"Tahta Sandık\",\"木の宝箱\",\"나무 상자\",\"Деревянный сундук\",\"صندوق خشبي\",\"Baú de madeira\",\"木质宝箱\",\"木質寶箱\",\"صندوق چوبی\",\"Peti Kayu\",\"Peti Berkayu\"\n\"TID_CHEST_SILVER\",\"Silver Chest\",\"Coffre en argent\",\"Silbertruhe\",\"Cofre de plata\",\"Baule d'argento\",\"Zilveren kist\",\"Sølvkiste\",\"Gümüş Sandık\",\"銀の宝箱\",\"실버 상자\",\"Серебряный сундук\",\"صندوق فضي\",\"Baú de prata\",\"白银宝箱\",\"白銀寶箱\",\"صندوق نقره‌ای\",\"Peti Perak\",\"Peti Perak\"\n\"TID_CHEST_GOLD\",\"Golden Chest\",\"Coffre en or\",\"Goldtruhe\",\"Cofre de oro\",\"Baule d'oro\",\"Gouden kist\",\"Gullkiste\",\"Altın Sandık\",\"金の宝箱\",\"골드 상자\",\"Золотой сундук\",\"صندوق ذهبي\",\"Baú de ouro\",\"黄金宝箱\",\"黃金寶箱\",\"صندوق طلایی\",\"Peti Emas\",\"Peti Emas\"\n\"TID_CHEST_MAGICAL\",\"Magical Chest\",\"Coffre magique\",\"Magietruhe\",\"Cofre mágico\",\"Baule magico\",\"Magische kist\",\"Magisk kiste\",\"Büyülü Sandık\",\"魔法の宝箱\",\"마법 상자\",\"Магический сундук\",\"صندوق سحري\",\"Baú mágico\",\"神奇宝箱\",\"神奇寶箱\",\"صندوق جادویی\",\"Peti Magis\",\"Peti Ajaib\"\n\"TID_CHEST_WOOD_NOTIFICATION\",\"Wooden Chest unlocked!\",\"Coffre en bois débloqué !\",\"Holztruhe kann geöffnet werden!\",\"¡Cofre de madera desbloqueado!\",\"Baule di legno sbloccato!\",\"Houten kist ontgrendeld!\",\"Trekiste låst opp!\",\"Tahta Sandığın kilidi açıldı!\",\"木の宝箱がアンロックされました！\",\"나무 상자 열림!\",\"Открыт деревянный сундук!\",\"تم فتح صندوق خشبي!\",\"O baú de madeira foi aberto!\",\"木质宝箱已解锁！\",\"木質寶箱已解鎖！\",\"قفل صندوق چوبی باز شد!\",\"Peti Kayu terbuka!\",\"Peti Berkayu dibuka kunci!\"\n\"TID_CHEST_SILVER_NOTIFICATION\",\"Silver Chest unlocked!\",\"Coffre en argent débloqué !\",\"Silbertruhe kann geöffnet werden!\",\"¡Cofre de plata desbloqueado!\",\"Baule d'argento sbloccato!\",\"Zilveren kist ontgrendeld!\",\"Sølvkiste låst opp!\",\"Gümüş Sandığın kilidi açıldı!\",\"銀の宝箱がアンロックされました！\",\"실버 상자 열림!\",\"Открыт серебряный сундук!\",\"تم فتح صندوق فضي!\",\"O baú de prata foi aberto!\",\"白银宝箱已解锁！\",\"白銀寶箱已解鎖！\",\"قفل صندوق نقره‌ای باز شد!\",\"Peti Perak terbuka!\",\"Peti Perak dibuka kunci!\"\n\"TID_CHEST_GOLD_NOTIFICATION\",\"Golden Chest unlocked!\",\"Coffre en or débloqué !\",\"Goldtruhe kann geöffnet werden!\",\"¡Cofre de oro desbloqueado!\",\"Baule d'oro sbloccato!\",\"Gouden kist ontgrendeld!\",\"Gullkiste låst opp!\",\"Altın Sandığın kilidi açıldı!\",\"金の宝箱がアンロックされました！\",\"골드 상자 열림!\",\"Открыт золотой сундук!\",\"تم فتح صندوق ذهبي!\",\"O baú de ouro foi aberto!\",\"黄金宝箱已解锁！\",\"黃金寶箱已解鎖！\",\"قفل صندوق طلایی باز شد!\",\"Peti Emas terbuka!\",\"Peti Emas dibuka kunci!\"\n\"TID_CHEST_MAGICAL_NOTIFICATION\",\"Magical Chest unlocked!\",\"Coffre magique débloqué !\",\"Magietruhe kann geöffnet werden!\",\"¡Cofre mágico desbloqueado!\",\"Baule magico sbloccato!\",\"Magische kist ontgrendeld!\",\"Magisk kiste opplåst!\",\"Büyülü Sandığın kilidi açıldı!\",\"魔法の宝箱がアンロックされました！\",\"마법 상자 열림!\",\"Открыт магический сундук!\",\"تم فتح صندوق سحري!\",\"Baú mágico aberto!\",\"神奇宝箱已解锁！\",\"神奇寶箱已解鎖！\",\"قفل صندوق جادویی باز شد!\",\"Peti Magis terbuka!\",\"Peti Ajaib dibuka kunci!\"\n\"TID_CHEST_INFO_GOLD\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN>-<MAX>\",\"<MIN>-<MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN>-<MAX>\",\"<MIN> - <MAX>\",\"<MIN>～<MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\",\"<MIN> - <MAX>\"\n\"TID_CHEST_INFO_CARDS\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"<COUNT> x\",\"x<COUNT>\",\"<COUNT> tane\",\"x<COUNT>\",\"x<COUNT>\",\"х <COUNT>\",\"x<COUNT>\",\"x <COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\",\"x<COUNT>\"\n\"TID_CONTAINS_AT_LEAST\",\"Contains at least:\",\"Contient au moins :\",\"Enthält mindestens:\",\"Contiene, al menos:\",\"Contiene almeno:\",\"Bevat ten minste:\",\"Inneholder minst:\",\"En az içerdiği miktar:\",\"確定レア\",\"포함된 아이템:\",\"Содержит минимум:\",\"تحتوي على الأقل\",\"Contém pelo menos:\",\"至少包含：\",\"至少含有：\",\"حداقل حاوی:\",\"Berisi setidaknya:\",\"Mengandungi sekurang-kurangnya:\"\n\"TID_COMMONS\",\"Commons\",\"Communes\",\"Gewöhnliche\",\"Comunes\",\"Comuni\",\"Gewone\",\"Vanlige\",\"Sıradan\",\"ノーマル\",\"일반 카드\",\"Обычные\",\"عادية\",\"Comuns\",\"张普通卡\",\"張普通卡\",\"مورد عادی\",\"Umum\",\"Biasa\"\n\"TID_RARES\",\"Rares\",\"Rares\",\"Seltene\",\"Especiales\",\"Rare\",\"Zeldzame\",\"Sjeldne\",\"Enderler\",\"レア\",\"희귀 카드\",\"Редкие\",\"نادر\",\"Raras\",\"张稀有卡\",\"張稀有卡\",\"موارد کمیاب\",\"Langka\",\"Jarang\"\n\"TID_EPICS\",\"Epics\",\"Épiques\",\"Epische\",\"Épicas\",\"Epiche\",\"Epische\",\"Episke\",\"Destansılar\",\"スーパーレア\",\"영웅 카드\",\"Эпические\",\"ممتاز\",\"Épicas\",\"张史诗卡\",\"張史詩卡\",\"مورد حماسی\",\"Epik\",\"Epik\"\n\"TID_FORGOT_TO_OPEN_CHEST_NOTIFICATION\",\"Oops! You forgot to unlock a chest!\",\"Aïe ! Vous avez oublié de débloquer un coffre !\",\"Upps! Du hast vergessen, eine Truhe zu öffnen!\",\"¡Uy! Se te ha olvidado desbloquear un cofre.\",\"Ops! Hai dimenticato di sbloccare un baule!\",\"Oeps! Je bent vergeten een kist te ontgrendelen!\",\"Ops! Du glemte å låse opp en kiste!\",\"Eyvah! Bir sandığın kilidini açmayı unuttun!\",\"まだアンロックしていない\\n宝箱があります！\",\"엇! 상자 여는 걸 깜박하셨어요!\",\"Опаньки! Не забудь открыть сундук!\",\"ويحي! نسيت إلغاء قفل أحد الصناديق!\",\"Ops! Você se esqueceu de abrir um baú!\",\"哎呀！您忘记解锁宝箱了！\",\"哎呀！您有待解鎖的寶箱！\",\"وای! فراموش کردی قفل یک صندوقچه رو باز کنی!\",\"Ups! Kamu lupa membuka peti!\",\"Alamak! Anda terlupa untuk membuka kunci peti!\"\n\"TID_FORGOT_TO_OPEN_CHEST_2ND_NOTIFICATION\",\"Did you forget to start unlocking a chest? Here's a reminder!\",\"Avez-vous oublié de débloquer un coffre ? Voici un rappel !\",\"Hast du vergessen, eine Truhe zu öffnen? Hier ist eine Erinnerung!\",\"¿Se te ha olvidado empezar a abrir algún cofre? ¡Pues aquí tienes un recordatorio!\",\"Hai dimenticato di iniziare a sbloccare un baule? Ecco un promemoria!\",\"Ben je vergeten een kist te ontgrendelen? Hier is een herinnering!\",\"Har du glemt at du har en kiste som kan låses opp? Her er en påminnelse!\",\"Bir sandığın kilidini açmayı mı unuttun? İşte sana hatırlatma!\",\"宝箱のアンロックを忘れていませんか？チェックしてみましょう！\",\"상자 여는 걸 잊진 않으셨나요?\",\"Забываешь открыть сундуки? А мы напоминаем!\",\"هل نسيت البدء في فتح صندوق؟ إليك تذكير!\",\"Esqueceu de iniciar a abertura de um baú? Aqui está um lembrete!\",\"别忘啦，您还有可解锁的宝箱！\",\"別忘啦，您還有可解鎖的寶箱！\",\"آیا فراموش کردی باز شدن قفل یک صندوقچه رو شروع کنی؟ این یک یادآوری هست!\",\"Lupa membuka peti? Ini pengingatnya!\",\"Adakah anda terlupa untuk mula membuka kunci peti? Ini peringatan!\"\n\"TID_FREE_CHEST_NOTIFICATION\",\"Free treasure chest is waiting for you!\",\"Un coffre au trésor gratuit vous attend !\",\"Eine kostenlose Schatztruhe erwartet dich!\",\"¡Hay cofres gratis esperándote!\",\"Un baule del tesoro in omaggio ti sta aspettando!\",\"Er wacht een gratis schatkist op je!\",\"En gratis skattkiste venter på deg!\",\"Ücretsiz hazine sandığı seni bekliyor!\",\"おまけの宝箱を開いてみましょう！\",\"무료 보물 상자가 기다리고 있습니다!\",\"Тебя ждет бесплатный сундук с сокровищами!\",\"صندوق كنز مجاني في انتظارك!\",\"Um baú do tesouro grátis espera por você!\",\"免费宝箱等您来拿！\",\"免費寶箱等您來拿！\",\"صندوق گنج رایگان منتظر توست!\",\"Peti harta karun gratis menunggumu!\",\"Peti harta karun percuma menunggu anda!\"\n\"TID_FREE_CHEST_2ND_NOTIFICATION\",\"You have a Free Chest ready to open!\",\"Un coffre gratuit est prêt à être ouvert !\",\"Du kannst eine Gratistruhe öffnen!\",\"¡Hay un cofre gratis esperando a que lo abras!\",\"Hai un baule omaggio in attesa di essere aperto!\",\"Er is een gratis kist om te openen!\",\"Du har en gratiskiste som kan åpnes!\",\"Açılmayı bekleyen Ücretsiz bir Sandığın var!\",\"おまけの宝箱があります。開けてみましょう！\",\"열지 않은 무료 상자가 있습니다!\",\"Тебя ждет бесплатный сундук!\",\"لديك صندوق مجاني في انتظار الفتح!\",\"Você tem um baú grátis pronto para ser aberto!\",\"您有一个免费宝箱尚未打开！\",\"您有一個免費寶箱尚未打開！\",\"یک صندوقچه رایگان داری که آماده باز شدن هست!\",\"Ada Peti Gratis yang siap dibuka!\",\"Anda mempunyai Peti Percuma sedia untuk dibuka!\"\n\"TID_CROWN_CHEST_NOTIFICATION\",\"Crown Chest available, time to battle!\",\"Coffre à couronne disponible, vite, au combat !\",\"Kronentruhe verfügbar - Zeit zu kämpfen!\",\"Hay un cofre de coronas disponible. ¡A luchar!\",\"Baule della corona disponibile. Inizia la battaglia!\",\"Kroonkist beschikbaar. Tijd om te vechten!\",\"Kronekiste tilgjengelig, gå i kamp!\",\"Taç Sandığı mevcut, savaş zamanı!\",\"クラウン宝箱が入手可能です。さあ、戦いましょう！\",\"크라운 상자를 열 수 있습니다. 전투를 준비하세요!\",\"Доступен королевский сундук. Пора сразиться!\",\"صندوق التاج متاح، حان وقت المعركة!\",\"Baú da coroa disponível. Hora da batalha!\",\"可以收集皇冠啦，开始对战吧！\",\"可以收集皇冠啦，開戰時刻到了！\",\"صندوقچه تاج در دسترسه، وقت نبرد هست!\",\"Peti Mahkota tersedia. Saatnya bertempur!\",\"Peti Mahkota tersedia, masa untuk bertempur!\"\n\"TID_CROWN_CHEST_2ND_NOTIFICATION\",\"Crown Chest available.\",\"Coffre à couronne disponible\",\"Kronentruhe verfügbar.\",\"¡Cofre de coronas disponible!\",\"Baule della corona disponibile.\",\"Kroonkist beschikbaar.\",\"Kronekiste tilgjengelig.\",\"Taç Sandığı mevcut.\",\"クラウン宝箱が入手可能です。\",\"크라운 상자를 열 수 있습니다.\",\"Доступен королевский сундук.\",\"صندوق التاج متاح.\",\"Baú da coroa disponível.\",\"可以收集皇冠啦。\",\"可以收集皇冠啦。\",\"صندوقچه تاج در دسترس هست.\",\"Peti Mahkota tersedia.\",\"Peti Mahkota tersedia.\"\n\"TID_REQUEST_AVAILABLE_NOTIFICATION\",\"You have a card request available!\",\"Demande de carte disponible !\",\"Du kannst deinen Clan um Karten bitten!\",\"Tienes una solicitud de carta disponible.\",\"Hai una richiesta di carte disponibile!\",\"Je kunt om een kaart vragen!\",\"Du har en kortforespørsel tilgjengelig!\",\"Bir kart isteğin var!\",\"カードをリクエストできます！\",\"카드 요청이 가능합니다!\",\"Ты можешь попросить карту!\",\"لديك طلب بطاقة متاح!\",\"Você pode pedir uma carta.\",\"您可以请求捐赠啦！\",\"您可以請求捐贈啦！\",\"یک درخواست کارت در دسترس هست!\",\"Ada permintaan kartu untukmu!\",\"Anda mempunyai permintaan kad tersedia!\"\n\"TID_REQUEST_AVAILABLE_2ND_NOTIFICATION\",\"Remember to request cards from your Clan!\",\"Pensez à demander des cartes à votre clan !\",\"Vergiss nicht, Karten von deinem Clan anzufordern!\",\"Recuerda que puedes pedir cartas a tu clan.\",\"Ricorda di richiedere carte al tuo clan!\",\"Vergeet niet om je clan om kaarten te vragen!\",\"Husk å be om kort fra klanen din!\",\"Klanından kart istemeyi unutma!\",\"クランにカードをリクエストできます！\",\"클랜에 카드 요청하는 걸 잊지 마세요!\",\"Не забудь попросить карты у клана!\",\"تذكر طلب البطاقات من قبيلتك!\",\"Lembre-se de pedir cartas ao seu clã.\",\"别忘了向部落成员请求卡牌捐贈！\",\"別忘了向部落成員請求卡牌捐贈！\",\"یادت باشه که از قبیله درخواست کارت بکنی!\",\"Jangan lupa minta kartu dari Klanmu!\",\"Jangan lupa untuk meminta kad daripada Klan anda!\"\n\"TID_VS\",\"VS\",\"contre\",\"VS.\",\"VS.\",\"VS\",\"VS\",\"MOT\",\"X\",\"VS\",\"VS\",\"ПРОТИВ\",\"ضد\",\"X\",\"VS\",\"VS\",\"در مقابل\",\"VS\",\"LWN\"\n\"TID_VICTORY\",\"VICTORY\",\"VICTOIRE\",\"SIEG\",\"VICTORIA\",\"VITTORIA\",\"OVERWINNING\",\"SEIER\",\"ZAFER\",\"勝利\",\"승리\",\"ПОБЕДА\",\"انتصار\",\"VITÓRIA\",\"胜利\",\"勝利\",\"پیروزی\",\"MENANG\",\"KEMENANGAN\"\n\"TID_DEFEAT\",\"DEFEAT\",\"DÉFAITE\",\"NIEDERLAGE\",\"DERROTA\",\"SCONFITTA\",\"NEDERLAAG\",\"NEDERLAG\",\"YENİLGİ\",\"敗北\",\"패배\",\"ПОРАЖЕНИЕ\",\"هزيمة\",\"DERROTA\",\"战败\",\"戰敗\",\"شکست\",\"KALAH\",\"KALAH\"\n\"TID_DRAW\",\"DRAW\",\"ÉGALITÉ\",\"UNENTSCHIEDEN\",\"EMPATE\",\"PAREGGIO\",\"GELIJKSPEL\",\"UAVGJORT\",\"BERABERE\",\"引き分け\",\"무승부\",\"НИЧЬЯ\",\"تعادل\",\"EMPATE\",\"平局\",\"平局\",\"تساوی\",\"SERI\",\"SERI\"\n\"TID_BUTTON_OK\",\"OK\",\"OK\",\"O. K.\",\"Vale\",\"OK\",\"OK\",\"OK\",\"TAMAM\",\"OK\",\"확인\",\"ДА\",\"موافق\",\"OK\",\"确定\",\"確定\",\"خوب\",\"Oke\",\"OK\"\n\"TID_BUTTON_NEXT\",\"Next\",\"Suivant\",\"Weiter\",\"Siguiente\",\"Avanti\",\"Volgende\",\"Neste\",\"İleri\",\"次へ\",\"다음\",\"Далее\",\"التالي\",\"Avançar\",\"下一个\",\"下一個\",\"بعدی\",\"Berikutnya\",\"Seterusnya\"\n\"TID_GOLD\",\"Gold\",\"OR\",\"Gold\",\"ORO\",\"Oro\",\"GOUD\",\"GULL\",\"Altın\",\"ゴールド\",\"골드\",\"Золото\",\"ذهب\",\"Ouro\",\"金币\",\"金幣\",\"طلا\",\"Emas\",\"Emas\"\n\"TID_DIAMONDS\",\"GEMS\",\"GEMMES\",\"JUWELEN\",\"GEMAS\",\"GEMME\",\"EDELSTENEN\",\"JUVELER\",\"Taş\",\"エメラルド\",\"보석\",\"Кристаллы\",\"جواهر\",\"GEMAS\",\"宝石\",\"寶石\",\"جواهرات\",\"PERMATA\",\"PERMATA\"\n\"TID_TROPHIES\",\"TROPHIES\",\"TROPHÉES\",\"TROPHÄEN\",\"TROFEOS\",\"TROFEI\",\"TROFEEËN\",\"TROFEER\",\"KUPALAR\",\"トロフィー\",\"트로피\",\"ТРОФЕИ\",\"كؤوس\",\"TROFÉUS\",\"奖杯\",\"獎盃\",\"جام‌ها\",\"TROFI\",\"TROFI\"\n\"TID_SHOP_DIAMONDS\",\"Gems\",\"Gemmes\",\"Juwelen\",\"Gemas\",\"Gemme\",\"Edelstenen\",\"Juveler\",\"Taş\",\"エメラルド\",\"보석\",\"Кристаллы\",\"جواهر\",\"Gemas\",\"宝石\",\"寶石\",\"جواهرات\",\"Permata\",\"Permata\"\n\"TID_COME_BACK_NOTIFICATION_SMALL\",\"Battle awaits in the Arena!\",\"Le combat vous attend dans l'arène !\",\"Die Arena erwartet dich!\",\"¡Te esperan batallas en la arena!\",\"La battaglia ti attende nell'arena!\",\"Er wacht je een gevecht in de arena!\",\"Det er kamp på gang i arenaen!\",\"Arenada savaş bekliyor!\",\"アリーナでバトルが待っています！\",\"아레나에서 전투가 기다립니다!\",\"На Арене ждет битва!\",\"تنتظرك المعركة في الساحة!\",\"Uma batalha espera por você na arena!\",\"竞技场在召唤您！\",\"競技場在召喚您！\",\"نبرد در میدان نبرد منتظر هست!\",\"Pertempuran menunggumu di Arena!\",\"Pertempuran menunggu di Arena!\"\n\"TID_COME_BACK_NOTIFICATION_MEDIUM\",\"Battle awaits in the Arena!\",\"Le combat vous attend dans l'arène !\",\"Die Arena erwartet dich!\",\"¡Te esperan batallas en la arena!\",\"La battaglia ti attende nell'arena!\",\"Er wacht je een gevecht in de arena!\",\"Det er kamp på gang i arenaen!\",\"Arenada savaş bekliyor!\",\"アリーナでバトルが待っています！\",\"아레나에서 전투가 기다립니다!\",\"На Арене ждет битва!\",\"تنتظرك المعركة في الساحة!\",\"Uma batalha espera por você na arena!\",\"竞技场在召唤您！\",\"競技場在召喚您！\",\"نبرد در میدان نبرد منتظر هست!\",\"Pertempuran menunggumu di Arena!\",\"Pertempuran menunggu di Arena!\"\n\"TID_COME_BACK_NOTIFICATION_LARGE\",\"Battle awaits in the Arena!\",\"Le combat vous attend dans l'arène !\",\"Die Arena erwartet dich!\",\"¡Te esperan batallas en la arena!\",\"La battaglia ti attende nell'arena!\",\"Er wacht je een gevecht in de arena!\",\"Det er kamp på gang i arenaen!\",\"Arenada savaş bekliyor!\",\"アリーナでバトルが待っています！\",\"아레나에서 전투가 기다립니다!\",\"На Арене ждет битва!\",\"تنتظرك المعركة في الساحة!\",\"Uma batalha espera por você na arena!\",\"竞技场在召唤您！\",\"競技場在召喚您！\",\"نبرد در میدان نبرد منتظر هست!\",\"Pertempuran menunggumu di Arena!\",\"Pertempuran menunggu di Arena!\"\n\"TID_NOT_ENOUGH_RESOURCES_TITLE\",\"Not enough gold!\",\"Pas assez d'or !\",\"Nicht genug Gold!\",\"Oro insuficiente\",\"Oro insufficiente!\",\"Niet genoeg goud!\",\"Ikke nok gull!\",\"Yeterli altın yok!\",\"ゴールドが足りません\",\"골드가 부족합니다!\",\"Нужно больше золота!\",\"لا يوجد ذهب كاف!\",\"Ouro insuficiente!\",\"金币不足！\",\"金幣不足！\",\"طلا کافی نیست!\",\"Emas tidak cukup!\",\"Tidak cukup emas!\"\n\"TID_NOT_ENOUGH_RESOURCES_TEXT\",\"Buy missing gold?\",\"Acheter l'or manquant ?\",\"Fehlendes Gold kaufen?\",\"¿Quieres comprar más?\",\"Vuoi acquistare l'oro che ti manca?\",\"Het ontbrekende goud kopen?\",\"Vil du kjøpe det gullet du mangler?\",\"Eksik altın satın alınsın mı?\",\"足りないゴールドを購入しますか？\",\"부족한 골드를 구매하시겠습니까?\",\"Докупить золото?\",\"هل تريد شراء الذهب الناقص؟\",\"Comprar o que falta de ouro?\",\"要购买缺少的金币吗？\",\"要購買缺少的金幣嗎？\",\"طلایی که کم هست رو می‌خری؟\",\"Beli emas yang kurang?\",\"Beli emas yang tiada?\"\n\"TID_NOT_ENOUGH_RESOURCES_TEXT_ROUNDED_UP\",\"Buy <GOLD> gold?\",\"Acheter <GOLD> pièces d'or ?\",\"<GOLD> Gold kaufen?\",\"¿Quieres comprar <GOLD> de oro?\",\"Acquistare <GOLD> oro?\",\"<GOLD> goud kopen?\",\"Vil du kjøpe <GOLD> gull?\",\"<GOLD> altın satın almak ister misin?\",\"<GOLD>ゴールドを購入しますか？\",\"<GOLD> 골드를 구매하시겠습니까?\",\"Купить <GOLD> золота?\",\"هل تريد شراء <GOLD> من الذهب؟\",\"Comprar <GOLD> unidades de ouro?\",\"购买<GOLD>金币？\",\"購買<GOLD>金幣？\",\"<GOLD> طلا می‌خری؟\",\"Beli <GOLD> emas?\",\"Beli <GOLD> emas?\"\n\"TID_NOT_ENOUGH_RESOURCES_TEXT_MATCHMAKING\",\"Buy <GOLD> gold and enter battle?\",\"Acheter <GOLD> pièces d'or et engager le combat ?\",\"<GOLD> Gold kaufen und kämpfen?\",\"¿Quieres comprar <GOLD> de oro y participar en la batalla?\",\"Acquistare <GOLD> oro ed entrare in battaglia?\",\"<GOLD> goud kopen en gevecht starten?\",\"Vil du kjøpe <GOLD> gull og gå i kamp?\",\"<GOLD> altın satın alıp savaşa girmek ister misin?\",\"<GOLD>ゴールドを購入してバトルに参加しますか？\",\"<GOLD> 골드를 구매하고 전투를 시작하시겠습니까?\",\"Купить <GOLD> золота и начать бой?\",\"هل تريد شراء <GOLD> من الذهب ودخول المعركة؟\",\"Comprar <GOLD> unidades de ouro e entrar na batalha?\",\"购买<GOLD>金币并开始对战？\",\"購買<GOLD>金幣並開始對戰？\",\"<GOLD> طلا می‌خری و وارد نبرد می‌شی؟\",\"Beli <GOLD> emas dan masuki pertempuran?\",\"Beli <GOLD> emas dan sertai pertempuran?\"\n\"TID_ENTER_NAME_TITLE\",\"What is your name?\",\"Quel est votre nom ?\",\"Wie lautet dein Name?\",\"¿Cómo te llamas?\",\"Qual è il tuo nome?\",\"Hoe heet je?\",\"Hva heter du?\",\"Adın ne?\",\"あなたの名前は？\",\"이름이 뭔가요?\",\"Как тебя зовут?\",\"ما اسمك؟\",\"Qual é o seu nome?\",\"取个名字吧\",\"取個名字吧\",\"اسمت چیه؟\",\"Siapa namamu?\",\"Siapakah nama anda?\"\n\"TID_OPEN_CHEST_BUTTON\",\"Tap to\\nunlock\",\"Touchez\\npour ouvrir\",\"Zum Öffnen\\nantippen\",\"Toca para\\ndesbloqueo\",\"Tocca per\\nsbloccare\",\"Tik om\\nte openen\",\"Trykk for\\nå låse opp\",\"Kilidi\\naç\",\"タップで\\nアンロック\",\"탭해서\\n열기\",\"Открой\\nкасанием\",\"انقر\\nللفتح\",\"Toque para\\nabrir\",\"点击\\n解锁\",\"點擊\\n解鎖\",\"برای باز کردن\\nضربه بزن\",\"Ketuk untuk\\nmembuka\",\"Ketik untuk\\nmembuka kunci\"\n\"TID_CLAIM_CHEST_BUTTON\",\"Open\",\"Ouvrir\",\"Öffnen\",\"Abrir\",\"Apri\",\"Open\",\"Åpen\",\"Aç\",\"開く\",\"열기\",\"Открыть\",\"فتح\",\"Aberto\",\"打开\",\"打開\",\"باز کردن\",\"Buka\",\"Buka\"\n\"TID_NOT_ENOUGH_DIAMONDS\",\"Not enough gems!\",\"Pas assez de gemmes !\",\"Nicht genug Juwelen!\",\"Gemas insuficientes\",\"Gemme insufficienti!\",\"Niet genoeg edelstenen!\",\"Ikke nok juveler!\",\"Yeterli taş yok!\",\"エメラルドが足りません！\",\"보석 부족!\",\"Мало кристаллов!\",\"لا توجد جواهر كافية!\",\"Gemas insuficientes!\",\"宝石不足！\",\"寶石不足！\",\"جواهر کافی نیست!\",\"Permata tidak cukup!\",\"Tidak cukup permata!\"\n\"TID_NAME_FAILED\",\"Sorry, try another name!\",\"Désolé, essayez un autre nom !\",\"Tut uns leid - probiere einen anderen Namen!\",\"Prueba con otro nombre.\",\"Spiacenti, prova un altro nome!\",\"Sorry, probeer een andere naam!\",\"Beklager, prøv et annet navn!\",\"Üzgünüz, başka bir ad dene!\",\"恐れ入りますが、他の名前でおねがいします。\",\"죄송합니다. 다른 이름을 입력해 보세요!\",\"Извини, попробуй лучше другое имя!\",\"عذرًا، جرّب اسمًا آخر!\",\"Por favor, tente outro nome.\",\"抱歉，请换个名字！\",\"抱歉，請換個名字！\",\"متأسفم، از یک اسم دیگه استفاده کن!\",\"Maaf, coba nama lain!\",\"Maaf, cuba nama lain!\"\n\"TID_SPELL_ITEM_LEVEL\",\"Level <NUMBER>\",\"Niveau <NUMBER>\",\"Level <NUMBER>\",\"Nivel <NUMBER>\",\"Livello <NUMBER>\",\"Level <NUMBER>\",\"Nivå <NUMBER>\",\"<NUMBER>. Seviye\",\"レベル<NUMBER>\",\"레벨 <NUMBER>\",\"Уровень <NUMBER>\",\"المستوى <NUMBER>\",\"Nível <NUMBER>\",\"<NUMBER>级\",\"<NUMBER>級\",\"سطح <NUMBER>\",\"Level <NUMBER>\",\"Tahap <NUMBER>\"\n\"TID_SPELL_ITEM_LEVEL_SHORT\",\"lvl.<NUMBER>\",\"nv <NUMBER>\",\"Lvl. <NUMBER>\",\"nvl. <NUMBER>\",\"liv. <NUMBER>\",\"lvl <NUMBER>\",\"nivå <NUMBER>\",\"<NUMBER>. sv.\",\"LV <NUMBER>\",\"lvl. <NUMBER>\",\"ур.<NUMBER>\",\"المستوى <NUMBER>\",\"nvl.<NUMBER>\",\"<NUMBER>级\",\"<NUMBER>級\",\"سطح <NUMBER>\",\"lvl.<NUMBER>\",\"thp.<NUMBER>\"\n\"TID_MATCHMAKING_TIME\",\"Estimated time <TIME>\",\"Délai estimé <TIME>\",\"Geschätzte Dauer: <TIME>\",\"Tiempo estimado: <TIME>\",\"Tempo stimato: <TIME>\",\"Geschatte tijd: <TIME>\",\"Anslått tid: <TIME>\",\"Tahmini süre: <TIME>\",\"予想待ち時間<TIME>\",\"예상 시간: <TIME>\",\"Осталось примерно: <TIME>\",\"الوقت المقدر <TIME>\",\"Tempo estimado <TIME>\",\"预计时间<TIME>\",\"預計時間<TIME>\",\"زمان تخمینی <TIME>\",\"Perkiraan waktu <TIME>\",\"Masa yang dianggarkan <TIME>\"\n\"TID_SPELL_INFO_LOG\",\"A spilt bottle of Rage turned an innocent tree trunk into \\qThe Log\\q. Now, it seeks revenge by crushing anything in its path!\",\"Un flacon de Rage renversé a changé un tronc d'arbre innocent en \\qLa bûche\\q. Maintenant, assoiffé de vengeance, ce monstre écrase tout sur son passage !\",\"Eine verschüttete Flasche Wut hat einen unschuldigen Baumstamm in das mächtige \\qKampfholz\\q verwandelt. Jetzt schreit es nach Rache und zermalmt alles, was sich ihm in den Weg stellt!\",\"Una botella de furia derramada transformó un inofensivo tronco en \\qel Tronco\\q. ¡Ahora quiere vengarse aplastando todo a su paso!\",\"Una bottiglia di Furia rovesciata ha trasformato un innocente pezzo di legno nel \\qTronco\\q. Ora cerca di placare la sua sete di vendetta schiacciando tutto ciò che incontra!\",\"Een gemorste fles Woede heeft van een onschuldig boomstammetje 'De stam' gemaakt. Uit wraak verplettert hij nu alles wat er op zijn pad komt!\",\"En sølt raseriflaske gjorde en uskyldig trestamme om til \\qtømmerstokken\\q. Nå prøver den å knuse alt i sin vei for å ta hevn.\",\"Masum bir ağaç gövdesinin Öfke ile ortadan ikiye ayrılmasıyla \\qTomruk\\q doğdu. Şimdi yoluna çıkan herkesi ezerek intikam alıyor!\",\"こぼれたレイジの呪文の影響で、切り倒された樹木が恐ろしい\\qローリングウッド\\qに姿を変えました。復讐に燃えながら、転がる先のあらゆる物体を破壊しようとしています！\",\"분노의 화신이 가만히 있던 나무토막을 \\q통나무\\q로 바꿔버렸습니다. 이 통나무는 앞을 막는 모든 걸 뭉개버리며 보복에 나섰습니다!\",\"Случайно разлитая бутылочка Ярости превратила обычное поваленное дерево в \\qБревно\\q. Оно жаждет мести, круша все на своем пути!\",\"زجاجة غضب منسكب حولت جذع شجرة ساقط إلى \\qالجذع\\q. الآن، يسعى للانتقام بسحق أي شيء في طريقه!\",\"Uma garrafa de Fúria se quebrou e transformou um tronco inocente no \\qO Tronco\\q. Agora, ele busca a vingança destruindo tudo no caminho!\",\"不小心洒出的狂暴药水将这根无辜的圆木变成了\\q复仇滚木\\q。现在，它一心复仇，挡住它去路的任何东西都会被无情地碾压！\",\"不小心灑出的狂暴藥水將這根無辜的圓木變成了\\q復仇滾木\\q。現在，它一心復仇，擋住它去路的任何東西都會被無情地碾壓！\",\"یک بطری شکسته از دعوا باعث شده یک تنه درخت بی‌آزار به \\qاین الوار\\q تبدیل بشه. حالا، می‌خواد با خرد کردن هر چیزی در سر راهش انتقام بگیره!\",\"Botol Amarah yang tumpah mengubah batang pohon tak berdosa menjadi \\qSang Kayu\\q. Sekarang, ia mau balas dendam dengan melumat apa saja yang menghadang!\",\"Botol Kemarahan tertumpah menukarkan dahan pokok yang tidak bersalah menjadi \\qKayu Balak\\q. Sekarang, ia membalas dendam dengan menghancurkan apa jua dalam laluannya!\"\n\"TID_SPELL_INFO_FIREBALL\",\"Annnnnd... Fireball. Incinerates a small area, dealing high damage. Reduced damage to Crown Towers.\",\"Et bim, une boule de feu. Incinère une petite zone, infligeant des dégâts élevés. Dégâts réduits sur les tours couronnées.\",\"Uuuund ... Feuerball. Entzündet einen kleinen Bereich, verursacht großen Schaden. Reduzierter Schaden gegen Kronentürme.\",\"¡Bum! La bola de fuego incinera un área pequeña, en la que causa un gran daño. Es menos efectiva contra las torres de coronas.\",\"E ora... la Sfera infuocata. Incenerisce un'area di piccole dimensioni, infliggendo danni elevati. Danno ridotto alle torri della corona.\",\"En een... vuurbal. Verschroeit een klein gebied, maar veroorzaakt veel schade. Kroontorens lopen minder schade op.\",\"Oooooog ... ildkule! Svir av et lite område og påfører stor skade. Mindre skade på kronetårn.\",\"Veee... Alev Topu. Küçük bir alanı yakıp kül ederek yüksek hasar verir. Taç Kulelerine daha az hasar verir.\",\"おなじみのファイアボール。小範囲を焼きつくし、敵兵士に大きなダメージを与えますが、クラウンタワーに対してはダメージが減少します。\",\"뜨겁고도 뜨거운... 불덩어리입니다. 일정 영역을 불태워 높은 피해를 주지만 크라운 타워에는 비교적 적은 피해를 줍니다.\",\"Оооооо... Огненный шар. Испепеляет небольшую зону, нанося большой урон. Повреждение королевской башни снижено.\",\"و... كرة نارية. تحرق منطقة صغيرة، وتسبب ضررًا كبيرًا. قليلة الضرر لأبراج التاج.\",\"Eeeee... Bola de Fogo! Incinera uma pequena área, causando grande dano. Dano reduzido às torres da coroa.\",\"啊啊啊啊...火球出击。它能焚烧小片区域并造成大量伤害。对皇家塔的伤害会大打折扣。\",\"啊啊啊啊...火球出擊。它能焚燒小片區域並造成大量傷害。對皇家塔的傷害會大打折扣。\",\"ووووووو... توپ آتشی. ناحیه کوچکی از میدان رو به خاکستر تبدیل می‌کنه، آسیب بالایی می‌زنه. آسیب برج‌های تاج کم می‌شه.\",\"Daaaan... Bola Api. Melalap area kecil, menimbulkan kerusakan besar. Kerusakan pada Benteng Mahkota lebih sedikit.\",\"Daaann... Bebola Api. Membakar kawasan kecil, menyebabkan kerosakan besar. Kerosakan pada Menara Mahkota dikurangkan.\"\n\"TID_SPELL_INFO_ARROWS\",\"Arrows pepper a large area, damaging all enemies hit. Reduced damage to Crown Towers.\",\"Arrose de flèches une large zone, infligeant des dégâts à tous les ennemis touchés. Dégâts réduits sur les tours couronnées.\",\"Pfeile spicken einen großen Bereich und fügen allen getroffenen Feinden Schaden zu. Reduzierter Schaden gegen Kronentürme.\",\"Las flechas afectan a una gran área e infligen daño a todos los enemigos alcanzados. Son menos efectivas contra las torres de coronas.\",\"Le Frecce piovono su un'area estesa, danneggiando i nemici che colpiscono. Danno ridotto alle torri della corona.\",\"Pijlen bestrijken een groot gebied en brengen schade toe aan alle vijanden die worden geraakt. Minder schade voor kroontorens.\",\"Piler regner ned over et stort område og skader alle fiender som blir truffet. Mindre skade på kronetårn.\",\"Oklar geniş bir alana etki ederek vurduğu tüm düşmanlara hasar verir. Taç Kulelerine daha az hasar verir.\",\"広範囲に矢の雨を降らせ、命中したすべての敵にダメージを与えます。ただしクラウンタワーに対してはダメージが減少します。\",\"화살은 넓은 지역을 공격해, 화살에 맞은 모든 적에게 피해를 줍니다. 크라운 타워에는 비교적 적은 피해를 줍니다.\",\"Стрелы покрывают большую область, нанося урон всем врагам. Повреждение королевской башни уменьшено.\",\"تمطر السهام منطقة كبيرة، ملحقةً الضرر بكل الأعداء الذين تصيبهم. وتلحق ضررًا أقل بأبراج التاج.\",\"As flechas atingem uma área extensa, danificando todos os inimigos. Dano reduzido às torres da coroa.\",\"万箭齐发可以覆盖大片区域并对其中所有敌军造成伤害。对皇家塔的伤害会大打折扣。\",\"萬箭齊發可以覆蓋大片區域並對其中所有敵軍造成傷害。對皇家塔的傷害會大打折扣。\",\"تیرها در ناحیه وسیعی پراکنده می‌شن و به همه مواضع دشمن آسیب می‌زنن. کاهش آسیب وارده به برج‌های تاج.\",\"Panah menghujani area yang luas, merusak semua musuh yang terkena. Kerusakan pada Benteng Mahkota lebih sedikit.\",\"Anak panah menghujani kawasan besar, merosakkan semua nilai nyawa musuh. Mengurangkan kerosakan terhadap Menara Mahkota.\"\n\"TID_SPELL_INFO_ARCHERS\",\"A pair of lightly armored ranged attackers. They'll help you take down ground and air units, but you're on your own with hair coloring advice.\",\"Un duo d'attaquantes à distance légèrement protégées. Elles vous aideront à éliminer les unités terrestres et aériennes, mais ne comptez pas sur elles pour vos conseils coiffure.\",\"Zwei leicht gepanzerte Fernangreifer. Sie helfen dir dabei, Boden- und Lufteinheiten auszuschalten - aber bei Tipps zum Haarefärben bist du auf dich allein gestellt.\",\"Un par de luchadoras a distancia y de armadura ligera que te ayudarán a librarte de unidades tanto aéreas como terrestres. Eso sí, lo del color de pelo ya es cosa tuya.\",\"Una coppia di attaccanti a distanza con armatura leggera. Ti aiuteranno ad abbattere unità di terra e volanti, ma non daranno consigli su come tingerti i capelli.\",\"Een paar licht bepantserde afstandsaanvallers. Ze helpen je grond- en luchteenheden uit te schakelen, maar je haar verven moet je toch echt zelf doen.\",\"Et par avstandsangripere med lett rustning. De hjelper deg med å eliminere bakke- og luftenheter, men hårfarging får du ikke noen tips om.\",\"Bir çift hafif zırhlı menzilli saldırgan. Kara ve hava birimlerini indirmene yardımcı olurlar ama saç rengi konusunda yardım bekleme.\",\"2人組の弓使いです。ヨロイは着ていませんが、地上の敵にも空中の敵にも遠隔攻撃ができます。ただし、髪を染める手伝いはお断りだそうです。\",\"경갑옷을 입은 한 쌍의 원거리 공격수입니다. 지상과 공중 유닛을 공격할 수 있지만 이 친구들에게 머리 색을 골라달라고 하진 마세요.\",\"Пара воинов дальнего боя в легкой броне. Атакуют наземные и воздушные войска, но лучше не советуйся с ними насчет цвета волос.\",\"زوج من مهاجمي المدى البعيد بدرع خفيف. سيساعدانك في هجمات الوحدات الأرضية والجوية، لكنك ستنجز وحدك تلوين شعرك.\",\"Um par de atacantes a distância, de armadura leve. Elas ajudam na batalha contra unidades terrestres e aéreas, mas não contam o segredo de seus cabelos impecáveis.\",\"擅长远程攻击的一对姐妹花，轻装上阵的她们不会放过任何陆空目标，不过可别奢望她们分享美发秘诀！\",\"擅長遠程攻擊的一對姐妹花，輕裝上陣的她們不放過所有陸空目標，不過可別奢望她們分享美髮秘訣！\",\"یک جفت از مهاجمین زره‌پوش ساده در صف. اونا به تو کمک می‌کنن به واحدهای زمینی و هوایی ضربه بزنی، اما در مورد رنگ مو همه چیز به عهده خود توست.\",\"Sepasang penyerang jarak jauh berzirah ala kadarnya. Mereka membantu menundukkan unit darat dan udara, tetapi dalam urusan mewarnai rambut, jangan terlalu berharap.\",\"Sepasang penyerang pemanah berperisai ringan. Mereka akan membantu anda mengalahkan unit darat dan udara, tetapi anda mempertahankan diri sendiri dengan nasihat pewarnaan rambut.\"\n\"TID_SPELL_INFO_SPEAR_GOBLINS\",\"Three unarmored ranged attackers. Who the heck taught these guys to throw spears!?! Who thought that was a good idea?!\",\"Trois attaquants à distance dépourvus d'armure. Qui a bien pu leur apprendre à manier la lance ? Qui a pu penser que c'était une bonne idée ?!\",\"Drei ungepanzerte Fernangreifer. Wer zum Kuckuck hat diesen Typen das Speerwerfen beigebracht?! Und wer hielt es für eine gute Idee?!\",\"Tres luchadores a distancia que atacan a pecho descubierto. ¿Quién narices decidió enseñar a estos tipos a arrojar lanzas? A ver, ¿en qué cabeza cabe que eso sea una buena idea?\",\"Tre attaccanti dalla distanza privi di armatura. Chi accidenti ha insegnato a questi tizi a scagliare lance?! Chi può aver pensato che fosse una buona idea?!\",\"Drie afstandsaanvallers zonder pantser. Wie heeft deze gasten geleerd met een speer te gooien!? Wie vond dat een goed idee!?\",\"Tre avstandsangripere uten rustning. Hvem i all verden lærte disse karene å kaste spyd? Verden har sett bedre ideer!\",\"Üç zırhsız menzilli saldırgan. Bu adamlara mızrak fırlatmayı kim öğretmiş acaba? Bunun iyi bir fikir olduğunu kim düşünmüş olabilir ki?\",\"ヨロイはなくとも、槍を使わせたら厄介なゴブリンの3人組です。まったくもう、だれがゴブリンに槍投げを教えたんでしょうね！？\",\"갑옷을 입지 않은 세 명의 원거리 공격수입니다. 도대체 누가 창을 던지라고 가르친 걸까요? 대체 어떤 멍청이가 이걸 좋은 생각이라고 내놓은 걸까요?!\",\"Три незащищенных воина дальнего боя. Кто вообще учил этих ребят метать копья?! Кто сказал, что это хорошая идея?!\",\"ثلاثة من مهاجمي المدى البعيد غير المدرعين. من علّم هؤلاء الرجال إلقاء الرماح؟! من كان يعتقد أن تلك كانت فكرة جيدة؟!\",\"Três atacantes à distância sem armadura. Quem teve a ideia de ensinar os caras a atirar lanças? Quem achou que isso daria certo?\",\"三个无护甲保护的远程进攻战士。到底是谁教会了他们扔长矛！？是谁想出的这个馊主意？！\",\"三個輕裝上陣的遠程進攻戰士。見鬼，到底是誰教會了這些傢伙扔長矛的！？這真是個餿主意！\",\"سه مهاجم بدون زره با برد محدود. کدوم احمقی به این‌ها پرتاب نیزه یاد داده؟ کی فکر کرده این کار خوبی هست؟\",\"Tiga penyerang jarak jauh tanpa zirah. Siapa sih yang mengajari mereka melempar tombak!?! Siapa bilang itu ide bagus?!\",\"Tiga penyerang berpanah dengan perisai. Siapa ajar lelaki-lelaki ini membaling lembing!?! Siapa tahu itu idea yang baik?!\"\n\"TID_SPELL_INFO_KNIGHT\",\"A tough melee fighter. The Barbarian's handsome, cultured cousin. Rumor has it that he was knighted based on the sheer awesomeness of his mustache alone.\",\"Un spécialiste du combat rapproché, cousin charmant et cultivé du barbare. On raconte que la magnificence de sa moustache a suffit à elle seule à justifier son adoubement.\",\"Ein zäher Nahkämpfer und der hübsche, kultivierte Cousin des Barbaren. Gerüchten zufolge erhielt er seinen Ritterschlag allein deswegen, weil er so einen spitzenmäßigen Schnurrbart hat.\",\"Un aguerrido luchador cuerpo a cuerpo, mucho más apuesto y culto que su primo lejano, el bárbaro. Se rumorea que el único motivo por el que fue nombrado caballero es la genialidad de su bigote.\",\"Un tenace combattente da mischia. Il cugino acculturato e affascinante del barbaro. Si dice che sia stato fatto cavaliere per via del suo spettacolare baffo da sparviero.\",\"Een taaie mêleestrijder. Het verfijnde, knappe neefje van de barbaar. Naar het schijnt, dankt hij zijn ridderschap enkel en alleen aan zijn ontzagwekkende snor.\",\"En steinhard nærkampekspert. Barbarens kjekke og dannede fetter. Ifølge ryktene var den sensasjonelt kule barten nok til at han ble han slått til ridder.\",\"Güçlü bir yakın dövüş savaşçısı. Barbarın yakışıklı, kültürlü kuzeni. Söylenenlere göre yalnızca bıyıklarının muhteşemliği yüzünden şövalye ilan edilmiş.\",\"タフで接近戦が得意な戦士です。皆様おなじみのバーバリアンが、イケメンになって文明化された感じですね。ウワサによると、ナイトになれたのはヒゲが立派だったからだとか...\",\"터프한 근접 전사입니다. 바바리안의 사촌으로 얼굴도 잘생겼고 좀 더 교양이 있죠. 오로지 멋진 콧수염 하나 덕에 기사 작위를 받았다는 소문이 있습니다.\",\"Крутой солдат ближнего боя. Милый, окультуренный родственник варвара. Ходят слухи, что его посвятили в рыцари за красивые усы.\",\"مقاتل مشاغب قوي. القريب الوسيم المثقف للبربري. يُقال إنه تم تنصيبه فارسًا بناء على روعة شاربه فقط.\",\"Um lutador resistente no corpo a corpo. O primo bonito e culto do Bárbaro. Dizem que foi nomeado cavaleiro só por causa do bigode impressionante.\",\"一位强悍的近战勇士。他是野蛮人的远亲，但是更英俊更有教养。传言说，他仅因为那拉风的胡须就受封骑士了。\",\"一位強悍的近戰勇士。他是野蠻人那更英俊又有禮的遠親。傳言說，他僅僅因為那拉風的鬍鬚就受封騎士了。\",\"یک جنگجوی سرسخت برای جنگ تن به تن که پسر عموی خوش‌تیپ و بافرهنگ بربر ها است. شایعه شده که فقط به خاطر سبیل خیلی قشنگی که داره بهش لقب شوالیه دادن.\",\"Petarung jarak dekat yang tangguh. Sepupu Orang Barbar yang tampan dan berbudaya. Rumornya, ia diangkat menjadi kesatria hanya karena kumisnya yang memukau.\",\"Pejuang pertempuran dekat yang kuat. Sepupu Orang Gasar yang kacak, berbudaya. Khabar angin mengatakan dia jadi satria semata-mata kehebatan jambangannya.\"\n\"TID_SPELL_INFO_BARBARIANS\",\"A horde of melee attackers with mean mustaches and even meaner tempers.\",\"Une horde d'attaquants de mêlée pourvus d'une moustache d'enfer et d'un tempérament tout aussi infernal.\",\"Ein Haufen Nahkämpfer mit krassen Schnurrbärten und noch krasserem Temperament.\",\"Una horda de atacantes cuerpo a cuerpo con un perverso bigote y un carácter aún peor.\",\"Un'orda di attaccanti da mischia, con baffi incattiviti e temperamenti ancora più incattiviti.\",\"Een groep mêlee-aanvallers met nijdige snorren en een nog nijdiger humeur.\",\"En horde av nærkampeksperter med tøffe barter og enda tøffere temperament.\",\"Sert bıyıklı ve öfkeli bir yapıya sahip yakın dövüş savaşçısı sürüsü.\",\"接近戦が得意な戦士の一団です。やばんな口ひげと、それよりもやばんな怒りっぽさで有名です。\",\"고약하게 생긴 수염을 달고 있으며 성격은 더 고약한 근접 공격 부대입니다.\",\"Орда воинов ближнего боя с неухоженными усами и жутким характером.\",\"حشد من المهاجمين المشاغبين بشوارب وحشية بل وحالات مزاجية أكثر شراسة.\",\"Uma horda de atacantes de corpo a corpo com bigodes terríveis e um temperamento ainda pior.\",\"四个近战战士，他们胡子邋遢，脾气更是暴躁。\",\"四個近戰戰士，他們鬍子邋遢，脾氣更是暴躁。\",\"یک گروه از جنگجویان تن به تن با سبیل‌های خفن و اعصاب خیلی خفن‌تر.\",\"Segerombolan penyerang jarak dekat dengan kumis sadis dan perangai yang bahkan lebih sadis.\",\"Segerombolan penyerang berjarak dekat dengan jambang kejam dan malahan, baran yang lebih kejam.\"\n\"TID_SPELL_INFO_GOBLINS\",\"Three fast, unarmored melee attackers. Small, fast, green and mean!\",\"Trois attaquants de mêlée rapides et sans armure. Petits, véloces, verts et méchants !\",\"Drei schnelle, ungepanzerte Nahkämpfer. Klein, flink, grün und gemein!\",\"Tres rápidos atacantes cuerpo a cuerpo sin armadura. Son pequeños, rápidos y depravados.\",\"Tre attaccanti da mischia, rapidi e privi di armatura. Piccoli, veloci, verdi e cattivi!\",\"Drie snelle mêlee-aanvallers zonder pantser. Klein, snel, groen en gemeen!\",\"Tre raske nærkampeksperter uten rustning. Små, raske, grønne og tøffe!\",\"Üç hızlı, zırhsız yakın dövüş savaşçısı. Küçük, hızlı, yeşil ve sert!\",\"接近戦にたけた、3人組のすばやい戦士です。身体は小さくヨロイもありませんが、あなどれません！\",\"갑옷을 입지 않은 세 명의 근접 공격수입니다. 작고 빠르고 시퍼런 데다 성깔도 사납기 그지없습니다!\",\"Три быстрых, незащищенных воина ближнего боя. Маленькие, шустрые, зеленые и очень вредные!\",\"ثلاثة من المهاجمين المشاغبين غير المدرعين يتميزون بالسرعة. صغر السن والسرعة وقلة الخبرة والشراسة!\",\"Três atacantes de corpo a corpo rápidos, sem armaduras. Pequenos, rápidos, verdes e malvados!\",\"三个近战攻击的小绿人，没有盔甲护身。他们身型娇小，行动迅速，且贪得无厌。\",\"三個近戰攻擊的小綠人，沒有盔甲護身。他們身型嬌小，行動迅速，且貪得無厭。\",\"سه مهاجم سریع و بدون زره برای جنگ تن به تن. کوچک، سریع، سبز و پست فطرت!\",\"Tiga penyerang jarak dekat cepat, tanpa zirah. Kecil, cepat, hijau, dan kejam!\",\"Tiga penyerang berjarak dekat pantas yang tidak berperisai. Kecil, pantas, hijau dan kejam!\"\n\"TID_SPELL_INFO_GIANT\",\"Slow but durable, only attacks buildings. A real one-man wrecking crew!\",\"Lent mais dur à cuire, il attaque uniquement les bâtiments. Une véritable équipe de démolisseurs à lui tout seul !\",\"Langsam aber robust - greift nur Gebäude an. Der Ein-Mann-Abrisstrupp!\",\"Es lento, pero resistente, y solo ataca las estructuras. ¿Habías llamado a la brigada de demolición? ¡Aquí tienes a su único miembro!\",\"Lento ma resistente, attacca solo gli edifici. Una vera squadra demolizioni di un solo uomo!\",\"Traag, maar duurzaam. Valt uitsluitend gebouwen aan. Een menselijke sloopkogel!\",\"Treg, men hardfør, og angriper bare bygninger. Et helt rivemannskap alene!\",\"Yavaş ancak dayanıklıdır ve sadece binalara saldırır. Gerçek bir tek kişilik yıkım ekibi!\",\"動きは遅いものの身体はとても頑丈で、建物だけを攻撃します。まさに「歩く重機」ですね！\",\"느리지만 맷집이 좋으며 건물만 공격합니다. 1인 부대가 따로 없죠!\",\"Медленный, но стойкий. Атакует только здания. Тот самый случай, когда один в поле воин!\",\"بطيء ولكن بقدرة تحمل كبيرة، ويهاجم المباني فقط. طاقم مدمر من رجل واحد!\",\"Lento mas durão, só ataca construções. É um trator sobre duas pernas!\",\"巨人行动缓慢，但是耐击打。他专门攻击建筑，是名副其实的人肉攻城器！\",\"巨人行動緩慢，但是耐擊打。他專門攻擊建築，是名副其實的人肉攻城器！\",\"آرام اما طولانی، فقط به ساختمون‌ها حمله می‌کنه. یک لشکر یک تنه برای تخریب!\",\"Lambat namun kokoh, hanya menyerang bangunan. Kru penghancur sejati beranggota tunggal!\",\"Perlahan tetapi tahan lasak, hanya menyerang bangunan. Benar-benar kru perseorangan yang merosakkan!\"\n\"TID_SPELL_INFO_PEKKA\",\"A heavily armored, slow melee fighter. Swings from the hip but packs a huge punch.\",\"Un combattant de mêlée peu rapide, pourvu d'une épaisse armure. Impulsif mais sacrément percutant.\",\"Ein schwer gepanzerter, langsamer Nahkämpfer mit zweifelhaftem Hüftschwung, aber großer Schlagkraft.\",\"Un luchador cuerpo a cuerpo pesado y lento. Se contonea ligeramente al andar, ¡pero atiza un puñetazo que no veas!\",\"Un combattente da mischia lento e pesantemente corazzato. Non molto preciso, ma tira sberle devastanti.\",\"Een zwaarbewapende, trage mêleestrijder. Zwaait vanuit de heup en raakt met enorme kracht.\",\"En tungt pansret og treg nærkampekspert. Ingen sofistikerte teknikker, bare et blytungt slag.\",\"Ağır bir zırha sahip, yavaş bir yakın dövüş savaşçısı. Tek bir hedefe odaklanır ama darbeleri çok güçlüdür.\",\"重厚なヨロイに身を固めた戦士で、動きは遅いものの、強烈な攻撃をくり出します。\",\"무거운 갑옷을 입어 움직임이 느린 근접 전사입니다. 휘두르는 건 느리지만 파괴력은 엄청납니다.\",\"Медленный воин ближнего боя в тяжелой броне. Бьет от бедра, зато хорошо держит удар.\",\"مقاتل مشاغب بطيء ومدرع بقوة. يتأرجح من الورك ولكن يقدم لكمات جبارة.\",\"Uma lutadora de corpo a corpo, com armadura pesada e lenta. Um pouco desequilibrada, mas com um soco de impacto.\",\"身披重甲的近战勇士，虽然她摇摆着身体，动作有点缓慢，但攻击力极高。\",\"身披重甲的近戰勇士，雖然她搖擺著身體，動作有點緩慢，但攻擊力極高。\",\"یک جنگجوی آرام با زره سنگین برای جنگ تن به تن. حرکتش برای ضربه از لگن شروع می‌شه، اما ضربه‌های وحشتناکی می‌زنه.\",\"Petarung jarak dekat lambat yang berzirah tebal. Berjalannya gemulai, tapi hantamannya dahsyat.\",\"Penyerang berjarak dekat yang berperisai kuat dan perlahan. Ayun dari pinggul tetapi memberikan tumbukan yang kuat.\"\n\"TID_SPELL_INFO_MINIONS\",\"Three fast, unarmored flying attackers. Roses are red, minions are blue, they can fly, and will crush you!\",\"Trois attaquants volants, rapides et sans armure. Les roses sont rouges et les gargouilles sont bleues, elles volent dans les cieux et zigouillent tout ce qui bouge.\",\"Drei schnelle, ungepanzerte, fliegende Angreifer. Lakai x 3 = Sauerei!\",\"Tres atacantes voladores, rápidos y desarmados. ¿Es un pájaro? ¿Es un avión? ¡No, es un superesbirro!\",\"Tre attaccanti volanti, rapidi e privi di armatura. Le rose son rosse, gli sgherri son blu, possono volare e il nemico buttar giù!\",\"Drie snelle, vliegende aanvallers zonder pantser. Rozen zijn rood, gunstelingen blauw, zij kunnen vliegen en verpletteren jou!\",\"Tre raske, flygende angripere uten rustning. Roser er røde, lakeier er blå; de kan fly og vil knuse deg!\",\"Üç hızlı, zırhsız uçan saldırgan. Güller kırmızıdır, dalkavuklar mavi, uçabilirler ve ezerler seni!\",\"ヨロイこそありませんが、素早く移動できる飛行ユニットです。鳥だ！ バルーンだ！いや、ガーゴイルだ！\",\"갑옷을 입지 않은 세 마리의 공중 공격수입니다. 장미는 붉고 미니언은 푸르며, 이들은 나비처럼 날아 벌처럼 쏠 것입니다!\",\"Трои быстрых, незащищенных воздушных воина. Розы алые, миньоны синие, рифма плохая, но тебя это не спасет!\",\"ثلاثة من المهاجمين الطائرين غير المدرعين يتميزون بالسرعة. الزهور حمراء، وكائنات المينيون زرقاء اللون، يمكنها الطيران وستسحقك بأقوى ما يكون.\",\"É um pássaro? É um avião? Não, são três atacantes voadores rápidos, sem armaduras, e eles vão acabar com você!\",\"三个行动迅速、无护甲保护的飞行进攻战士。红蔷薇，蓝部队，亡灵飞，敌尽灭！\",\"三個行動迅速、無護甲保護的飛行進攻戰士。紅薔薇，藍部隊，亡靈飛，敵盡滅！\",\"سه مهاجم هوایی سریع و بدون زره‌پوش. رزها قرمز هستند، مینیون‌ها آبی هستند، می‌تونن پرواز کنن و شما رو له خواهند کرد!\",\"Tiga penyerang terbang yang cepat, tanpa zirah. Mawar merah, minion biru, mereka bisa terbang, dan akan melumatmu!\",\"Tiga penyerang terbang yang pantas dan tidak berperisai. Bunga ros berwarna merah, konco berwarna biru, mereka boleh terbang dan akan hancurkan awak!\"\n\"TID_SPELL_INFO_MINION_HORDE\",\"Six fast, unarmored flying attackers. Three's a crowd, six is a horde!\",\"Six attaquants sans armure, rapides et volants. Leurs adversaires ne manqueront pas de voir trente-six chandelles.\",\"Sechs schnelle, ungepanzerte, fliegende Angreifer. Wenn drei schon einer zu viel sind, was ist dann erst mit sechs?\",\"Seis atacantes voladores, rápidos y desarmados. Si tres son multitud, ¡seis son una horda!\",\"Sei attaccanti volanti, rapidi e privi di armatura. Tre sono una folla, sei sono un'orda!\",\"Zes snelle, vliegende aanvallers zonder pantser. Alle goede dingen bestaan uit drie, een horde bestaat uit zes!\",\"Seks raske, flygende angripere uten rustning. Tre er en trio, seks er en horde!\",\"Altı hızlı, zırhsız uçan saldırgan. Altı kişilik sürü varken üç kişiye söz düşmez!\",\"あの素早い飛行ユニットが、なんと6体も集まりました。これはもはや群れと呼ぶべきでしょう！\",\"갑옷을 입지 않은 여섯 마리의 공중 공격수입니다. 셋은 무리지만 여섯은 패거리라고요!\",\"Шестеро быстрых, незащищенных воздушных воинов. Три — толпа, а шестеро — рать!\",\"ستة من المهاجمين الطائرين غير المدرعين يتميزون بالسرعة. ثلاثة يمثلون مجموعة، لكن ستة يمثلون حشدًا!\",\"Seis atacantes voadores rápidos, sem armadura. Três é demais, seis é uma horda!\",\"六个行动迅速、无护甲保护的飞行进攻战士。三人为伍，六人成军！\",\"六個行動迅速、無護甲保護的飛行進攻戰士。三人為伍，六人成軍！\",\"شش مهاجم پرنده سریع و بدون زره. سه‌تا میشه یک گروه، شش‌تا میشه یک لشکر!\",\"Enam penyerang terbang yang cepat, tanpa zirah. Satu itu rapuh, enam itu tangguh!\",\"Enam penyerang terbang yang pantas dan tidak berperisai. Tiga kerumunan, enam segerombolan!\"\n\"TID_SPELL_INFO_CANNON\",\"Defensive building. Shoots cannonballs with deadly effect, but cannot target flying troops.\",\"Dispositif de défense. Tire des boulets de canon aux effets meurtriers, mais ne peut pas cibler les combattants volants.\",\"Verteidigungsgebäude. Verschießt Kanonenkugeln mit tödlicher Wirkung, kann aber nicht auf fliegende Einheiten zielen.\",\"Estructura defensiva. Dispara balas de cañón con un resultado letal, pero no puede atacar a las unidades voladoras.\",\"Edificio difensivo. Spara palle di cannone con effetti mortali, ma non può bersagliare truppe volanti.\",\"Verdedigingsgebouw. Vuurt kanonskogels af met dodelijk effect, maar kan geen vliegende eenheden neerschieten.\",\"Forsvarsbygning. Skyter dødelige kanonkuler, men kan ikke angripe flygende tropper.\",\"Savunma binası. Ölümcül etkisi olan toplar fırlatır fakat uçan birlikleri hedef alamaz.\",\"防衛施設の一つです。砲弾は破壊力がバツグンですが、空中ユニットには攻撃できません。\",\"방어 시설입니다. 강력한 포탄을 발사하지만 공중의 적은 공격할 수 없습니다.\",\"Оборонное сооружение. Стреляет смертоносными пушечными ядрами, но не может целиться в летающих противников.\",\"مبنى دفاعي. يطلق طلقات المدفع بتأثير مميت، لكن لا يمكنه استهداف القوات الطائرة.\",\"Construção defensiva. Atira balas de canhões de efeito letal, mas não pode atingir tropas voadoras.\",\"防御建筑，发射致命的炮弹，但无法攻击飞行单位。\",\"防禦建築，能發射致命的炮彈，但無法攻擊飛行單位。\",\"ساختمون‌های تدافعی. گلوله توپ با تأثیر مرگبار شلیک می‌کنه، اما به نیروهای هوایی کاری نداره.\",\"Bangunan pertahanan. Menembakkan bola meriam dengan efek maut, namun tidak dapat menarget peleton terbang.\",\"Bangunan pertahanan. Menembak bebola meriam dengan kesan membawa maut, tetapi tidak boleh menyasarkan askar yang terbang.\"\n\"TID_SPELL_INFO_BARBARIAN_HUT\",\"Troop building that periodically deploys Barbarians to fight the enemy. Time to make the Barbarians.\",\"Bâtiment de combattants qui déploie régulièrement des barbares pour affronter l'ennemi. À vous les invasions barbares !\",\"Truppengebäude, das gelegentlich Barbaren gegen den Feind einsetzt. Was für eine Barbarei!\",\"Estructura de tropas que despliega bárbaros periódicamente. ¡Qué bárbaro!\",\"Edificio truppe che schiera periodicamente dei barbari per combattere il nemico. È ora di sfornare dei barbari.\",\"Troepengebouw dat tijdelijk barbaren voortbrengt om tegen de vijand te vechten. Het is tijd om barbaren te maken.\",\"Troppebygning som jevnlig utplasserer barbarer som kan slåss mot fienden. Ta fire, ta åtte, ta alle - ta en barbar!\",\"Düşmanla savaşması için belirli aralıklarla Barbar çağıran bir birlik binası. Barbarlık yapmanın tam sırası.\",\"バーバリアンを続々と出撃させるユニット兵舎の一種です。ついにバーバリアンも大量生産の時代を迎えました！\",\"주기적으로 바바리안을 내보내 적과 싸우게 하는 유닛 건물입니다. 바바리안을 내보낼 때로군요.\",\"Военное сооружение, из которого периодически выходят на бой с врагом варвары. Пора запускать варваров!\",\"مبنى قوات ينشر البرابرة بشكل دوري لمقاتلة العدو. حان الوقت لصناعة البرابرة.\",\"Construção para tropas que mobiliza Bárbaros periodicamente para lutar contra o inimigo. Hora de fazer Bárbaros!\",\"军队建筑，每隔一会儿会放出野蛮人攻击敌军。野蛮人出征！\",\"軍隊建築，會定時地放出野蠻人攻擊敵軍。野蠻人出征！\",\"سربازخونه‌ای که مرتبا بربرها رو به جنگ با دشمن می‌فرسته. وقت ساختن بربرهاست.\",\"Bangunan peleton yang secara berkala mengerahkan Orang Barbar untuk memerangi musuh. Saatnya membuat Orang Barbar.\",\"Bangunan tentera yang sekali-sekala mengerahkan Orang Gasar untuk berlawan dengan musuh. Masa untuk membuat Orang Gasar.\"\n\"TID_SPELL_INFO_GOBLIN_HUT\",\"Building that spawns Spear Goblins. But don't look inside. You don't want to see how they are made.\",\"Bâtiment qui génère des gobelins à lances. Mais ne regardez pas à l'intérieur, vous ne voulez pas savoir de quoi ils sont faits !\",\"Gebäude, das Speerkobolde ausstößt. Nicht hineinschauen! Sonst kriegst du noch mit, wie sie gemacht werden ...\",\"Estructura que genera duendes con lanza. Ni se te ocurra mirar dentro, no querrás saber de dónde salen...\",\"Edificio che genera goblin lancieri. Ma non guardarci dentro. Meglio non sapere come li fanno.\",\"Gebouw dat speerkobolden voortbrengt. Niet naar binnen kijken. Je wilt niet weten hoe ze worden gemaakt.\",\"Bygning som får spydnisser til å yngle. Men ikke se på innsiden. Du vil ikke vite hvordan de lages.\",\"Mızraklı Goblin yapan bir bina. Ama içine bakmasan iyi olur. Onların nasıl yapıldığını görmek istemezsin.\",\"槍ゴブリンが次々とわき出すユニット兵舎の一種です。でも中を見てはいけません！ ゴブリンがどんなふうに生まれてくるかなんて、知らない方が幸せですよ...\",\"창 고블린을 생성하는 건물입니다. 하지만 생성 과정이 별로 아름답진 않으니, 안을 들여다보지 마세요.\",\"Здание выпускает гоблинов-копейщиков. Не заглядывай внутрь! Откуда они берутся — зрелище не для слабонервных.\",\"مبنى يولد غيلان الرمح. ولكن لا تنظر في الداخل. لن يعجبك رؤية طريقة صناعتهم.\",\"Construção que gera Goblins Lanceiros. Mas não olhe lá dentro. Você não quer saber como são feitos.\",\"建筑，能放出哥布林投矛手。千万别往里瞧，相信我，你不会想知道他们是如何训练出来的。\",\"建築，能產生哥布林投矛手。不過千萬別往裡瞧，相信我，你不會想知道他們是如何產生出來的。\",\"ساختمونی است که گابلین نیزه‌دار تکثیر می‌کنه. اما به داخلش نگاه نکن. برای خودت بهتره که نحوه ساختشون رو نبینی.\",\"Bangunan yang menghasilkan Goblin Tombak. Namun jangan menengok ke dalam, kamu tidak akan suka melihat cara mereka dibuat.\",\"Bangunan yang mewujudkan Goblin Lembing. Tetapi, jangan lihat di dalam. Anda tidak mahu melihat cara mereka dihasilkan.\"\n\"TID_SPELL_INFO_MORTAR\",\"Defensive building with a long range. Shoots exploding boulders that deal area damage. Cannot shoot at targets that get very close!\",\"Bâtiment défensif à longue portée. Les projectiles explosifs qu'il tire infligent des dégâts de zone. Il ne peut rien contre les cibles qui s'aventurent trop près de lui.\",\"Verteidigungsgebäude mit großer Reichweite. Verschießt explosive Felsen, die Flächenschaden verursachen. Kann nicht auf nahe Ziele schießen!\",\"Estructura defensiva con un amplio radio de alcance. Lanza obuses explosivos que infligen daño de área, pero no puede disparar a objetivos muy cercanos.\",\"Edificio difensivo a lunga gittata. Spara macigni esplosivi che infliggono danno ad area. Non può sparare a bersagli molto vicini!\",\"Verdedigingsgebouw met een groot bereik. Vuurt explosieve granaten af die gebiedsschade veroorzaken. Kan geen doelwitten raken die erg dichtbij zijn!\",\"Forsvarsbygning med lang rekkevidde. Skyter eksploderende prosjektiler som forårsaker områdeskade. Kan ikke skyte på mål som har kommet veldig nært!\",\"Uzun menzilli savunma binası. Alan hasarı veren patlayıcı kayalar atar. Çok yakındaki hedeflere ateş edemez!\",\"射程の長い防衛設備です。炸裂する岩を発射して範囲ダメージを与えますが、至近距離に入った敵は攻撃できません！\",\"장거리 방어 건물입니다. 폭발하는 포탄을 발사해 넓은 영역에 피해를 줍니다. 매우 가까이 있는 적은 공격할 수 없습니다!\",\"Оборонное сооружение дальнего боя. Стреляет разрывными глыбами, наносящими урон по зоне. Не может стрелять по близким мишеням!\",\"مبنى دفاعي بمدى بعيد. يطلق صخورًا متفجرة تسبب ضررًا في المنطقة. لا يمكنه إطلاق الطلقات على الأهداف التي تقترب كثيرًا!\",\"Construção de defesa de longo alcance. Lança pedregulhos explosivos que causam dano em área. Não pode atingir alvos que chegam muito perto!\",\"射程极远的防御建筑，能发射爆炸性炮弹并造成范围伤害，无法攻击靠得太近的目标。\",\"射程極遠的防禦建築，能發射爆炸性炮彈並造成範圍傷害，無法攻擊靠得太近的目標。\",\"ساختمون دفاعی با دامنه زیاد. سنگ‌های انفجاری شلیک می‌کنه که به ناحیه آسیب می‌زنن. نمی‌تونه به اهداف خیلی نزدیک شلیک کنه!\",\"Bangunan pertahanan berjangkauan jauh. Menembakkan batu besar yang menimbulkan kerusakan area. Tidak dapat menembak target yang sangat dekat!\",\"Bangunan pertahanan dengan julat jauh. Menembak batu tongkol meletup yang menyebabkan kerosakan kawasan. Tidak boleh menembak sasaran yang sangat dekat!\"\n\"TID_SPELL_INFO_BALLOON\",\"As pretty as they are, you won't want a parade of THESE balloons showing up on the horizon. Drops powerful bombs and when shot down, crashes dealing area damage.\",\"Ils ont beau faire joli dans le ciel, vous n'avez pas envie de voir ces ballons se rassembler à l'horizon : ils lancent des bombes puissantes et, lorsqu'ils sont abattus, ils s'écrasent en infligeant des dégâts de zone.\",\"Die sind ja ganz hübsch, aber am Himmel will man die Dinger trotzdem nicht sehen. Sie lassen mächtige Bomben fallen - und wenn sie abgeschossen werden, verursachen sie beim Absturz Flächenschaden.\",\"Aunque sean todo un espectáculo, no querrás ver aparecer estos globos bombásticos por el horizonte. Lanzan potentes bombas y, al ser destruidos, se estrellan ocasionando daño de área.\",\"Saranno anche carine, ma non vedrai mai una pacifica sfilata di mongolfiere come questa. Sgancia bombe potentissime e, una volta abbattuta, si schianta infliggendo danno ad area.\",\"Hoe mooi ze ook zijn, je wilt DEZE ballonnen niet aan de horizon zien verschijnen. Ze laten krachtige bommen vallen. Als je ze neerhaalt, veroorzaken ze gebiedsschade terwijl ze te pletter slaan.\",\"Selv om det er fint med ballonger, er det ikke ønskelig at en flåte av DISSE ballongene dukker opp i horisonten. De slipper kraftige bomber og forårsaker områdeskade når de skytes ned.\",\"Ne kadar güzel görünürlerse görünsünler BU balonların uzaktan sana yaklaştığını görmek istemezsin. Güçlü bombalar atar ve vurulduğunda düşerek alan hasarı verir.\",\"エアバルーンは見ていて楽しいものですが、これがぞろぞろ現れるのはかなりまずい状況といえるでしょう。強力な爆弾を落とすだけでなく、撃ち落とされても地上に被害をもたらします。\",\"생김새는 예쁘지만, 이 풍선들이 하늘에서 나타나는 모습을 보고 싶진 않을 겁니다. 강력한 폭탄을 투하하며, 파괴 시 떨어지면서 광역 피해를 입힙니다.\",\"Выглядят они, конечно, красиво, но ты точно не обрадуешься, увидев эскадрон таких шаров на горизонте. Они сбрасывают бомбы и взрываются при уничтожении, нанося урон по зоне.\",\"رغم جمال مجموعة البالونات هذه، لن يعجبك ظهورها في الأفق. تُلقي قنابل قوية وعند ضربها وإسقاطها، تتحطم وتسبب ضررًا في المنطقة.\",\"Por mais bonitos que sejam, você não vai querer ver estes balões aparecendo no horizonte. Eles lançam bombas potentes e, quando derrubados, causam dano em área.\",\"这些气球虽然非常漂亮，但您绝不想看到他们成队出现在您的领空。他们会投掷强大的炸弹，被击落后将坠毁并造成范围伤害。\",\"這些氣球雖然非常漂亮，但您絕不想看到他們列隊出現在您的領空。他們會投擲強大的炸彈，被擊落後將墜毀並造成範圍傷害。\",\"این بالن‌ها به همون اندازه که زیبا هستن، دوست ندارین یک گروه از اونها رو در افق ببینی. بمب‌های قدرتمندی پایین می‌اندازن و وقتی سقوط کنن، آسیب زیادی به ناحیه سقوط وارد می‌کنن.\",\"Meski cantik, kamu akan gentar jika melihat parade balon INI muncul di cakrawala. Menjatuhkan bom kuat, dan jika ditembak jatuh akan menimbulkan kerusakan area.\",\"Secantik mereka, anda tidak mahu perarakan belon INI ditunjukkan di horizon. Jatuhkan bom berkuasa dan apabila ditembak, kehancuran menyebabkan kerosakan kawasan.\"\n\"TID_SPELL_INFO_WITCH\",\"Summons Skeletons, shoots destructo beams, has glowing pink eyes that unfortunately don't shoot lasers.\",\"Elle invoque des squelettes, lance des rayons destructeurs, a des yeux roses lumineux qui malheureusement n'émettent pas de lasers.\",\"Beschwört Skelette, schießt mit zerstörerischen Strahlen und hat glühende rosa Augen (die leider keine Laserstrahlen verschießen).\",\"Invoca esqueletos y dispara rayos destructores. Por desgracia, sus brillantes ojos de color rosa no disparan rayos láser.\",\"Evoca scheletri, scaglia raggi della morte e ha occhi rosa luminescenti (che però non sparano laser).\",\"Roept skeletten op, vuurt verwoestende stralen af, heeft oplichtende roze ogen die helaas geen laserstralen kunnen produceren.\",\"Tilkaller skjeletter, skyter destruksjonsstråler og har glødende rosa øyne som dessverre ikke fungerer som lasere.\",\"İskelet çağırır, yok edici ışınlar çıkarır, ne yazık ki lazer ateşlemeyen parlak pembe gözlere sahiptir.\",\"スケルトンを召喚し、破壊ビームを発射します！ ちなみに目がピンク色に光っていますが、目からビームが出るわけではありません。\",\"해골 병사를 소환하고 파괴 광선을 쏩니다. 눈은 분홍색이고 번쩍번쩍 빛도 나지만, 아쉽게도 레이저 같은 게 나가진 않습니다.\",\"Призывает скелетов, стреляет разрушительными лучами и обладает сияющими розовыми глазами, которые, к сожалению, не стреляют лазерами.\",\"يستدعي الهياكل العظمية، ويطلق أشعة مدمرة، له أعين وردية براقة لا تطلق للأسف أشعة ليزر.\",\"Evoca Esqueletos, lança raios terríveis e tem olhos rosa incandescentes que infelizmente não disparam raios laser.\",\"不仅能召唤骷髅军队，还可以发射魔法光束，只可惜那对粉光电眼无法发射激光。\",\"不僅能召喚骷髏軍隊，還可以發射破壞光束，只可惜那對粉光電眼無法發出雷射。\",\"اسکلت‌ها رو فرا می‌خونه، اشعه‌های مخرب شلیک می‌کنه، چشم‌های صورتی درخشانی داره که متأسفانه لیزر پرتاب نمی‌کنن.\",\"Memanggil Jerangkong, menembakkan sinar penghancur, memiliki mata berkilau merah muda yang sayangnya tidak menembakkan laser.\",\"Seru Rangka, tembak alur pemusnah, mempunyai mata merah jambu bersinar yang malangnya tidak menembak laser.\"\n\"TID_SPELL_INFO_GOLEM\",\"Slow but durable, only attacks buildings. When destroyed, explosively splits into two Golemites and deals area damage!\",\"Lent mais robuste, il attaque uniquement les bâtiments. Lorsqu'il est détruit, il explose, se divise en deux golemites et inflige des dégâts de zone.\",\"Langsam, aber robust. Greift nur Gebäude an. Wenn er zerstört wird, explodiert er, teilt sich in zwei Minigolems und verursacht Flächenschaden!\",\"Es lento, pero resistente, y solo ataca las estructuras. Cuando se destruye, explota y se convierte en dos golemitas que infligen daño de área.\",\"Lento ma resistente, attacca solo gli edifici. Quando viene distrutto, si divide con un'esplosione in due golemiti e infligge danno ad area!\",\"Traag, maar duurzaam. Valt uitsluitend gebouwen aan. Als hij wordt vernietigd, splitst hij explosief in twee golempjes en veroorzaakt gebiedsschade!\",\"Treg, men hardfør, angriper bare bygninger. Når den ødelegges, blir den til to golemitter og forårsaker områdeskade!\",\"Yavaş ancak dayanıklıdır ve yalnızca binalara saldırır. Yok edildiğinde patlayarak iki Golemite bölünür ve alan hasarı verir!\",\"動きは遅いものの頑丈なユニットで、建物だけを攻撃します。破壊されると爆発して周囲にダメージを与え、小型ゴーレム2体に分裂します！\",\"느리지만 맷집이 좋으며 건물만 공격합니다. 부서지면 폭발하면서 두 마리의 베이비 골렘으로 나뉘며 주위에 피해를 줍니다!\",\"Медленный, но крепкий. Нападает только на здания. При уничтожении, взрывается, превращаясь в двух големчиков и нанося урон.\",\"بطيء ولكن قوي التحمل، يهاجم المباني فقط. وعند تدميره، ينقسم بشكل متفجر إلى اثنين من كائنات غولم الصغيرة ويسبب ضررًا في المنطقة!\",\"Lento, porém resistente. Só ataca construções. Ao ser destruído, explode causando dano em área e dividindo-se em dois Golemitas!\",\"缓慢但强韧的戈仑石人只会攻击建筑。被摧毁后，他们会分裂成两个小戈仑石人，同时造成范围伤害！\",\"緩慢但強韌的戈侖石人只會攻擊建築。被摧毀後，他們會分裂成兩個小戈侖石人，同時造成範圍傷害！\",\"آرام اما طولانی، فقط به ساختمون‌ها حمله می‌کنه. پس از نابود شدن، منفجر شده و به دو گالم کوچولو تبدیل می‌شه و به ناحیه آسیب می‌زنه!\",\"Lambat namun tahan lama, hanya menyerang bangunan. Saat hancur, meledak terbelah menjadi dua Golemite dan menimbulkan kerusakan area!\",\"Perlahan tetapi tahan lasak, hanya menyerang bangunan. Apabila dihapuskan, mudah meletup terpisah menjadi dua Golemite dan menyebabkan kerosakan kawasan!\"\n\"TID_SPELL_INFO_RAGE\",\"Increases troop movement and attack speed. Buildings attack faster and summon troops quicker, too. Chaaaarge!\",\"Accélère le déplacement et la vitesse d'attaque des combattants. Les bâtiments attaquent et invoquent des troupes plus rapidement. Chaaaargez !\",\"Beschleunigt Truppenbewegungen und Angriffsgeschwindigkeit. Gebäude greifen außerdem schneller an und rufen Truppen schneller herbei. Zum Aaaaaangriff!\",\"Acelera el movimiento y el ataque de las unidades. Además, aumenta la velocidad de ataque y de generación de las estructuras de tropas. ¡A la carga!\",\"Aumenta il movimento delle truppe e la velocità di attacco. Inoltre, gli edifici attaccano e generano truppe più rapidamente. Caricaaaa!\",\"Verhoogt de verplaatsings- en aanvalssnelheid van eenheden. Gebouwen vallen sneller aan en roepen ook sneller troepen op. Aanvalluuuuh!\",\"Øker hastigheten på troppenes bevegelser og angrep. Bygninger angriper raskere og kaller inn tropper raskere. Angriiiip!\",\"Birlik hareket hızını ve saldırı hızını artırır. Binalar daha hızlı saldırır ve birlikleri daha hızlı mevzilendirir. Hücuuuum!\",\"ユニットの移動速度と攻撃速度を上昇させます。建物であれば攻撃速度が上昇し、召喚ユニットの発生間隔も短くなります。総員突撃ーっ！\",\"유닛의 이동 속도 및 공격 속도를 올려줍니다. 건물과 소환사들이 유닛을 내보내는 속도도 올라갑니다. 돌겨어어어억!\",\"Увеличивает скорость передвижения и атаки войск. Строения быстрее атакуют и призывают воинов. В атаку-у-у!\",\"يزيد حركة وسرعة هجوم القوات. تهاجم المباني بشكل أسرع وتستدعي القوات بشكل أسرع كذلك. استعدااااااااااد!\",\"Aumenta a velocidade de movimento e de ataque das tropas. Também faz construções atacar e evocar tropas mais rápido. Atacaaaar!\",\"提高军队的移动速度和攻击速度，还可以让建筑的攻击速度和出兵速度加快。冲锋吧！\",\"提高軍隊的移動速度和攻擊速度，還可以讓建築的攻擊速度和出兵速度加快。衝吧！\",\"حرکت و سرعت حمله نیروها رو افزایش می‌ده. ساختمون‌ها سریع‌تر حمله می‌کنن و سریع‌تر هم نیروها رو فرا می‌خونن. شارژ کننننن!\",\"Menambah kecepatan gerakan dan serangan peleton. Bangunan menyerang lebih cepat dan memanggil peleton lebih cepat juga. Serbuuuu!\",\"Meningkatkan pergerakan askar dan kelajuan serangan. Bangunan serang lebih cepat dan juga menyeru askar lebih cepat. Seraaangg!\"\n\"TID_SPELL_INFO_INFERNO\",\"Defensive building, roasts targets for damage that increases over time. Burns through even the biggest and toughest enemies!\",\"Ce bâtiment défensif fait rôtir ses cibles, leur infligeant des dégâts qui augmentent au fil du temps. Même les ennemis les plus imposants et robustes sont dévorés par ses flammes !\",\"Verteidigungsgebäude, das Ziele röstet und mit der Zeit mehr Schaden zufügt. Versengt selbst die größten und krassesten Feinde!\",\"Estructura defensiva que abrasa a los objetivos a fuego lento y les causa más daño con el tiempo. Es capaz de chamuscar incluso a los enemigos más grandes y resistentes.\",\"Edificio difensivo, arrostisce i bersagli con danno che aumenta nel tempo. Brucia anche i nemici più grossi e massicci!\",\"Verdedigingsgebouw. Verschroeit doelwitten waarbij de schade toeneemt na verloop van tijd. Zelfs de grootste en taaiste vijanden gaan in vlammen op!\",\"Forsvarsbygning som griller mål og påfører skade som blir større over tid. Brenner rett gjennom selv de største og tøffeste fiendene!\",\"Zamanla artan hasar vererek hedefleri kızartan savunma binası. En büyük ve zorlu düşmanları bile yakar!\",\"防衛設備の一つで、敵をこんがりと焼きあげます。ダメージは時間が経つほど大きくなるうえ、大型のタフな敵にも効果バツグンです！\",\"적들을 불태워버리는 방어 시설입니다. 공격받은 적은 시간이 지나면서 추가 피해를 입습니다. 제일 크고 튼튼한 적들도 태워버릴 수 있죠!\",\"Защитное сооружение. Поджаривает цель, и со временем урон увеличивается. Прожигает даже самых стойких врагов!\",\"مبانٍ دفاعية، تحمص الأهداف للضرر الذي يتزايد بمرور الوقت. تحرق حتى أكبر وأقوى الأعداء!\",\"Construção defensiva, cozinha seus alvos e causa danos que aumentam com o tempo. Queima até os maiores e mais resistentes inimigos!\",\"防御建筑，对目标造成的火焰伤害会随着时间而递增。再强悍的敌人到了它面前都会灰飞烟灭！\",\"防禦建築，對目標造成的火焰傷害會隨著時間而遞增。再大再強悍的敵人到了它面前都會灰飛煙滅！\",\"ساختمون دفاعی، اهداف رو برای آسیبی که با گذشته زمان بیشتر می‌شه برشته می‌کنه. حتی بزرگترین و سرسخت‌ترین دشمنان رو هم می‌سوزونه!\",\"Bangunan pertahanan, memanggang target dengan kerusakan yang semakin bertambah. Membakar musuh yang terbesar dan tertangguh sekalipun!\",\"Bangunan pertahanan, memanggang sasaran untuk kerosakan yang semakin lama semakin meningkat. Membakar malahan musuh yang paling besar dan paling kuat!\"\n\"TID_SPELL_INFO_SKELETONS\",\"Three fast, very weak melee fighters. Surround your enemies with this pile of bones!\",\"Trois combattants de mêlée, rapides mais très faibles. Encerclez vos ennemis avec ces tas d'os !\",\"Drei schnelle aber sehr schwache Nahkämpfer. Umzingle deine Feinde mit diesem Knochenhaufen!\",\"Tres luchadores cuerpo a cuerpo rápidos y muy débiles. ¡Rodea a tus enemigos con este montón de huesos!\",\"Tre combattenti da mischia rapidi e molto deboli. Circonda il nemico con questo mucchio d'ossa!\",\"Drie snelle, erg zwakke mêleestrijders. Omring je vijanden met deze stapels botten!\",\"Tre raske, men svært puslete nærkampeksperter. Omring fienden med en gjeng beinrangler!\",\"Üç hızlı, çok zayıf yakın dövüş savaşçısı. Bu kemik torbalarıyla düşmanlarının etrafını çevir!\",\"3体で一組の近接攻撃ユニットで、非常にもろいのが難点ですが、かなりの速度で移動します。要は、数で攻めればいいのです！\",\"빠르지만 비실비실한 3명의 근접 전사입니다. 무수한 뼈다귀로 적을 둘러싸버리세요!\",\"Три быстрых слабых воина ближнего боя. Окружи противника кучей костей!\",\"ثلاثة من المقاتلين المشاغبين الضعفاء جدًا يتميزون بالسرعة. حاصر الأعداء بهذه الكومة من العظام!\",\"Três lutadores de corpo a corpo fracos, porém muito velozes. Enterre seus inimigos nesta pilha de ossos!\",\"三个快速但脆弱的近战单位。用这些骷髅来围攻敌军吧！\",\"三個快速但脆弱的近戰單位。用這些骷髏來圍攻敵軍吧！\",\"سه جنگجوی سریع و خیلی ضعیف که اهل جنگ تن به تن هستن. با این توده استخوانی دشمنان خودتو احاطه کن!\",\"Tiga petarung jarak dekat yang cepat dan sangat lemah. Kepung musuhmu dengan tumpukan tulang ini!\",\"Tiga penyerang berjarak dekat pantas dan sangat lemah. Mengelilingi musuh anda dengan timbunan tulang ini!\"\n\"TID_SPELL_INFO_GIANT_SKELETON\",\"The bigger the skeleton, the bigger the bomb. Carries a bomb that blows up when the Giant Skeleton dies.\",\"Plus le squelette est imposant, plus la bombe qu'il transporte l'est aussi. Elle explose quand le squelette géant meurt.\",\"Je größer das Skelett, desto lauter der Knall. Trägt eine Bombe, die explodiert, wenn das Riesenskelett stirbt.\",\"Cuanto más grande es el esqueleto, más grande es la bomba que transporta... y que explota al morir el esqueleto gigante.\",\"Più grande è lo scheletro, più grande è la bomba. Porta con sé una carica che esplode quando lo scheletro gigante muore.\",\"Hoe groter het skelet, des te groter de bom. Draagt een bom die explodeert als het reuzenskelet sterft.\",\"Desto større skjelett, jo større bombe. Kjempeskjelettet bærer en bombe som eksploderer når det dør.\",\"İskelet ne kadar büyük olursa bomba da o kadar büyük olur. Dev İskelet, öldüğünde patlayacak olan bir bomba taşır.\",\"ボンバーより体が大きく、その分だけ大きな爆弾を運んでいます。倒されると、その場に爆弾を落として大爆発を起こします。\",\"해골이 커지면 폭탄도 커집니다. 자이언트 해골은 폭탄을 들고 다니며, 해골이 파괴되면 폭탄도 터집니다.\",\"Чем больше скелет, тем больше бомба. Этот тащит бомбу, которая взрывается при смерти гигантского скелета.\",\"كلما ازداد حجم الهيكل العظمي، سيزداد حجم القنبلة. يحمل قنبلة تنفجر عندما يموت الهيكل العظمي العملاق.\",\"Quanto maior o esqueleto, maior a bomba. Traz uma bomba que explode quando o Esqueleto Gigante morre.\",\"骷髅的个头越大，炸弹的威力就越强。骷髅巨人携带的炸弹会在它阵亡后爆炸。\",\"骷髏的個頭越大，炸彈的威力就越強。骷髏巨人攜帶的炸彈會在它陣亡後爆炸。\",\"هرچه اسکلت بزرگ‌تر، بمب هم بزرگ‌تر. بمبی رو حمل می‌کنه که در زمان مرگ اسکلت غول‌پیکر منفجر می‌شه.\",\"Semakin besar jerangkongnya, semakin besar bomnya. Membawa bom yang meledak saat Jerangkong Raksasa mati.\",\"Lebih besar rangka, lebih besar bom. Membawa bom yang meletup apabila Rangka Gergasi mati.\"\n\"TID_SPELL_INFO_VALKYRIE\",\"Tough melee fighter, deals area damage around her. Swarm or horde, no problem! She can take them all out with a few spins.\",\"Combattante de mêlée efficace qui inflige des dégâts de zone autour d'elle. Face à une horde d'ennemis, aucun problème. Elle est capable de les anéantir en quelques petits tours.\",\"Eine zähe Nahkämpferin, die rundum Flächenschaden verursacht. Ein Schwarm? Eine Horde? Kein Problem! Mit ein paar Drehungen erledigt sie alle.\",\"Una luchadora cuerpo a cuerpo de armas tomar, capaz de infligir daño de área a su alrededor. Enviadle hordas o enjambres, ¡y se los merendará sin despeinarse!\",\"Tenace combattente da mischia, infligge danno ad area intorno a sé. Sciami, orde, nessun problema! Ripulisce tutto in poche mosse.\",\"Taaie mêleestrijder. Veroorzaakt gebiedsschade in haar omgeving. Zwerm of horde, het maakt niet uit! Ze ruimt ze allemaal uit de weg met een paar keer rondtollen.\",\"Tøff nærkampekspert, forårsaker områdeskade rundt seg. Sverm eller horde, ingen problemer! Hun snurrer dem i senk, alle som en.\",\"Etrafına alan hasarı veren güçlü bir yakın dövüş savaşçısı. Sürü veya grup fark etmez! Birkaç darbeyle hepsini indirir.\",\"タフな戦士で、自分のまわりにいる敵に範囲ダメージを与えます。多数の敵に囲まれても大丈夫！ 回転攻撃で、あっという間に一掃します。\",\"터프한 근접 전사로 주변에 광역 피해를 줍니다. 무리든 패거리든 몇 번 휘둘러주면 죄다 쓸어버릴 수 있습니다!\",\"Суровый воин ближнего боя, наносящий урон вокруг себя. Толпа, орда, рать? Не проблема! Она порвет всех на кусочки парой движений.\",\"مقاتلة مشاغبة قوية، تسبب ضررًا في المنطقة حولها. سرب أو حشد، لا مشكلة! يمكنها القضاء عليهم جميعًا ببضعة دورات.\",\"Lutadora de corpo a corpo resistente, causa danos na área à sua volta. Bando ou horda, não importa! Ela derruba todos com alguns giros.\",\"强悍的近战战士，她可对周围的敌军造成范围伤害。成群结队的敌军她都不放在眼里！只需几个旋风斩就能将他们全部粉碎。\",\"強悍的近戰戰士，她可對周圍的敵軍造成範圍傷害。成群結隊的敵軍她都不放在眼裡！只要幾個旋風斬就能將他們全部粉碎。\",\"یک جنگجوی سرسخت برای جنگ تن به تن، به ناحیه اطرافش آسیب می‌زنه. یک دسته یا یک گله، مشکلی نیست! می‌تونه با چند چرخش همه اونها رو نابود کند.\",\"Petarung jarak dekat tangguh, menimbulkan kerusakan area di sekitarnya. Kawanan atau gerombolan, bukan masalah! Dia bisa mengalahkan semuanya dengan beberapa putaran.\",\"Penyerang berjarak dekat yang kuat, menyebabkan kerosakan kawasan sekelilingnya. Kerumunan atau gerombolan, tiada masalah! Dia boleh kalahkan semuanya dengan beberapa putaran.\"\n\"TID_SPELL_INFO_BOMB_TOWER\",\"Defensive building that houses a Bomber. Deals area damage to anything dumb enough to stand near it.\",\"Bâtiment défensif équipé d'un bombardier. Inflige des dégâts de zone à tout ce qui est assez bête pour l'approcher.\",\"Defensivgebäude, das einen Bomber beherbergt. Fügt allen Einheiten Schaden zu, die dumm genug sind, sich in seiner Nähe zu befinden.\",\"Estructura defensiva que alberga un bombardero. Inflige daño de área a cualquier despistado que se acerque lo suficiente.\",\"Edificio difensivo che ospita un bombarolo. Infligge danno ad area a qualsiasi cosa abbastanza stupida da stargli vicino.\",\"Verdedigingsgebouw met bommengooier. Brengt gebiedsschade toe aan iedereen die dom genoeg is om erbij in de buurt te blijven staan.\",\"Forsvarsbygning som huser en bomber. Forårsaker områdeskade på alle som er dumme nok til å stå i nærheten.\",\"Bir Bombacı barındıran savunma binası. Yakınında duracak kadar aptal olanlara alan hasarı verir.\",\"防御施設の一つです。屋上のボンバーが投げる爆弾は、うかつに近づく敵に範囲ダメージを与えます。\",\"폭탄병이 대기하는 방어 시설입니다. 조심하지 않고 가까이 다가오는 적들에게 광역 공격을 먹입니다.\",\"Защитное сооружение, в котором живет подрывник. Наносит урон всем, кто достаточно глуп, чтобы подойти поближе.\",\"مبنى دفاعي يضم المفجر. يسبب ضررًا في المنطقة لأي شيء غبي بما يكفي للتواجد بالقرب منه.\",\"Construção defensiva que aloja um bombardeiro. Causa dano em área a qualquer coisa tola o suficiente para estar perto dele.\",\"防御建筑，里面住着一个炸弹兵，会对任何蠢到接近它的笨蛋造成范围伤害。\",\"防禦建築，裡面住著一個炸彈兵，會對任何蠢到接近它的笨蛋造成範圍傷害。\",\"ساختمون دفاعی که محل یک بمب‌گذار هست. به هر احمقی که جرأت نزدیک شدن داشته باشه آسیب می‌زنه.\",\"Bangunan pertahanan berisi Pengebom. Menimbulkan kerusakan area pada siapa pun yang cukup bodoh untuk berdiri di dekatnya.\",\"Bangunan pertahanan yang terdapat Pengebom. Menyebabkan kerosakan kawasan kepada apa jua yang cukup bodoh untuk berdiri berhampirannya.\"\n\"TID_SPELL_INFO_ROCKET\",\"Deals high damage to a small area. Looks really awesome doing it. Reduced damage to Crown Towers.\",\"Inflige d'importants dégâts sur une petite zone. Et avec une classe inégalée. Dégâts réduits sur les tours couronnées.\",\"Verursacht großen Schaden in einem kleinen Bereich - und sieht einfach toll dabei aus! Reduzierter Schaden gegen Kronentürme.\",\"Inflige un gran daño en un área reducida. Mola mucho verlo en acción, pero es menos efectivo contra las torres de coronas.\",\"Infligge danno elevato a un'area di piccole dimensioni. E lo fa in maniera spettacolare. Danno ridotto alle torri della corona.\",\"Veroorzaakt veel schade op een klein gebied. Een visueel spektakel. Kroontorens lopen minder schade op.\",\"Påfører stor skade på et lite område, og det ser knalltøft ut mens det pågår. Mindre skade på kronetårn.\",\"Küçük bir alana yüksek hasar verir. Bunu yaparken süper görünür. Taç Kulelerine daha az hasar verir.\",\"小範囲に大ダメージを与えます。見ているだけで壮観ですよ！ただし、クラウンタワーに対してはダメージが減少します。\",\"좁은 영역에 큰 피해를 줍니다. 터지는 모습이 아주 볼만하지요. 크라운 타워에는 비교적 적은 피해를 줍니다.\",\"Наносит большой урон по небольшой зоне. И это выглядит мега-круто. Повреждение королевской башни снижено.\",\"تسبب ضررًا كبيرًا في منطقة صغيرة. ويبدو رائعًا أثناء القيام بذلك. ضرر منخفض لأبراج التاج.\",\"Causa dano severo em uma área pequena. E de uma forma bem impressionante. Dano reduzido à Torre da Coroa.\",\"在小范围内造成大量伤害，效果看上去很过瘾。对皇家塔的伤害会大打折扣。\",\"在小範圍內造成大量傷害，炸起來的樣子只有「賞心悅目」四個字可以形容。對皇家塔的傷害會大打折扣。\",\"به یک ناحیه کوچک آسیب زیادی وارد می‌کنه. ظاهر این کار خیلی جالبه. آسیب برج‌های تاج رو کاهش می‌ده.\",\"Menimbulkan kerusakan besar ke area kecil. Terlihat sangat keren saat melakukannya. Kerusakan pada Benteng Mahkota lebih sedikit.\",\"Menyebabkan kerosakan besar kepada kawasan kecil. Nampak agak hebat melakukannya. Kerosakan pada Menara Mahkota dikurangkan.\"\n\"TID_SPELL_INFO_GOBLIN_BARREL\",\"Spawns three Goblins anywhere in the Arena. It's going to be a thrilling ride, boys!\",\"Fait surgir trois gobelins n'importe où dans l'arène. On va s'éclater les gars !\",\"Schleudert drei Kobolde auf eine beliebige Stelle in der Arena. Guten Flug, Jungs!\",\"Genera tres duendes en cualquier parte de la arena. ¡Hacen chas y aparecen a tu lado!\",\"Genera tre goblin in un punto qualsiasi dell'arena. Ragazzi, ora ci divertiamo!\",\"Brengt drie kobolden voort op een willekeurige plek in de arena. Houd je vast, jongens!\",\"Spawner tre nisser hvor som helst i arenaen. Det kommer til å bli en forrykende tur, gutter!\",\"Arenanın herhangi bir yerine üç Goblin gönderir. Sıkı tutunun çocuklar!\",\"指定した地点に、ゴブリン3人を一気に投入します！ スリル満点のフライトになりそうですね...\",\"아레나 어디에든 고블린 세 명을 소환할 수 있습니다. 아주 짜릿한 여행이 될 거야, 친구들!\",\"Где угодно на арене появляются три гоблина. Покатаемся с ветерком, ребята!\",\"يظهر ثلاثة غيلان في أي مكان في الساحة. ستكون مغامرة مثيرة يا رجال!\",\"Gera três Goblins em qualquer lugar da Arena. Cara, isso vai ser uma viagem!\",\"可在竞技场任意地点释放三个哥布林。小伙子们，这会是趟惊险的旅程！\",\"可在競技場任一地點釋放三個哥布林。小夥子們，這會是趟驚險的旅程！\",\"سه گابلین رو در هر نقطه‌ای از میدان نبرد تکثیر می‌کنه. سواری خیلی جذابی میشه بچه‌ها!\",\"Menghasilkan tiga Goblin di mana saja di Arena. Lontarkan dan nikmati serunya, anak-anak!\",\"Mewujudkan tiga Goblin di mana-mana sahaja dalam Arena. Ia akan menjadi tunggangan mendebarkan, ayuh geng!\"\n\"TID_SPELL_INFO_SKELETON_HORDE\",\"Summons an army of Skeletons. Meet Larry and his friends Harry, Gerry, Terry, Mary, etc.\",\"Invoque une armée de squelettes. Je vous présente Kévin et ses potes Kenny, Katie, Karim, Kelly, etc.\",\"Beschwört eine Skelettarmee. Darf ich vorstellen? Larry, Harry, Gerry, Terry, Mary, Perry und so weiter und so fort.\",\"Invoca un ejército de esqueletos. Conoce a Adolfo y a sus amigos Astolfo, Rodolfo, Ataúlfo...\",\"Evoca un'armata di scheletri. Questo è Larry e questi sono i suoi amici Harry, Gerry, Terry, Mary, eccetera.\",\"Roept een skeletleger op. Maak kennis met Harry en zijn vrienden Barry, Eddy, Tommy, Mary, enzovoort.\",\"Tilkaller en armé av skjeletter. Møt Inge og vennene hans, Ingar, Ingvart, Ingve, Inghild osv.\",\"Bir İskelet ordusu çağırır. Larry ve arkadaşları Harry, Gerry, Terry, Mary vs. ile tanış.\",\"スケルトンの集団を召喚します。\\n先頭からラリー、ハリー、ゲリー、テリー、マリー...以下省略！！\",\"해골 병사들을 소환합니다. 소개해 드리죠! 래리와 그의 친구 해리, 제리, 테리, 매리......\",\"Призывает армию скелетов. Познакомься: это Ларри, Гарри, Гэрри, Тэрри, Мэрри и т. д.\",\"لاستدعاء جيش من الهياكل العظمية. تعرّف على لاري وأصدقائه هاري وجيري وتيري وماري وغيرهم.\",\"Evoca um exército de Esqueletos. Encontre Tico e seus amigos Teco, Taco, Toco, Tuco, Jorge, e cia.\",\"召唤一支骷髅大军。\\n来见见拉里和他的好哥们\\n哈里、格里、特里和玛丽一家子吧。\",\"召喚一支骷髏大軍。\\n來見見萊利和他的好夥伴們\\n哈利、蓋利、泰利和瑪莉一夥人吧。\",\"یک ارتش از اسکلت‌ها رو فرا می‌خونه. با لری و دوستانش هری، گری، تری، مری، و بقیه بچه‌ها آشنا بشو.\",\"Memanggil tentara Jerangkong. Perkenalkan Larry dan kawan-kawannya Harry, Gerry, Terry, Mary, dst.\",\"Menyeru tentera Rangka. Mari berkenalan dengan Larry dan rakannya Harry, Gerry, Terry, Mary, dll.\"\n\"TID_SPELL_INFO_BOMBER\",\"Small, lightly protected skeleton that throws bombs. Deals area damage that can wipe out a swarm of enemies.\",\"Petit squelette sans grande protection qui lance des bombes. Inflige des dégâts de zone capables d'anéantir une nuée d'ennemis.\",\"Kleines, nur leicht geschütztes Skelett, das Bomben wirft. Verursacht Flächenschaden, der einen ganzen Schwarm Feinde vernichten kann.\",\"Un esqueleto pequeño y con algo de protección que lanza bombas. Inflige daño de área que puede pulverizar un enjambre de enemigos.\",\"Scheletro di dimensioni ridotte e con armatura leggera. Scaglia bombe e infligge danno ad area in grado di spazzare via sciami di nemici.\",\"Klein skelet met lichte bescherming dat bommen gooit. Veroorzaakt gebiedsschade waarmee een zwerm vijanden kan worden uitgeschakeld.\",\"Et lite skjelett med lett rustning. Kaster bomber og forårsaker områdeskade som kan utrydde en sverm av fiender.\",\"Bomba fırlatan küçük, hafif korumalı bir iskelet. Bir düşman grubunu ortadan kaldırabilecek alan hasarı verir.\",\"うすっぺらなヨロイをつけた小さめのスケルトンで、爆弾を放りなげて敵に範囲ダメージを与えます。むらがる敵を片づけるにはうってつけです！\",\"경갑을 입고 폭탄을 던지는 작은 해골 병사입니다. 광역 피해를 주어 적들을 쓸어버릴 수 있습니다.\",\"Маленький, почти незащищенный скелетик, бросающий бомбы. Наносит урон по зоне, способный уничтожить небольшую орду.\",\"هياكل عظمية صغيرة محمية قليلاً تلقي القنابل. تسبب ضررًا في المنطقة يمكنه إزالة سرب من الأعداء.\",\"Um esqueleto pequeno, levemente protegido, que lança bombas. Causa dano em área que pode eliminar um bando de inimigos.\",\"别看这骷髅又小又脆弱，但他投掷的炸弹可会造成范围伤害，能消灭一群敌军。\",\"別看這骷髏又小又脆弱，但他投擲的炸彈可會造成範圍傷害，能消滅一群敵軍。\",\"اسکلت‌های کوچک با حفاظ خیلی سبک که بمب پرتاب می‌کنن. طوری به ناحیه آسیب می‌رسونه که می‌تونه یک لشکر از دشمن رو نابود کنه.\",\"Jerangkong kecil berpelindung ala kadarnya yang melempar bom. Menimbulkan kerusakan area yang dapat menyapu sekawanan musuh.\",\"Rangka kecil dengan sedikit perlindungan yang membaling bom. Menyebabkan kerosakan kawasan yang boleh memusnahkan kerumunan musuh.\"\n\"TID_SPELL_INFO_MUSKETEER\",\"Don't be fooled by her delicately coiffed hair, the Musketeer is a mean shot with her trusty boomstick.\",\"Ne vous laissez pas berner par sa coiffure sophistiquée. La mousquetaire atteint toujours sa cible avec son fidèle tromblon.\",\"Lass dich von der fein zurechtgemachten Frisur nicht beirren - die Musketierin lässt es gerne ordentlich knallen.\",\"Que no te engañe su estupendo peinado de peluquería, porque la mosquetera no falla ni un tiro con su fiel trabuco.\",\"Non farti ingannare dall'acconciatura delicata, il moschettiere è un tiratore infallibile con il suo bastone di tuono.\",\"Haar keurige kapsel is misleidend, want de musketier kan gemeen goed schieten.\",\"Ikke la deg narre av det velfriserte håret, for musketeren treffer som regel blink med den trauste smellpinnen.\",\"Kibar görünümlü saçına aldanma, Silahşor güvenilir tüfeği ile zorlu bir hedeftir.\",\"ゆるふわ系のヘアスタイルに惑わされてはなりません！ 彼女が愛用するマスケット銃は、おそるべき威力を秘めています。\",\"멋진 머리 모양에 속지 마세요. 그녀의 장총은 목표를 놓치는 법이 없습니다.\",\"Пусть тебя не обманывает изящная прическа с пышными локонами. Мушкетер — отличный стрелок.\",\"لا تنخدع بشعرها المصفف بدقة، فالفارسة قناصة شرسة ببندقيتها القوية.\",\"Não se deixe enganar por seu cabelo cuidadosamente penteado: a Mosqueteira é uma atiradora infalível.\",\"别被火枪手优雅的外表迷惑了，她一拿起武器可是毫不留情！\",\"別被火槍手優雅的外表迷惑了，她一拿起武器可是毫不留情！\",\"گول موهای پر پیچ و تاب خوشگلش رو نخورید، این تفنگدار با تفنگ دقیقی که داره یک تیرانداز بیرحم هست.\",\"Jangan terkecoh dengan rambutnya yang tertata rapi. Musketeer punya tembakan dahsyat dengan senapan andalannya.\",\"Jangan tertipu dengan rambut koif lembutnya, Musketeer ialah tembakan kejam dengan kayu bom yang dipercayainya.\"\n\"TID_SPELL_INFO_THREE_MUSKETEERS\",\"Trio of powerful, independent markswomen, fighting for justice and honor. Disrespecting them would not be just a mistake, it would be a cardinal sin!\",\"Trio de tireuses d'élites indépendantes et puissantes, qui luttent pour la justice et l'honneur. Leur manquer de respect ne serait pas une simple erreur, ce serait un péché capital !\",\"Ein Trio dreier starker, unabhängiger Schützinnen, die für Gerechtigkeit und Ehre kämpfen. Wer sie nicht respektiert, begeht nicht nur einen Fehler, sondern eine Todsünde!\",\"Este trío de tiradoras poderosas e independientes lucha por la justicia y el honor. Faltarles al respeto no solo sería un error, ¡también un pecado mortal!\",\"Un trio di tiratrici scelte potenti e indipendenti che combattono per l'onore e la giustizia. Sarebbe un errore mancar loro di rispetto, sarebbe un peccato capitale!\",\"Een trio van drie sterke, onafhankelijke vrouwelijke schutters, strijdend om gerechtigheid en eer. Ze respectloos behandelen is niet alleen dom, maar een doodzonde!\",\"En trio av sterke, uavhengige skarpskyttere som kjemper for rettferdighet og ære. Du tabber deg ikke bare ut om du disser dem, du gjør deg skyldig i en dødssynd!\",\"Güçlü ve özgür nişancı kadın üçlüsü adalet ve onur için savaşır. Onlara karşı saygısızlık etmek yalnızca bir hata değil, büyük bir günah olur!\",\"正義と名誉のために戦う、誇り高い３人の銃士です。彼女らに無礼をはたらく者は、タダでは済まないでしょう。それはもはや裁くべき罪なのです！\",\"세 명의 강력하고 독립적인 저격수들로 정의와 명예를 위해 싸웁니다. 이들을 무시하면 큰코다칩니다. 추기경의 권위에 대한 도전이 되니까요!\",\"Трое сильных независимых стрелков, сражающихся за справедливость и честь. Неуважение к ним — это не просто ошибка, а смертный грех!\",\"ثلاثي قوي، مقاتلات قويات مستقلات، يقاتلن من أجل العدل والشرف. عدم احترامهن لن يكون مجرد خطأ، بل بمثابة خطيئة كبرى!\",\"Um trio de mulheres poderosas e independentes que lutam por justiça e honra. Desrespeitá-las não seria somente um erro, como também um verdadeiro pecado.\",\"三位强大、独立的女神枪手，为了正义与荣耀而战。对她们不敬可不仅仅是个小错，事儿大着呢。\",\"三人一組，自立自強的霹靂嬌娃，她們為了正義和榮譽而戰。可千萬別失禮，如果惹到她們，只能說你自己找地雷踩！\",\"سه تفنگدار زن مستقل و شجاع که برای عدالت و افتخار مبارزه می‌کنن. بی احترامی به اونها نه تنها یک اشتباه بزرگ هست، بلکه یک گناه کبیره هم هست.\",\"Tiga penembak wanita yang kuat dan independen, memperjuangkan keadilan dan kehormatan. Tidak menghormati mereka bukan hanya sebuah kesalahan, tapi kesalahan besar!\",\"Tiga orang berkuasa, ahli tembak wanita bebas, berlawan untuk keadilan dan kemuliaan. Tidak menghormati mereka tidak akan menjadi kesilapan, ia akan menjadi dosa kardinal!\"\n\"TID_SPELL_INFO_FREEZE\",\"Freezes troops and buildings, making them unable to move or attack. Everybody chill.\",\"Immobilise combattants et bâtiments, qui sont alors incapables de se déplacer ou d'attaquer. Que personne ne bouge !\",\"Gefriert Einheiten und Gebäude - und wer sich nicht bewegen kann, der kann auch nicht angreifen. Alle cool bleiben.\",\"Congela y paraliza las estructuras y unidades. ¡Se te hiela la sangre con solo verlo!\",\"Congela truppe ed edifici, rendendoli incapaci di muoversi o attaccare. Agghiacciante!\",\"Bevriest eenheden en gebouwen, waardoor bewegen of aanvallen onmogelijk wordt. Lekker chillen.\",\"Fryser tropper og bygninger slik at de ikke kan bevege seg eller angripe. Vær kald og rolig nå.\",\"Birlikleri ve binaları dondurarak hareket etmelerini ve saldırmalarını engeller. Herkes donsun.\",\"ユニットや建物を凍結させ、移動も攻撃もできなくしてしまいます。勝ったつもりでいる相手のアタマを冷やすには、うってつけの呪文でしょう。\",\"유닛과 건물을 꽁꽁 얼려 움직이거나 공격하지 못하게 합니다. 그대로 멈췃!\",\"Замораживает войска и здания, не давая им атаковать. Остыньте-ка немного...\",\"يجمد القوات والمباني، يجعلها غير قادرة على الحركة أو الهجوم. فليهدأ الجميع.\",\"Congela tropas e construções, tornando-os incapazes de se mover ou atacar. Todo mundo fica frio.\",\"冻结军队和建筑，使其无法移动或攻击。瞧，敌人已经瑟瑟发抖了！\",\"凍結軍隊和建築，使其無法移動或攻擊。瞧，敵人已經瑟瑟發抖了！\",\"نیروها و ساختمون‌ها رو منجمد می‌کنه و باعث میشه دیگه امکان حرکت نداشته باشن. همه خونسرد میشن.\",\"Membekukan peleton dan bangunan, membuat mereka tak mampu bergerak atau menyerang. Brrrrr!\",\"Membekukan askar dan bangunan, membuatkan mereka tidak boleh bergerak atau menyerang. Semua orang kesejukan.\"\n\"TID_SPELL_INFO_POISON\",\"Covers the area in a deadly toxin, damaging enemy troops and buildings over time. Yet somehow leaves the grass green and healthy. Go figure!\",\"Recouvre la zone cible d'une toxine mortelle qui inflige des dégâts aux combattants et bâtiments ennemis au fil du temps. Étonnamment, l'herbe reste verte et épaisse sur son passage...\",\"Bedeckt den Zielbereich mit einem tödlichen Gift, das feindlichen Truppen und Gebäuden kontinuierlichen Schaden zufügt. Trotzdem bleibt das Gras grün und unversehrt. Wie geht das nur?\",\"Cubre la zona afectada con una toxina letal que daña a las tropas y estructuras enemigas con el paso del tiempo. Y, sin embargo, parece que al césped le va de maravilla; ¡vaya cosas!\",\"Copre l'area bersaglio con una tossina mortale, danneggiando truppe ed edifici nemici nel tempo. Eppure lascia l'erba verde e fresca. Vacci a capire qualcosa!\",\"Bedekt het doelgebied met een dodelijk gif, waardoor vijandelijke troepen en gebouwen schade oplopen naarmate de tijd verstrijkt. Gek genoeg blijft het gras groen en gezond. Bizar!\",\"Dekker området med en dødelig gift som skader fiendtlige tropper og bygninger over tid. Likevel forblir gresset grønt og sunt. Tenk det!\",\"Ölümcül bir zehirle bölgeyi kaplayarak zamanla düşman birlikleri ve binalarına hasar verir ve onları yavaşlatır. Ancak bazen çimenleri yeşil ve sağlıklı hâle getirir. Şu işe bak!\",\"目標地点の周囲に猛毒をまきちらして、ユニットや建物に継続ダメージを与えます。なぜか芝生には無害なようです。ふしぎ！\",\"지역을 치명적인 독으로 덮어 유닛과 건물에 피해를 입힙니다. 하지만 잔디에는 무해한 독이라고 하네요. 한번 써보시죠!\",\"Покрывает зону смертоносным токсином, который в течение времени наносит урон войскам и зданиям. А вот траву не портит. Поди разберись!\",\"يغطي المنطقة بسم مميت يصيب قوات ومباني الأعداء، ومع ذلك يترك العشب أخضر وبصحة جيدة. مذهل. اكتشف بنفسك!\",\"Cobre a área com uma toxina mortal, danificando tropas e construções inimigas. Mas deixa a grama verdinha e saudável. Vai entender...\",\"用致命的毒素覆盖目标区域，并对区域内的军队和建筑造成持续性伤害。但为什么毒药法术作用过的草地依然生机勃勃绿意盎然呢？猜猜看吧。\",\"用致命的毒素覆蓋目標區域，並對區域內的軍隊和建築造成持續性傷害。但為什麼毒藥法術作用過的草地依然生機勃勃綠意盎然呢？猜猜看吧。\",\"با یک سم مرگبار کل ناحیه رو می‌پوشونه، به نیروها و ساختمون‌های دشمن آسیب میزنه. با این وجود به شکلی چمن‌ها رو سالم و سبز حفظ می‌کنه. خودت ببین!\",\"Menyelimuti area dengan racun maut, merusak peleton dan bangunan musuh seiring waktu. Namun entah bagaimana rumput tetap hijau dan sehat. Kok bisa ya?\",\"Meliputi kawasan yang sangat toksin, merosakkan askar musuh dan bangunan berkali-kali. Walau bagaimanapun, menyebabkan rumput hijau dan sihat. Fikirkannya!\"\n\"TID_SPELL_INFO_BABY_DRAGON\",\"Flying troop that deals area damage. Baby dragons hatch cute, hungry and ready for a barbeque.\",\"Combattant volant qui inflige des dégâts de zone. Les bébés dragons naissent adorables, affamés et prêts pour un bon petit barbecue.\",\"Fliegende Einheiten, die Flächenschaden austeilen. Drachenbabys kommen sehr niedlich und sehr hungrig aus dem Ei - und sind verrückt nach Gegrilltem!\",\"Una unidad voladora que inflige daño de área. Cuando nacen, los bebés dragón son monísimos, pero también tienen mucha hambre y siempre les apetece un buen churrasco.\",\"Truppa volante che infligge danno ad area. I cuccioli di drago escono dall'uovo già carini, affamati e pronti per il barbecue.\",\"Vliegende eenheden die gebiedsschade veroorzaken. Babydraken kruipen schattig en hongerig uit het ei, klaar voor een barbecue.\",\"Flygende tropp som forårsaker områdeskade. Drageungene som klekkes ut, er sultne og klare for litt grilling.\",\"Alan hasarı veren uçan birlik. Yavru ejderhalar sevimli, aç ve barbekü yapmaya hazır doğarlar.\",\"範囲攻撃型の飛行ユニットです。生まれたての小さなドラゴンですが、はらぺこで、バーベキューをしたくて仕方がないようです！\",\"광역 공격을 하는 공중 유닛입니다. 베이비 드래곤은 귀엽지만 굶주렸으며 적들을 바비큐로 만들고 싶어 안달이 나 있지요.\",\"Летающий воин, наносящий урон по зоне. Маленькие драконы — вечноголодные симпатяги, мечтающие о шашлыке.\",\"قوات طائرة تسبب ضررًا في المنطقة. صغار التنانين تخرج لطيفة وجائعة وجاهزة لحفلات الشواء.\",\"Tropa voadora que causa dano em área. Bebês Dragões nascem fofos, com fome e prontos para o churrasco.\",\"可造成范围伤害的飞行单位。可爱又贪吃的飞龙宝宝已经准备好迎接烤肉大餐啦！\",\"可造成範圍傷害的飛行單位。可愛又貪吃的飛龍寶寶已經準備好迎接烤肉大餐啦！\",\"نیروی پرنده‌ای که به ناحیه آسیب می‌زنه. بچه اژدهاها وقتی از تخم در میان خیلی بانمک، گرسنه و آمده کباب کردن هستن.\",\"Peleton terbang yang menimbulkan kerusakan area. Bayi naga imut ini ditetaskan dalam keadaan lapar dan siap membuat BBQ.\",\"Askar terbang yang menyebabkan kerosakan kawasan. Naga bayi menetas comel, lapar dan sedia untuk barbeku.\"\n\"TID_SPELL_INFO_MINIPEKKA\",\"The Arena is a certified butterfly-free zone. No distractions for P.E.K.K.A, only destruction.\",\"L'arène est une zone certifiée sans papillon. Les P.E.K.K.A éviteront ainsi toute distraction et se concentreront sur la destruction.\",\"Die Arena ist eine schmetterlingsfreie Zone. Mini-P.E.K.K.A. kann sich also voll und ganz auf Zerstörung konzentrieren.\",\"La arena es una zona libre de mariposas. No debe haber ninguna distracción para el P.E.K.K.A., solo destrucción.\",\"L'arena è zona certificata libera da farfalle. Nessuna distrazione, solo distruzione per P.E.K.K.A!\",\"De arena is een officiële vlindervrije zone. Geen afleiding voor P.E.K.K.A., alleen verwoesting.\",\"Arenaen er garantert fri for sommerfugler. Ingen distraksjoner for P.E.K.K.A, bare destruksjon.\",\"Arena kelebeklerden tamamen arındırıldı. Böylece hiçbir şey P.E.K.K.A'nın dikkatini dağıtamaz, o yalnızca yok eder.\",\"アリーナ内はチョウチョの飛行禁止エリアですので、P.E.K.K.Aの気を散らすものはありません。破壊あるのみ！\",\"아레나는 나비 출입 금지구역입니다. P.E.K.K.A는 정신을 딴 데 팔지 않으면 때려부수는 데만 집중하니까요.\",\"Арена — не место для розовых очков. Никакой ерунды, только П.Е.К.К.А, только разрушение.\",\"الساحة منطقة لا مجال للمشتتات فيها إطلاقًا. لن يركز بيكا إلا على التدمير.\",\"A arena é comprovadamente uma zona sem borboletas. Nenhuma distração para Mini P.E.K.K.A, só destruição.\",\"竞技场可不是追着蝴蝶跑的地方，迷你皮卡不是来消遣的而是来消灭一切的！\",\"競技場可不是追著蝴蝶跑的地方，迷你皮卡不是來消遣的而是來消滅一切的！\",\"میدان نبرد یک ناحیه مجاز بدون پروانه هست. هیچ چیزی حواس P.E.K.K.A رو پرت نمی‌کنه، فقط به فکر ویرانیست.\",\"Arena adalah zona resmi bebas kupu-kupu. Tidak ada pengalih perhatian bagi P.E.K.K.A, yang ada hanya kehancuran.\",\"Arena ialah zon bebas rama-rama yang diperakui. Tiada gangguan untuk P.E.K.K.A, hanya kemusnahan.\"\n\"TID_SPELL_INFO_TESLA\",\"Defensive building. Whenever it's not zapping the enemy, the power of Electrickery is best kept grounded.\",\"Bâtiment défensif. Quand la tour Tesla n'électrocute pas l'ennemi, sa puissance électrisante est confinée sous terre.\",\"Verteidigungsgebäude. Wenn nicht gerade Gegner geschockt werden, sollte diese Elektrickserei am besten geerdet sein.\",\"Estructura defensiva. Si no hay ningún enemigo alrededor, prefiere resguardarse bajo tierra.\",\"Edificio difensivo. Quando non sta fulminando i nemici, il potere dell'Elettrotranello è tenuto nascosto.\",\"Verdedigingsgebouw. Wordt gebruikt om de vijand te zappen. In de ruststand dient de elek-truc-iteit te worden geaard.\",\"Forsvarsbygning. Når den ikke zapper fienden, er det best å holde elektriksitetens krefter i sjakk.\",\"Savunma binası. Düşmanı çarpmadığı anlarda elektrik gücü kullanılmasa iyi olur.\",\"防衛設備の一つです。危険なビリビリの力を使うので、敵を丸こげにしていない時は地面にしまわれています。\",\"방어 시설입니다. 적들을 구워버릴 때를 제외하면 이런 전기 시설은 땅속에 있는 게 맞겠지요.\",\"Защитное сооружение. Пока не бьет по врагам, электричество лучше заземлить.\",\"مبنى دفاعي. في حالة عدم تدمير العدو فإن قوة إليكتريكيري من الأفضل أن تبقى أرضًا.\",\"Construção defensiva. Quando o Eletruque não estiver aterrorizando o inimigo, sua energia é que deve ser aterrada.\",\"防御建筑。不用电击敌军的时候，拥有雷电之力的特斯拉电磁塔还是藏在地底会比较安全。\",\"防禦建築。不用電擊敵軍的時候，擁有雷電之力的特斯拉電磁塔還是藏在地底會比較安全。\",\"ساختمون دفاعی. هر موقع دشمن رو له و لورده می‌کنه، قدرت الکتریکری به بهترین شکل زمین‌گیر می‌شه.\",\"Bangunan pertahanan. Jika sedang tidak menyetrum musuh, kekuatan Trik Listrik sebaiknya ditanahkan.\",\"Bangunan pertahanan. Setiap kali ia tidak menghapuskan musuh, kuasa Electrickery adalah terbaik kekal dibumikan.\"\n\"TID_SPELL_INFO_WIZARD\",\"The most awesome man to ever set foot in the arena, the Wizard will blow you away with his handsomeness... and/or fireballs.\",\"Le sorcier est l'homme le plus génial a avoir franchi les portes de l'arène. Sa beauté embrasera votre cœur... tout comme ses boules de feu.\",\"Der Magier sieht so verdammt gut aus, dass es einen umhauen kann ... oder liegt das an den Feuerbällen?\",\"El mago, el tipo más maravilloso que ha pisado la arena, te hará volar por los aires con su guapería... y sus bolas de fuego.\",\"Lo stregone è l'uomo più spettacolare che abbia messo piede nell'arena, ti sorprenderà con il suo fascino... e/o qualche Sfera infuocata.\",\"De meest geweldige man die ooit de arena heeft betreden. De tovenaar zal je versteld doen staan met zijn knappe uiterlijk... en/of zijn vuurballen.\",\"Trollmannen er den tøffeste mannen som har satt sine bein i arenaen, og kan kommer til å gi deg bakoversveis med sjarmen sin ... og/eller ildkulene.\",\"Arenaya ayak basmış en süper adam olan Büyücü, yakışıklılığıyla ve/veya alev toplarıyla aklını başından alacak.\",\"アリーナに出場しているキャラクターの中でも、たぶん最もイケてる男でしょう。彼のハンサムぶりは、彼が放つファイアボールとともに語り草となっています。\",\"아레나 참전 역사상 가장 멋진 사나이, 마법사는 잘생긴 얼굴 하나만으로 여러분을 압도할 겁니다. 아, 파이어 볼도 쓸 줄 알고요.\",\"Самый крутой чувак из всех, кто когда-либо выходил на арену. Колдун сразит тебя наповал своим обаянием... или огненным шаром.\",\"أروع رجل يخطو بقدميه في الساحة، إنه الساحر، سيبهرك بوسامته... و/أو كراته النارية.\",\"O homem mais impressionante que já pisou na arena, o Mago deixará todos boquiabertos com a sua beleza, ... e/ou bolas de fogo.\",\"他是竞技场史上最酷炫的男人！他击退对手靠的就是帅气！哦，对了，还有火球术。\",\"他是競技場史上最酷炫的男人！他擊退對手靠的就是帥氣！哦，對了，還有火球術。\",\"جادوگر باحال‌ترین مردی هست که تا به حال پا به میدان نبرد گذاشته، اون یک ظاهر جذاب... و/یا گلوله‌های آتشی شما رو دیوونه خواهد کرد.\",\"Orang paling keren yang pernah menginjakkan kaki di arena. Penyihir akan memukaumu dengan ketampanannya... dan/atau bola api.\",\"Lelaki paling mengagumkan yang pernah ada di arena, Ahli Sihir akan meniup anda pergi dengan kekacakannya... dan/atau bebola api.\"\n\"TID_SPELL_INFO_ELIXIR_COLLECTOR\",\"You gotta spend Elixir to make Elixir.\",\"Il faut dépenser de l'élixir pour produire de l'élixir.\",\"Man muss Elixier investieren, um Elixier zu verdienen.\",\"Para hacer elixir se necesita elixir.\",\"Per fare elisir devi spendere elisir.\",\"Je moet elixir uitgeven om elixir te maken.\",\"Du må bruke eliksir for å lage eliksir.\",\"İksir yapmak için İksir harcamalısın.\",\"エリクサーを生み出すにもエリクサーの投資が必要なのです。\",\"엘릭서를 얻으려면 엘릭서를 투자해야 하는 법입니다.\",\"Чтобы получить эликсир, нужно потратить эликсир.\",\"يجب أن تنفق إكسيرًا لتصنع إكسيرًا.\",\"É preciso gastar elixir para produzir elixir.\",\"钱生钱，圣水生圣水。\",\"錢生錢，聖水生聖水。\",\"برای درست کردن اکسیر باید از اکسیر استفاده کنی.\",\"Kamu harus mengeluarkan Eliksir untuk membuat Eliksir.\",\"Anda perlu membelanjakan Eliksir untuk membuat Eliksir.\"\n\"TID_SPELL_INFO_XBOW\",\"Nice tower you got there. Would be a shame if this X-Bow whittled it down from this side of the Arena...\",\"Quelle jolie tour vous avez là. Il serait regrettable de voir cet arc-X la réduire en poussière depuis ce côté de l'arène...\",\"Einen schicken Turm hast du da ... Wäre doch schade, wenn dieser\\nX-Bogen ihn dem Erdboden gleichmachen würde ...\",\"¡Qué torre tan bien puesta! Sería una pena que esta ballesta la derrumbara desde el otro lado de la arena...\",\"Gran bella torre laggiù. Sarebbe proprio un peccato se questo arco-X l'abbattesse da questo lato dell'arena...\",\"Mooie toren heb je daar. Het zou jammer zijn als mijn X-boog 'm neer zou halen vanaf deze kant van de arena...\",\"Fint tårn du har der. Ville være synd om X-buen la det i ruiner fra denne siden av arenaen ...\",\"Kulen güzelmiş. Bu X-Yayı kuleni arenanın ta bu tarafından vurursa çok yazık olur.\",\"おや、素敵なタワーがありますね...\\nそのキレイな顔を、巨大クロスボウでフッ飛ばしてやりましょう！\",\"멋진 타워군. 반대편 아레나에서 이 대형 석궁으로 부숴버린다면 어떨까?\",\"Миленькая у тебя башенка! Как будет обидно, если арбалет разнесет ее с этой стороны Арены...\",\"لديك برج جميل. سيكون من المؤسف أن يدمره هذا القوس من جانب الساحة...\",\"Que bela torre você tem! Seria uma pena se esta X-Besta acabasse com ela flecha por flecha, do outro lado da arena...\",\"你的皇家塔不错啊，但这把X连弩在竞技场的这边就能把它射成筛子，真是遗憾呢......\",\"你的皇家塔還蠻不錯的，但如果是從競技場這裡，用X連弩把你的皇家塔打爆，那可就好笑了......\",\"اونجا برج زیبایی داری. خیلی بد میشه اگر کمان X از این طرف میدان نبرد نابودش کنه...\",\"Bentengmu bagus juga. Akan sangat disayangkan kalau Busur X ini menggoresnya dari Arena sisi ini...\",\"Kamu ada menara yang cantik. Memalukan jika Busur-X ini merautnya ke bawah dari sisi Arena...\"\n\"TID_SPELL_INFO_LIGHTNING\",\"Bolts of lightning damage and stun up to three enemy troops or buildings with the most hitpoints in the target area. Reduced damage to Crown Towers.\",\"La foudre étourdit et inflige des dégâts aux trois bâtiments ou combattants ennemis ayant le plus de points de vie dans la zone cible. Dégâts réduits sur les tours couronnées.\",\"Blitze beschädigen und betäuben bis zu drei gegnerische Einheiten oder Gebäude mit den meisten Trefferpunkten im Zielbereich. Reduzierter Schaden gegen Kronentürme.\",\"Estos rayos pueden infligir daño y aturdir a las tres unidades o estructuras enemigas con más puntos de vida en el área objetivo. Son menos efectivos contra las torres de coronas.\",\"Dei fulmini danneggiano e stordiscono fino a 3 truppe nemiche o edifici con il maggior numero di punti ferita nell'area bersaglio. Danno ridotto alle torri della corona.\",\"Bliksemschichten beschadigen en verdoven maximaal drie vijandelijke eenheden of gebouwen met het hoogste aantal levenspunten in het doelgebied. Kroontorens lopen minder schade op.\",\"Lynnedslag skader og svimeslår inntil tre av de fiendtlige troppene eller bygningene med flest treffpoeng i målområdet. Mindre skade på kronetårn.\",\"Yıldırım okları, hedef alandaki en çok isabet puanına sahip üç düşman birliğine ya da binasına hasar verir ve onları sersemletir. Taç Kulelerine daha az hasar verir.\",\"最大3体までの敵ユニットまたは建物を雷撃してダメージを与え、気絶させます。攻撃対象は範囲内でヒットポイントが高い順に決まります。クラウンタワーに対してはダメージが減少します。\",\"목표 지역에서 HP가 가장 높은 적이나 건물을 최대 셋까지 번개로 공격하고 마비시킵니다. 크라운 타워에는 비교적 적은 피해를 줍니다.\",\"Разряды молнии наносят урон и парализуют до трех вражеских воинов или строений, способных нанести наибольший урон. Повреждение королевской башни снижено.\",\"صواعق من البرق تضرب وتصعق حتى ثلاثة من قوات الأعداء أو المباني مع أكثر نقاط الإصابة في منطقة الهدف. ضرر منخفض لأبراج التاج.\",\"Raios atingem até três tropas ou construções inimigas com o maior número de pontos de vida na área de efeito. Dano reduzido à torre da coroa.\",\"雷电法术最多可伤害和短暂眩晕目标区域内三个生命值最高的敌军或建筑。对皇家塔的伤害会大打折扣。\",\"雷電法術最多可傷害和短暫眩暈目標區域內三個生命值最高的敵軍或建築。對皇家塔的傷害會大打折扣。\",\"رعد و برق‌ها با بالاترین میزان ضربه در ناحیه به سه نیرو یا ساختمون دشمن آسیب میزنن و اونها رو زمین‌گیر می‌کنن. آسیب برج تاج رو کم می‌کنن.\",\"Sambaran Kilat merusak dan melumpuhkan hingga tiga peleton atau bangunan musuh yang punya nyawa terbanyak di area target. Kerusakan pada Benteng Mahkota lebih sedikit.\",\"Sambaran petir merosakkan dan memegunkan sehingga tiga askar atau bangunan musuh dengan nilai nyawa paling banyak dalam kawasan sasaran. Kerosakan pada Menara Mahkota dikurangkan.\"\n\"TID_SPELL_INFO_ZAP\",\"Zaps enemies, briefly stunning them and dealing damage inside a small radius. Reduced damage to Crown Towers.\",\"Foudroie les ennemis, les étourdit brièvement et inflige des dégâts dans un faible rayon. Dégâts réduits sur les tours couronnées.\",\"Trifft Feinde, lähmt und fügt in einem kleinen Umkreis Schaden zu. Reduzierter Schaden gegen Kronentürme.\",\"La descarga inflige daño brevemente a los enemigos dentro de un radio de alcance reducido. Es menos efectiva contra las torres de coronas.\",\"Fulmina i nemici, stordendoli e infliggendo danno entro un'area limitata. Danno ridotto alle torri della corona.\",\"Zapt vijanden, verdooft ze korte tijd en veroorzaakt schade binnen een kleine straal. Kroontorens lopen minder schade op.\",\"Zapper fiender slik at de svimeslås i en liten stund, og forårsaker skade innenfor en liten radius. Mindre skade på kronetårn.\",\"Yıldırım, düşmanları kısa bir süre için sersemletip ufak bir alan içindekilere hasar verir. Taç Kulelerine daha az hasar verir.\",\"小さな円の範囲内にいる敵をビリビリ攻撃し、ダメージを与えて気絶させます。ただしクラウンタワーに対してはダメージが減少します。\",\"좁은 범위 내의 적들을 감전시키고 피해를 줍니다. 크라운 타워에는 비교적 적은 피해를 줍니다.\",\"Бьет по врагам, ненадолго парализуя и нанося урон в небольшом радиусе. Повреждение королевской башни снижено.\",\"يضرب الأعداء، يصعقهم لفترة قصيرة ويسبب الضرر في مدى صغير. ضرر مخفض لأبراج التاج.\",\"Eletrocuta e atordoa os inimigos, causando dano em uma área pequena. Dano reduzido à torre da coroa.\",\"电击法术可以对目标单位造成瞬间眩晕效果，并在小范围内造成伤害。对皇家塔的伤害会大打折扣。\",\"電擊法術可以擊中敵人並造成小範圍傷害與短暫暈眩效果。對皇家塔的傷害會大打折扣。\",\"دشمن‌ها رو له می‌کنه، برای مدت کوتاهی در داخل یک شعاع کوچیک اونها رو شکه می‌کنه. آسیب برج‌های تاج رو کاهش میده.\",\"Menyetrum musuh, melumpuhkan mereka sebentar, dan menimbulkan kerusakan di dalam radius kecil. Kerusakan pada Benteng Mahkota lebih sedikit.\",\"Menghapuskan musuh, memegunnya sekejap dan menyebabkan kerosakan dalam kawasan kecil. Kerosakan pada Menara Mahkota dikurangkan.\"\n\"TID_SPELL_INFO_TOMBSTONE\",\"Troop building that periodically deploys Skeletons to fight the enemy. When destroyed, spawns 4 Skeletons. Creepy!\",\"Bâtiment de combattants qui déploie régulièrement des squelettes pour affronter l'ennemi. Sa destruction fait surgir 4 squelettes. Terrifiant !\",\"Truppengebäude, das gelegentlich Skelette gegen den Feind einsetzt. Wenn es zerstört wird, stößt es 4 Skelette aus. Wie gruselig!\",\"Estructura de tropas que despliega esqueletos periódicamente. Al ser destruida despliega otros cuatro esqueletos. ¡Qué cadavérico!\",\"Edificio truppe che schiera periodicamente scheletri per combattere il nemico. Quando viene distrutto, genera 4 scheletri. Che paura!\",\"Troepengebouw dat om de zoveel tijd skeletten voortbrengt om tegen de vijand te vechten. Als het wordt vernietigd, verschijnen er 4 skeletten. Griezelig!\",\"Troppebygning som jevnlig utplasser skjeletter som kan slåss mot fienden. Spawner 4 skjeletter når den ødelegges. Nifst!\",\"Belirli aralıklarla düşmanla savaşacak İskeletler mevzilendiren bir birlik binası. Yok edildiğinde 4 İskelet gönderir. Korkunç!\",\"ユニット兵舎の一つで、一定時間ごとにスケルトンを出撃させます。また、破壊されるとスケルトン4体を発生させます。ブキミです！\",\"주기적으로 해골 병사를 내보내 적과 싸우게 하는 유닛 시설입니다. 파괴되면 해골 병사 4마리가 나옵니다. 징그럽게시리!\",\"Военное сооружение, из которого периодически выходят на бой с врагами скелеты. Если его уничтожают, выпускает 4 скелетов. Жуть какая!\",\"مبنى قوات ينشر الهياكل العظمية بشكل دوري لمقاتلة العدو. وعند تدميره، يولد 4 هياكل عظمية. مخيف!\",\"Construção que mobiliza Esqueletos periodicamente para lutar contra o inimigo. Ao ser destruída, gera 4 Esqueletos. Sinistro!\",\"军队建筑，每隔一会儿放出骷髅兵攻击敌军。被摧毁后会产生4个骷髅兵。有点小恐怖哦！\",\"軍隊建築，每隔一定時間會放出骷髏兵攻擊敵軍。被摧毀後會產生4個骷髏兵。恐怖喔！恐怖到了極點喔！\",\"ساختمون نیرویی که گه گاهی برای نبرد با دشمن از اسکت‌ها استفاده می‌کنه. وقتی نابود بشه، 4 اسکلت تکثیر می‌کنه. چقدر چندش!\",\"Bangunan peleton yang secara berkala mengerahkan Jerangkong untuk memerangi musuh. Saat hancur, menghasilkan 4 Jerangkong. Seram!\",\"Bangunan askar yang sekali-sekala mengerahkan Rangka untuk berlawan dengan musuh. Apabila dimusnahkan, mewujudkan 4 Rangka. Menakutkan!\"\n\"TID_SPELL_INFO_HOG_RIDER\",\"Fast melee troop that targets buildings and can jump over the river. He followed the echoing call of \\qHog Riderrrrr\\q all the way through the Arena doors.\",\"Combattant de mêlée rapide visant les bâtiments, capable de sauter par-dessus la rivière. S'il entend crier « Chevaucheur de cochooon », il répond à l'appel jusque dans l'arène.\",\"Schnelle Nahkampfeinheit, die Gebäude ins Visier nimmt und über den Fluss springen kann. Er folgt dem Ruf des Kampfes bis durch die Tore der Arena.\",\"Unidad cuerpo a cuerpo rápida que ataca las estructuras y puede saltar el río. Sigue la llamada del montapuercos de una puerta de la arena a la otra.\",\"Rapida truppa da mischia che bersaglia edifici e può saltare oltre il fiume. Ha seguito il richiamo dei domatori di cinghialiiiii fino all'arena.\",\"Snelle mêlee-eenheid die gebouwen aanvalt en over de rivier kan springen. Hij knort vervaarlijk op zijn weg naar de arenadeuren.\",\"Rask nærkampekspert som går etter bygninger og kan hoppe over elven. Han har fulgt det gjallende ropet \\qvillsvinrytterrrrr\\q hele veien til arenaens porter.\",\"Binaları hedef alan ve nehir üstünden atlayabilen, hızlı bir yakın dövüş birliği. Arena kapısına kadar \\qDomuz Binicisiiiiii\\q sesini takip ederek gelmiştir.\",\"建物を攻撃する近接攻撃ユニットで移動速度が非常に速く、なんと川を跳びこえることができます。ウワサでは、「ホグライダーー！」という呼び声に応じて現れるのだとか...\",\"건물을 노려 공격하는 빠른 근접 유닛으로, 강을 뛰어넘을 수 있습니다. \\q호그 라이더어어어\\q라고 부르는 소리를 듣고 아레나까지 부리나케 뛰어왔다는군요.\",\"Быстрый воин ближнего боя, атакует здания и может перепрыгнуть реку. Он следует зову заклинания \\qВсадник на кабанееее\\q через всю арену.\",\"قوات مشاغبة سريعة تستهدف المباني ويمكنها القفز عبر النهر. اتبع النداء المردد \\qلراكب الخنزير\\q عبر أبواب الساحة.\",\"Tropa rápida de corpo a corpo que alveja construções e pode pular sobre o rio. Veio para a batalha atendendo ao chamado de outro \\qCorredor\\q.\",\"行动迅速的近战部队，以建筑作为攻击目标，可以跳过河流。\\n他会追随着同伴的召唤声一路冲向竞技场。\",\"行動迅速的近戰部隊，他們會以建築物為目標，還能跳過河流。他們追隨著「野豬騎士來喔～」的回音而來，一路衝向競技場。\",\"نیروی سریع جنگ تن به تن که به ساختمون‌ها حمله می‌کنه و می‌تونه از روی رودخانه پرش کنه. تمام مسیر از وسط درهای میدان نبرد دنبال صدای اکودار \\qخوک سوارررر\\q میره.\",\"Peleton jarak dekat cepat yang menarget bangunan dan dapat melompati sungai. Dia mengikuti gema panggilan \\qPenunggang Babiiii\\q sampai ke pintu Arena.\",\"Askar melee pantas yang menyasarkan bangunan dan boleh melangkau sungai. Dia telah mengikuti panggilan gema \\qPenunggang Khinzirrrrr\\q sepanjang pintu Arena.\"\n\"TID_SPELL_INFO_PRINCESS\",\"This stunning Princess shoots flaming arrows from long range. If you're feeling warm feelings towards her, it's probably because you're on fire.\",\"La sublime princesse décoche des flèches enflammées à longue portée. Si vous avez l'impression de vous consumer pour elle, c'est probablement que vous êtes en feu.\",\"Diese wunderschöne Prinzessin schießt flammende Pfeile aus großer Distanz. Wer eine gewisse Wärme für sie verspürt, wurde wahrscheinlich schon von ihr in Brand gesetzt.\",\"Esta despampanante princesa lanza una lluvia de flechas ardientes desde una gran distancia. Si te despierta sentimientos cálidos seguramente sea porque estás en llamas.\",\"Questa splendida principessa lancia frecce infuocate da lunghe distanze. Se in sua presenza ti si scalda il cuore, probabilmente è perché stai andando a fuoco.\",\"Deze beeldschone prinses schiet brandende pijlen vanaf afstand. Als je warme gevoelens voor haar koestert, is dat waarschijnlijk omdat je in de fik staat.\",\"Den vakre prinsessen skyter brennende piler fra lang avstand. Hvis du har varme følelser for henne, er det sannsynligvis fordi du står i fyr og flamme.\",\"Bu büyüleyici Prenses, uzak mesafeden yanan oklar fırlatır. Yanaklarını ateş bastıysa bunun sebebi yanıyor olmandır.\",\"この美しいプリンセスは、長距離から火矢を射ってきます。近づくほどに顔が熱くなるのは恋？ いいえ、あなたの頭が燃えているんですよ！\",\"원거리에서 불화살을 쏘는 매력적인 프린세스입니다. 그녀를 보고 뜨거워진다면 불화살을 맞은 게 분명합니다.\",\"Эта обворожительная принцесса стреляет с большого расстояния зажженными стрелами. Если у тебя возникли к ней теплые чувства, это скорее всего потому, что ты горишь!\",\"تطلق هذه الأميرة المذهلة أسهمًا نارية من مدى طويل. إن كنت تشعر بالدفء تجاهها، فهذا غالبًا لأنك تحترق.\",\"Esta bela Princesa lança flechas flamejantes de longe. Se ela aquece o seu coração, pode ser porque você pegou fogo.\",\"这位迷人的公主会从远距离发射火焰箭。如果你看到她时感到很温暖，当心了，这可能是因为你身上着火了。\",\"這位迷人的公主會從遠距離發射火焰箭。如果你看到她時感到很溫暖，當心了，這可能是因為你身上著火了。\",\"این شاهزاده خانم بسیار زیبا از فاصله دور تیرهای آتشی شلیک می‌کنه. اگر احساس می‌کنی با دیدنش دلگرم شدی، احتمالاً به این خاطر هست که تو هم از تیرهاش آتیش گرفتی.\",\"Putri memukau ini menembakkan panah berapi dari jarak jauh. Jika hatimu meleleh saat melihatnya, mungkin karena kamu terbakar.\",\"Puteri memegunkan ini menembak anak panah berapi dari jarak jauh. Jika anda berasa mesra dengannya, mungkin disebabkan anda hebat.\"\n\"TID_SPELL_INFO_LAVA_HOUND\",\"The Lava Hound is a majestic flying beast that attacks buildings. The Lava Pups are less majestic angry babies that attack anything.\",\"Le molosse de lave est une majestueuse créature volante qui attaque les bâtiments. Les roquets de lave sont des chiots énervés moins majestueux qui attaquent tout ce qu'ils trouvent.\",\"Der Lavahund ist eine majestätische, fliegende Bestie, die Gebäude angreift. Die Lavawelpen sind weniger majestätisch, aber dafür umso aufgebrachter - sie greifen alles an.\",\"El sabueso de lava es una majestuosa bestia voladora que ataca estructuras. Los cachorros son un poco menos majestuosos, pero igual de bestias... y atacan a cualquier cosa.\",\"Il mastino lavico è una maestosa creatura volante che attacca gli edifici. I cuccioli lavici sono creaturine un po' meno maestose che attaccano qualsiasi cosa.\",\"De lavahond is een majestueus, vliegend beest dat gebouwen aanvalt. De lavapups zijn minder majestueuze, boze baby's die alles aanvallen.\",\"Lavahunden er et majestetisk flygende beist som angriper bygninger. Lavavalpene er mindre majestetiske, sinte babyer som angriper alt.\",\"Lav Tazısı, binalara saldıran muhteşem bir uçan yaratıktır. Lav Köpekleri ise her şeye saldıran daha az muhteşem, kızgın bebeklerdir.\",\"ラヴァハウンドは威厳に満ちた空飛ぶ魔犬で、建物を攻撃します。ラヴァパピィは威厳には欠けるものの凶暴な子犬で、なんでも攻撃します。\",\"라바 하운드는 우아하게 날아서 건물을 공격하는 야수입니다. 라바 펍은 조금 덜 우아하게 날아서 뭐든 공격하는 까칠한 아가들입니다.\",\"Адская гончая — величественное летающее создание, атакующее здания. Адские щенки не такие величественные, зато очень злые, и атакуют все подряд.\",\"كلب الحمم هو وحش طائر مهيب يهاجم المباني. جراء الحمم هم صغار أقل هيبة يهاجمون أي شيء.\",\"O Lava Hound é uma majestosa fera voadora que ataca construções. Os Lava Pups são bebês irritados e deselegantes que atacam tudo pela frente.\",\"熔岩猎犬是一只专门攻击建筑物的飞行巨兽。熔岩幼犬的个头虽没那么伟岸，但它们脾气暴躁，会攻击任何单位。\",\"熔岩獵犬是一隻專門攻擊建築物的飛行巨獸。熔岩幼犬的個頭倒沒那麼威武，不過牠們脾氣暴躁，會攻擊任何單位。\",\"سگ گدازه‌ای یک هیولای عظیم پرنده هست که به ساختمون‌ها حمله می‌کنه. توله‌سگ‌های گدازه‌ای بچه‌های عصبانی کوچک‌تری هستند که به هر چیزی حمله می‌کنن.\",\"Anjing Lava adalah monster terbang menawan yang menyerang bangunan. Anak Anjing Lava adalah bayi pemarah kurang menawan yang menyerang apa saja.\",\"Buru Lava ialah binatang terbang megah yang menyerang bangunan. Pup Lava ialah bayi pemarah kurang hebat yang menyerang apa jua.\"\n\"TID_SPELL_INFO_FIRE_SPIRIT_HUT\",\"The Furnace spawns two Fire Spirits at a time. It also makes great brick-oven pancakes.\",\"La fournaise génère deux esprits de feu à la fois. Elle est aussi très douée pour les galettes cuites au four.\",\"Der Ofen stößt zwei Feuergeister gleichzeitig aus. Auch zum Kuchenbacken ist er bestens geeignet ...\",\"El horno genera dos espíritus de fuego a la vez. También es estupendo para preparar tortitas.\",\"La fornace genera due spiriti del fuoco alla volta. Può anche fabbricare ottimi pancake al forno.\",\"De oven spuugt twee vuurgeesten tegelijkertijd uit. Je kunt er ook prima in steengrillen.\",\"Ildstedet spawner to ildånder samtidig. Det lager også deilige steinovnpannekaker.\",\"Fırın, tek seferde iki Ateş Ruhu doğurur. Aynı zamanda harika tuğla fırın krepleri yapar.\",\"オーブンは1度に2体のファイアスピリットを生み出します。パンケーキもおいしく焼けます。\",\"용광로는 파이어 스피릿을 한 번에 두 마리씩 생산합니다. 오븐 팬케이크를 굽기에도 딱이죠.\",\"Из печи одновременно появляются два огненных духа. А еще там можно делать вкусные блинчики!\",\"يولد الفرن اثنين من أرواح النار في كل مرة. ويصنع أيضًا كعكًا رائعًا من قرميد الفرن.\",\"A Fornalha gera dois Espíritos de Fogo ao mesmo tempo. Também faz umas panquecas divinas.\",\"烈焰熔炉每次能产出2个烈焰精灵。不仅如此，用它烤出来的煎饼也很美味。\",\"烈焰熔爐每次能產出2個烈焰精靈。不僅如此，用它烤出來的煎餅也很美味。\",\"کوره هر بار دو روح آتشی تکثیر می‌کنه. البته کیک‌های آجری فوق‌العاده‌ای هم درست می‌کنه.\",\"Tungku menghasilkan dua Roh Api sekaligus. Juga membuat panekuk enak dari oven batu bata.\",\"Relau yang mewujudkan dua Semangat Api pada satu-satu masa. Ia juga membuatkan penkek ketuhar-bata hebat.\"\n\"TID_SPELL_INFO_FIRE_SPIRITS\",\"These three Fire Spirits are on a kamikaze mission to give you a warm hug. It'd be adorable if they weren't on fire.\",\"Ces trois esprits de feu ont la mission kamikaze de vous faire un câlin brûlant. Ce serait adorable s'ils n'étaient pas en feu.\",\"Diese drei Feuergeister sind auf Kamikaze-Mission unterwegs und wollen dir eine warme Umarmung zukommen lassen. Das wäre ja ganz nett, aber leider brennen sie ...\",\"Estos tres espíritus de fuego tienen una misión suicida: darte un abrazo calentito. Sería adorable... si no estuvieran en llamas.\",\"Questi tre spiriti del fuoco sono in missione kamikaze per darti un caloroso abbraccio. Sarebbe un gesto adorabile, se non fossero in fiamme.\",\"Deze drie vuurgeesten zijn op een kamikazemissie om jou een warme omhelzing te geven. Dat zou schattig zijn... als ze niet in brand stonden!\",\"Disse tre ildåndene er på et kamikaze-oppdrag for å gi deg en varm klem. Sikkert behagelig, hadde de ikke stått i full fyr.\",\"Bu üç Ateş Ruhu, içini ısıtacak bir kamikaze görevinde. Keşke yanarak yaklaşmasalardı.\",\"この3体一組の火の精霊は、敵に飛びつきたくてウズウズしています。燃えていないときはカワイイのですが...\",\"세 명의 파이어 스피릿은 여러분을 따뜻하게 안아주는 척하면서 폭발합니다!\",\"У этих троих духов есть суицидальная миссия подарить тебе теплые объятия. Было бы мило, если бы они не горели.\",\"أرواح النار الثلاثة هذه في مهمة انتحارية لمنحك عناقًا دافئًا. كان الأمر ليصبح رائعًا لو لم يكونوا مشتعلين.\",\"Esses três Espíritos de Fogo estão em uma missão kamikaze para dar um abraço quentinho em você. Seria uma delícia se eles não estivessem pegando fogo.\",\"这三个烈焰精灵抱着必死的决心，扑向敌方给予他们一个热烈的\\q拥抱\\q，如果不是因为它们整天想对人开火，它们其实还挺可爱的。\",\"這三個烈焰精靈抱著必死的決心，撲向敵方給予他們一個熱烈的\\q擁抱\\q，如果不是因為它們整天想對人開火，它們其實還挺可愛的。\",\"این سه روح آتشی یک مأموریت انتحاری دارن تا تو رو بغل کنن. اگر آتیش نمی‌گرفتی خیلی صحنه زیبایی بود.\",\"Tiga Roh Api ini punya misi kamikaze untuk memberimu pelukan hangat. Kedengarannya manis, sayangnya mereka berapi.\",\"Tiga Semangat Api ini dalam misi kamikaze untuk memberikan anda pelukan hangat. Ini akan menjadi comel jika mereka tidak mempunyai api.\"\n\"TID_SPELL_INFO_MINER\",\"The Miner can burrow his way underground and appear anywhere in the Arena. It's not magic, it's a shovel.\",\"Le mineur creuse des tunnels souterrains et apparaît n'importe où dans l'arène. Ce n'est pas de la magie, juste une pelle.\",\"Der Tunnelgräber kann sich unterirdisch einen Weg bahnen und überall in der Arena auftauchen. Das ist keine Zauberei, sondern eine Schaufel!\",\"El minero es capaz de excavar un túnel para aparecer en cualquier lugar de la arena. No es magia, es una pala.\",\"Il minatore può scavare una galleria sotterranea e apparire in un punto qualsiasi dell'arena. Non è magia, è una pala.\",\"De mijnwerker graaft zich ondergronds een weg en kan overal in de arena weer boven de grond komen. Dat heeft niets met magie te maken, maar alles met een goede schep.\",\"Graveren kan grave seg vei under bakken og dukke opp hvor som helst i arenaen. Det er ikke magi, det er en spade.\",\"Madenci, yeraltında yol açarak Arenanın herhangi bir yerinde belirir. Büyü değil, kürek kullanır.\",\"ディガーは地下にトンネルを掘ることでアリーナのどこにでも出現できます。魔法ではなく、ショベルの力です。\",\"광부는 땅을 파고 이동해 아레나 어디에서든 나타날 수 있습니다. 마법이 아니라 삽질의 힘이죠.\",\"Шахтер может перемещаться под землей и появиться где угодно на Арене. Это не магия, это лопата.\",\"يمكن لعامل المناجم أن يحفر طريقه تحت الأرض ويظهر في أي مكان في الساحة. هذا ليس سحرًا، بل مجرفة.\",\"O Mineiro consegue passar por debaixo da terra e aparecer em qualquer lugar da arena. Não é mágica. Chama-se pá!\",\"掘地矿工可以掘地三尺并在竞技场中的任何位置破土而出。这可不是什么魔法，他靠的是他的铲子。\",\"掘地礦工可以掘地三尺並在競技場中的任何位置破土而出。這可不是什麼魔法，他靠的是他的鏟子。\",\"معدنچی می‌تونه زیر زمین راه خودش رو درست کنه و هر جا از میدان نبرد که خواست ظاهر بشه. جادویی در کار نیست، فقط یک بیل داره.\",\"Penambang dapat menggali jalan di bawah tanah dan muncul di mana saja di Arena. Jangan kira mereka pakai sihir, cuma sekop kok.\",\"Pelombong boleh mengorek ke bawah tanah dan muncul di mana-mana dalam Arena. Itu bukan ajaib, itu penyodok.\"\n\"TID_SPELL_INFO_BOWLER\",\"This big blue dude digs the simple things in life - Dark Elixir drinks and throwing rocks. His massive boulders roll through their target, hitting everything behind for a strike!\",\"Ce gros bonhomme bleu apprécie les choses simples de la vie : l'élixir noir et le lancer de rochers. Ses énormes cailloux roulent sur leur cible, puis poursuivent leur course pour frapper toute autre cible sur leur chemin !\",\"Dieser große blaue Kerl mag die einfachen Dinge im Leben - Dunkles Elixier trinken und Steine werfen. Seine riesigen Felsbrocken überrollen ihr Ziel und treffen alles dahinter!\",\"A este grandullón de piel azul le gustan las cosas sencillas: un buen trago de elixir oscuro mientras lanza unas cuantas piedras. Las enormes rocas aplastan a sus objetivos y continúan avanzando. ¡Eso sí que es matar dos pájaros de un tiro!\",\"Quest'omaccione blu adora le cose semplici della vita: bere Elisir nero e lanciare rocce. I suoi enormi massi rotolano oltre i bersagli colpendo qualsiasi cosa alle loro spalle!\",\"Deze grote blauwe gast houdt van de eenvoudige dingen in het leven: duister-elixirdrankjes en met stenen gooien. Zijn reusachtige keien rollen dwars door hun doelwit heen en raken alles wat zich daarachter bevindt!\",\"Denne store blå karen liker de enkle tingene i tilværelsen, som å drikke mørke eliksirer og kaste steiner. De enorme kampesteinene hans ruller gjennom målet og treffer alt bak det.\",\"Bu büyük mavi adam, Kara İksir içmek ve kaya fırlatmak gibi basit şeylerden zevk alıyor. Yuvarladığı kayalar hedefleri ezip geçerek arkalarındaki birliklere de zarar veriyor!\",\"この大きな青いユニットの生活は、実にシンプルです。それはダークエリクサーを飲むことと、岩を投げること。彼が投げた岩は、当たった目標を突き抜けて、その背後にある建物にも命中します！\",\"이 덩치 크고 시퍼런 친구는 단순하게 사는 걸 좋아합니다. 바로 다크 엘릭서를 마시고 바위를 던지는 것이죠. 볼러의 거대한 바위는 목표물에 명중한 그대로 굴러가 또 한번 뒤에 있는 사물을 공격합니다!\",\"Фиолетовому здоровяку по душе простые удовольствия: утолять жажду напитками из темного эликсира и швырять камни. Брошенные им глыбы прокатываются по цели и поражают то, что за ней!\",\"هذا الكائن الأزرق الكبير يحب الأشياء البسيطة في الحياة - يشرب إكسير الظلام ويلقي الصخور. تمر صخوره الضخمة عبر الهدف، وتضرب كل شيء خلفه!\",\"Este grandalhão azul gosta das coisas boas da vida: drinques com elixir negro e atirar pedras. Suas pedras enormes passam por cima do alvo, acertando tudo que estiver atrás!\",\"这个蓝皮大个子一辈子只做两件简单的事：豪饮暗黑重油、投掷巨型岩石。他扔出的巨石在击中目标后，仍会向前滚动对路径上的目标造成伤害。\",\"這個藍皮大個子一輩子只做兩件簡單的事：豪飲暗黑重油、投擲巨型岩石。他扔出的巨石會對目標單位與彈射路徑上的敵人造成雙殺！\",\"این رفیق آبی رنگ چیزهای ساده زندگی رو پیدا می‌کنه - نوشیدنی‌های اکسیر سیاه و سنگ‌های پرنده. قطعه سنگ‌های عظیم از وسط هدف رد میشن و برای ضربه بعد همه چیز پشت سرشون باقی می‌مونه!\",\"Cowok biru besar ini menyukai hal-hal sederhana dalam hidup - minuman Eliksir Hitam dan melempar batu. Batu raksasanya melindas target dan mengenai semua di belakangnya dalam sekali serbu!\",\"Si biru besar ini menyukai perkara yang mudah dalam hidup - minuman Eliksir Kejahatan dan membaling batu. Batu-batu yang besar dilantun kepada sasarannya dan terkena semuanya di belakang untuk serangan!\"\n\"TID_SPELL_INFO_RAGE_BARBARIAN\",\"He chops trees by day and hunts The Log by night. His bottle of Rage spills everywhere when he dies.\",\"Il abat des arbres le jour et poursuit La bûche la nuit. À sa mort, son flacon de Rage se renverse partout.\",\"Er fällt Bäume bei Tag und jagt das Kampfholz bei Nacht. Seine Flasche Wut verschüttet ihren Inhalt, wenn er stirbt.\",\"Tala árboles durante el día y caza al Tronco por la noche. Derrama su botella de furia cuando muere.\",\"Abbatte alberi di giorno e dà la caccia al Tronco di notte. La sua bottiglia si rovescia e sparge Furia dappertutto quando muore.\",\"Overdag hakt hij bomen om en 's nachts jaagt hij op de stam. Zijn woede verspreidt zich als een inktvlek als hij sterft.\",\"Om dagen hogger han ned trær, om natten jakter han på tømmerstokken. Innholdet i raseriflasken hans spruter overalt når han dør.\",\"Her gün ağaç kesiyor ve geceleri Tomruk avlıyor. Öldüğünde Öfkesi her yeri yakıp yıkıyor.\",\"彼は日中に木を伐り、夜に丸太を集めます。やられると、瓶からレイジの呪文がこぼれて飛び散ります。\",\"낮에는 나무를 베고 밤에는 통나무를 사냥합니다. 그가 지나가는 길에는 분노의 화신이 머물죠.\",\"Днем он рубит деревья, а ночью охотится на Бревно. Умирая, он разливает бутылочку Ярости.\",\"يقطع الأشجار في النهار ويصطاد الجذع في الليل. زجاجة الغضب تنسكب في أي مكان عندما يموت.\",\"Ele corta árvores de dia e caça\\nO Tronco à noite. Sua garrafa de Fúria vaza por todos os lados quando ele morre.\",\"他白天砍树，晚上追踪复仇滚木。当他倒下时，他扛着的那瓶狂暴药水便会洒得到处都是。\",\"他白天砍樹，晚上捕捉復仇滾木。當他倒下時，他扛著的那瓶狂暴藥水便會灑得到處都是。\",\"اون در طول روز درخت‌ها رو قطع می‌کنه و شب‌ها الوار شکار می‌کنه. وقتی می‌میره بطری خشمش همه جا می‌ریزه.\",\"Dia menebang pohon pada siang hari dan berburu Sang Kayu di malam hari. Botol Amarahnya tercecer di mana-mana saat dia tewas.\",\"Dia memotong pokok berhari-hari dan memburu Kayu Balak pada waktu malam. Botol Kemarahannya tertumpah ke semua tempat apabila dia mati.\"\n\"TID_SPELL_INFO_ICE_SPIRITS\",\"Spawns one lively little Ice Spirit to freeze a group of enemies. Stay frosty.\",\"Fait apparaître un petit esprit de glace plein d'entrain, capable de congeler un groupe d'ennemis. Un vent de fraîcheur.\",\"Lässt einen kleinen, lebhaften Eisgeist erscheinen, der eine Gruppe von Feinden einfriert. Ziemlich cool.\",\"Genera un travieso espíritu de hielo que congela a un grupo de enemigos. Se acerca el invierno...\",\"Genera un simpatico spiritello del ghiaccio che congela un gruppo di nemici. Stanno freschi!\",\"Brengt een levendige ijsgeest voort om een groep vijanden te bevriezen. Houd het hoofd koel.\",\"Lager en livlig liten isånd som fryser en gruppe fiender. Hold hodet kaldt.\",\"Bir düşman grubunu dondurmak için küçük bir canlı Buz Ruhu doğurur. Soğuk iyidir.\",\"元気なアイススピリットを呼び出して、敵の集団を凍らせます。冷たくあしらってやりましょう。\",\"작은 아이스 스피릿을 소환해 적들을 얼려버립니다. 꽁꽁.\",\"Призывает маленького ледяного духа, морозящего группу противников. Охладись!\",\"يتولّد عنها روح جليد صغيرة لتجميد مجموعة من الأعداء. كن مستعدًا ببعض الصقيع.\",\"Gera um pequeno Espírito de Gelo para congelar um grupo de inimigos. Fique frio!\",\"一个活泼可爱的冰雪精灵，它可以冻住一群敌军。冻住，不许走！\",\"一個活潑可愛的冰雪精靈，它可以凍住一群敵軍。凍住，不許走！\",\"یک روح یخی کوچیک و دوست داشتی تکثیر می‌کنه که یک گروه دشمن رو فریز می‌کنه. خونسرد باش.\",\"Menghasilkan satu Roh Es kecil penuh semangat untuk membekukan sekelompok musuh. Salam beku.\",\"Mewujudkan satu Semangat Ais kecil secara langsung untuk membekukan sekumpulan musuh. Kekal beku.\"\n\"TID_SPELL_INFO_INFERNO_DRAGON\",\"Shoots a focused beam of fire that increases in damage over time. Wears a helmet because flying can be dangerous.\",\"Crache un faisceau de feu focalisé dont les dégâts augmentent au fil du temps. Porte un casque, car voler n'est pas sans danger.\",\"Stößt einen konzentrierten Feuerstrahl aus, dessen Schaden mit der Zeit zunimmt. Trägt einen Helm, weil Fliegen gefährlich sein kann.\",\"Dispara un rayo de fuego concentrado que inflige cada vez más daño. Lleva casco porque volar es peligroso.\",\"Spara un preciso raggio di fuoco i cui danni aumentano nel tempo. Indossa un casco perché volare può essere pericoloso.\",\"Spuugt een gerichte vuurstraal uit die meer schade veroorzaakt naarmate de tijd verstrijkt. Draagt een helm, omdat vliegen gevaarlijk kan zijn.\",\"Skyter en fokusert ildstråle som påfører mer skade med tiden. Har på hjelm fordi det kan være farlig å fly.\",\"Hasarı zamanla artan yoğunlaşmış bir ateş ışını ateşler. Miğfer takmıştır çünkü uçmak tehlikeli olabilir.\",\"炎をビーム状に収束して発射し、継続して攻撃するとダメージが徐々に増加します。ヘルメットをかぶっているのは、飛行中の安全を考えてのことだとか。\",\"시간에 따라 공격력이 늘어나는 빔을 발사합니다. 하늘을 나는 건 위험할 수 있으니 헬멧을 썼구요.\",\"Стреляет концентрированным огненным лучом. Урон со временем повышается. Носит шлем — техника безопасности важнее всего.\",\"يطلق شعاعًا مركزًا من النيران يزيد من الضرر مع مرور الوقت. ويرتدي خوذة لأن الطيران قد يكون خطيرًا.\",\"Dispara um raio de fogo concentrado com dano que aumenta com o tempo. Usa um capacete porque voar tem seus perigos.\",\"地狱飞龙对单个目标喷射火焰射线，造成的伤害会随着时间递增。飞行有危险，记得戴头盔。\",\"地獄飛龍對單個目標噴射火焰射線，造成的傷害會隨著時間遞增。為了飛行安全，請戴好您的頭盔。\",\"یک اشعه متمرکز رو شلیک می‌کنه که با گذشت زمان قدرت تخریبش بیشتر میشه. چون پرواز خطرناکه یک کلاه ایمنی هم روی سرش هست.\",\"Menembakkan pancaran api terfokus yang makin lama makin merusak. Memakai helm karena terbang itu berisiko.\",\"Menembak alur api difokuskan yang meningkatkan kerosakan dari masa ke masa. Memakai topi keledar kerana terbang boleh menjadi berbahaya.\"\n\"TID_SPELL_INFO_GRAVEYARD\",\"Surprise! It's a party. A Skeleton party, anywhere in the Arena. Yay!\",\"Surprise ! C'est la fête. La fête des squelettes, n'importe où dans l'arène. Youpi !\",\"Überraschung! Das ist eine Party. Eine Skelettparty, und zwar an einer beliebigen Stelle in der Arena! Juhu!\",\"¿Por qué no mueves un poco el esqueleto? Estos, en concreto, se mueven hasta cualquier lugar de la arena. ¡Genial!\",\"Una festa a sorpresa, in un punto qualsiasi dell'arena! La sorpresa è che gli invitati sono tutti scheletri. Non sarà certo un mortorio!\",\"Surpriseparty! Een skeletfeestje op een willekeurige plek in de arena! Jippie!\",\"Overraskelse! Det er fest. Skjelettfest over hele arenaen. Jippi!\",\"Sürpriz! Parti var. Arena'nın herhangi bir yerinde sürpriz bir İskelet partisi. Oley!\",\"サプライズパーティーの始まりです！ アリーナのあらゆる場所でスケルトンのパーティーを開きましょう！ イェーイ！\",\"서프라이즈! 아레나 어디서든지 해골 파티를 여세요!\",\"Сюрприз! Это вечеринка. Скелетная вечеринка в любом месте Арены. Ура!\",\"مفاجأة! إنه حفل للهيكل العظمي في أي مكان بالساحة. مرحى!\",\"Surpresa! É festa! Festa de Esqueletos, em qualquer lugar da arena! Oba!\",\"没想到吧！这是一场派对，一场可以在竞技场中任意地点举办的骷髅派对，哇哦！\",\"沒想到吧！這是一場派對，一場可以在競技場中任意地點舉辦的骷髏派對，Yeah！\",\"غافلگیری! این یک جشنه. یک جشن اسکلتی در هر جایی در این ناحیه. عالیه!\",\"Kejutan! Ada pesta. Pesta Jerangkong, di mana saja di Arena. Hore!\",\"Kejutan! Ia sebuah parti. Parti Rangka, di mana-mana dalam Arena. Yeay!\"\n\"TID_SPELL_INFO_MEGAMINION\",\"Flying, armored and powerful. What could be its weakness?! Cupcakes.\",\"Créature volante, cuirassée et puissante. Une faiblesse ? Oui, pour les cupcakes !\",\"Ist stark, gepanzert und kann fliegen. Was wohl seine Schwäche ist? Cupcakes!\",\"Vuela, lleva armadura y es fuerte, pero tiene una debilidad: ¡los pasteles!\",\"Può volare, è corazzato ed è potente. Quale sarà il suo punto debole?! I cupcake.\",\"Kan vliegen, draagt een pantser en is sterk. Heeft dit wezen ook een zwakte?! Ja, voor cupcakes.\",\"Flyvende, pansret og sterk. Har den noen svakheter? Muffins.\",\"Uçuyor, zırhlı ve güçlü. Zayıf noktası ne olabilir ki? Fincan kekler.\",\"重装甲で強力な飛行ユニットです。もはや弱点などなさそうですが、カップケーキには弱いのだとか...\",\"갑옷을 입고 강력한 데다 날아다니기까지 합니다. 약점이 뭐냐고요? 컵케이크랍니다.\",\"Летуч, вооружен и силен. Есть ли у него слабость?! Да. Кексики.\",\"طائر ومدرع وقوي. فما هي نقطة ضعفه؟! الكعك الصغير.\",\"Voa, tem armadura e grande poder. Sua única fraqueza são bolinhos.\",\"翱翔天际，重装来袭，其势若此，岂无敌手乎？答曰：纸杯蛋糕可解此围也！\",\"翱翔天際，重裝來襲，其勢若此，豈無敵手乎？答曰：紙杯蛋糕可解此圍也！\",\"پرنده، زره‌پوش و قدرتمند. چه نقطه ضعفی می‌تونه داشته باشه؟! کیک یزدی.\",\"Terbang, berlapis baja, dan kuat. Lalu apa kelemahannya? Cupcake.\",\"Terbang, berperisai dan berkuasa. Apakah kelemahannya?! Kek cawan.\"\n\"TID_SPELL_INFO_ELECTRO_WIZARD\",\"He lands with a \\qPOW!\\q, stuns nearby enemies and shoots lightning with both hands! What a show off.\",\"Il atterrit dans un grand \\qFLASH !\\q, étourdissant les ennemis à proximité, et lance des éclairs avec ses deux mains ! Quel frimeur.\",\"Er landet mit einem Donnerschlag, betäubt Feinde in der Nähe und schleudert Blitze mit beiden Händen! Was für ein Angeber!\",\"Aterriza con un estruendo, aturde a los enemigos cercanos y lanza rayos con ambas manos. Le encanta ser el centro de atención...\",\"Entra in scena col botto, stordisce i nemici nelle vicinanze e lancia fulmini con entrambe le mani! Chissà che bollette della luce.\",\"Hij landt met een DOFFE DREUN waardoor hij vijanden in de buurt verdooft en hij schiet bliksem met beide handen! Wat een uitslover.\",\"Han lander med et \\qSMELL!\\q, svimeslår fiender og skyter lyn med begge hendene! For en viktigper.\",\"Bir \\qBOM!\\q ile inerek yakındaki düşmanları sersemletir ve iki eliyle yıldırım fırlatır! Kendini beğenmişe bak.\",\"勢いよく\\qポン！\\qと登場して周囲の敵を気絶させ、両手から雷撃を放ちます！ 派手ですねえ！\",\"\\q쾅!\\q 하고 나타나 주변 적들을 기절시키고 양손에서 번개를 발사합니다! 등장 한번 요란스럽네요.\",\"Он появляется со звуком \\qПИУ!\\q, парализует ближайших противников и бросает молнии обеими руками! Вот ведь показушник.\",\"يحُط على الأرض \\qبدوي هائل!\\q ليصعق الأعداء المجاورين ويطلق البرق من كلتا يديه! يا له من تفاخر.\",\"Ele cai com um \\qPOW!\\q, atordoa os inimigos que estiverem por perto e lança relâmpagos com as duas mãos. Que exibido!\",\"天空一声轰隆巨响，闪电法师酷炫登场。登场眩晕附近敌军，双手放电英姿飒爽！真是个爱显摆的家伙。\",\"天空一聲轟隆巨響，閃電法師颯爽登場。登場眩暈附近敵軍，雙掌奔雷銳不可擋！真是個愛現的傢伙。\",\"با صدایی \\qرعدآسا\\q و حیرت‏ انگیز نزدیک دشمن فرود میاد و از هر دو دستش رعد و برق شلیک میکنه! تا اونجا که میتونه خودنمایی میکنه.\",\"Dia mendarat dengan \\qDUER!\\q, melumpuhkan musuh di dekatnya dan menembakkan kilat dengan kedua tangannya! Tukang pamer.\",\"Dia mendarat dengan \\qPENG!\\q, memegun musuh berdekatan dan menembak kilat dengan kedua-dua tangan! Menunjuk-nunjuk!\"\n\"TID_SPELL_INFO_TORNADO\",\"Drags enemy troops to its center while dealing damage over time, just like a magnet. A big, swirling, Tornado-y magnet. Doesn't affect buildings.\",\"Inflige des dégâts aux troupes ennemies après les avoir attirées en son centre comme un aimant. Un gros aimant-tornade tourbillonnant. N'a pas d'effet sur les bâtiments.\",\"Zieht feindliche Truppen in sein Auge und fügt dabei kontinuierlich Schaden zu - wie ein Magnet. Ein großer, wirbelnder Tornado-Magnet. Gebäude sind nicht betroffen.\",\"Arrastra a las tropas enemigas a su centro, como un imán, y causa daño con el paso del tiempo. Es un enorme tornado con complejo de imán. No afecta a las estructuras.\",\"Trascina le truppe nemiche nel suo centro infliggendo danni nel tempo, proprio come una calamita. Una calamita grande, grossa e vorticosa. Non influisce sugli edifici.\",\"Sleept vijandelijke troepen naar het midden en brengt schade toe naarmate de tijd verstrijkt, als een grote, wervelende magneet. Heeft geen effect op gebouwen.\",\"Drar fiendtlige tropper inn i seg og påfører skade over tid, akkurat som en magnet. En stor, snurrende tornadomagnet. Påvirker ikke bygninger.\",\"Düşman birliklerini bir mıknatıs gibi merkezine sürüklerken zamanla hasar verir. Büyük, dönen, Kasırgamsı bir mıknatıstır. Binaları etkilemez.\",\"敵ユニットを磁石のごとく渦の中心に吸い寄せ、継続してダメージを与えます。むしろ竜巻のような磁石とでも呼ぶべきでしょうか。ちなみに建物には影響を与えません。\",\"적들을 자석처럼 가운데로 끌어당기며 피해를 줍니다. 마치 거대한 소용돌이 자석 같지요. 건물에는 영향을 주지 않습니다.\",\"Большой, кружащийся торнадо-магнит. Затягивает вражеские войска в центр, нанося урон с течением времени. Не влияет на здания.\",\"يسحب قوات العدو إلى مركزه بينما يلحق الضرر بمرور الوقت، كما المغناطيس تمامًا. إعصار هائل ثائر كالمغناطيس. لا يؤثر على المباني.\",\"Arrasta as tropas inimigas para o seu olho, causando dano ao longo do tempo, como um ímã: um tornado gigante que pensa que é um ímã. Não afeta construções.\",\"飓风法术就像个不断旋转产生飓风旋涡的巨型磁铁，会将目标区域内的敌军卷至飓风中心，并对其中的敌军造成持续性伤害。飓风法术对建筑无效。\",\"旋風法術就像個不斷旋轉產生旋風漩渦的巨型磁鐵，會將目標區域內的敵軍卷至旋風中心，並對其中的敵軍造成持續性傷害。旋風法術對建築無效。\",\"در عین وارد کردن خسارت، نیروهای دشمن رو مثل آهنربا به سمت مرکز می‏کشونه. یک آهنربای بزرگ، چرخان و طوفانی! روی ساختمون‏ها تاثیری نداره.\",\"Menyeret peleton musuh ke pusatnya sambil memberikan kerusakan seiring waktu, seperti magnet. Magnet besar, berputar ala Tornado. Bangunan tidak terpengaruh.\",\"Seret askar musuh ke tengah semasa melakukan kerosakan sepanjang masa, seperti magnet. Magnet Tornado berbentuk Y besar dan berkepul-kepul. Bangunan tidak terjejas.\"\n\"TID_SPELL_INFO_ANGRY_BARBARIANS\",\"Spawns a pair of leveled up Barbarians. They're like regular Barbarians, only harder, better, faster and stronger.\",\"Fait apparaître une paire de barbares au niveau boosté. Ils ressemblent aux barbares habituels, en plus costauds, plus beaux, plus rapides et plus forts.\",\"Lässt zwei verstärkte Barbaren erscheinen. Sie ähneln gewöhnlichen Barbaren, sind jedoch härter, besser, schneller und stärker.\",\"Genera un par de bárbaros de gran nivel. Son bárbaros normales, solo que más duros, veloces y fuertes.\",\"Genera un paio di barbari potenziati. Simili ai comuni barbari, sono soltanto più tosti, efficaci, veloci e forti.\",\"Brengt twee barbaren van een hoger level voort. Het zijn net gewone barbaren, maar dan harder, beter, sneller en sterker.\",\"Lager et par sterkere barbarer. De er som vanlige barbarer, bare tøffere, bedre, raskere og sterkere.\",\"Deneyimli bir çift Barbar mevzilendirir. Sıradan Barbarlardan daha sıkı, daha iyi, daha hızlı ve daha güçlüdürler.\",\"強化されたバーバリアン2人を投入します。見た目は普通のバーバリアンと変わりませんが、より頑丈で、より良く、より速く、より強くなっています。\",\"레벨 업된 바바리안 한 쌍을 소환합니다. 일반 바바리안과 같지만 더 튼튼하고 좋으며 빠르고 강력합니다.\",\"Создает варваров повышенного уровня. Они такие же, как обычные варвары, только крепче, лучше, быстрее и сильнее.\",\"يولّد بربريين مرقيين المستوى. يشبهان البرابرة العاديين، إلا أنّهم أقسى وأفضل وأسرع وأقوى.\",\"Gera dois Bárbaros turbinados. São como os Bárbaros normais, só que mais fortes, melhores e mais rápidos.\",\"两个加强版野蛮人。他们跟普通野蛮人有些相似，不过更凶、更强、更快、更壮。\",\"兩個加強版野蠻人。他們跟普通野蠻人有些相似，不過更凶、更強、更快、更壯。\",\"یک جفت بربر سطح بالا تولید می‌کنه. عین بربر‌های معمولی هستن، تنها فرقشون اینه که سخت‌تر، بهتر، سریع‌تر و قوی‌تر هستن.\",\"Mengeluarkan sepasang Orang Barbar yang naik level. Mereka seperti orang Barbar biasa, hanya lebih tangguh, lebih baik, lebih cepat, dan lebih kuat.\",\"Mewujudkan sepasang Orang Gasar yang telah naik tahap. Mereka seperti Orang Gasar biasa, hanya lebih keras, baik, cepat dan kuat.\"\n\"TID_SPELL_INFO_CLONE\",\"Duplicates all friendly troops in the target area. Cloned troops are fragile, but pack the same punch as the original! Doesn't affect buildings.\",\"Copie toutes les troupes alliées de la zone cible. Les troupes clonées sont fragiles, mais tout aussi efficaces que les originales. N'affecte pas les bâtiments.\",\"Dupliziert alle verbündeten Truppen im Zielbereich. Geklonte Truppen sind anfällig, hauen aber genauso rein wie das Original! Gebäude sind nicht betroffen.\",\"Duplica todos los aliados del área objetivo. Las tropas clonadas serán débiles, pero tendrán la misma fuerza que sus originales. No afecta a las estructuras.\",\"Duplica le truppe alleate nell'area bersaglio. Le truppe clonate sono fragili, ma picchiano duro come le originali! Non influisce sugli edifici.\",\"Kopieert alle vriendschappelijke troepen in het doelgebied. Gekloonde troepen zijn kwetsbaar, maar net zo effectief als de originele eenheden! Heeft geen effect op gebouwen.\",\"Lager en kopi av alle vennskapelige tropper i målområdet. Klonene er skrøpelige, men slår like hardt fra seg som originalen! Påvirker ikke bygninger.\",\"Hedef bölgedeki tüm dost birliklerin kopyasını çıkarır. Klonlanan birlikler dayanıksızdır ama orijinalleri kadar etkili hasar verir. Binaları etkilemez.\",\"対象エリア内の味方ユニットをすべて複製します。クローンユニットは撃たれ弱いものの、攻撃力は本物にひけを取りません！ なお建物には影響を与えません。\",\"대상 지역의 모든 아군 유닛을 복제합니다. 복제된 유닛은 체력은 약하지만 공격력은 그대로입니다! 건물에는 영향을 미치지 않습니다.\",\"Клонирует все дружеские войска в указанной зоне. Клонированные войска хрупки, но бьют так же, как их прототипы! Не влияет на здания.\",\"تُضاعف كل القوات الصديقة في المساحة المستهدفة. تكون القوات المستنسَخة ضعيفة، لكنها تسدد ضربات قوية مثل القوات الأصلية! ولا تؤثر في المباني.\",\"Duplica todas as tropas aliadas na área de alvo. As tropas clonadas são vulneráveis, mas têm a mesma força da original. Não afeta construções.\",\"克隆目标区域内的我方军队。克隆出的军队非常脆弱，但其伤害输出和同等级的本体一致！克隆法术对建筑无效。\",\"複製目標區域內的我方軍隊。複製出的軍隊非常脆弱，但其傷害輸出和同等級的本體一致！複製法術對建築無效。\",\"همه نیروهای خودی رو در ناحیه هدف دو برابر می‌کنه. نیروهای شبیه‌سازی‌شده آسیب‌پذیرن، ولی قدرت حمله‌شون به اندازه نیزوهای اصلیه! روی ساختمون‌ها تاثیری نداره.\",\"Menduplikasi semua peleton sekutu dalam area target. Peleton klona rapuh, tetapi serangannya sama kuat dengan yang asli! Tidak memengaruhi bangunan.\",\"Menduplikasi semua askar rakan dalam kawasan sasaran. Klon askar adalah lemah, tetapi kuat seperti yang asal! Tidak memberi kesan kepada bangunan.\"\n\"TID_SPELL_INFO_BATTLE_RAM\",\"Two Barbarians holding a big log charge at the nearest building, dealing significant damage if they connect; then they go to town with their swords!\",\"Deux barbares transportant un tronc chargé d'explosifs jusqu'au bâtiment le plus proche, infligeant des dégâts importants s'ils se rejoignent, avant de charger l'épée à la main !\",\"Zwei Barbaren stürmen mit einem großen Baumstamm auf das nächstgelegene Gebäude zu und verursachen erheblichen Schaden, wenn sie einen Treffer landen. Danach geht es mit Schwertern weiter!\",\"Dos bárbaros con un gran tronco cargarán contra el edificio más cercano y le causarán un daño importante... si lo alcanzan. ¡Luego lo dan todo con sus espadas!\",\"Due barbari che si lanciano all'assalto dell'edificio più vicino con un grosso tronco, infliggendo gravi danni se lo centrano. Poi ci danno dentro con le loro spade!\",\"Twee barbaren met een grote boomstam stormen op het dichtstbijzijnde gebouw af en veroorzaken aanzienlijke schade als ze het rammen. Daarna gaan ze los met hun zwaarden!\",\"To barbarer angriper den nærmeste bygningen med en stor tømmerstokk. Bygningen påføres betydelige skader om de treffer. Deretter går barbarene amok med sverdet!\",\"İki Barbar büyük bir tomrukla en yakın binaya saldırır, ulaşabilirlerse ciddi hasar verirler. Ardından kılıçlarıyla savaşa katılırlar!\",\"大きな丸太を持った2人のバーバリアンが、手近な建物に突撃します。衝突すると大ダメージを与え、さらに剣を抜いて暴れ出します！\",\"바바리안 두 명이 큰 통나무를 들고 가장 가까운 건물로 돌진하여 큰 피해를 줍니다. 그런 다음 칼을 들고 적진을 공격합니다!\",\"Два варвара с огромным бревном в руках бросаются на ближайшее здание, наносят ударом значительный урон, а потом берутся за мечи!\",\"بربريان يمسكان بشحنة جذع ضخمة عند أقرب مبنى، ملحقان ضررًا هائلاً عند الاتصال؛ ثم يتجهان إلى المدينة مستلَين سيفيهما!\",\"Dois Bárbaros com um tronco gigante correm para a construção mais próxima e causam danos significativos ao chegar lá, depois partem pra briga com espadas!\",\"两个野蛮人托举着巨大的攻城槌向最近的建筑发起冲锋。攻城槌撞击建筑时会对建筑造成显著伤害。攻城槌掉落后，野蛮人将拿着剑继续奋力拼杀。\",\"兩個野蠻人托舉著巨大的攻城槌向最近的建築發起衝鋒。攻城槌撞擊建築時會對建築造成顯著傷害。攻城槌掉落後，野蠻人將拿著劍繼續奮力拼殺。\",\"دو بربر، با تنه درخت گنده‌ای بر دوش، به سمت نزدیکترین ساختمون یورش میبرند. اگر به ساختمون برخورد کنن، بهش خسارت جدی وارد میکنن و بعد هم با شمشیراشون به جون ساختمون میافتن.\",\"Dua Orang Barbar memegang gelondong besar menyerbu bangunan terdekat, menimbulkan banyak kerusakan jika berhasil menghantam; lalu mereka pergi ke kota membawa pedang!\",\"Dua Orang Gasar memegang sebatang balak besar menyerang bangunan terdekat, melakukan kerosakan yang ketara jika mereka bergabung; kemudian mereka membawa pedang mereka ke bandar!\"\n\"TID_SPELL_INFO_BLOWDART_GOBLIN\",\"Runs fast, shoots far and chews gum. How does he blow darts with a mouth full of gum? Years of didgeridoo lessons.\",\"Court vite, tire loin et mâche du chewing-gum. Son secret pour souffler des fléchettes la bouche pleine de chewing-gum ? Des années de leçons de didgeridoo.\",\"Läuft schnell, schießt weit und kaut Kaugummi. Wie kann man mit Kaugummi im Mund bloß Pfeile verschießen? Jahrelange Übung mit dem Didgeridoo!\",\"Corre rápido, dispara lejos y masca chicle. ¿Cómo podrá lanzar dardos con la boca llena de chicle? La práctica... que hace al maestro.\",\"Corre veloce, spara lontano e mastica gomme. Come fa a usare la cerbottana con la gomma in bocca? Anni e anni di pratica alle scuole medie.\",\"Rent snel, schiet ver en kauwt kauwgum. Hoe hij pijltjes kan schieten met zijn blaaspijp als zijn mond vol kauwgum zit? Jaren didgeridoolessen.\",\"Har fart i beina, skyter langt og tygger tyggis. Hvordan får han til å bruke blåserøret med munnen full av tyggis? Mange år med didgeridootimer.\",\"Hızlı koşar, uzun menzillidir ve sakız çiğner. Ağzı sakız doluyken nasıl mı dart atıyor? Yıllardır aldığı didgeridoo dersleri sayesinde.\",\"素早く走っては撃ち、ガムを噛みます。口の中がガムでいっぱいなのに吹き矢を吹けるのは不思議ですが、それは長年ディジュリドゥで鍛えた成果です。\",\"껌을 씹으며 빠르게 달려 먼 거리까지 다트를 쏩니다. 껌이 입 안 가득한데 어떻게 입으로 다트를 부냐고요? 오랫동안 힘들게 수련했거든요.\",\"Бегает быстро, стреляет далеко и жует жвачку. Как он умудряется стрелять дротиками с набитым ртом? Годы практики на диджериду.\",\"يركض سريعًا ويطلق بعيدًا ويمضغ العلك. كيف يطلق السهام نفخًا بفمٍ مملوء بالعلك؟ أعوام من ممارسة العزف على الزمَّارة.\",\"Corre muito, atira longe e masca chiclete. Como ele lança dardos com a boca cheia de chiclete? Anos de prática!\",\"他脚下生风，射程够远，还嚼着口香糖。满嘴口香糖的他居然还能吹出飞箭？这可多亏了他学了几年笛子。\",\"他腳下生風，射程夠遠，還嚼著口香糖。滿嘴口香糖的他居然還能吹出飛箭？這可多虧了他學了幾年笛子。\",\"سریع می‌دوه، به دور پرتاب می‌کنه و آدامس می‌جوه. اون چطوری با یک دهن پر از آدامس، دارت‌ها رو پرتاب می‌کنه؟ سال‌ها درس دیجریدو.\",\"Cepat larinya, jauh tembakannya, dan mengunyah permen karet. Bagaimana dia bisa meniup sumpitan dengan mulut penuh permen? Karena berlatih didgeridoo bertahun-tahun.\",\"Lari cepat, tembak jauh dan kunyah gula-gula getah. Bagaimanakah dia menghembus damak dengan mulut penuh gula-gula getah? Tahun pelajaran didgeridoo.\"\n\"TID_SPELL_INFO_GOBLIN_GANG\",\"Spawns five Goblins - three with knives, two with spears - at a discounted Elixir cost. It's like a Goblin Value Pack!\",\"Cinq gobelins surgissent - trois armés de couteaux, deux armés de lances - pour un coût en élixir réduit. C'est comme un pack éco pour gobelins !\",\"Lässt für weniger Elixier fünf Kobolde erscheinen - drei mit Messern, zwei mit Speeren. Das ist wie ein Kobold-Sparpaket!\",\"Genera cinco duendes, tres con puñales y dos con lanzas, por un coste inferior de elixir. ¡Es como un lote de duendes en oferta!\",\"Genera cinque goblin — tre con coltelli, due con lance — a un costo scontato di elisir. È una specie di pacchetto goblin formato famiglia!\",\"Brengt vijf kobolden voort (drie met messen, twee met speren) voor gereduceerde elixirkosten. Een soort koboldenvoordeelpakket!\",\"Skaper fem nisser - tre med kniver, to med spyd - til en lavere eliksirkostnad. Akkurat som en verdipakke med nisser!\",\"Üçü bıçaklı, ikisi mızraklı beş Goblini toplamda daha düşük bir İksir maliyetiyle çağırır. Goblin Fırsat Paketi gibi bir şey!\",\"5人のゴブリン（3人はナイフでもう2人は槍を持つ）を、お得なエリクサーコストで投入できます。ゴブリンのバリューパックと言ってもいいでしょう！\",\"칼을 든 고블린 셋, 창을 든 고블린 둘, 총 고블린 다섯 마리를 적은 엘릭서로 소환합니다. 가성비 좋은 고블린 팩인 셈이죠!\",\"Призывает пятерых гоблинов по сниженной цене: трех с ножами и двух с копьями. Получается выгодный набор гоблинов!\",\"تولّد ستة غيلان - ثلاثة منهم بسكاكين وثلاثة برماح - مقابل خصم على تكلفة الإكسير، كأنها حزمة قيمة خاصة بالغيلان!\",\"Gera cinco Goblins, três com facas e dois com lanças, por um custo mais baixo de elixir. É um pacote especial de Goblins!\",\"哥布林五人行：三人持匕首，两人执长矛，圣水花费少，哥布林超值包！\",\"哥布林五人行：三人持匕首，兩人執長矛，聖水花費少，哥布林超值包！\",\"با قیمت اکسیر تخفیف خورده، پنج گابلین تولید می‌کنه، سه تا با چاقو، دو تا با نیزه. مثل یک بسته ارزش گابلین هست!\",\"Menghasilkan 5 Goblin - 3 berpisau, 2 bertombak - dengan harga Eliksir didiskon. Bagaikan Paket Hemat Goblin!\",\"Mewujudkan lima Goblin - tiga dengan pisau, dua dengan lembing - pada kos eliksir terdiskaun. Ia seperti Pek Nilai Goblin!\"\n\"TID_SPELL_INFO_AXEMAN\",\"He throws his axe like a boomerang, striking all enemies on the way out AND back. It's a miracle he doesn't lose an arm.\",\"Il lance sa hache comme un boomerang, frappant tous les ennemis à l'aller comme au retour ! C'est un miracle qu'il ne perde pas un bras.\",\"Er schleudert seine Axt wie einen Bumerang und kann Feinde so doppelt treffen! Ein Wunder, dass er dabei keinen Arm verliert.\",\"Lanza su hacha como un bumerán, golpeando a todos los enemigos en la ida y en la vuelta. Es un milagro que no se le salga un brazo.\",\"Lancia la sua ascia come un boomerang, colpendo tutti i nemici all'andata e al ritorno. È un miracolo che non abbia mai perso un braccio.\",\"Hij gooit zijn bijl als een boemerang en raakt vijanden op de heen- én terugweg. Het is een wonder dat zijn arm nooit wordt afgehakt.\",\"Han kaster øksen som en bumerang, slik at den treffer alle fiender både på tur og retur. Det er et under at han ikke mister en arm.\",\"Baltasını bumerang gibi fırlatıp yoluna çıkan tüm düşmanlara vurur. Kolunu kaybetmemiş olmasına şaşmalı.\",\"彼は斧をブーメランのように投げて、立ちはだかる敵すべてを退場に追い込みます。自分の腕に当たらないのが不思議なぐらいです。\",\"부메랑처럼 도끼를 던져, 날아갔다가 돌아오는 경로의 모든 적에게 피해를 줍니다. 팔이 멀쩡한 게 신기할 따름이네요.\",\"Бросает топор, как бумеранг, попадая по всем врагам на пути И туда, И обратно. Как ни странно, он не отрубает себе руку.\",\"يرمي فأسه كالكيد المرتد، ضاربًا كل الأعداء ذهابًا وإيابًا. من المدهش أنه لا يفقد ذراعًا.\",\"Ele lança seu machado como um bumerangue, atingindo todos os inimigos no caminho de ida e de volta. É um milagre ele não perder um braço.\",\"他扔出的斧头像一把回旋镖，斧头在飞出和飞回时都会对其路径上的敌军造成伤害。斧头这么使还能保住双臂，真是奇迹。\",\"他扔出的斧頭像一把迴旋鏢，斧頭在飛出和飛回時都會對其路徑上的敵軍造成傷害。斧頭這麼使還能保住雙臂，真是奇跡。\",\"تبرش رو مثل یک بومرنگ پرتاب می‌کنه، همه دشمنای سر راه رو نابود می‌کنه و برمی‌گرده. معجزه‌ست که دستش رو از دست نمی‌ده.\",\"Melempar kapak bak bumerang, menyerbu semua musuh saat meluncur DAN kembali. Sungguh ajaib tangannya masih utuh.\",\"Dia membaling kapaknya seperti bumerang, menyerang semua musuh dalam perjalanan keluar DAN kembali. Ajaib kerana dia tidak hilang lengan.\"\n\"TID_SPELL_INFO_ASSASSIN\",\"The Bandit dashes to her target and delivers an extra big hit! While dashing, she can't be touched. The mask keeps her identity safe... and gives her bonus cool points!\",\"La voleuse fonce sur sa cible et lui assène un coup très fort ! Quand elle charge, elle ne peut pas être touchée. Son masque dissimule son identité... et lui donne une sacrée classe !\",\"Die Banditin sprintet zu ihrem Ziel und landet einen extra großen Treffer! Während des Sprints kann ihr niemand schaden. Die Maske verbirgt ihr Gesicht und sieht auch noch besonders cool aus!\",\"¡La bandida asalta a su objetivo y le asesta un tremendo golpe extra! No podrás golpearla mientras embiste. La máscara que porta oculta su identidad... ¡y le da un toque interesante!\",\"La fuorilegge scatta verso il suo bersaglio e assesta un potentissimo colpo! Durante lo scatto non può essere toccata. La maschera cela la sua vera identità e... fa tremare gli avversari di paura!\",\"De struikrover sprint op haar doelwit af en brengt extra veel schade toe! Tijdens het sprinten kan zij niet worden geraakt. Het masker verbergt haar identiteit... en staat bovendien supercool!\",\"Banditten spurter mot målet og langer ut et ekstra kraftig slag! Ingen kan røre henne mens hun spurter. Masken holder identiteten hennes trygg ... og gir henne ekstra kulhetspoeng!\",\"Haydut, hedefine hızla koşup kocaman bir darbe indirir! Hızla koşarken dokunulmazdır. Maskesi kimliğini gizler ve ona muhteşem ek özellikler sağlar!\",\"アサシン ユーノは目標に向けてダッシュし、大きなダメージを与えます！ ダッシュ中は誰からも攻撃を受けません。仮面は彼女のプライバシーを守ってくれるだけでなく、かっこよさがアップします！\",\"도둑은 목표물을 향해 질주하고 강력한 한 방을 날립니다! 질주하는 동안에는 아무도 도둑을 건드릴 수 없습니다. 정체를 숨기기 위해 쓴 마스크는 그녀의 패션 아이템이기도 하죠!\",\"Бандитка бросается к цели и наносит беспощадный удар! Когда она движется, добраться до нее невозможно. Маска скрывает лицо... и добавляет ей крутости.\",\"تندفع قاطعة الطريق إلى هدفها وتسدد ضربة عملاقة! أثناء الاندفاع، لا يمكن لمسها. يخفي القناع هويتها... ويمنحها نقاط روعة إضافية!\",\"A Bandida corre para o alvo e começa um ataque poderoso! Enquanto corre, ninguém pode tocá-la. A máscara protege sua identidade... e dá uns pontinhos extras a ela!\",\"幻影刺客可以向目标发动突袭，造成双倍伤害！幻影刺客在突袭过程中不会受到攻击。面具掩饰了她神秘的身份......也给她增添了一分高冷！\",\"幻影刺客可以向目標發動突襲，造成雙倍傷害！幻影刺客在突襲過程中不會受到攻擊。面具掩飾了她神秘的身份......也令她增添幾分冷酷！\",\"راهزن به هدفش هجوم می‌بره و ضربه‌ای شدید به هدف وارد می‌کنه! در حین هجوم، نمیشه بهش دست زد. نقاب، هوتیش رو پنهان می‌کنه... و باعث میشه، امتیاز اضافی برای باحال بودن بهش تعلق بگیره!\",\"Bandit berlari menuju targetnya dan memberikan pukulan ekstra besar! Selagi berlari, dia tak dapat disentuh. Topeng mengamankan identitasnya... dan memberinya bonus poin keren!\",\"Bandit memecut ke sasarannya dan membuat serangan lebih besar! Dia tidak boleh disentuh semasa pecutan. Topeng memastikan kerahsiaan identitinya dan memberikannya mata hebat bonus!\"\n\"TID_SPELL_INFO_HEAL\",\"Heal your troops to keep them in the fight! Friendly troops are healed over time while in the target area. Doesn't affect buildings.\",\"Guérissez vos troupes pour qu'elles continuent le combat ! Les troupes alliées présentes dans la zone cible sont guéries au fil du temps. N'a pas d'effet sur les bâtiments.\",\"Heile deine Truppen, damit sie weiterkämpfen können! Alle verbündeten Truppen im Zielbereich werden über Zeit kuriert. Kein Effekt auf Gebäude.\",\"¡Cura a tus tropas y mantenlas luchando! Las tropas aliadas se curarán mientras permanecen en el área objetivo. No afecta a los edificios.\",\"Cura le tue truppe per farle combattere più a lungo! Le truppe alleate vengono curate nel tempo mentre si trovano nell'area dell'incantesimo, ma ciò non vale per gli edifici.\",\"Genees je troepen, zodat ze kunnen blijven vechten! Vriendschappelijke troepen in het doelgebied genezen in de loop van de tijd. Heeft geen effect op gebouwen.\",\"Helbred styrkene dine slik at de kan forbli i kampen! Vennligsinnede styrker helbredes over tid i målområdet. Påvirker ikke bygninger.\",\"Birliklerini iyileştirerek daha uzun süre savaşta tut! Hedef alandaki dost birlikler zamanla iyileştirilir. Binaları etkilemez.\",\"傷ついたユニットを回復させましょう！ 対象エリア内にいる味方ユニットは、徐々にヒットポイントが回復します。ただし建物には影響を与えません。\",\"유닛을 치료해서 계속 싸울 수 있도록 하세요! 아군 유닛은 대상 지역에 있는 동안 계속 체력이 회복됩니다. 건물은 영향을 받지 않습니다.\",\"Лечи своих солдат, чтобы они не выбывали из строя! Дружественные войска будут исцелятся в зоне действия заклинания. Не влияет на здания.\",\"عالج قواتك لتبقيها في القتال! تُشفى القوات الصديقة بمرور الوقت أثناء وجودها في منطقة الهدف. لا تؤثر على المباني.\",\"Cure suas tropas para que continuem lutando. As tropas aliadas são curadas enquanto estiverem dentro do alcance do feitiço. Construções não são afetadas.\",\"治疗您的军队，让他们能够在战场上持续作战！治疗法术作用期间，目标区域内的友方军队会持续回复生命值。治疗法术对建筑无效！\",\"治療您的軍隊，讓他們能夠在戰場上持續作戰！治療法術作用期間，目標區域內的友方軍隊會持續回復生命值。治療法術對建築無效！\",\"نیروهات رو شفا بده تا بتونی اونها رو توی جنگ نگه داری! نیروهای خودی با گذشت زمان در همون جایی که هستن، درمان می‌شن. روی ساختمون‌ها تأثیری نمی‌ذاره.\",\"Sembuhkan peletonmu agar mereka tetap bertarung! Peleton sekutu sembuh seiring waktu selagi berada di area target. Bangunan tidak terpengaruh.\",\"Sembuhkan askar anda untuk memastikan mereka terus bertarung! Askar rakan sembuh sepanjang masa semasa dalam kawasan sasaran. Tidak menjejaskan bangunan.\"\n\"TID_SPELL_INFO_DARK_WITCH\",\"Summons Bats to do her bidding, even after death! And if you get too close, she isn't afraid of pitching in with her mean-looking battle staff.\",\"Invoque des chauves-souris qui obéissent à ses ordres, même après sa mort, et n'hésite pas à se servir de son redoutable bâton si vous approchez un peu trop.\",\"Beschwört Fledermäuse, die ihr jeden Wunsch erfüllen - selbst, nachdem sie stirbt. Kommt ihr jemand zu nahe, ist sie sich aber auch nicht zu schade, ihren unheimlichen Stab zu schwingen!\",\"Invoca murciélagos a sus órdenes, incluso tras morir. Si te acercas demasiado a ella, no dudará en echar mano de su temible vara.\",\"Evoca dei pipistrelli per fare il lavoro sporco, anche dopo la morte! E se ti avvicini troppo non si fa problemi a impugnare il suo spaventoso bastone.\",\"Roept vleermuizen op die onder haar bevel staan, zelfs na haar dood. Maar kom je te dichtbij, dan helpt ze zelf mee met haar griezelige staf.\",\"Påkaller flaggermus til å gjøre jobben for henne, selv når hun er død! Kommer du for nær, nøler hun heller ikke med å bruke den skumle staven sin.\",\"İşlerini uzaktan halletmek için yarasalar çağırır; üstelik öldüğü anda bile! Çok yaklaşırsan da korkunç silahıyla savaşa girmekten çekinmez.\",\"彼女が呼び出すコウモリは、主がやられても攻撃を続けます！ また、むやみに近づいた者は、見るからに凶悪そうな戦闘用の杖でブン殴られるでしょう。\",\"박쥐들을 소환해 적을 공격하게 합니다. 마녀가 제거된 후에도요! 적이 가까이 다가오면 무섭게 생긴 지팡이를 휘둘러 직접 공격합니다.\",\"Призывает летучих мышей, исполняющих приказания ночной ведьмы, даже после ее смерти. Но если к ней подобраться слишком близко, она не побрезгует и сама ткнуть врага жутким посохом.\",\"تستدعي الخفافيش لتنفيذ أوامرها، حتى بعد موتها! لكن إذا اقتربت منها جدًا، فلن تخشي اللجوء إلى حيلها القتالية الدنيئة.\",\"Ela invoca morcegos para tomarem a dianteira, mesmo após a morte! Se você chegar muito perto, ela mostrará quem manda na parada.\",\"她能召唤蝙蝠，只要她一声号令，这些蝙蝠便会为她赴汤蹈火，即便倒下时，她也能召唤出蝙蝠。如果你靠得太近，她不介意用手中那造型恐怖的法杖教训教训你。\",\"她能召喚蝙蝠，只要她一聲號令，這些蝙蝠便會為她赴湯蹈火，即便倒下時，她也能召喚出蝙蝠。如果你靠得太近，她不介意用手中那造型恐怖的法杖教訓教訓你。\",\"حتی بعد از مرگ هم، خفاش‌ها رو می‌فرسته تا دستوراتش رو عملی کنن. اگر زیادی بهش نزدیک بشی، ابایی نداره از اینکه برای حمله به زیردستای بد جنسش بپیونده.\",\"Memanggil Kelelawar untuk melakukan perintahnya, bahkan setelah kematian! Jika terlalu dekat, dia tidak takut melemparkan tongkatnya yang terlihat kejam.\",\"Seru Kelawar untuk melaksanakan arahannya, walaupun selepas dia mati! Dan jika anda berada terlalu dekat, dia akan campur tangan mengguna tongkatnya yang menakutkan.\"\n\"TID_SPELL_INFO_BATS\",\"Four tiny flying creatures with big ears. Having big ears doesn't mean they'll listen when asked to stop attacking you.\",\"Quatre petites créatures volantes à grandes oreilles. La taille des oreilles ne veut pas dire qu'elles vous écouteront quand vous les supplierez de cesser de vous attaquer.\",\"Drei winzige fliegende Kreaturen mit großen Ohren. Letzteres bedeutet nicht, dass sie auf einen hören, wenn man sie um Gnade bittet!\",\"Cuatro pequeñas criaturas de grandes orejas, lo cual no significa que vayan a escuchar tus súplicas y dejar de atacarte.\",\"Quattro piccole creature volanti con grosse orecchie. Per quanto grosse siano, però, restano sorde alle tue proposte di pace.\",\"Vier kleine vliegende wezens met grote oren, al luisteren ze niet als je vraagt of ze willen stoppen met jou aan te vallen.\",\"Fire knøttsmå skapninger med store ører. Men det at de har store ører, betyr ikke at de hører etter når du ber dem om å slutte å angripe deg.\",\"Kocaman kulakları olan dört küçük, uçan yaratık. Kulaklarının büyük olması onlara \\qDurun!\\q dediğinde seni dinleyecekleri anlamına gelmiyor.\",\"大きな耳を持つ、4匹の小さな飛行生物です。大きな耳はあっても、攻撃をやめろという頼みを聞いてくれるわけではありません。\",\"귀가 큰 네 마리의 작은 날짐승입니다. 물론 귀가 크다고 말을 잘 듣는 건 아닙니다. \\q그만 공격해\\q라고 했다고 멈출 리가 없죠.\",\"Четыре летающих мальца с большими ушами. Несмотря на размер ушей, они не услышат жалобные мольбы врагов о пощаде.\",\"أربعة مخلوقات طائرة صغيرة ذات آذان كبيرة. ولا يعني امتلاكها لتلك الآذان الكبيرة أنها ستنصت إذا طُلب منها التوقف عن مهاجمتك.\",\"Quatro criaturinhas voadoras e orelhudas. Mas não é porque elas têm orelhas grandes que vão ouvir quando alguém pedir para pararem de atacar.\",\"四个飞行的小家伙，长着一对大耳朵。不过耳朵大并不代表你大喊饶命时，它们会乖乖听话。\",\"四個飛行的小傢伙，長著一對大耳朵。不過耳朵大並不代表你大喊饒命時，它們會乖乖聽話。\",\"چهارتا موجود پرنده کوچیک با گوش‌های بزرگ. اما گوش‌های بزرگ به این معنی نیست که وقتی دارن بهت حمله می‌کنند، گوششون به فرمان ایست بدهکار باشه.\",\"Empat makhluk mungil bertelinga besar yang terbang. Bertelinga besar tidak berarti mereka akan mendengarkan jika diminta berhenti menyerangmu.\",\"Empat makhluk terbang kecil bertelinga besar. Mempunyai telinga besar tidak bermakna mereka akan mendengar apabila diminta untuk berhenti menyerang anda.\"\n\"TID_SPELL_INFO_HUNTER\",\"TODO Hunter\",\"TODO Chasseur\",\"TODO Hunter\",\"TODO Cazador\",\"TODO Cacciatore\",\"TODO Jager\",\"TODO Jeger\",\"TODO Avcı\",\"TODO ハンター\",\"TODO 사냥꾼\",\"TODO Охотник\",\"صياد TODO\",\"TODO: Caçador\",\"TODO 猎人\",\"TODO 獵人\",\"برای انجام: شکارچی\",\"TODO Pemburu\",\"TODO Pemburu\"\n\"TID_SPELL_INFO_GIFT_PONY\",\"HAPPY BIRTHDAY!!!!!!\",\"JOYEUX ANNIVERSAIRE !\",\"HAPPY BIRTHDAY!!!!!!\",\"¡FELIZ CUMPLEAÑOS!\",\"BUON COMPLEANNO!\",\"VAN HARTE GEFELICITEERD!\",\"GRATULERER MED DAGEN!\",\"MUTLU YILLAR!!!!!!\",\"ハッピーバースデー！！\",\"생일 축하합니다!\",\"С ДНЕМ РОЖДЕНИЯ!\",\"عيد ميلاد سعيد!!!!!!\",\"FELIZ ANIVERSÁRIO!\",\"生日快乐！！！\",\"生日快樂！！！\",\"تولدت مبارک!!!!!!\",\"SELAMAT ULANG TAHUN!\",\"SELAMAT HARI JADI!!!\"\n\"TID_SPELL_INFO_BAT_NEST\",\"TODO Bat Nest\",\"TODO Nid de chauves-souris\",\"TODO Bat Nest\",\"TODO Nido de murciélagos\",\"TODO Nido di pipistrelli\",\"TODO Vleermuizennest\",\"TODO Flaggermusrede\",\"TODO Yarasa Yuvası\",\"TODO コウモリの巣\",\"TODO 박쥐 소굴\",\"TODO Гнездо летучих мышей\",\"عش خفافيش TODO\",\"TODO: Ninho do Morcego\",\"TODO 蝙蝠巢\",\"TODO 蝙蝠巢\",\"لانه خفاش\",\"TODO Sarang Kelelawar\",\"TODO Sarang Kelawar\"\n\"TID_SPELL_INFO_MOVING_CANNON\",\"A Cannon on wheels?! Bet they won't see that coming! Once you break its shield, it becomes a Cannon not on wheels.\",\"Un canon sur roues ? Je parie qu'ils ne l'ont pas vu venir ! Il perd ses roues lorsque son bouclier est brisé.\",\"Eine Kanone auf Rädern?! Das sieht keiner kommen! Wenn du ihren Schild durchbrichst, bleibt sie zwar eine Kanone, aber nicht mehr auf Rädern.\",\"¿Un cañón con ruedas? ¡Ver para creer! En cuanto destruyes su escudo, se convierte en un cañón sin ruedas.\",\"Un cannone con le ruote?! Chi se lo aspettava, eh? Una volta distrutto il suo scudo, si trasforma inaspettatamente in un cannone senza ruote.\",\"Een kanon op wielen? Dat zien ze vast niet aankomen. Als je het schild doorbreekt, wordt het een kanon zonder wielen.\",\"En kanon på hjul? Det tar dem nok på senga! Ødelegger du skjoldet, blir det en kanon uten hjul.\",\"Tekerlekli bir top mu? Bunu kimse tahmin edemezdi! Kalkanı parçalandıktan sonra tekerleksiz bir topa dönüşür.\",\"まさかの新兵器、車輪のついた大砲です！ シールドを破壊すると、動かない普通の大砲になります。\",\"바퀴 달린 대포?! 이건 상상도 못했죠? 보호막을 부수면 바퀴가 없는 대포가 됩니다.\",\"Пушка на колесах?! Спорим, этого никто не ожидал! Как только ее щит будет разбит, она снова станет обычной.\",\"مدفع يتحرك على عجلات؟! أراهن أنهم لن يتوقعوا ذلك! بمجرد كسر الدرع، يصبح مدفعًا بدون عجلات.\",\"Um canhão de rodinhas! Quem podia imaginar? Depois que você quebra o escudo, ele vira um canhão normal.\",\"带轮子的加农炮？敌军肯定没料到！一旦护盾被击破，它就会变成一个不带轮子的加农炮。\",\"帶輪子的加農炮？敵軍肯定沒料到！一旦護盾被擊破，它就會變成一個不帶輪子的加農炮。\",\"توپ روی چرخ!؟ شرط می‌بندم انتظار این یکی رو نداشتن! اگه سپرش رو بشکنی، به توپ بدون چرخ تبدیل می‌شه.\",\"Meriam beroda?! Pasti mereka tidak menduganya! Begitu perisainya kamu tembus, dia menjadi Meriam, tidak beroda.\",\"Meriam atas roda?! Saya yakin mereka akan terkejut! Sebaik sahaja anda memecahkan pelindungnya, ia menjadi meriam tanpa roda.\"\n\"TID_SPELL_INFO_MEGAKNIGHT\",\"He lands with the force of 1,000 mustaches, then jumps from one foe to the next dealing huge area damage. Stand aside!\",\"Il atterrit avec la force de 1 000 moustaches, puis saute d'ennemi en ennemi en infligeant d'énormes dégâts de zone. Poussez-vous !\",\"Er landet mit der Kraft von 1000 Schnurrbärten, springt dann von einem Feind zum nächsten und teilt gewaltigen Flächenschaden aus. Stell dich ihm nicht in den Weg!\",\"Aterriza con una fuerza de tres pares de narices (y bigotes), y acaba con sus rivales saltando de uno a otro y causando un enorme daño de área. ¡Abrid paso!\",\"Atterra con la forza di 100 baffi, e salta da un nemico all'altro infliggendo devastanti danni ad area. Fatevi da parte, villani!\",\"Hij landt met de kracht van duizend snorren, springt van de ene vijand naar de andere en brengt enorme gebiedsschade toe. Aan de kant!\",\"Han lander med kraften til 1000 barter, så hopper han fra den ene fienden til den andre mens han påfører enorm områdeskade. Unna vei!\",\"Arenaya 1.000 bıyık gücünde bir iniş yapar ve bir düşmandan diğerine atlayarak büyük bir alan hasarı verir. Savulun!\",\"1000ヒゲパワーに相当するエネルギーで着地し、敵を次々と踏みつけてはジャンプして、周囲に大ダメージを与えます。危ないので離れていましょう！\",\"콧수염의 위력과 함께 착지합니다. 엄청난 광역 피해를 주며 다른 상대 유닛으로 점프합니다. 비켜서세요!\",\"Обладая силой тысячи усов, он с легкостью расправляется с врагами, нанося огромный урон по области. Посторонись!\",\"يهبط بقوة 1000 رجل، ثم يقفز من عدوٍ لآخر محدثًا ضررًا هائلاً في المنطقة. يجب أن تتنحى جانبًا!\",\"Ele chega com a força de mil bigodes, depois pula de inimigo em inimigo causando grande dano em área. Saia da frente!\",\"他登场时伴随着\\q千髯之力\\q，之后他会跃向敌军发动攻击，跃击能造成巨量范围伤害。最好离他远点！\",\"他登場時伴隨著\\q千髯之力\\q，之後他會躍向敵軍發動攻擊，躍擊能造成巨量範圍傷害。最好離他遠點！\",\"با قدرت 1000 سیبیل فرود میاد، از یه دشمن به دشمن دیگه می‌پره و آسیب ناحیه‌ای شدید وارد می‌کنه. خودتون رو کنار بکشید!\",\"Dia mendarat dengan kekuatan 1.000 kumis, lalu melompat dari satu musuh ke musuh berikutnya, memberikan kerusakan area yang besar. Minggir!\",\"Dia mendarat dengan kekuatan 1,000 misai dan kemudian, lompat dari musuh ke musuh, menyebabkan kerosakan kawasan yang amat besar. Ke tepi!\"\n\"TID_SPELL_INFO_BUILDERS\",\"TODO Builders\",\"TODO Ouvriers\",\"TODO Builders\",\"TODO Constructores\",\"TODO Costruttori\",\"TODO Bouwers\",\"TODO Byggere\",\"TODO İnşaatçılar\",\"TODO 大工\",\"TODO 장인\",\"TODO Строители\",\"البناؤون TODO\",\"TODO Construtores\",\"TODO 建筑工人\",\"TODO 建築工人\",\"سازندگان برای انجام\",\"TODO Tukang\",\"TODO Pembina\"\n\"TID_SPELL_INFO_SKELETON_BALLOON\",\"It's a Skeleton party in the sky, until all the balloons pop... then it's a Skeleton party on the ground!\",\"C'est la fête des squelettes dans le ciel, jusqu'à ce que tous les ballons éclatent... Ensuite, la fête des squelettes continue... sur la terre ferme !\",\"In der Luft tobt eine Skelettparty, bis die Ballons platzen ... Dann wird auf dem Boden weitergefeiert!\",\"Los esqueletos se lo pasan de miedo por los aires, pero cuando explota el último globo... ¡la fiesta sigue en tierra firme!\",\"Una festa di scheletri in aria, fino a che i palloncini non esplodono. Poi diventa una festa di scheletri per terra.\",\"Het is een skeletfeestje in de lucht, tot alle ballonnen klappen... dan is het een skeletfeestje op de grond.\",\"Det er skjelettfest i luften, helt til ballongene sprekker ... Da blir det skjelettfest på bakken!\",\"Balonlar patlayana kadar havada İskelet partisi var. Ardından parti yerde devam ediyor!\",\"スケルトンたちが空で行うパーティーのようなものです。最後の風船がはじけたら... 今度は地上でパーティーが始まります！\",\"하늘에서 해골 파티가 열립니다! 풍선이 모두 터지면 이제 지상에서 해골 파티를 열 차례죠!\",\"Скелеты резвятся в воздухе, пока не будут сбиты все шары... а потом они резвятся на земле!\",\"يتجمع حشد الهياكل العظمية في السماء، حتى تنفجر البالونات... فينتقل الحفل إلى الأرض!\",\"É uma festa de Esqueletos no céu até que todos os balões sejam estourados... Aí vira uma festa de Esqueletos no chão!\",\"在所有气球爆炸之前，这就是一场空中骷髅派对......之后则会变成一场地面骷髅派对！\",\"在所有氣球爆炸之前，這就是一場空中骷髏派對......之後則會變成一場地面骷髏派對！\",\"توی هوا، یک جشن اسکلتی برپاست، تا وقتی همه بالون‌ها بترکن... اون وقت تبدیل میشه به جشن اسکلتی روی زمین!\",\"Ini pesta Jerangkong di udara, sampai semua balon meletus... jadilah pesta Jerangkong di darat!\",\"Ia parti rangka di langit, sehingga semua belon letup... waktu itu parti rangka bermula di bumi!\"\n\"TID_SPELL_INFO_DART_BARRELL\",\"The Master Builder has sent his first contraption to the Arena! It's a fast and fun flying machine, but fragile!\",\"Le première machine du maître ouvrier a débarqué dans l'arène !\\nIl s'agit d'un engin volant rapide et amusant, mais fragile !\",\"Der Meisterbauarbeiter hat sein erstes Gerät in die Arena geschickt! Es handelt sich um eine schnelle und spaßige Flugmaschine, die aber recht zerbrechlich ist!\",\"¡El constructor maestro ha enviado su primer artilugio a la arena! Es una veloz y divertida máquina voladora, pero es algo frágil.\",\"Il capomastro ha inviato il suo primo marchingegno nell'arena! La macchina volante è rapida ed elegante, ma fragile.\",\"De meesterbouwer heeft zijn eerste uitvinding naar de arena gestuurd. Het is een snelle en grappige vliegmachine, maar heel breekbaar.\",\"Byggmesteren har sendt sin første oppfinnelse til arenaen, en flymaskin! Den er rask og morsom, men skrøpelig!\",\"Usta İnşaatçı Arenaya ilk makinesini gönderdi! Bu uçan makine hızlı ve eğlenceli, ama pek dayanıklı değil.\",\"マスター大工が、最初の発明品をアリーナに送り込みました！ 素早くて愉快な飛行機械ですが、もろいのが難点です！\",\"마스터 장인이 첫 기계를 아레나에 보냈습니다! 빠르고 재미있지만 파괴되기 쉽습니다!\",\"Главный строитель отправил на арену свое первое изобретение — причудливый и быстрый летающий аппарат. Но он такой хрупкий!\",\"أرسل البنّاء الخبير اختراعه العجيب الأول إلى الساحة! إنها آلة سريعة طائرة ومضحكة، لكنها هشة!\",\"O mestre construtor enviou sua primeira engenhoca para a arena! É uma máquina voadora veloz e divertida, porém frágil.\",\"竞技场上迎来了建筑大师的首个新发明！这是一个很有意思的高速飞行器，不过可不太牢靠！\",\"競技場上迎來了建築大師的首個新發明！這是一個很有意思的高速飛行器，不過可不太牢靠！\",\"استاد سازنده اولین اختراعش رو به میدان نبرد فرستاده! ماشین پرنده با اینکه سریع و باحاله، ولی شکننده است!\",\"Master Tukang telah mengirimkan karya pertamanya ke Arena! Mesin terbang yang cepat dan seru, tetapi mudah rusak!\",\"Ketua Pembina telah menghantar alat aneh pertamanya ke Arena! Ia mesin terbang yang laju dan menyeronokkan tetapi rapuh!\"\n\"TID_SPELL_LOG\",\"The Log\",\"La bûche\",\"Kampfholz\",\"El Tronco\",\"Il Tronco\",\"De stam\",\"Tømmerstokken\",\"Tomruk\",\"ローリングウッド\",\"통나무\",\"Бревно\",\"الجذع\",\"O Tronco\",\"复仇滚木\",\"復仇滾木\",\"الوار\",\"Sang Kayu\",\"Kayu Balak\"\n\"TID_SPELL_GOLEM\",\"Golem\",\"Golem\",\"Golem\",\"Gólem\",\"Golem\",\"Golem\",\"Golem\",\"Golem\",\"ゴーレム\",\"골렘\",\"Голем\",\"غولم\",\"Golem\",\"戈仑石人\",\"戈侖石人\",\"گالم\",\"Golem\",\"Golem\"\n\"TID_SPELL_FIREBALL\",\"Fireball\",\"Boule de feu\",\"Feuerball\",\"Bola de fuego\",\"Sfera infuocata\",\"Vuurbal\",\"Ildkule\",\"Alev Topu\",\"ファイアボール\",\"파이어 볼\",\"Огненный шар\",\"كرة نارية\",\"Bola de Fogo\",\"火球\",\"火球\",\"گلوله آتش\",\"Bola Api\",\"Bebola Api\"\n\"TID_SPELL_ARROWS\",\"Arrows\",\"Flèches\",\"Pfeile\",\"Flechas\",\"Frecce\",\"Pijlen\",\"Piler\",\"Oklar\",\"矢の雨\",\"화살\",\"Стрелы\",\"سهام\",\"Flechas\",\"万箭齐发\",\"萬箭齊發\",\"تیر\",\"Panah\",\"Anak Panah\"\n\"TID_SPELL_ARCHERS\",\"Archers\",\"Archers\",\"Bogenschützen\",\"Arqueras\",\"Arcieri\",\"Boogschutters\",\"Bueskyttere\",\"Okçular\",\"アーチャー\",\"아처\",\"Лучницы\",\"رماة السهام\",\"Arqueiras\",\"弓箭手\",\"弓箭手\",\"تیرانداز\",\"Pemanah\",\"Pemanah\"\n\"TID_SPELL_SPEAR_GOBLINS\",\"Spear Goblins\",\"Gobelins à lances\",\"Speerkobolde\",\"Duendes con lanza\",\"Goblin lancieri\",\"Speerkobolden\",\"Spydnisser\",\"Mızraklı Goblin\",\"槍ゴブリン\",\"창 고블린\",\"Гоблины—копейщики\",\"غيلان الرمح\",\"Goblins Lanceiros\",\"哥布林投矛手\",\"哥布林投矛手\",\"گابلین نیزه‌دار\",\"Goblin-Goblin Tombak\",\"Goblin Lembing\"\n\"TID_SPELL_BARBARIANS\",\"Barbarians\",\"Barbares\",\"Barbaren\",\"Bárbaros\",\"Barbari\",\"Barbaren\",\"Barbarer\",\"Barbarlar\",\"バーバリアン\",\"바바리안\",\"Варвары\",\"برابرة\",\"Bárbaros\",\"野蛮人\",\"野蠻人\",\"بربرها\",\"Orang Barbar\",\"Orang Gasar\"\n\"TID_SPELL_KNIGHT\",\"Knight\",\"Chevalier\",\"Ritter\",\"Caballero\",\"Cavaliere\",\"Ridder\",\"Ridder\",\"Şövalye\",\"ナイト\",\"기사\",\"Рыцарь\",\"فارس\",\"Cavaleiro\",\"骑士\",\"騎士\",\"شوالیه\",\"Kesatria\",\"Kesatria\"\n\"TID_SPELL_GOBLINS\",\"Goblins\",\"Gobelins\",\"Kobolde\",\"Duendes\",\"Goblin\",\"Kobolden\",\"Nisser\",\"Goblinler\",\"ゴブリン\",\"고블린\",\"Гоблины\",\"غيلان\",\"Goblins\",\"哥布林\",\"哥布林\",\"گابلین\",\"Goblin\",\"Goblin\"\n\"TID_SPELL_GIANT\",\"Giant\",\"Géant\",\"Riese\",\"Gigante\",\"Gigante\",\"Reus\",\"Kjempe\",\"Dev\",\"ジャイアント\",\"자이언트\",\"Гигант\",\"عملاق\",\"Gigante\",\"巨人\",\"巨人\",\"غول\",\"Raksasa\",\"Gergasi\"\n\"TID_SPELL_PEKKA\",\"P.E.K.K.A\",\"P.E.K.K.A\",\"P.E.K.K.A.\",\"P.E.K.K.A.\",\"P.E.K.K.A\",\"P.E.K.K.A.\",\"P.E.K.K.A\",\"P.E.K.K.A\",\"P.E.K.K.A\",\"P.E.K.K.A\",\"П.Е.К.К.А.\",\"بيكا\",\"P.E.K.K.A\",\"皮卡超人\",\"皮卡超人\",\"P.E.K.K.A\",\"P.E.K.K.A\",\"P.E.K.K.A\"\n\"TID_SPELL_MINIONS\",\"Minions\",\"Gargouilles\",\"Lakaien\",\"Esbirros\",\"Sgherri\",\"Gunstelingen\",\"Lakeier\",\"Minyonlar\",\"ガーゴイル\",\"미니언\",\"Миньоны\",\"كائنات المينيون\",\"Servos\",\"亡灵\",\"亡靈\",\"مینیون\",\"Minion\",\"Konco\"\n\"TID_SPELL_MINION_HORDE\",\"Minion Horde\",\"Horde de gargouilles\",\"Lakaienhorde\",\"Horda de esbirros\",\"Orda di sgherri\",\"Horde gunstelingen\",\"Lakeihorde\",\"Minyon sürüsü\",\"ガーゴイルの群れ\",\"미니언 패거리\",\"Орда миньонов\",\"حشد المينيون\",\"Horda de Servos\",\"亡灵大军\",\"亡靈大軍\",\"گله مینیون\",\"Gerombolan Minion\",\"Gerombolan Konco\"\n\"TID_SPELL_CANNON\",\"Cannon\",\"Canon\",\"Kanone\",\"Cañón\",\"Cannone\",\"Kanon\",\"Kanon\",\"Top\",\"大砲\",\"대포\",\"Пушка\",\"مدفع\",\"Canhão\",\"加农炮\",\"加農炮\",\"توپ\",\"Meriam\",\"Meriam\"\n\"TID_SPELL_GOBLIN_HUT\",\"Goblin Hut\",\"Cabane de gobelin\",\"Koboldhütte\",\"Choza de duendes\",\"Capanna goblin\",\"Koboldenhut\",\"Nissehytte\",\"Goblin Kulübesi\",\"ゴブリンの小屋\",\"고블린 오두막\",\"Хижина гоблина\",\"كوخ الغول\",\"Cabana de Goblins\",\"哥布林小屋\",\"哥布林小屋\",\"کلبه گابلین\",\"Pondok Goblin\",\"Pondok Goblin\"\n\"TID_SPELL_BARBARIAN_HUT\",\"Barbarian Hut\",\"Cabane de barbare\",\"Barbarenhütte\",\"Choza de bárbaros\",\"Capanna dei barbari\",\"Barbarenhut\",\"Barbarhytte\",\"Barbar Kulübesi\",\"バーバリアンの小屋\",\"바바리안 오두막\",\"Хижина варвара\",\"كوخ البربري\",\"Cabana de Bárbaros\",\"野蛮人小屋\",\"野蠻人小屋\",\"کلبه بربرها\",\"Pondok Barbar\",\"Pondok Gasar\"\n\"TID_SPELL_MORTAR\",\"Mortar\",\"Mortier\",\"Minenwerfer\",\"Mortero\",\"Mortaio\",\"Mortier\",\"Morter\",\"Havan\",\"迫撃砲\",\"박격포\",\"Мортира\",\"مدفع هاون\",\"Morteiro\",\"迫击炮\",\"迫擊炮\",\"خمپاره\",\"Mortir\",\"Mortar\"\n\"TID_SPELL_BALLOON\",\"Balloon\",\"Ballon\",\"Ballon\",\"Globo bombástico\",\"Mongolfiera\",\"Ballon\",\"Ballong\",\"Balon\",\"エアバルーン\",\"해골 비행선\",\"Шар\",\"بالون\",\"Balão\",\"气球兵\",\"氣球兵\",\"بالن\",\"Balon\",\"Belon\"\n\"TID_SPELL_WITCH\",\"Witch\",\"Sorcière\",\"Hexe\",\"Bruja\",\"Strega\",\"Heks\",\"Heks\",\"Cadı\",\"ネクロマンサー\",\"마녀\",\"Ведьма\",\"ساحرة\",\"Bruxa\",\"女巫\",\"女巫\",\"ساحره\",\"Nenek Sihir\",\"Sihir Perempuan\"\n\"TID_SPELL_RAGE\",\"Rage\",\"Rage\",\"Wut\",\"Furia\",\"Furia\",\"Woede\",\"Raseri\",\"Öfke\",\"レイジ\",\"분노 마법\",\"Ярость\",\"الغضب\",\"Fúria\",\"狂暴法术\",\"狂暴法術\",\"عصبانیت\",\"Amarah\",\"Kemarahan\"\n\"TID_SPELL_GIANT_SKELETON\",\"Giant Skeleton\",\"Squelette géant\",\"Riesenskelett\",\"Esqueleto gigante\",\"Scheletro gigante\",\"Reuzenskelet\",\"Kjempeskjelett\",\"Dev İskelet\",\"巨大スケルトン\",\"자이언트 해골\",\"Гигантский скелет\",\"هيكل عظمي عملاق\",\"Esqueleto Gigante\",\"骷髅巨人\",\"骷髏巨人\",\"اسکلت غول‌پیکر\",\"Jerangkong Raksasa\",\"Rangka Gergasi\"\n\"TID_SPELL_SKELETONS\",\"Skeletons\",\"Squelettes\",\"Skelette\",\"Esqueletos\",\"Scheletri\",\"Skeletten\",\"Skjeletter\",\"İskeletler\",\"スケルトン\",\"해골 병사\",\"Скелеты\",\"هياكل عظمية\",\"Esqueletos\",\"骷髅兵\",\"骷髏兵\",\"اسکت\",\"Jerangkong\",\"Rangka\"\n\"TID_SPELL_INFERNO\",\"Inferno Tower\",\"Tour de l'enfer\",\"Infernoturm\",\"Torre infernal\",\"Torre infernale\",\"Infernotoren\",\"Infernotårn\",\"Felaket Kulesi\",\"インフェルノタワー\",\"인페르노 타워\",\"Адская башня\",\"برج النار\",\"Torre Inferno\",\"地狱之塔\",\"地獄之塔\",\"برج جهنمی\",\"Benteng Inferno\",\"Menara Neraka\"\n\"TID_SPELL_VALKYRIE\",\"Valkyrie\",\"Valkyrie\",\"Walküre\",\"Valquiria\",\"Valchiria\",\"Valkyrie\",\"Valkyrje\",\"Valkür\",\"バルキリー\",\"발키리\",\"Валькирия\",\"فالكيري\",\"Valquíria\",\"瓦基丽武神\",\"瓦基麗武神\",\"والکری\",\"Valkyrie\",\"Valkyrie\"\n\"TID_SPELL_ROCKET\",\"Rocket\",\"Roquette\",\"Rakete\",\"Cohete\",\"Razzo\",\"Raket\",\"Rakett\",\"Roket\",\"ロケット\",\"로켓\",\"Ракета\",\"صاروخ\",\"Foguete\",\"火箭\",\"火箭\",\"موشک\",\"Roket\",\"Roket\"\n\"TID_SPELL_GOBLIN_BARREL\",\"Goblin Barrel\",\"Fût à gobelins\",\"Koboldfass\",\"Barril de duendes\",\"Barile goblin\",\"Koboldenton\",\"Nissetønne\",\"Goblin Fıçısı\",\"ゴブリンバレル\",\"고블린 통\",\"Гоблинская бочка\",\"برميل الغول\",\"Barril de Goblins\",\"哥布林飞桶\",\"哥布林飛桶\",\"بشکه گابلین\",\"Tong Goblin\",\"Tong Goblin\"\n\"TID_SPELL_BOMBER\",\"Bomber\",\"Bombardier\",\"Bomber\",\"Bombardero\",\"Bombarolo\",\"Bommengooier\",\"Bomber\",\"Bombacı\",\"ボンバー\",\"폭탄병\",\"Подрывник\",\"مفجر\",\"Bombardeiro\",\"炸弹兵\",\"炸彈兵\",\"بمب‌گذار\",\"Pengebom\",\"Pengebom\"\n\"TID_SPELL_BOMB_TOWER\",\"Bomb Tower\",\"Tour à bombes\",\"Bombenturm\",\"Torre bombardera\",\"Torre bombardiera\",\"Bomtoren\",\"Bombetårn\",\"Bomba Kulesi\",\"ボムタワー\",\"폭탄 타워\",\"Башня-бомбешка\",\"برج القنبلة\",\"Torre de Bombas\",\"炸弹塔\",\"炸彈塔\",\"برج بمب\",\"Benteng Bom\",\"Menara Bom\"\n\"TID_SPELL_SKELETON_HORDE\",\"Skeleton Army\",\"Armée de squelettes\",\"Skelettarmee\",\"Ejército de esqueletos\",\"Orda di scheletri\",\"Skeletleger\",\"Skjelettarmé\",\"İskelet Ordusu\",\"スケルトン部隊\",\"해골 군대\",\"Армия скелетов\",\"جيش هياكل عظمية\",\"Exército de Esqueletos\",\"骷髅军团\",\"骷髏軍團\",\"ارتش اسکلت\",\"Tentara Jerangkong\",\"Tentera Rangka\"\n\"TID_SPELL_MUSKETEER\",\"Musketeer\",\"Mousquetaire\",\"Musketierin\",\"Mosquetera\",\"Moschettiere\",\"Musketier\",\"Musketer\",\"Silahşor\",\"マスケット銃士\",\"머스킷병\",\"Мушкетер\",\"فارسة\",\"Mosqueteira\",\"火枪手\",\"火槍手\",\"تفنگدار\",\"Musketeer\",\"Musketeer\"\n\"TID_SPELL_THREE_MUSKETEERS\",\"Three Musketeers\",\"Trois mousquetaires\",\"Drei Musketierinnen\",\"Trío de mosqueteras\",\"Tre moschettieri\",\"Drie musketiers\",\"Tre musketerer\",\"Üç Silahşor\",\"三銃士\",\"삼총사\",\"Три мушкетера\",\"الفارسات الثلاث\",\"Três Mosqueteiras\",\"三个火枪手\",\"三個火槍手\",\"سه تفنگدار\",\"Tiga Musketeer\",\"Tiga Musketeer\"\n\"TID_SPELL_FREEZE\",\"Freeze\",\"Gel\",\"Frost\",\"Hielo\",\"Congelamento\",\"Bevriezen\",\"Frysing\",\"Dondurma\",\"フリーズ\",\"얼음 마법\",\"Заморозка\",\"تجمد\",\"Gelo\",\"冰冻法术\",\"冰凍法術\",\"فریز\",\"Pembeku\",\"Beku\"\n\"TID_SPELL_POISON\",\"Poison\",\"Poison\",\"Gift\",\"Veneno\",\"Veleno\",\"Gif\",\"Gift\",\"Zehir\",\"ポイズン\",\"독 마법\",\"Яд\",\"السم\",\"Veneno\",\"毒药法术\",\"毒藥法術\",\"سم\",\"Racun\",\"Racun\"\n\"TID_SPELL_BABY_DRAGON\",\"Baby Dragon\",\"Bébé dragon\",\"Drachenbaby\",\"Bebé dragón\",\"Cucciolo di drago\",\"Babydraak\",\"Drageunge\",\"Yavru Ejderha\",\"ベビードラゴン\",\"베이비 드래곤\",\"Маленький дракон\",\"تنين صغير\",\"Bebê Dragão\",\"飞龙宝宝\",\"飛龍寶寶\",\"بچه اژدها\",\"Bayi Naga\",\"Naga Bayi\"\n\"TID_SPELL_MINIPEKKA\",\"Mini P.E.K.K.A\",\"Mini P.E.K.K.A\",\"Mini-P.E.K.K.A.\",\"Mini P.E.K.K.A.\",\"Mini P.E.K.K.A\",\"Mini-P.E.K.K.A.\",\"Mini-P.E.K.K.A\",\"Mini P.E.K.K.A\",\"ミニP.E.K.K.A\",\"미니 P.E.K.K.A\",\"Мини П.Е.К.К.А.\",\"بيكا صغير\",\"Mini P.E.K.K.A\",\"迷你皮卡\",\"迷你皮卡\",\"مینی P.E.K.K.A\",\"P.E.K.K.A Mini\",\"P.E.K.K.A Mini\"\n\"TID_SPELL_TESLA\",\"Tesla\",\"Tesla\",\"Tesla\",\"Torre Tesla\",\"Tesla\",\"Tesla\",\"Tesla\",\"Tesla\",\"テスラ\",\"뇌전탑\",\"Тесла\",\"تيسلا\",\"Tesla\",\"特斯拉电磁塔\",\"特斯拉電磁塔\",\"تسلا\",\"Tesla\",\"Tesla\"\n\"TID_SPELL_WIZARD\",\"Wizard\",\"Sorcier\",\"Magier\",\"Mago\",\"Stregone\",\"Tovenaar\",\"Trollmann\",\"Büyücü\",\"ウィザード\",\"마법사\",\"Колдун\",\"ساحر\",\"Mago\",\"法师\",\"法師\",\"جادوگر\",\"Penyihir\",\"Ahli Sihir\"\n\"TID_SPELL_ELIXIR_COLLECTOR\",\"Elixir Collector\",\"Extracteur d'élixir\",\"Elixiersammler\",\"Recolector de elixir\",\"Estrattore di elisir\",\"Elixirpomp\",\"Eliksirpumpe\",\"İksir Toplayıcı\",\"エリクサーポンプ\",\"엘릭서 정제소\",\"Сборщик эликсира\",\"جامع الإكسير\",\"Coletor de Elixir\",\"圣水收集器\",\"聖水收集器\",\"جمع‌کننده اکسیر\",\"Pengumpul Eliksir\",\"Pengumpul Eliksir\"\n\"TID_SPELL_XBOW\",\"X-Bow\",\"Arc-X\",\"X-Bogen\",\"Ballesta\",\"Arco-X\",\"X-boog\",\"X-bue\",\"X-Yayı\",\"巨大クロスボウ\",\"대형 석궁\",\"Арбалет\",\"قوس\",\"X-Besta\",\"X连弩\",\"X連弩\",\"کمان X\",\"Busur X\",\"Busur-X\"\n\"TID_SPELL_LIGHTNING\",\"Lightning\",\"Foudre\",\"Blitz\",\"Rayo\",\"Fulmine\",\"Bliksem\",\"Lyn\",\"Yıldırım\",\"ライトニング\",\"번개 마법\",\"Молния\",\"برق\",\"Relâmpago\",\"雷电法术\",\"雷電法術\",\"صاعقه\",\"Kilat\",\"Kilat\"\n\"TID_SPELL_ZAP\",\"Zap\",\"Électrocution\",\"Knall\",\"Descarga\",\"Scarica\",\"Zappen\",\"Zap\",\"Çarpma\",\"ザップ\",\"감전 마법\",\"Разряд\",\"الصاعق\",\"Zap\",\"电击法术\",\"電擊法術\",\"رعدوبرق\",\"Setrum\",\"Hapus\"\n\"TID_SPELL_TOMBSTONE\",\"Tombstone\",\"Pierre tombale\",\"Grabstein\",\"Lápida\",\"Lapide\",\"Grafsteen\",\"Gravstein\",\"Mezar Taşı\",\"墓石\",\"해골 무덤\",\"Надгробие\",\"شاهد القبر\",\"Lápide\",\"骷髅墓碑\",\"骷髏墓碑\",\"سنگ قبر\",\"Batu Nisan\",\"Batu Nisan\"\n\"TID_SPELL_HOG_RIDER\",\"Hog Rider\",\"Chevaucheur de cochon\",\"Schweinereiter\",\"Montapuercos\",\"Domatore di cinghiali\",\"Varkensruiter\",\"Villsvinrytter\",\"Domuz Binicisi\",\"ホグライダー\",\"호그 라이더\",\"Всадник на кабане\",\"راكب الخنزير\",\"Corredor\",\"野猪骑士\",\"野豬騎士\",\"خوک سوار\",\"Penunggang Babi\",\"Penunggang Khinzir\"\n\"TID_SPELL_PRINCESS\",\"Princess\",\"Princesse\",\"Prinzessin\",\"Princesa\",\"Principessa\",\"Prinses\",\"Prinsesse\",\"Prenses\",\"プリンセス\",\"프린세스\",\"Принцесса\",\"أميرة\",\"Princesa\",\"公主\",\"公主\",\"شاهزاده خانم\",\"Putri\",\"Puteri\"\n\"TID_SPELL_LAVA_HOUND\",\"Lava Hound\",\"Molosse de lave\",\"Lavahund\",\"Sabueso de lava\",\"Mastino lavico\",\"Lavahond\",\"Lavahund\",\"Lav Tazısı\",\"ラヴァハウンド\",\"라바 하운드\",\"Адская гончая\",\"كلب الحمم\",\"Lava Hound\",\"熔岩猎犬\",\"熔岩獵犬\",\"سگ گدازه‌ای\",\"Anjing Lava\",\"Buru Lava\"\n\"TID_SPELL_FIRE_SPIRIT_HUT\",\"Furnace\",\"Fournaise\",\"Ofen\",\"Horno\",\"Fornace\",\"Oven\",\"Ildsted\",\"Fırın\",\"オーブン\",\"용광로\",\"Печь\",\"فرن\",\"Fornalha\",\"烈焰熔炉\",\"烈焰熔爐\",\"کوره\",\"Tungku\",\"Relau\"\n\"TID_SPELL_FIRE_SPIRITS\",\"Fire Spirits\",\"Esprits de feu\",\"Feuergeister\",\"Espíritus de fuego\",\"Spiriti del fuoco\",\"Vuurgeesten\",\"Ildånder\",\"Ateş Ruhları\",\"ファイアスピリット\",\"파이어 스피릿\",\"Огненные духи\",\"أرواح النار\",\"Espíritos de Fogo\",\"烈焰精灵\",\"烈焰精靈\",\"روح آتشین\",\"Roh Api\",\"Semangat Api\"\n\"TID_SPELL_MINER\",\"Miner\",\"Mineur\",\"Tunnelgräber\",\"Minero\",\"Minatore\",\"Mijnwerker\",\"Graver\",\"Madenci\",\"ディガー\",\"광부\",\"Шахтер\",\"عامل المنجم\",\"Mineiro\",\"掘地矿工\",\"掘地礦工\",\"معدنچی\",\"Penambang\",\"Pelombong\"\n\"TID_SPELL_BOWLER\",\"Bowler\",\"Bouliste\",\"Bowler\",\"Lanzarrocas\",\"Bocciatore\",\"Bowler\",\"Bowler\",\"Atıcı\",\"ボウラー\",\"볼러\",\"Вышибала\",\"باولر\",\"Lançador\",\"巨石投手\",\"巨石投手\",\"له‌کننده\",\"Bowler\",\"Pembaling\"\n\"TID_SPELL_RAGE_BARBARIAN\",\"Lumberjack\",\"Bûcheron\",\"Holzfäller\",\"Leñador\",\"Boscaiolo\",\"Houthakker\",\"Tømmerhogger\",\"Oduncu\",\"ランバージャック\",\"나무꾼\",\"Дровосек\",\"حطّاب\",\"Lenhador\",\"狂暴樵夫\",\"狂暴伐木工\",\"چوب‌بر\",\"Penebang\",\"Pembalak\"\n\"TID_SPELL_ICE_SPIRITS\",\"Ice Spirit\",\"Esprit de glace\",\"Eisgeist\",\"Espíritu de hielo\",\"Spirito del ghiaccio\",\"IJsgeest\",\"Isånd\",\"Buz Ruhu\",\"アイススピリット\",\"아이스 스피릿\",\"Ледяной дух\",\"روح الجليد\",\"Espírito de Gelo\",\"冰雪精灵\",\"冰雪精靈\",\"روح یخی\",\"Roh Es\",\"Semangat Ais\"\n\"TID_SPELL_INFERNO_DRAGON\",\"Inferno Dragon\",\"Dragon de l'enfer\",\"Infernodrache\",\"Dragón infernal\",\"Drago infernale\",\"Infernodraak\",\"Infernodrage\",\"Cehennem Ejderhası\",\"インフェルノドラゴン\",\"인페르노 드래곤\",\"Пламенный дракон\",\"تنين ناري\",\"Dragão Infernal\",\"地狱飞龙\",\"地獄飛龍\",\"اژدهای جهنمی\",\"Naga Inferno\",\"Naga Neraka\"\n\"TID_SPELL_GRAVEYARD\",\"Graveyard\",\"Cimetière\",\"Friedhof\",\"Cementerio\",\"Cimitero\",\"Kerkhof\",\"Gravplass\",\"Mezarlık\",\"スケルトンラッシュ\",\"무덤\",\"Кладбище\",\"المقبرة\",\"Cemitério\",\"骷髅召唤\",\"骷髏召喚\",\"قبرستان\",\"Kuburan\",\"Tanah Perkuburan\"\n\"TID_SPELL_MEGAMINION\",\"Mega Minion\",\"Méga gargouille\",\"Megalakai\",\"Megaesbirro\",\"Megasgherro\",\"Megagunsteling\",\"Megalakei\",\"Mega Dalkavuk\",\"メガガーゴイル\",\"메가 미니언\",\"Мегаминьон\",\"ميغا مينيون\",\"Megasservo\",\"重甲亡灵\",\"重甲亡靈\",\"مگا مینیون\",\"Minion Mega\",\"Konco Besar\"\n\"TID_SPELL_ELECTRO_WIZARD\",\"Electro Wizard\",\"Électro-sorcier\",\"Elektromagier\",\"Mago eléctrico\",\"Stregone elettrico\",\"Elektrotovenaar\",\"Elektrotrollmann\",\"Elektro Büyücü\",\"エレクトロウィザード\",\"일렉트로 마법사\",\"Громовержец\",\"ساحر كهربائي\",\"Mago Elétrico\",\"闪电法师\",\"閃電法師\",\"جادوگر برقی\",\"Penyihir Elektro\",\"Ahli Sihir Elektro\"\n\"TID_SPELL_TORNADO\",\"Tornado\",\"Tornade\",\"Tornado\",\"Tornado\",\"Tornado\",\"Tornado\",\"Tornado\",\"Kasırga\",\"トルネード\",\"토네이도\",\"Торнадо\",\"إعصار\",\"Tornado\",\"飓风法术\",\"旋風法術\",\"گردباد\",\"Tornado\",\"Tornado\"\n\"TID_SPELL_ANGRY_BARBARIANS\",\"Elite Barbarians\",\"Barbares d'élite\",\"Elitebarbaren\",\"Bárbaros de élite\",\"Barbari scelti\",\"Elitebarbaren\",\"Elitebarbarer\",\"Elit Barbarlar\",\"エリートバーバリアン\",\"엘리트 바바리안\",\"Элитные варвары\",\"البرابرة المميزون\",\"Bárbaros de Elite\",\"野蛮人精锐\",\"精銳野蠻人\",\"بربر‌های نخبه\",\"Orang Barbar Elite\",\"Orang Gasar Elit\"\n\"TID_SPELL_CLONE\",\"Clone\",\"Clonage\",\"Klonzauber\",\"Clon\",\"Clonazione\",\"Klonen\",\"Klon\",\"Klon\",\"クローン\",\"복제 마법\",\"Клон\",\"مستنسخ\",\"Clone\",\"克隆法术\",\"複製法術\",\"شبیه‌سازی\",\"Klona\",\"Klon\"\n\"TID_SPELL_BATTLE_RAM\",\"Battle Ram\",\"Bélier de combat\",\"Rammbock\",\"Ariete de batalla\",\"Ariete da battaglia\",\"Strijdram\",\"Rambukk\",\"Koçbaşı\",\"攻城バーバリアン\",\"배틀 램\",\"Боевой таран\",\"مِدَق معركة\",\"Aríete de Batalha\",\"野蛮人攻城槌\",\"野蠻人攻城槌\",\"دژکوب نبرد\",\"Pendobrak\",\"Pemadat Pertempuran\"\n\"TID_SPELL_PIGLETS\",\"Piglets\",\"Porcelets\",\"Ferkel\",\"Lechones\",\"Maialini\",\"Biggetjes\",\"Grisunger\",\"Yavru Domuzlar\",\"ピグレット\",\"피글렛\",\"Пятачки\",\"خنازير صغيرة\",\"Porquinhos\",\"小猪骑兵\",\"小豬騎兵\",\"بچه خوک‌ها\",\"Anak Babi\",\"Anak Khinzir\"\n\"TID_SPELL_BLOWDART_GOBLIN\",\"Dart Goblin\",\"Gobelin à sarbacane\",\"Blasrohrkobold\",\"Duende lanzadardos\",\"Goblin cerbottaniere\",\"Blaaspijpkobold\",\"Blåserørnisse\",\"Dart Goblini\",\"吹き矢ゴブリン\",\"다트 고블린\",\"Гоблин с дротиками\",\"غول نفخ السهام\",\"Goblin com Dardo\",\"吹箭哥布林\",\"吹箭哥布林\",\"گابلین بلودارت\",\"Goblin Penyumpit\",\"Damak Goblin\"\n\"TID_SPELL_GOBLIN_GANG\",\"Goblin Gang\",\"Gang de gobelins\",\"Koboldgang\",\"Pandilla de duendes\",\"Gang di goblin\",\"Koboldenbende\",\"Nissegjeng\",\"Goblin Çetesi\",\"ゴブリンギャング\",\"고블린 갱\",\"Банда гоблинов\",\"عصابة الغول\",\"Gangue de Goblins\",\"哥布林团伙\",\"哥布林大隊\",\"گروه گابلین\",\"Geng Goblin\",\"Geng Goblin\"\n\"TID_SPELL_AXEMAN\",\"Executioner\",\"Bourreau\",\"Scharfrichter\",\"Verdugo\",\"Boia\",\"Beul\",\"Bøddel\",\"Cellat\",\"執行人ファルチェ\",\"도끼맨\",\"Палач\",\"السياف\",\"Executor\",\"飞斧屠夫\",\"飛斧屠夫\",\"جلاد\",\"Algojo\",\"Algojo\"\n\"TID_SPELL_BARBARIAN_KING\",\"Barbarian King\",\"Roi des barbares\",\"Barbarenkönig\",\"Rey bárbaro\",\"Re barbaro\",\"Barbarenkoning\",\"Barbarkonge\",\"Barbar Kral\",\"バーバリアンキング\",\"바바리안 킹\",\"Король варваров\",\"الملك البربري\",\"Rei Bárbaro\",\"野蛮人之王\",\"野蠻人之王\",\"شاه بربرها\",\"Raja Barbar\",\"Raja Orang Gasar\"\n\"TID_SPELL_ARCHER_QUEEN\",\"Archer Queen\",\"Reine des archers\",\"Bogenschützen-Königin\",\"Reina arquera\",\"Regina degli arcieri\",\"Boogschutterskoningin\",\"Bueskytterdronning\",\"Okçu Kraliçe\",\"アーチャークイーン\",\"아처 퀸\",\"Королева лучниц\",\"الملكة رامية السهام\",\"Rainha Arqueira\",\"弓箭女皇\",\"弓箭女皇\",\"ملکه کماندار\",\"Ratu Pemanah\",\"Ratu Pemanah\"\n\"TID_SPELL_ASSASSIN\",\"Bandit\",\"Voleuse\",\"Banditin\",\"Bandida\",\"Fuorilegge\",\"Struikrover\",\"Banditt\",\"Haydut\",\"アサシン ユーノ\",\"도둑\",\"Бандитка\",\"قاطعة الطريق\",\"Bandida\",\"幻影刺客\",\"幻影刺客\",\"راهزن\",\"Bandit\",\"Bandit\"\n\"TID_SPELL_HEAL\",\"Heal\",\"Guérison\",\"Heilung\",\"Curación\",\"Cura\",\"Genezen\",\"Helbredelse\",\"İyileştirme\",\"ヒール\",\"치유 마법\",\"Исцеление\",\"الشفاء\",\"Cura\",\"治疗法术\",\"治療法術\",\"شفا\",\"Sembuhkan\",\"Penyembuh\"\n\"TID_SPELL_DARK_WITCH\",\"Night Witch\",\"Sorcière de la nuit\",\"Nachthexe\",\"Bruja nocturna\",\"Strega notturna\",\"Nachtheks\",\"Nattheks\",\"Gece Cadısı\",\"ダークネクロ\",\"암흑 마녀\",\"Ночная ведьма\",\"ساحرة الليل\",\"Bruxa Sombria\",\"暗夜女巫\",\"暗夜女巫\",\"ساحره تاریکی\",\"Nenek Sihir Malam\",\"Sihir Perempuan Malam\"\n\"TID_SPELL_BATS\",\"Bats\",\"Chauves-souris\",\"Fledermäuse\",\"Murciélagos\",\"Pipistrelli\",\"Vleermuizen\",\"Flaggermus\",\"Yarasalar\",\"コウモリの群れ\",\"박쥐\",\"Летучие мыши\",\"خفافيش\",\"Morcegos\",\"蝙蝠\",\"蝙蝠\",\"خفاش‌ها\",\"Kelelawar\",\"Kelawar\"\n\"TID_SPELL_HUNTER\",\"Hunter\",\"Chasseur\",\"Jäger\",\"Cazador\",\"Cacciatore\",\"Jager\",\"Jeger\",\"Avcı\",\"ハンター\",\"사냥꾼\",\"Охотник\",\"الصياد\",\"Caçador\",\"猎人\",\"獵人\",\"شکارچی\",\"Pemburu\",\"Pemburu\"\n\"TID_SPELL_BAT_NEST\",\"Bat Nest\",\"Nid de chauves-souris\",\"Fledermausnest\",\"Nido de murciélagos\",\"Nido di pipistrelli\",\"Vleermuizennest\",\"Flaggermusrede\",\"Yarasa Yuvası\",\"コウモリの巣\",\"박쥐 소굴\",\"Гнездо летучих мышей\",\"عش خفافيش\",\"Ninho do Morcego\",\"蝙蝠巢\",\"蝙蝠巢\",\"لانه خفاش\",\"Sarang Kelelawar\",\"Sarang Kelawar\"\n\"TID_SPELL_MOVING_CANNON\",\"Cannon Cart\",\"Charrette à canon\",\"Kanonenkarre\",\"Cañón con ruedas\",\"Cannone a rotelle\",\"Kanonnenkar\",\"Kanonvogn\",\"Top Arabası\",\"60式 ムート\",\"대포 카트\",\"Повозка с пушкой\",\"عربة المدفع\",\"Carrinho de Canhão\",\"加农炮战车\",\"加農炮戰車\",\"ارابه توپ\",\"Gerobak Meriam\",\"Kart Meriam\"\n\"TID_SPELL_MEGAKNIGHT\",\"Mega Knight\",\"Méga chevalier\",\"Megaritter\",\"Megacaballero\",\"Gran cavaliere\",\"Megaridder\",\"Megaridder\",\"Mega Şövalye\",\"メガナイト\",\"메가 나이트\",\"Мегарыцарь\",\"الفارس العملاق\",\"Megacavaleiro\",\"超级骑士\",\"超級騎士\",\"مگا شوالیه\",\"Kesatria Mega!\",\"Kesatria Mega\"\n\"TID_SPELL_BUILDERS\",\"The Antibuilders\",\"Les anti-ouvriers\",\"Die Antibauarbeiter\",\"Los anticonstructores\",\"Gli anticostruttori\",\"De antibouwers\",\"Antibyggerne\",\"Anti İnşaatçılar\",\"解体屋\",\"안티장인\",\"Антистроители\",\"مضادات المباني\",\"Os Anticonstrutores\",\"拆迁小队\",\"拆除小隊\",\"ضدسازندگان\",\"Antimembangun\",\"Anti-pembina\"\n\"TID_SPELL_SKELETON_BALLOON\",\"Skeleton Barrel\",\"Ballon à squelettes\",\"Skelettballon\",\"Globos esqueléticos\",\"Barile d'ossa\",\"Skelettenballon\",\"Skjelettballong\",\"İskelet Balonu\",\"スケルトンバルーン\",\"해골 풍선\",\"Скелеты на шариках\",\"بالون هياكل عظمية\",\"Balões de Esqueletos\",\"骷髅气球\",\"骷髏氣球\",\"محموله اسکلتی\",\"Balon Jerangkong\",\"Belon Rangka\"\n\"TID_SPELL_DART_BARRELL\",\"Flying Machine\",\"Machine volante\",\"Flugmaschine\",\"Máquina voladora\",\"Macchina volante\",\"Vliegton\",\"Flymaskin\",\"Uçan Makine\",\"ホバリング砲\",\"플라잉 머신\",\"Летучка\",\"الآلة الطائرة\",\"Máquina Voadora\",\"飞行器\",\"飛行器\",\"ماشین پرنده\",\"Mesin Terbang\",\"Mesin Terbang\"\n\"TID_CHARACTER_ARCHER\",\"Archer\",\"Archer\",\"Bogenschütze\",\"Arquera\",\"Arciere\",\"Boogschutter\",\"Bueskytter\",\"Okçu\",\"アーチャー\",\"아처\",\"Лучница\",\"رامي السهام\",\"Arqueira\",\"弓箭手\",\"弓箭手\",\"کماندار\",\"Pemanah\",\"Pemanah\"\n\"TID_CHARACTER_SPEAR_GOBLIN\",\"Spear Goblin\",\"Gobelin à lances\",\"Speerkobold\",\"Duende con lanza\",\"Goblin lanciere\",\"Speerkobold\",\"Spydnisse\",\"Mızraklı Goblin\",\"槍ゴブリン\",\"창 고블린\",\"Гоблин—копейщик\",\"غول الرمح\",\"Goblin Lanceiro\",\"哥布林投矛手\",\"哥布林投矛手\",\"گابلین نیزه‌دار\",\"Goblin Tombak\",\"Goblin Lembing\"\n\"TID_CHARACTER_GOBLIN\",\"Goblin\",\"Gobelin\",\"Kobold\",\"Duende\",\"Goblin\",\"Kobold\",\"Nisse\",\"Goblin\",\"ゴブリン\",\"고블린\",\"Гоблин\",\"غول\",\"Goblin\",\"哥布林\",\"哥布林\",\"گابلین\",\"Goblin\",\"Goblin\"\n\"TID_CHARACTER_MINION\",\"Minion\",\"Gargouille\",\"Lakai\",\"Esbirro\",\"Sgherro\",\"Gunsteling\",\"Lakei\",\"Minyon\",\"ガーゴイル\",\"미니언\",\"Миньон\",\"مينيون\",\"Servo\",\"亡灵\",\"亡靈\",\"مینیون\",\"Minion\",\"Konco\"\n\"TID_CHARACTER_SKELETON\",\"Skeleton\",\"Squelette\",\"Skelett\",\"Esqueleto\",\"Scheletro\",\"Skelet\",\"Skjelett\",\"İskelet\",\"スケルトン\",\"해골\",\"Скелет\",\"هيكل عظمي\",\"Esqueleto\",\"骷髅兵\",\"骷髏兵\",\"اسکلت\",\"Jerangkong\",\"Rangka\"\n\"TID_CHARACTER_BARBARIAN\",\"Barbarian\",\"Barbare\",\"Barbar\",\"Bárbaro\",\"Barbaro\",\"Barbaar\",\"Barbar\",\"Barbar\",\"バーバリアン\",\"바바리안\",\"Варвар\",\"بربري\",\"Bárbaro\",\"野蛮人\",\"野蠻人\",\"بربر\",\"Orang Barbar\",\"Orang Gasar\"\n\"TID_CHARACTER_SMALL_GOLEM\",\"Golemite\",\"Golemite\",\"Minigolem\",\"Golemita\",\"Golemita\",\"Golempjes\",\"Golemitt\",\"Golemit\",\"小型ゴーレム\",\"베이비 골렘\",\"Големчик\",\"كائنات غولم الصغيرة\",\"Golemita\",\"小戈仑石人\",\"小戈侖石人\",\"گالم کوچولو\",\"Golemite\",\"Golemite\"\n\"TID_CHARACTER_VALKYRIE\",\"Valkyrie\",\"Valkyrie\",\"Walküre\",\"Valquiria\",\"Valchiria\",\"Valkyrie\",\"Valkyrje\",\"Valkür\",\"バルキリー\",\"발키리\",\"Валькирия\",\"فالكيري\",\"Valquíria\",\"瓦基丽武神\",\"瓦基麗武神\",\"والکری\",\"Valkyrie\",\"Valkyrie\"\n\"TID_CHARACTER_MUSKETEER\",\"Musketeer\",\"Mousquetaire\",\"Musketierin\",\"Mosquetera\",\"Moschettiere\",\"Musketier\",\"Musketer\",\"Silahşor\",\"マスケット銃士\",\"머스킷병\",\"Мушкетер\",\"فارسة\",\"Mosqueteira\",\"火枪手\",\"火槍手\",\"تنفگدار\",\"Musketeer\",\"Musketeer\"\n\"TID_CHARACTER_BABY_DRAGON\",\"Baby Dragon\",\"Bébé dragon\",\"Drachenbaby\",\"Bebé dragón\",\"Cucciolo di drago\",\"Babydraak\",\"Drageunge\",\"Yavru Ejderha\",\"ベビードラゴン\",\"베이비 드래곤\",\"Маленький дракон\",\"تنين صغير\",\"Bebê Dragão\",\"飞龙宝宝\",\"飛龍寶寶\",\"بچه اژدها\",\"Bayi Naga\",\"Naga Bayi\"\n\"TID_CHARACTER_MINIPEKKA\",\"Mini P.E.K.K.A\",\"Mini P.E.K.K.A\",\"Mini-P.E.K.K.A.\",\"Mini P.E.K.K.A.\",\"Mini P.E.K.K.A\",\"Mini-P.E.K.K.A.\",\"Mini-P.E.K.K.A\",\"Mini P.E.K.K.A\",\"ミニP.E.K.K.A\",\"미니 P.E.K.K.A\",\"Мини П.Е.К.К.А.\",\"بيكا صغير\",\"Mini P.E.K.K.A\",\"迷你皮卡\",\"迷你皮卡\",\"مینی P.E.K.K.A\",\"P.E.K.K.A Mini\",\"P.E.K.K.A Mini\"\n\"TID_CHARACTER_HOG_RIDER\",\"Hog Rider\",\"Chevaucheur de cochon\",\"Schweinereiter\",\"Montapuercos\",\"Domatore di cinghiali\",\"Varkensruiter\",\"Villsvinrytter\",\"Domuz Binicisi\",\"ホグライダー\",\"호그 라이더\",\"Всадник на кабане\",\"راكب الخنزير\",\"Corredor\",\"野猪骑士\",\"野豬騎士\",\"خوک سوار\",\"Penunggang Babi\",\"Penunggang Khinzir\"\n\"TID_CHARACTER_PRINCESS\",\"Princess\",\"Princesse\",\"Prinzessin\",\"Princesa\",\"Principessa\",\"Prinses\",\"Prinsesse\",\"Prenses\",\"プリンセス\",\"프린세스\",\"Принцесса\",\"أميرة\",\"Princesa\",\"公主\",\"公主\",\"شاهزاده خانم\",\"Putri\",\"Puteri\"\n\"TID_CHARACTER_LAVA_PUPS\",\"Lava Pups\",\"Roquets de lave\",\"Lavawelpen\",\"Cachorros de lava\",\"Cuccioli lavici\",\"Lavapups\",\"Lavavalper\",\"Lav Köpekleri\",\"ラヴァパピィ\",\"라바 펍\",\"Адские щенки\",\"جراء الحمم\",\"Lava Pups\",\"熔岩幼犬\",\"熔岩幼犬\",\"توله سگ گدازه‌ای\",\"Anak Anjing Lava\",\"Pup Lava\"\n\"TID_CHARACTER_FIRE_SPIRITS\",\"Fire Spirits\",\"Esprits de feu\",\"Feuergeister\",\"Espíritus de fuego\",\"Spiriti del fuoco\",\"Vuurgeesten\",\"Ildånder\",\"Ateş Ruhları\",\"ファイアスピリット\",\"파이어 스피릿\",\"Огненные духи\",\"أرواح النار\",\"Espíritos de Fogo\",\"烈焰精灵\",\"烈焰精靈\",\"روح‌های آتشی\",\"Roh Api\",\"Semangat Api\"\n\"TID_CHARACTER_MINER\",\"Miner\",\"Mineur\",\"Tunnelgräber\",\"Minero\",\"Minatore\",\"Mijnwerker\",\"Graver\",\"Madenci\",\"ディガー\",\"광부\",\"Шахтер\",\"عامل المنجم\",\"Mineiro\",\"掘地矿工\",\"掘地礦工\",\"معدنچی\",\"Penambang\",\"Pelombong\"\n\"TID_CHARACTER_RAGE_BARBARIAN\",\"Rage Barbarian\",\"Barbare enragé\",\"Tobender Barbar\",\"Bárbaro furioso\",\"Barbaro furioso\",\"Woedende Barbaar\",\"Raseribarbar\",\"Öfkeli Barbar\",\"ランバージャック\",\"분노한 바바리안\",\"Яростный варвар\",\"بربري غاضب\",\"Bárbaro Furioso\",\"狂暴野蛮人\",\"狂暴野蠻人\",\"بربر عصبانی\",\"Orang Barbar Murka\",\"Orang Gasar Kemarahan\"\n\"TID_CHARACTER_ICE_SPIRITS\",\"Ice Spirit\",\"Esprit de glace\",\"Eisgeist\",\"Espíritu de hielo\",\"Spirito del ghiaccio\",\"IJsgeest\",\"Isånd\",\"Buz Ruhu\",\"アイススピリット\",\"아이스 스피릿\",\"Ледяной дух\",\"روح الجليد\",\"Espírito de Gelo\",\"冰雪精灵\",\"冰雪精靈\",\"روح یخی\",\"Roh Es\",\"Semangat Ais\"\n\"TID_CHARACTER_MEGAMINION\",\"Mega Minion\",\"Méga gargouille\",\"Megalakai\",\"Megaesbirro\",\"Megasgherro\",\"Megagunsteling\",\"Megalakei\",\"Mega Dalkavuk\",\"メガガーゴイル\",\"메가 미니언\",\"Мегаминьон\",\"ميغا مينيون\",\"Megasservo\",\"重甲亡灵\",\"重甲亡靈\",\"مگا مینیون\",\"Minion Mega\",\"Konco Besar\"\n\"TID_CHARACTER_INFERNO_DRAGON\",\"Inferno Dragon\",\"Dragon de l'enfer\",\"Infernodrache\",\"Dragón infernal\",\"Drago infernale\",\"Infernodraak\",\"Infernodrage\",\"Cehennem Ejderhası\",\"インフェルノドラゴン\",\"인페르노 드래곤\",\"Пламенный дракон\",\"تنين ناري\",\"Dragão Infernal\",\"地狱飞龙\",\"地獄飛龍\",\"اژدهای جهنمی\",\"Naga Inferno\",\"Naga Neraka\"\n\"TID_CHARACTER_ELECTRO_WIZARD\",\"Electro Wizard\",\"Électro-sorcier\",\"Elektromagier\",\"Mago eléctrico\",\"Stregone elettrico\",\"Elektrotovenaar\",\"Elektrotrollmann\",\"Elektro Büyücü\",\"エレクトロウィザード\",\"일렉트로 마법사\",\"Громовержец\",\"ساحر كهربائي\",\"Mago Elétrico\",\"闪电法师\",\"閃電法師\",\"جادوگر برقی\",\"Penyihir Elektro\",\"Ahli Sihir Elektro\"\n\"TID_CHARACTER_ANGRY_BARBARIAN\",\"Elite Barbarian\",\"Barbare d'élite\",\"Elitebarbar\",\"Bárbaro de élite\",\"Barbaro scelto\",\"Elitebarbaar\",\"Elitebarbar\",\"Elit Barbar\",\"エリートバーバリアン\",\"엘리트 바바리안\",\"Элитный варвар\",\"البربري المميز\",\"Bárbaro de Elite\",\"野蛮人精锐\",\"精銳野蠻人\",\"بربر نخبه\",\"Orang Barbar Elite\",\"Orang Gasar Elit\"\n\"TID_CHARACTER_BLOWDART_GOBLIN\",\"Blowdart Goblin\",\"Gobelin à sarbacane\",\"Blasrohrkobold\",\"Duende con cerbatana\",\"Goblin cerbottaniere\",\"Blaaspijpkobold\",\"Blåserørnisse\",\"Tüftüf Goblini\",\"吹き矢ゴブリン\",\"바람총 고블린\",\"Гоблин с дротиком\",\"غول نابلة السهام\",\"Goblin com Dardo\",\"吹箭哥布林\",\"吹箭哥布林\",\"گابلین بلودارت\",\"Goblin Penyumpit\",\"Goblin Baling Damak Tiup\"\n\"TID_CHARACTER_BAT\",\"Bat\",\"Chauve-souris\",\"Fledermaus\",\"Murciélago\",\"Pipistrello\",\"Vleermuis\",\"Flaggermus\",\"Yarasa\",\"コウモリ\",\"박쥐\",\"Летучая мышь\",\"خفاش\",\"Morcego\",\"蝙蝠\",\"蝙蝠\",\"خفاش\",\"Kelelawar\",\"Kelawar\"\n\"TID_BUILDING_CANNON\",\"Cannon\",\"Canon\",\"Kanone\",\"Cañón\",\"Cannone\",\"Kanon\",\"Kanon\",\"Top\",\"大砲\",\"대포\",\"Пушка\",\"مدفع\",\"Canhão\",\"加农炮\",\"加農炮\",\"توپ\",\"Meriam\",\"Meriam\"\n\"TID_BUILDING_GOBLIN_HUT\",\"Goblin Hut\",\"Cabane de gobelin\",\"Koboldhütte\",\"Choza de duendes\",\"Capanna goblin\",\"Koboldenhut\",\"Nissehytte\",\"Goblin Kulübesi\",\"ゴブリンの小屋\",\"고블린 오두막\",\"Хижина гоблина\",\"كوخ الغول\",\"Cabana de Goblins\",\"哥布林小屋\",\"哥布林小屋\",\"کلبه گابلین\",\"Pondok Goblin\",\"Pondok Goblin\"\n\"TID_BUILDING_MORTAR\",\"Mortar\",\"Mortier\",\"Minenwerfer\",\"Mortero\",\"Mortaio\",\"Mortier\",\"Morter\",\"Havan\",\"迫撃砲\",\"박격포\",\"Мортира\",\"مدفع هاون\",\"Morteiro\",\"迫击炮\",\"迫擊炮\",\"خمپاره\",\"Mortir\",\"Mortar\"\n\"TID_BUILDING_ARCHER_TOWER\",\"Archer Tower\",\"Tour d'archers\",\"Bogenschützenturm\",\"Torre de arqueras\",\"Torre dell'arciere\",\"Boogschuttertoren\",\"Bueskyttertårn\",\"Okçu Kulesi\",\"アーチャータワー\",\"아처 타워\",\"Башня лучниц\",\"برج رامي السهام\",\"Torre Arqueira\",\"箭塔\",\"箭塔\",\"برج کماندار\",\"Benteng Pemanah\",\"Menara Pemanah\"\n\"TID_BUILDING_INFERNO\",\"Inferno Tower\",\"Tour de l'enfer\",\"Infernoturm\",\"Torre infernal\",\"Torre infernale\",\"Infernotoren\",\"Infernotårn\",\"Felaket Kulesi\",\"インフェルノタワー\",\"인페르노 타워\",\"Адская башня\",\"برج النار\",\"Torre Inferno\",\"地狱之塔\",\"地獄之塔\",\"برج جهنمی\",\"Benteng Inferno\",\"Menara Neraka\"\n\"TID_BUILDING_BOMB_TOWER\",\"Bomb Tower\",\"Tour à bombes\",\"Bombenturm\",\"Torre bombardera\",\"Torre bombardiera\",\"Bomtoren\",\"Bombetårn\",\"Bomba Kulesi\",\"ボムタワー\",\"폭탄 타워\",\"Башня-бомбешка\",\"برج القنبلة\",\"Torre de Bombas\",\"炸弹塔\",\"炸彈塔\",\"برج بمب\",\"Benteng Bom\",\"Menara Bom\"\n\"TID_BUILDING_TESLA\",\"Tesla\",\"Tesla\",\"Tesla\",\"Torre Tesla\",\"Tesla\",\"Tesla\",\"Tesla\",\"Tesla\",\"テスラ\",\"뇌전탑\",\"Тесла\",\"تيسلا\",\"Tesla\",\"特斯拉电磁塔\",\"特斯拉電磁塔\",\"تسلا\",\"Tesla\",\"Tesla\"\n\"TID_BUILDING_ELIXIR_COLLECTOR\",\"Elixir Collector\",\"Extracteur d'élixir\",\"Elixiersammler\",\"Recolector de elixir\",\"Estrattore di elisir\",\"Elixirpomp\",\"Eliksirpumpe\",\"İksir Toplayıcı\",\"エリクサーポンプ\",\"엘릭서 정제소\",\"Сборщик эликсира\",\"جامع الإكسير\",\"Coletor de Elixir\",\"圣水收集器\",\"聖水收集器\",\"جمع‌کننده اکسیر\",\"Pengumpul Eliksir\",\"Pengumpul Eliksir\"\n\"TID_BUILDING_XBOW\",\"X-Bow\",\"Arc-X\",\"X-Bogen\",\"Ballesta\",\"Arco-X\",\"X-boog\",\"X-bue\",\"X-Yayı\",\"巨大クロスボウ\",\"대형 석궁\",\"Арбалет\",\"قوس\",\"X-Besta\",\"X连弩\",\"X連弩\",\"کمان X\",\"Busur X\",\"Busur-X\"\n\"TID_BUILDING_MEGA_BOMB\",\"Mega Bomb\",\"Mégabombe\",\"Megabombe\",\"Megabomba\",\"Mega bomba\",\"Megabom\",\"Megabombe\",\"Mega Bomba\",\"メガ爆弾\",\"메가 폭탄\",\"Мега-бомба\",\"قنبلة ضخمة\",\"Megabomba\",\"巨型炸弹\",\"巨型炸彈\",\"مگابمب\",\"Bom Mega\",\"Bom Besar\"\n\"TID_BUILDING_GIANT_SKELETON_BOMB\",\"Bomb\",\"Bombe\",\"Bombe\",\"Bomba\",\"Bomba\",\"Bom\",\"Bombe\",\"Bomba\",\"爆弾\",\"폭탄\",\"Бомба\",\"قنبلة\",\"Bomba\",\"炸弹\",\"炸彈\",\"بمب\",\"Bom\",\"Bom\"\n\"TID_BUILDING_TOMBSTONE\",\"Tombstone\",\"Pierre tombale\",\"Grabstein\",\"Lápida\",\"Lapide\",\"Grafsteen\",\"Gravstein\",\"Mezar Taşı\",\"墓石\",\"해골 무덤\",\"Надгробие\",\"شاهد القبر\",\"Lápide\",\"骷髅墓碑\",\"骷髏墓碑\",\"سنگ قبر\",\"Batu Nisan\",\"Batu Nisan\"\n\"TID_BUILDING_FIRE_SPIRIT_HUT\",\"Furnace\",\"Fournaise\",\"Ofen\",\"Horno\",\"Fornace\",\"Oven\",\"Ildsted\",\"Fırın\",\"オーブン\",\"용광로\",\"Печь\",\"فرن\",\"Fornalha\",\"烈焰熔炉\",\"烈焰熔爐\",\"کوره\",\"Tungku\",\"Relau\"\n\"TID_CHARACTER_WIZARD\",\"Wizard\",\"Sorcier\",\"Magier\",\"Mago\",\"Stregone\",\"Tovenaar\",\"Trollmann\",\"Büyücü\",\"ウィザード\",\"마법사\",\"Колдун\",\"ساحر\",\"Mago\",\"法师\",\"法師\",\"جادوگر\",\"Penyihir\",\"Ahli Sihir\"\n\"TID_CHARACTER_BOMBER\",\"Bomber\",\"Bombardier\",\"Bomber\",\"Bombardero\",\"Bombarolo\",\"Bommengooier\",\"Bomber\",\"Bombacı\",\"ボンバー\",\"폭탄병\",\"Подрывник\",\"مفجر\",\"Bombardeiro\",\"炸弹兵\",\"炸彈兵\",\"بمب‌گذار\",\"Pengebom\",\"Pengebom\"\n\"TID_LEVEL\",\"Level <LEVEL>\",\"Niveau <LEVEL>\",\"Level <LEVEL>\",\"Nivel <LEVEL>\",\"Livello <LEVEL>\",\"Level <LEVEL>\",\"Nivå <LEVEL>\",\"<LEVEL>. Seviye\",\"レベル<LEVEL>\",\"<LEVEL>레벨\",\"Уровень <LEVEL>\",\"المستوى <LEVEL>\",\"Nível <LEVEL>\",\"<LEVEL>级\",\"<LEVEL>級\",\"سطح <LEVEL>\",\"Level <LEVEL>\",\"Tahap <LEVEL>\"\n\"TID_ERROR_POP_UP_CONNECTION_LOST_TITLE\",\"Connection lost\",\"Connexion perdue\",\"Verbindung verloren\",\"Pérdida de conexión\",\"Connessione persa\",\"Verbinding verbroken\",\"Forbindelse brutt\",\"Bağlantı koptu\",\"接続が切断されました\",\"연결 끊김\",\"Связь потеряна\",\"انقطع الاتصال\",\"Conexão perdida\",\"连接中断\",\"失去連線\",\"اتصال قطع شد\",\"Sambungan terputus\",\"Sambungan hilang\"\n\"TID_ERROR_POP_UP_CONNECTION_LOST\",\"Please try logging in again!\",\"Veuillez tenter de vous reconnecter.\",\"Bitte versuche erneut, dich anzumelden!\",\"Intenta volver a conectarte.\",\"Prova ad accedere di nuovo!\",\"Probeer je opnieuw aan te melden!\",\"Prøv å logge inn på nytt!\",\"Lütfen tekrar giriş yapmayı dene!\",\"再度お試しください\",\"다시 로그인해 주세요!\",\"Пожалуйста, попробуй снова!\",\"يُرجى إعادة محاولة تسجيل الدخول!\",\"Tente conectar-se de novo.\",\"请重新登录！\",\"請重新登入！\",\"لطفاً دوباره امتحان کن که وارد سیستم بشی!\",\"Mohon coba masuk lagi!\",\"Sila cuba log masuk sekali lagi!\"\n\"TID_ERROR_POP_UP_CONNECTION_LOST_BUTTON\",\"Retry login\",\"Reconnexion\",\"Anmeldung erneut versuchen\",\"Reintentar\",\"Riprova l'accesso\",\"Opnieuw aanmelden\",\"Logg inn på nytt\",\"Tekrar giriş yapmayı dene\",\"ログイン再試行\",\"로그인 재시도\",\"Попробовать войти\",\"إعادة محاولة تسجيل الدخول\",\"Tentar de novo\",\"重新登录\",\"重新登入\",\"دوباره وارد سیستم بشو\",\"Coba masuk lagi\",\"Cuba semula log masuk\"\n\"TID_ERROR_POP_UP_PURCHASE_FAILED_TITLE\",\"Purchase failed\",\"Échec de l'achat\",\"Kauf fehlgeschlagen\",\"Error de compra\",\"Acquisto non riuscito\",\"Aankoop mislukt\",\"Kjøpet mislyktes\",\"Satın alma başarısız oldu\",\"購入に失敗\",\"결제 실패\",\"Покупка не удалась\",\"فشلت عملية الشراء\",\"Falha na compra\",\"购买失败\",\"購買失敗\",\"خرید ناموفق\",\"Pembelian gagal\",\"Pembelian gagal\"\n\"TID_ERROR_POP_UP_PURCHASE_FAILED\",\"Billing server not responding. Please try again later.\",\"Le service de facturation ne répond pas. Veuillez réessayer plus tard.\",\"Abrechnungsserver antwortet nicht. Bitte versuche es später erneut.\",\"El servidor de facturación no responde. Inténtalo de nuevo más tarde.\",\"Il server per i pagamenti non risponde. Riprova più tardi.\",\"De transactieserver reageert niet. Probeer het later opnieuw.\",\"Betalingsserveren svarer ikke. Prøv igjen senere.\",\"Fatura sunucusu yanıt vermiyor. Lütfen daha sonra tekrar dene.\",\"課金処理サーバーが応答していません。後ほどお試しください\",\"결제 서버가 응답하지 않습니다. 나중에 다시 시도해주세요.\",\"Сервер оплаты не отвечает. Пожалуйста, попробуйте позже.\",\"خادم الدفع لا يستجيب. من فضلك حاول ثانية لاحقا.\",\"O servidor de cobrança não responde. Tente novamente mais tarde.\",\"计费服务器未响应。请稍后再试。\",\"計費伺服器未回應。請稍後再試。\",\"سرور صورتحساب پاسخگو نیست. لطفاً بعداً دوباره امتحان کن.\",\"Server penagihan tidak menanggapi. Coba lagi nanti.\",\"Pelayan pengebilan tidak memberikan respons. Sila cuba lagi kemudian.\"\n\"TID_ERROR_POP_UP_PURCHASE_FAILED_BUTTON\",\"Ok\",\"OK\",\"O. K.\",\"Vale\",\"OK\",\"Oké\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"ОК\",\"حسنا\",\"Ok\",\"确定\",\"確定\",\"خوب\",\"Oke\",\"Ok\"\n\"TID_SECOND_SHORT\",\"s\",\"s\",\"s\",\"s\",\"s\",\"s\",\"s\",\"sn\",\"秒\",\"초\",\"с.\",\"ثانية\",\"s\",\"秒\",\"秒\",\"s\",\"d\",\"s\"\n\"TID_ALLIANCE_CREATE_FAILED\",\"Clan creation failed\",\"Échec de la création du clan\",\"Clangründung fehlgeschlagen\",\"Error al crear el clan\",\"Creazione clan fallita\",\"Oprichten clan mislukt\",\"Kan ikke opprette klan\",\"Klan oluşturma başarısız\",\"クランを作成できません\",\"클랜 생성 실패\",\"Не удалось создать клан\",\"فشل إنشاء القبيلة\",\"Falha na criação do clã.\",\"部落创建失败\",\"部落創建失敗\",\"قبیله ایجاد نشد\",\"Gagal membuat klan\",\"Penciptaan Klan gagal\"\n\"TID_ALLIANCE_CREATE_FAILED_PROFANITIES_IN_NAME\",\"Inappropriate Clan name\",\"Nom de clan inapproprié\",\"Unangemessener Clanname\",\"Nombre del clan inapropiado\",\"Nome clan inappropriato\",\"Ongepaste clannaam\",\"Upassende klannavn\",\"Uygunsuz Klan adı\",\"クラン名が不適切です\",\"부적절한 클랜 이름\",\"Недопустимое название клана\",\"اسم قبيلة غير لائق\",\"Nome de clã inadequado\",\"部落名称不当\",\"部落名稱不當\",\"نام قبیله نامناسب\",\"Nama Klan tidak pantas\",\"Nama Klan tidak sesuai\"\n\"TID_ALLIANCE_CREATE_FAILED_PROFANITIES_IN_DESCRIPTION\",\"Inappropriate Clan description\",\"Description de clan inappropriée\",\"Unangemessene Clanbeschreibung\",\"Descripción del clan inapropiada\",\"Descrizione clan inappropriata\",\"Ongepaste clanbeschrijving\",\"Upassende klanbeskrivelse\",\"Uygunsuz Klan açıklaması\",\"クランの説明が不適切です\",\"부적절한 클랜 설명\",\"Недопустимое описание клана\",\"وصف قبيلة غير لائق\",\"Descrição de clã inadequada\",\"部落描述不当\",\"部落描述不當\",\"توضیح قبیله نامناسب\",\"Deskripsi Klan tidak pantas\",\"Perihalan Klan tidak sesuai\"\n\"TID_ALLIANCE_CREATE_OK\",\"Clan Created!\",\"Clan créé !\",\"Clan gegründet!\",\"¡Clan creado!\",\"Clan creato!\",\"Clan opgericht!\",\"Klan opprettet!\",\"Klan Oluşturuldu!\",\"クランを作成しました！\",\"클랜 생성 완료!\",\"Клан готов!\",\"تم إنشاء القبيلة!\",\"O clã foi criado.\",\"部落创建成功！\",\"部落創建成功！\",\"قبیله ایجاد شد!\",\"Klan Berhasil Dibuat!\",\"Klan Dicipta!\"\n\"TID_ALLIANCE_NAME_TOO_SHORT\",\"Clan name too short\",\"Nom de clan trop court\",\"Clanname zu kurz\",\"El nombre del clan es demasiado corto.\",\"Nome del clan troppo corto\",\"De clannaam is te kort\",\"Klannavnet er for kort\",\"Klan adı çok kısa\",\"クラン名が短すぎます\",\"클랜 이름이 너무 짧습니다\",\"Название клана слишком короткое\",\"اسم القبيلة قصير للغاية\",\"Nome muito curto.\",\"部落名称太短\",\"部落名稱太短\",\"نام قبیله خیلی کوتاه\",\"Nama klan terlalu pendek\",\"Nama klan terlalu pendek\"\n\"TID_BUTTON_CREATE\",\"Create\",\"Créer\",\"Gründen\",\"Crear\",\"Crea\",\"Oprichten\",\"Opprett\",\"Oluştur\",\"作成\",\"생성\",\"Создать\",\"إنشاء\",\"Criar\",\"创建\",\"創建\",\"ایجاد\",\"Buat\",\"Cipta\"\n\"TID_BUTTON_SAVE\",\"Save\",\"Sauv.\",\"Speichern\",\"Guardar\",\"Salva\",\"Opslaan\",\"Lagre\",\"Kaydet\",\"保存\",\"저장\",\"Сохранить\",\"حفظ\",\"Salvar\",\"保存\",\"儲存\",\"ذخیره\",\"Simpan\",\"Simpan\"\n\"TID_ALLIANCE_NAME\",\"Clan name\",\"Nom du clan\",\"Clanname\",\"Nombre del clan\",\"Nome clan\",\"Clannaam\",\"Klannavn\",\"Klan adı\",\"クラン名\",\"클랜 이름\",\"Название клана\",\"اسم القبيلة\",\"Nome do clã\",\"部落名称\",\"部落名稱\",\"نام قبیله\",\"Nama klan\",\"Nama klan\"\n\"TID_ALLIANCE_DESCRIPTION\",\"Clan description\",\"Description du clan\",\"Clanbeschreibung\",\"Descripción del clan\",\"Descrizione clan\",\"Clanbeschrijving\",\"Klanbeskrivelse\",\"Klan açıklaması\",\"クランの説明\",\"클랜 설명\",\"Описание клана\",\"وصف القبيلة\",\"Descrição do clã\",\"部落描述\",\"部落描述\",\"توضیح قبیله\",\"Deskripsi klan\",\"Perihalan klan\"\n\"TID_ALLIANCE_TYPE\",\"Type\",\"Type\",\"Typ\",\"Tipo\",\"Tipo\",\"Type\",\"Type\",\"Tür\",\"タイプ\",\"유형\",\"Вид\",\"النوع\",\"Tipo\",\"类型\",\"類型\",\"نوع\",\"Tipe\",\"Jenis\"\n\"TID_ALLIANCE_SCORE_LIMIT\",\"Score limit\",\"Score max.\",\"Punktelimit\",\"Límite de puntos\",\"Limite punteggio\",\"Scorelimiet\",\"Poenggrense\",\"Skor limiti\",\"スコア制限\",\"점수 제한\",\"Минимальный счет\",\"حدود النتيجة\",\"Limite de pontuação\",\"奖杯限制\",\"獎盃限制\",\"محدوده امتیاز\",\"Batas skor\",\"Had skor\"\n\"TID_CONFIRM_BUTTON_YES\",\"Yes\",\"Oui\",\"Ja\",\"Sí\",\"Sì\",\"Ja\",\"Ja\",\"Evet\",\"はい\",\"네\",\"Да\",\"نعم\",\"Sim\",\"是\",\"是\",\"بله\",\"Ya\",\"Ya\"\n\"TID_BUTTON_NO\",\"No\",\"Non\",\"Nein\",\"No\",\"No\",\"Nee\",\"Nei\",\"Hayır\",\"いいえ\",\"아니요\",\"Нет\",\"لا\",\"Não\",\"否\",\"否\",\"خیر\",\"Tidak\",\"Tidak\"\n\"TID_ALLIANCE_TYPE_CLOSED\",\"Closed\",\"Fermé\",\"Geschlossen\",\"Privado\",\"Chiuso\",\"Besloten\",\"Lukket\",\"Kapalı\",\"参加不可\",\"비공개\",\"Закрытый\",\"مغلق\",\"Fechado\",\"不可加入\",\"不可加入\",\"بسته\",\"Tertutup\",\"Ditutup\"\n\"TID_ALLIANCE_TYPE_OPEN\",\"Open\",\"Ouvert\",\"Offen\",\"Abierto\",\"Aperto\",\"Open\",\"Åpen\",\"Açık\",\"誰でも参加可能\",\"공개\",\"Открытый\",\"فتح\",\"Aberto\",\"允许任何人\",\"允許任何人\",\"باز کردن\",\"Terbuka\",\"Buka\"\n\"TID_ALLIANCE_TYPE_INVITE_ONLY\",\"Invite Only\",\"Sur invitation\",\"Nur auf Einladung\",\"Solo invitación\",\"Solo su invito\",\"Op uitnodiging\",\"Kun inviterte\",\"Yalnızca Davetle\",\"招待のみ\",\"초대 한정\",\"По приглашению\",\"دعوة فقط\",\"Somente convidados\",\"需要批准\",\"需要批准\",\"فقط با دعوت\",\"Khusus Undangan\",\"Jemput Sahaja\"\n\"TID_TUTORIAL_ENEMY_AREA\",\"Destroy enemy towers!\",\"Détruisez les tours ennemies !\",\"Zerstöre gegnerische Türme!\",\"¡Destruye las torres enemigas!\",\"Distruggi le torri nemiche!\",\"Vernietig vijandelijke torens!\",\"Ødelegg fiendens tårn!\",\"Düşman kulelerini yok et!\",\"敵のタワーを壊そう！\",\"상대방의 타워를 파괴하세요!\",\"Уничтожь башни противника!\",\"دمّر أبراج العدو!\",\"Destrua as torres inimigas!\",\"摧毁敌军皇家塔！\",\"摧毀敵軍皇家塔！\",\"برج‌های دشمن رو نابود کن!\",\"Hancurkan benteng musuh!\",\"Musnahkan menara musuh!\"\n\"TID_TUTORIAL_ATTACK_REMINDER\",\"Destroy remaining targets!\",\"Détruisez les cibles restantes !\",\"Zerstöre verbleibende Ziele!\",\"¡Destruye los objetivos que quedan!\",\"Distruggi i bersagli rimasti!\",\"Vernietig resterende doelen!\",\"Ødelegg gjenværende mål!\",\"Kalan hedefleri yok et!\",\"残りのタワーも壊そう！\",\"남은 목표들을 파괴하세요!\",\"Уничтожай оставшиеся цели!\",\"دمّر الأهداف الباقية!\",\"Destrua os alvos restantes!\",\"摧毁剩余目标！\",\"摧毀剩餘目標！\",\"اهداف باقی مونده رو نابود کن!\",\"Hancurkan target tersisa!\",\"Musnahkan baki sasaran!\"\n\"TID_RARITY_COMMON\",\"Common\",\"Commune\",\"Gewöhnlich\",\"Común\",\"Comune\",\"Gewoon\",\"Vanlig\",\"Sıradan\",\"ノーマル\",\"일반\",\"Обычная\",\"عادي\",\"Comum\",\"普通\",\"普通\",\"عادی\",\"Umum\",\"Biasa\"\n\"TID_RARITY_RARE\",\"Rare\",\"Rare\",\"Selten\",\"Especial\",\"Rara\",\"Zeldzaam\",\"Sjeldent\",\"Ender\",\"レア\",\"희귀\",\"Редкая\",\"نادر\",\"Rara\",\"稀有\",\"稀有\",\"کمیاب\",\"Langka\",\"Jarang\"\n\"TID_RARITY_EPIC\",\"Epic\",\"Épique\",\"Episch\",\"Épica\",\"Epica\",\"Episch\",\"Episk\",\"Destansı\",\"スーパーレア\",\"영웅\",\"Эпическая\",\"ممتاز\",\"Épica\",\"史诗\",\"史詩\",\"حماسی\",\"Epik\",\"Epik\"\n\"TID_RARITY_LEGENDARY\",\"Legendary\",\"Légendaire\",\"Legendär\",\"Legendaria\",\"Leggendaria\",\"Legendarisch\",\"Legendarisk\",\"Efsanevi\",\"ウルトラレア\",\"전설\",\"Легендарная\",\"أسطوري\",\"Lendária\",\"传奇\",\"傳奇\",\"افسانه‌ای\",\"Legendaris\",\"Legenda\"\n\"TID_SPELL_INFO_TITLE\",\"Level <LEVEL> <SPELL>\",\"<SPELL> de niveau <LEVEL>\",\"<SPELL> Level <LEVEL>\",\"<SPELL> (nivel <LEVEL>)\",\"<SPELL> livello <LEVEL>\",\"Level <LEVEL> <SPELL>\",\"<SPELL> på nivå <LEVEL>\",\"<LEVEL>. Seviye <SPELL>\",\"レベル<LEVEL> <SPELL>\",\"<LEVEL>레벨 <SPELL>\",\"<SPELL> <LEVEL>-го уровня\",\"المستوى <LEVEL> <SPELL>\",\"<SPELL> Nível <LEVEL>\",\"<LEVEL>级<SPELL>\",\"<LEVEL>級<SPELL>\",\"سطح <LEVEL> <SPELL>\",\"<SPELL> Level <LEVEL>\",\"Tahap <LEVEL> <SPELL>\"\n\"TID_BUTTON_LEAVE\",\"Leave\",\"Quitter\",\"Verlassen\",\"Abandonar\",\"Esci\",\"Verlaten\",\"Forlat\",\"Ayrıl\",\"脱退\",\"나가기\",\"Покинуть\",\"مغادرة\",\"Sair\",\"退出\",\"退出\",\"خروج\",\"Keluar\",\"Tinggalkan\"\n\"TID_BUTTON_SETTINGS\",\"Settings\",\"Paramètres\",\"Einstellungen\",\"Ajustes\",\"Impostazioni\",\"Instellingen\",\"Innstillinger\",\"Ayarlar\",\"設定\",\"설정\",\"Настройки\",\"الإعدادات\",\"Configurações\",\"设置\",\"設定\",\"تنظیمات\",\"Setelan\",\"Tetapan\"\n\"TID_BUTTON_JOIN\",\"Join\",\"Rejoindre\",\"Beitreten\",\"Unirse\",\"Unisciti\",\"Aansluiten\",\"Bli med\",\"Katıl\",\"参加\",\"가입\",\"Присоединиться\",\"الانضمام\",\"Participar\",\"加入\",\"加入\",\"پیوستن\",\"Gabung\",\"Sertai\"\n\"TID_ALLIANCE_LEAVE_CONFIRMATION_TITLE\",\"Leave Clan?\",\"Quitter le clan ?\",\"Clan verlassen?\",\"Abandonar clan\",\"Abbandonare il clan?\",\"Clan verlaten?\",\"Forlate klanen?\",\"Klandan ayrıl?\",\"クランの脱退\",\"클랜을 탈퇴하시겠습니까?\",\"Покинуть клан?\",\"هل تريد مغادرة القبيلة؟\",\"Sair do clã?\",\"要退出部落吗？\",\"要退出部落嗎？\",\"قبیله رو ترک می‌کنی؟\",\"Keluar Klan?\",\"Tinggalkan Klan?\"\n\"TID_ALLIANCE_LEAVE_CONFIRMATION\",\"Do you really want to leave?\",\"Voulez-vous vraiment quitter le clan ?\",\"Möchtest du wirklich gehen?\",\"¿Seguro que quieres irte del clan?\",\"Vuoi davvero andartene?\",\"Weet je zeker dat je wilt vertrekken?\",\"Vil du virkelig forlate klanen?\",\"Gerçekten ayrılmak istiyor musun?\",\"本当にクランを脱退しますか？\",\"정말 탈퇴할까요?\",\"Ты точно хочешь уйти?\",\"هل ترغب حقًا في المغادرة؟\",\"Quer mesmo sair?\",\"确定退出部落吗？\",\"確定退出部落嗎？\",\"واقعاً می‌خوای از قبیله بری؟\",\"Yakin ingin keluar?\",\"Anda benar-benar ingin meninggalkan klan?\"\n\"TID_STREAM_ENTRY_AGE\",\"<time> ago\",\"Il y a <time>\",\"Vor <time>\",\"Hace <time>\",\"<time> fa\",\"<time> geleden\",\"For <time> siden\",\"<time> önce\",\"<time>前\",\"<time> 전\",\"<time> назад\",\"منذ <time>\",\"<time> atrás\",\"<time>前\",\"<time>前\",\"<time> قبل\",\"<time> yang lalu\",\"<time> yang lalu\"\n\"TID_BUTTON_SEND\",\"Send\",\"Envoyer\",\"Senden\",\"Enviar\",\"Invia\",\"Verzenden\",\"Send\",\"Gönder\",\"送信\",\"전송\",\"Отправить\",\"إرسال\",\"Enviar\",\"发送\",\"發送\",\"ارسال\",\"Kirim\",\"Hantar\"\n\"TID_ALLIANCE_ROLE_LEADER\",\"Leader\",\"Chef\",\"Anführer\",\"Líder\",\"Capo\",\"Leider\",\"Leder\",\"Lider\",\"リーダー\",\"대표\",\"Глава\",\"قائد\",\"Líder\",\"首领\",\"首領\",\"رهبر\",\"Pemimpin\",\"Ketua\"\n\"TID_ALLIANCE_ROLE_CO_LEADER\",\"Co-leader\",\"Chef adjoint\",\"Vize-Anführer\",\"Colíder\",\"Co-capo\",\"Co-leider\",\"Ass. leder\",\"Lider Yardımcısı\",\"サブリーダー\",\"공동 대표\",\"Соруководитель\",\"قائد مساعد\",\"Colíder\",\"副首领\",\"副首領\",\"دستیار رهبر\",\"Wakil pemimpin\",\"Pembantu Ketua\"\n\"TID_ALLIANCE_ROLE_MEMBER\",\"Member\",\"Membre\",\"Mitglied\",\"Miembro\",\"Recluta\",\"Lid\",\"Medlem\",\"Üye\",\"メンバー\",\"클랜원\",\"Участник\",\"عضو\",\"Membro\",\"成员\",\"成員\",\"عضو\",\"Anggota\",\"Ahli\"\n\"TID_ALLIANCE_ROLE_ELDER\",\"Elder\",\"Aîné\",\"Ältester\",\"Veterano\",\"Anziano\",\"Oudste\",\"Senior\",\"Büyük\",\"長老\",\"장로\",\"Старейшина\",\"كبير\",\"Ancião\",\"长老\",\"長老\",\"پیشکسوت\",\"Senior\",\"Kanan\"\n\"TID_STREAM_EVENT_ACCEPTED\",\"<sender> was accepted to the Clan by <target>\",\"<sender> a été accepté(e) comme membre du clan par <target>.\",\"<sender> wurde von <target> in den Clan aufgenommen.\",\"<target> ha aceptado a <sender> en el clan.\",\"<sender> è stato/a accettato/a nel clan da <target>\",\"<sender> is toegelaten tot de clan door <target>.\",\"<sender> ble tatt inn i klanen av <target>\",\"<sender>, <target> tarafından Klana kabul edildi\",\"<sender>のクラン参加を<target>が承認しました\",\"<target> 님이 <sender> 님의 가입을 승인했습니다.\",\"<target> принимает в клан игрока <sender>\",\"قُبل <sender> في القبيلة بواسطة <target>\",\"<target> aceitou <sender>.\",\"<target>批准了<sender>加入部落\",\"<target>批准了<sender>加入部落\",\"<sender> توسط <target> در قبیله پذیرفته شد\",\"<sender> diterima masuk Klan oleh <target>\",\"<sender> telah diterima ke Klan oleh <target>\"\n\"TID_STREAM_EVENT_DEMOTED\",\"<sender> was demoted by <target>\",\"<sender> a été rétrogradé par <target>.\",\"<sender> wurde von <target> degradiert.\",\"<target> ha degradado a <sender>.\",\"<sender> è stato/a retrocesso/a da <target>\",\"<sender> is gedegradeerd door <target>\",\"<sender> ble degradert av <target>\",\"<sender> adlı oyuncunun rütbesi, <target> tarafından indirildi\",\"<sender>が<target>により降格されました\",\"<target> 님이 <sender> 님을 강등시켰습니다.\",\"<target> понижает игрока <sender>\",\"خُفضت رتبة <sender> بواسطة <target>\",\"<target> rebaixou <sender>.\",\"<sender>被<target>降职了\",\"<sender>被<target>降職了\",\"<sender> توسط <target> نزول رتبه پیدا کرد\",\"<sender> diturunkan oleh <target>\",\"<sender> telah diturunkan pangkat oleh <target>\"\n\"TID_STREAM_EVENT_PROMOTED\",\"<sender> was promoted by <target>\",\"<sender> a été promu par <target>.\",\"<sender> wurde von <target> befördert.\",\"<target> ha ascendido a <sender>.\",\"<sender> ha ricevuto una promozione da <target>\",\"<sender> is gepromoveerd door <target>\",\"<sender> ble forfremmet av <target>\",\"<sender>, <target> tarafından terfi ettirildi\",\"<sender>が<target>により昇格されました\",\"<target> 님이 <sender> 님을 승급시켰습니다.\",\"<target> повышает игрока <sender>\",\"تمت ترقية <sender> بواسطة <target>\",\"<target> promoveu <sender>.\",\"<sender>被<target>晋升了\",\"<sender>被<target>晉升了\",\"<sender> توسط <target> ارتقای رتبه پیدا کرد\",\"<sender> dipromosikan oleh <target>\",\"<sender> telah dinaikkan pangkat oleh <target>\"\n\"TID_STREAM_EVENT_JOINED\",\"<sender> joined the Clan\",\"<sender> a rejoint le clan.\",\"<sender> ist dem Clan beigetreten.\",\"<sender> se ha unido al clan.\",\"<sender> è entrato/a nel clan\",\"<sender> heeft zich bij de clan aangesloten.\",\"<sender> ble med i klanen\",\"<sender> Klana katıldı\",\"<sender>がクランに参加しました\",\"<sender> 님이 클랜에 가입했습니다.\",\"<sender> вступает в клан\",\"انضم <sender> إلى القبيلة\",\"<sender> entrou para o clã.\",\"<sender>加入了部落\",\"<sender>加入了部落\",\"<sender> به قبیله ملحق شد\",\"<sender> bergabung dalam Klan\",\"<sender> telah menyertai Klan\"\n\"TID_STREAM_EVENT_KICKED\",\"<sender> has been kicked out of the Clan by <target>\",\"<sender> a été exclu(e) du clan par <target>.\",\"<sender> wurde von <target> aus dem Clan geworfen.\",\"<target> ha expulsado a <sender> del clan.\",\"<sender> è stato/a espulso/a dal clan da <target>\",\"<sender> is uit de clan gezet door <target>.\",\"<sender> har blitt sparket ut av klanen av <target>\",\"<sender>, <target> tarafından Klandan atıldı\",\"<sender>が<target>によりクランから追放されました\",\"<target> 님이 <sender> 님을 클랜에서 추방했습니다.\",\"<target> изгоняет из клана игрока <sender>\",\"طُرد <sender> من القبيلة بواسطة <target>\",\"<target> expulsou <sender> do clã.\",\"<sender>被<target>踢出了部落\",\"<sender>被<target>踢出了部落\",\"<sender> توسط <target> از قبیله بیرون انداخته شد\",\"<sender> ditendang keluar dari Klan oleh <target>\",\"<sender> telah dikeluarkan daripada Klan oleh <target>\"\n\"TID_STREAM_EVENT_LEFT\",\"<sender> has left the Clan\",\"<sender> a quitté le clan.\",\"<sender> hat den Clan verlassen.\",\"<sender> ha abandonado el clan.\",\"<sender> ha abbandonato il clan\",\"<sender> heeft de clan verlaten.\",\"<sender> har forlatt klanen\",\"<sender> Klandan ayrıldı\",\"<sender>がクランを脱退しました\",\"<sender> 님이 클랜을 탈퇴했습니다.\",\"<sender> покидает клан\",\"غادر <sender> القبيلة\",\"<sender> saiu do clã.\",\"<sender>已退出部落\",\"<sender>已退出部落\",\"<sender> قیبله رو ترک کرد\",\"<sender> keluar dari Klan\",\"<sender> telah meninggalkan Klan\"\n\"TID_BUTTON_CONFIRM\",\"Confirm selection\",\"Confirmer\",\"Ausw. Bestätigen\",\"Confirmar selección\",\"Conferma selezione\",\"Selectie bevestigen\",\"Bekreft valget\",\"Seçimi onayla\",\"選択を確定\",\"선택 확인\",\"Подтвердить выбор\",\"تأكيد الاختيار\",\"Confirmar seleção\",\"确认选择\",\"確認選擇\",\"تأیید انتخاب\",\"Konfirmasikan pilihan\",\"Sahkan pilihan\"\n\"TID_INVALID_SPELL_POSITION\",\"Invalid position!\",\"Position non valide !\",\"Ungültige Position!\",\"Posición no válida\",\"Posizione non valida!\",\"Ongeldige positie!\",\"Ugyldig posisjon!\",\"Geçersiz konum!\",\"そこには使えません！\",\"위치가 잘못되었습니다!\",\"Неверная позиция!\",\"موقع غير صحيح!\",\"Posição inválida!\",\"无效位置！\",\"無效位置！\",\"موقعیت نامعتبر!\",\"Posisi tidak valid!\",\"Kedudukan tidak sah!\"\n\"TID_NOT_ENOUGH_MANA\",\"Not enough Elixir!\",\"Pas assez d'élixir !\",\"Nicht genug Elixier!\",\"Elixir insuficiente\",\"Elisir insufficiente!\",\"Niet genoeg elixir!\",\"Ikke nok eliksir!\",\"Yeterli İksir Yok!\",\"エリクサーが足りません！\",\"엘릭서가 부족합니다!\",\"Нужно больше эликсира!\",\"لا يوجد إكسير كاف!\",\"Elixir insuficiente!\",\"圣水不足！\",\"聖水不足！\",\"اکسیر کافی نیست!\",\"Eliksir tidak cukup!\",\"Tidak cukup Eliksir!\"\n\"TID_DECIMAL_FORMAT\",\"<FULL>.<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>.<DECIMAL>\",\"<FULL>,<DECIMAL>\",\"<FULL>.<DECIMAL>\"\n\"TID_SPEED_1\",\"Very Slow\",\"Très lent\",\"Sehr langsam\",\"Muy baja\",\"Molto lento\",\"Erg traag\",\"Veldig sakte\",\"Çok Yavaş\",\"とてもおそい\",\"매우 느림\",\"Очень медленная\",\"بطيء جدًا\",\"Muito lenta\",\"极慢\",\"極慢\",\"خیلی آرام\",\"Sangat Lambat\",\"Sangat Perlahan\"\n\"TID_SPEED_2\",\"Slow\",\"Lent\",\"Langsam\",\"Baja\",\"Lenta\",\"Traag\",\"Sakte\",\"Yavaş\",\"おそい\",\"느림\",\"Медленная\",\"بطيء\",\"Lenta\",\"慢\",\"慢\",\"آرام\",\"Lambat\",\"Perlahan\"\n\"TID_SPEED_3\",\"Medium\",\"Moyen\",\"Mittelschnell\",\"Media\",\"Media\",\"Normaal\",\"Middels\",\"Orta\",\"ふつう\",\"보통\",\"Средняя\",\"متوسط\",\"Média\",\"中等\",\"中等\",\"متوسط\",\"Sedang\",\"Sederhana\"\n\"TID_SPEED_4\",\"Fast\",\"Rapide\",\"Schnell\",\"Alta\",\"Rapida\",\"Snel\",\"Rask\",\"Hızlı\",\"はやい\",\"빠름\",\"Быстрая\",\"سريع\",\"Rápida\",\"快\",\"快\",\"سریع\",\"Cepat\",\"Pantas\"\n\"TID_SPEED_5\",\"Very Fast\",\"Très rapide\",\"Sehr schnell\",\"Muy alta\",\"Molto rapida\",\"Heel snel\",\"Veldig rask\",\"Çok Hızlı\",\"とてもはやい\",\"매우 빠름\",\"Очень быстрая\",\"سريع جدًا\",\"Muito rápida\",\"极快\",\"極快\",\"خیلی سریع\",\"Sangat Cepat\",\"Sangat Pantas\"\n\"TID_SPEED_6\",\"Ultra Fast\",\"Ultra rapide\",\"Ultraschnell\",\"Altísima\",\"Ultra rapida\",\"Ultrasnel\",\"Ultraraskt\",\"Ultra Hızlı\",\"超はやい\",\"극도로 빠름\",\"Супербыстрая\",\"فائق السرعة\",\"Ultrarrápida\",\"最快\",\"最快\",\"فوق سریع\",\"Ultra Cepat\",\"Ultra Pantas\"\n\"TID_ATTRIBUTE_MELEE_RANGE\",\"Melee\",\"Mêlée\",\"Nahkampf\",\"Cuerpo a cuerpo\",\"Mischia\",\"Mêlee\",\"Nærkamp\",\"Yakın Dövüş\",\"近接\",\"근접\",\"Ближняя\",\"مشاغب\",\"Corpo a corpo\",\"近战\",\"近戰\",\"جنگ تن به تن\",\"Jarak dekat\",\"Pertempuran dekat\"\n\"TID_SPELL_ATTRIBUTE_SPEED\",\"Speed\",\"Vitesse\",\"Geschwindigkeit\",\"Velocidad\",\"Velocità\",\"Snelheid\",\"Hastighet\",\"Hız\",\"移動速度\",\"속도\",\"Скорость\",\"سرعة\",\"Velocidade\",\"移动速度\",\"移動速度\",\"سرعت\",\"Kecepatan\",\"Kelajuan\"\n\"TID_SPELL_ATTRIBUTE_HEALTH\",\"Hitpoints\",\"Points de vie\",\"Trefferpunkte\",\"Puntos de vida\",\"Punti ferita\",\"Levenspunten\",\"Treffpoeng\",\"Can\",\"ヒットポイント\",\"HP\",\"Здоровье\",\"نقاط الإصابة\",\"Pontos de vida\",\"生命值\",\"生命值\",\"تحمل ضربه\",\"Nyawa\",\"Nilai nyawa\"\n\"TID_SPELL_ATTRIBUTE_HEAL_PER_SECOND\",\"Healing/sec\",\"Guérison/s\",\"Heilung/s\",\"Curación/s\",\"Cura/sec\",\"Genezen/sec.\",\"Helbredelse/sek\",\"İyileştirme/sn\",\"回復量/秒\",\"초당 치유\",\"Исцеление/сек.\",\"الشفاء/الثانية\",\"Cura/seg\",\"每秒治疗量\",\"每秒治療量\",\"شفا/ثانیه\",\"Penyembuhan/dtk\",\"Penyembuhan/saat\"\n\"TID_SPELL_ATTRIBUTE_PER_SECOND_VALUE\",\"<VALUE>/sec\",\"<VALUE>/s\",\"<VALUE>/s\",\"<VALUE>/s\",\"<VALUE>/sec\",\"<VALUE>/sec\",\"<VALUE>/sek\",\"<VALUE>/sn\",\"<VALUE>/秒\",\"<VALUE>/초\",\"<VALUE>/с.\",\"<VALUE>/ثانية\",\"<VALUE>/seg\",\"<VALUE>/秒\",\"<VALUE>/秒\",\"<VALUE>/ثانیه\",\"<VALUE>/dtk\",\"<VALUE>/saat\"\n\"TID_SPELL_ATTRIBUTE_HEAL\",\"Heal\",\"Guérison\",\"Heilung\",\"Curación\",\"Cura\",\"Genezen\",\"Helbredelse\",\"İyileştirme\",\"回復\",\"치유\",\"Исцеление\",\"شفاء\",\"Cura\",\"治疗量\",\"治療\",\"شفا\",\"Penyembuhan\",\"Sembuh\"\n\"TID_SPELL_ATTRIBUTE_TOWER_HEAL\",\"Crown Tower Heal\",\"Guérison de tour couronnée\",\"Kronenturmheilung\",\"Curación de torre de coronas\",\"Cura torri della corona\",\"Genezing kroontoren\",\"Kronetårnhelbredelse\",\"Taç Kulesi İyileştirme\",\"クラウンタワーヒール\",\"크라운 타워 치유\",\"Исцеление королевской башни\",\"شفاء برج التاج\",\"Cura da Torre da Coroa\",\"皇家塔治疗量\",\"皇家塔治療量\",\"شفای برج تاج\",\"Sembuhkan Benteng Mahkota\",\"Penyembuh Menara Mahkota\"\n\"TID_SPELL_ATTRIBUTE_DAMAGE_PER_SECOND\",\"Damage/sec\",\"Dégâts/s\",\"Schaden/s\",\"Daño/s\",\"Danno/sec\",\"Schade/sec.\",\"Skade/sek\",\"Hasar/sn\",\"ダメージ/秒\",\"초당 피해량\",\"Урон/сек.\",\"الضرر/الثانية\",\"Dano/seg\",\"每秒伤害\",\"每秒傷害\",\"آسیب/ثانیه\",\"Kerusakan/dtk\",\"Kerosakan/saat\"\n\"TID_SPELL_ATTRIBUTE_TOWER_DPS\",\"Crown Tower Damage/sec\",\"Dégâts/s Tour couronnée\",\"Kronenturm-Schaden/Sek.\",\"Daño/segundo a torres de coronas\",\"Danno/sec torri della corona\",\"Schade kroontoren/sec\",\"Kronetårnskade per sek.\",\"Taç Kulesi Hasarı/sn\",\"クラウンタワーダメージ／秒\",\"크라운 타워 초당 피해량\",\"Урон королевской башни/сек\",\"ضرر برج التاج/الثانية\",\"Dano à Torre da Coroa/seg\",\"皇家塔每秒伤害\",\"皇家塔每秒傷害\",\"آسیب برج تاج/ثانیه\",\"Kerusakan Benteng Mahkota/dtk\",\"Kerosakan Menara Mahkota/saat\"\n\"TID_SPELL_ATTRIBUTE_DAMAGE\",\"Damage\",\"Dégâts\",\"Schaden\",\"Daño\",\"Danno\",\"Schade\",\"Skade\",\"Hasar\",\"ダメージ\",\"피해량\",\"Урон\",\"ضرر\",\"Dano\",\"伤害\",\"傷害\",\"آسیب\",\"Kerusakan\",\"Kerosakan\"\n\"TID_SPELL_ATTRIBUTE_AREA_DAMAGE\",\"Area Damage\",\"Dégâts de zone\",\"Flächenschaden\",\"Daño de área\",\"Danno ad area\",\"Gebiedsschade\",\"Områdeskade\",\"Alan Hasarı\",\"範囲ダメージ\",\"광역 피해량\",\"Урон по зоне\",\"ضرر في المنطقة\",\"Dano em área\",\"范围伤害\",\"範圍傷害\",\"آسیب ناحیه\",\"Kerusakan Area\",\"Kerosakan Kawasan\"\n\"TID_SPELL_ATTRIBUTE_TOWER_DAMAGE\",\"Crown Tower Damage\",\"Dégâts Tour couronnée\",\"Kronenturm-Schaden\",\"Daño a torres de coronas\",\"Danno torri della corona\",\"Schade kroontoren\",\"Kronetårnskade\",\"Taç Kulesi Hasarı\",\"クラウンタワーダメージ\",\"크라운 타워 피해량\",\"Урон королевской башне\",\"ضرر برج التاج\",\"Dano à Torre da Coroa\",\"皇家塔伤害\",\"皇家塔傷害\",\"آسیب برج تاج\",\"Kerusakan Benteng Mahkota\",\"Kerosakan Mnr Mahkota\"\n\"TID_SPELL_ATTRIBUTE_HIT_SPEED\",\"Hit Speed\",\"Vitesse de frappe\",\"Treffergeschwindigkeit\",\"Velocidad de ataque\",\"Velocità colpi\",\"Snelheid treffer\",\"Treffhastighet\",\"Vuruş Hızı\",\"攻撃速度\",\"공격 속도\",\"Скорость атаки\",\"سرعة الإصابة\",\"Velocidade do impacto\",\"攻击速度\",\"攻擊速度\",\"سرعت ضربه\",\"Kecepatan Serangan\",\"Kelajuan Serangan\"\n\"TID_SPELL_ATTRIBUTE_DURATION\",\"Duration\",\"Durée\",\"Dauer\",\"Duración\",\"Durata\",\"Duur\",\"Varighet\",\"Süre\",\"効果時間\",\"지속 시간\",\"Длительность\",\"المدة\",\"Duração\",\"持续时间\",\"持續時間\",\"مدت\",\"Durasi\",\"Tempoh\"\n\"TID_SPELL_ATTRIBUTE_RADIUS\",\"Radius\",\"Rayon\",\"Radius\",\"Radio\",\"Raggio\",\"Omtrek\",\"Radius\",\"Bölge\",\"半径\",\"효과 범위\",\"Радиус\",\"المدى\",\"Raio\",\"范围\",\"範圍\",\"شعاع\",\"Radius\",\"Radius\"\n\"TID_SPELL_ATTRIBUTE_WIDTH\",\"Width\",\"Largeur\",\"Breite\",\"Ancho\",\"Ampiezza\",\"Breedte\",\"Bredde\",\"Genişlik\",\"幅\",\"너비\",\"Ширина\",\"العرض\",\"Largura\",\"宽度\",\"寬度\",\"عرض\",\"Lebar\",\"Lebar\"\n\"TID_SPELL_ATTRIBUTE_HEIGHT\",\"Height\",\"Hauteur\",\"Höhe\",\"Alto\",\"Altezza\",\"Hoogte\",\"Høyde\",\"Uzunluk\",\"高さ\",\"높이\",\"Высота\",\"الارتفاع\",\"Altura\",\"高度\",\"高度\",\"ارتفاع\",\"Tinggi\",\"Ketinggian\"\n\"TID_SPELL_ATTRIBUTE_DISTANCE\",\"Distance\",\"Distance\",\"Zurückgelegte Strecke\",\"Distancia\",\"Distanza\",\"Afstand\",\"Distanse\",\"Uzaklık\",\"距離\",\"거리\",\"Расстояние\",\"المسافة\",\"Distância\",\"滚动距离\",\"滾動距離\",\"فاصله\",\"Jarak\",\"Jarak\"\n\"TID_SPELL_ATTRIBUTE_DAMAGE_TYPE\",\"Damage Type\",\"Type de dégâts\",\"Schadenstyp\",\"Tipo de daño\",\"Tipo di danno\",\"Schadetype\",\"Skadetype\",\"Hasar Türü\",\"ダメージの種類\",\"피해 유형\",\"Вид урона\",\"نوع الضرر\",\"Tipo de dano\",\"伤害类型\",\"傷害類型\",\"نوع آسیب\",\"Tipe Kerusakan\",\"Jenis Kerosakan\"\n\"TID_SPELL_ATTRIBUTE_RANGE\",\"Range\",\"Portée\",\"Reichweite\",\"Alcance\",\"Portata\",\"Bereik\",\"Rekkevidde\",\"Menzil\",\"射程\",\"사정거리\",\"Дальнобойность\",\"النطاق\",\"Alcance\",\"射程\",\"射程\",\"دامنه\",\"Jangkauan\",\"Julat\"\n\"TID_SPELL_ATTRIBUTE_COUNT\",\"Count\",\"Nombre\",\"Anzahl\",\"Objetivos afectados\",\"Conteggio\",\"Aantal\",\"Antall\",\"Sayı\",\"同時出撃数\",\"유닛수\",\"Счет\",\"العد\",\"Contagem\",\"数量\",\"數量\",\"تعداد\",\"Jumlah\",\"Kiraan\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_TIME\",\"Spawn Speed\",\"Vitesse de génération\",\"Erscheinungstempo\",\"Velocidad de generación\",\"Velocità generazione\",\"Voortbrengsnelheid\",\"Spawnehastighet\",\"Çağırma Hızı\",\"生成速度\",\"생성 속도\",\"Скорость появления\",\"سرعة التوالد\",\"Velocidade de geração\",\"出兵速度\",\"出兵速度\",\"سرعت تکثیر\",\"Waktu Tunggu\",\"Kelajuan Wujud\"\n\"TID_SPELL_ATTRIBUTE_COUNT_VALUE\",\"x <COUNT>\",\"x<COUNT>\",\"x <COUNT>\",\"x<COUNT>\",\"x <COUNT>\",\"<COUNT> x\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"х <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\",\"x <COUNT>\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_CHARACTER_LEVEL\",\"<CHARACTER> level\",\"Niveau <CHARACTER>\",\"<CHARACTER> - Level\",\"Nivel de <CHARACTER>\",\"Livello <CHARACTER>\",\"<CHARACTER> level\",\"<CHARACTER> på nivå\",\"<CHARACTER> seviyesi\",\"<CHARACTER>レベル\",\"<CHARACTER> 레벨\",\"<CHARACTER> уровня\",\"مستوى <CHARACTER>\",\"<CHARACTER> de nível\",\"<CHARACTER>等级\",\"<CHARACTER>等級\",\"سطح <CHARACTER>\",\"Level <CHARACTER>\",\"Tahap <CHARACTER>\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_CHARACTER_COUNT\",\"<CHARACTER> count\",\"Nombre de <CHARACTER>\",\"<CHARACTER> - Anzahl\",\"Número de <CHARACTER>\",\"Conteggio <CHARACTER>\",\"<CHARACTER> aantal\",\"<CHARACTER>-antall\",\"<CHARACTER> sayısı\",\"<CHARACTER>カウント\",\"<CHARACTER> 유닛수\",\"<CHARACTER>: счет\",\"عد <CHARACTER>\",\"Contagem de <CHARACTER>\",\"<CHARACTER>数量\",\"<CHARACTER>數量\",\"تعداد <CHARACTER>\",\"Jumlah <CHARACTER>\",\"Kiraan <CHARACTER>\"\n\"TID_SPELL_ATTRIBUTE_TARGET\",\"Targets\",\"Cibles\",\"Ziele\",\"Objetivos\",\"Bersagli\",\"Doelen\",\"Mål\",\"Hedefler\",\"攻撃目標\",\"공격 대상\",\"Цель\",\"أهداف\",\"Alvos\",\"目标\",\"目標\",\"اهداف\",\"Target\",\"Sasaran\"\n\"TID_SPELL_ATTRIBUTE_LIFETIME\",\"Lifetime\",\"Durée de vie\",\"Lebensdauer\",\"Tiempo de vida\",\"Durata effetti\",\"Leven\",\"Levetid\",\"Ömür\",\"稼働時間\",\"수명\",\"Время жизни\",\"مدى الحياة\",\"Tempo de efeito\",\"持续时间\",\"持續時間\",\"عمر\",\"Masa aktif\",\"Jangka Hayat\"\n\"TID_SPELL_ATTRIBUTE_DPS\",\"Damage per second\",\"Dégâts par seconde\",\"Schaden pro Sekunde\",\"Daño por segundo\",\"Danni al secondo\",\"Schade per seconde\",\"Skade per sekund\",\"Saniye başına hasar\",\"ダメージ（毎秒）\",\"초당 피해량\",\"Урон в секунду\",\"الضرر في الثانية\",\"Dano por segundo\",\"每秒伤害值\",\"每秒傷害值\",\"آسیب در ثانیه\",\"Kerusakan per detik\",\"Kerosakan setiap saat\"\n\"TID_SPELL_ATTRIBUTE_ELIXIR_TIME\",\"Production Speed\",\"Vitesse de production\",\"Produktionsgeschwindigkeit\",\"Velocidad de producción\",\"Velocità produzione\",\"Productiesnelheid\",\"Produksjonshastighet\",\"Üretim Hızı\",\"生産速度\",\"생산 속도\",\"Скорость производства\",\"سرعة الإنتاج\",\"Velocidade de produção\",\"生产速度\",\"生產速度\",\"سرعت تولید\",\"Kecepatan Produksi\",\"Kelajuan Pengeluaran\"\n\"TID_SPELL_ATTRIBUTE_AMMO\",\"Ammo\",\"Munitions\",\"Munition\",\"Munición\",\"Munizioni\",\"Munitie\",\"Ammo\",\"Mühimmat\",\"弾薬\",\"탄약\",\"Боеприпасы\",\"ذخيرة\",\"Munição\",\"弹药\",\"彈藥\",\"مهمات\",\"Amunisi\",\"Amunisi\"\n\"TID_SPELL_ATTRIBUTE_MAX_SPAWN_COUNT\",\"Spawn Limit\",\"Limite de génération\",\"Erscheinungslimit\",\"Límite de generación\",\"Limite generazione\",\"Voortbrenglimiet\",\"Spawnegrense\",\"Çağırma Limiti\",\"生成上限\",\"생성 한도\",\"Лимит появлений\",\"حدود التوالد\",\"Limite de geração\",\"出兵上限\",\"出兵上限\",\"محدودیت تکثیر\",\"Maks. Dihasilkan\",\"Had Wujud\"\n\"TID_SPELL_ATTRIBUTE_MAX_ELIXIR\",\"Production Limit\",\"Limite de production\",\"Produktionslimit\",\"Límite de producción\",\"Limite produzione\",\"Productielimiet\",\"Produksjonsgrense\",\"Üretim Limiti\",\"生産上限\",\"생산 한도\",\"Лимит производства\",\"حدود الإنتاج\",\"Limite de produção\",\"生产上限\",\"生產上限\",\"محدودیت تولید\",\"Batas Produksi\",\"Had Pengeluaran\"\n\"TID_SPELL_ATTRIBUTE_DEPLOY_TIME\",\"Deploy Time\",\"Temps de déploiement\",\"Entsendungsdauer\",\"Tiempo de despliegue\",\"Tempo schieramento\",\"Inzetduur\",\"Utplasseringstid\",\"Mevzilendirme Süresi\",\"配置時間\",\"배치 시간\",\"Время выхода\",\"وقت النشر\",\"Tempo de mobilização\",\"部署时间\",\"部署時間\",\"محدودیت اعزام\",\"Waktu Pengerahan\",\"Masa Kerah\"\n\"TID_SPELL_ATTRIBUTE_DEATH_DAMAGE\",\"Death Damage\",\"Dégâts mortels\",\"Todesschaden\",\"Daño mortal\",\"Danni alla morte\",\"Doodsschade\",\"Dødsskade\",\"Ölüm Hasarı\",\"死亡時ダメージ\",\"데스 피해량\",\"Смертельный урон\",\"ضرر مميت\",\"Dano de morte\",\"死亡附加伤害\",\"死亡附加傷害\",\"آسیب مرگ\",\"Dampak Kematian\",\"Kerosakan Kematian\"\n\"TID_SPELL_ATTRIBUTE_BOOST\",\"Boost\",\"Accélérer\",\"Schub\",\"Acelerar\",\"Potenziamento\",\"Boost\",\"Forsterkning\",\"Destek\",\"ブースト\",\"가속\",\"Ускорение\",\"تسريع\",\"Melhorar\",\"提速\",\"加速效果\",\"تسریع\",\"Pelesat\",\"Galakan\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_AREA_EFFECT\",\"<AREA_EFFECT> Effect\",\"Effet <AREA_EFFECT>\",\"Effekt: <AREA_EFFECT>\",\"Efecto de <AREA_EFFECT>\",\"Effetto <AREA_EFFECT>\",\"Effect: <AREA_EFFECT>\",\"Effekt: <AREA_EFFECT>\",\"<AREA_EFFECT> Etkisi\",\"<AREA_EFFECT>効果\",\"<AREA_EFFECT> 효과\",\"Эффект: <AREA_EFFECT>\",\"تأثير <AREA_EFFECT>\",\"Efeito de <AREA_EFFECT>\",\"<AREA_EFFECT>效果\",\"<AREA_EFFECT>效果\",\"اثر <AREA_EFFECT>\",\"Efek <AREA_EFFECT>\",\"Kesan <AREA_EFFECT>\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_AREA_EFFECT_DURATION\",\"<AREA_EFFECT> Duration\",\"Durée <AREA_EFFECT>\",\"Dauer: <AREA_EFFECT>\",\"Duración de <AREA_EFFECT>\",\"Durata <AREA_EFFECT>\",\"Duur: <AREA_EFFECT>\",\"Varighet: <AREA_EFFECT>\",\"<AREA_EFFECT> Süresi\",\"<AREA_EFFECT>効果時間\",\"<AREA_EFFECT> 지속 시간\",\"<AREA_EFFECT> длится\",\"مدة <AREA_EFFECT>\",\"Duração de <AREA_EFFECT>\",\"<AREA_EFFECT>持续时间\",\"<AREA_EFFECT>持續時間\",\"مدت <AREA_EFFECT>\",\"Durasi <AREA_EFFECT>\",\"Tempoh <AREA_EFFECT>\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_AREA_EFFECT_DPS\",\"<AREA_EFFECT> Damage/sec\",\"<AREA_EFFECT> dégâts/s\",\"<AREA_EFFECT> Schaden/s\",\"<AREA_EFFECT> daño/segundo\",\"<AREA_EFFECT> Danno/sec\",\"<AREA_EFFECT> schade/sec.\",\"<AREA_EFFECT> skade per sek.\",\"<AREA_EFFECT> Hasar/sn\",\"<AREA_EFFECT> ダメージ/秒\",\"<AREA_EFFECT> 초당 피해량\",\"<AREA_EFFECT> урон/сек.\",\"<AREA_EFFECT> ضرر/الثانية\",\"<AREA_EFFECT> dano/seg\",\"<AREA_EFFECT>伤害/每秒\",\"<AREA_EFFECT>傷害/每秒\",\"آسیب/ثانیه <AREA_EFFECT>\",\"Kerusakan/dtk <AREA_EFFECT>\",\"Kerosakan <AREA_EFFECT>/saat\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_AREA_EFFECT_TOWER_DPS\",\"<CHARACTER> Crown Tower Damage/sec\",\"<CHARACTER> dégâts/s sur Tour couronnée\",\"<CHARACTER> Kronenturm-Schaden/Sek.\",\"<CHARACTER> daño/s. a torres de coronas\",\"<CHARACTER> Danno/sec torri della corona\",\"<CHARACTER> schade kroontoren/sec.\",\"Kronetårnskade per sek. for <CHARACTER>\",\"<CHARACTER> Taç Kulesi Hasarı/sn\",\"<CHARACTER> クラウンタワーのダメージ/秒\",\"<CHARACTER> 크라운 타워 초당 피해량\",\"<CHARACTER> урон королевской башне/сек.\",\"<CHARACTER> ضرر برج التاج/الثانية\",\"<CHARACTER> dano à Torre da Coroa/seg\",\"<CHARACTER>皇家塔伤害/每秒\",\"<CHARACTER>皇家塔傷害/每秒\",\"آسیب برج تاج/ثانیه <CHARACTER>\",\"Kerusakan Benteng Mahkota/dtk <CHARACTER>\",\"Kerosakan Mnr Mahkota <CHARACTER>/saat\"\n\"TID_SPELL_ATTRIBUTE_SPAWN_DAMAGE\",\"Spawn Damage\",\"Dégâts de génération\",\"Erscheinungsschaden\",\"Daño por generación\",\"Danno alla generazione\",\"Voortbrengschade\",\"Spawneskade\",\"Çağırma Hasarı\",\"生成ダメージ\",\"생성 피해량\",\"Поражающий урон\",\"ضرر التوالد\",\"Dano de Geração\",\"登场伤害\",\"登場傷害\",\"آسیب تکثیر\",\"Kerusakan saat Dihasilkan\",\"Kerosakan Wujud\"\n\"TID_SPELL_ATTRIBUTE_CLONE_HEALTH\",\"Clone Hitpoints\",\"Points de vie des clones\",\"Klon-Trefferpunkte\",\"Vida del clon\",\"Punti ferita clone\",\"Kloon-levenspunten\",\"Klonetreffpoeng\",\"Klon İsabet Puanı\",\"クローンのヒットポイント\",\"복제 HP\",\"Клонирование здоровья\",\"مستنسخ نقاط الإصابة\",\"Pontos de vida do Clone\",\"克隆军队的生命值\",\"複製軍隊的生命值\",\"نقاط ضربه شبیه‌سازی\",\"Nyawa Klona\",\"Nilai nyawa Klon\"\n\"TID_SPELL_ATTRIBUTE_CLONE_SHIELD_HEALTH\",\"Clone Shield Hitpoints\",\"Points de vie du bouclier de clonage\",\"Klonschild-Trefferpunkte\",\"Vida del escudo del clon\",\"Punti ferita scudo clone\",\"Kloonschild-levenspunten\",\"Kloneskjoldpoeng\",\"Klon Kalkanı İsabet Puanı\",\"クローンシールドのヒットポイント\",\"복제 보호막 HP\",\"Клонирование щита\",\"مستنسخ نقاط إصابة الدرع\",\"Pontos de vida do escudo do Clone\",\"克隆军队的护盾生命值\",\"複製軍隊的護盾生命值\",\"نقاط ضربه شبیه‌سازی سپر\",\"Nyawa Perisai Klona\",\"Nilai nyawa Pelindung Klon\"\n\"TID_SPELL_ATTRIBUTE_CHARGE_DAMAGE\",\"Charge Damage\",\"Dégâts de charge\",\"Ansturmschaden\",\"Daño de carga\",\"Danno in carica\",\"Aanvalsschade\",\"Angrepsskade\",\"Hücum Hasarı\",\"突撃ダメージ\",\"돌격 피해량\",\"Урон при штурме\",\"الضرر بعد الشحن\",\"Dano de carga\",\"冲锋伤害\",\"衝鋒傷害\",\"آسیب حمله\",\"Kerusakan Serbuan\",\"Kerosakan Merempuh\"\n\"TID_SPELL_ATTRIBUTE_DASH_DAMAGE\",\"Dash Damage\",\"Dégâts de charge\",\"Sprintschaden\",\"Daño de embestida\",\"Danno in scatto\",\"Sprintschade\",\"Styrtskade\",\"Hızlı Hasar\",\"ダッシュダメージ\",\"질주 피해량\",\"Урон от броска\",\"ضرر كلي\",\"Dano por colisão\",\"突袭伤害\",\"突襲傷害\",\"آسیب هجوم\",\"Kerusakan Lajur\",\"Kerosakan Pecutan\"\n\"TID_SPELL_ATTRIBUTE_DASH_RANGE\",\"Dash Range\",\"Portée de charge\",\"Sprintreichweite\",\"Alcance de embestida\",\"Portata scatto\",\"Sprintbereik\",\"Spurtavstand\",\"Hızlı Koşma Menzili\",\"ダッシュ距離\",\"질주 거리\",\"Диапазон броска\",\"نطاق الاندفاع\",\"Alcance por colisão\",\"突袭范围\",\"突襲範圍\",\"دامنه هجوم\",\"Jangkauan Lari\",\"Julat Pecutan\"\n\"TID_SPELL_ATTRIBUTE_JUMP_DAMAGE\",\"Jump Damage\",\"Dégâts de saut\",\"Sprungschaden\",\"Daño de salto\",\"Danno da salto\",\"Springschade\",\"Hoppskade\",\"Atlama Hasarı\",\"ジャンプダメージ\",\"점프 피해량\",\"Урон от прыжка\",\"ضرر القفز\",\"Dano em salto\",\"跃击伤害\",\"躍擊傷害\",\"آسیب پرش\",\"Kerusakan Lompatan\",\"Kerosakan Lompatan\"\n\"TID_SPELL_ATTRIBUTE_JUMP_RANGE\",\"Jump Range\",\"Portée de saut\",\"Sprungreichweite\",\"Alcance de salto\",\"Portata del salto\",\"Springbereik\",\"Hopprekkevidde\",\"Atlama Menzili\",\"ジャンプ距離\",\"점프 범위\",\"Дальность прыжка\",\"نطاق القفز\",\"Alcance de salto\",\"跃击范围\",\"躍擊範圍\",\"دامنه پرش\",\"Jangkauan Lompatan\",\"Julat Lompatan\"\n\"TID_TARGETS_BUILDINGS\",\"Buildings\",\"Bâtiments\",\"Gebäude\",\"Estructuras\",\"Edifici\",\"Gebouwen\",\"Bygninger\",\"Binalar\",\"建物\",\"건물\",\"Здания\",\"مبانٍ\",\"Construções\",\"建筑\",\"建築\",\"ساختمون‌ها\",\"Bangunan\",\"Bangunan\"\n\"TID_TARGETS_AIR_AND_GROUND\",\"Air & Ground\",\"Air et sol\",\"Luft und Boden\",\"De tierra y aire\",\"Aria e terra\",\"Lucht en grond\",\"Luft og bakke\",\"Hava ve Kara\",\"空中／地上\",\"지상 및 공중\",\"Земля и воздух\",\"جوي وأرضي\",\"Aéreo/terrestre\",\"空中和地面目标\",\"空中和地面目標\",\"هوا و زمین\",\"Udara & Darat\",\"Udara & Darat\"\n\"TID_TARGETS_AIR\",\"Air\",\"Air\",\"Luft\",\"Aéreos\",\"Aria\",\"Lucht\",\"Luft\",\"Hava\",\"空中\",\"공중\",\"Воздух\",\"جوي\",\"Aéreo\",\"空中目标\",\"空中目標\",\"هوا\",\"Udara\",\"Udara\"\n\"TID_TARGETS_GROUND\",\"Ground\",\"Sol\",\"Boden\",\"Terrestres\",\"Terra\",\"Grond\",\"Bakke\",\"Kara\",\"地上\",\"지상\",\"Земля\",\"أرضي\",\"Terrestre\",\"地面目标\",\"地面目標\",\"زمین\",\"Darat\",\"Darat\"\n\"TID_TARGETS_TROOPS\",\"Troops\",\"Troupes\",\"Einheiten\",\"Tropas\",\"Truppe\",\"Troepen\",\"Tropper\",\"Birlikler\",\"ユニット\",\"유닛\",\"Войска\",\"القوات\",\"Tropas\",\"军队\",\"軍隊\",\"نیروها\",\"Peleton\",\"Askar\"\n\"TID_MANA_BAR_FULL_NOTIFICATION\",\"Elixir bar is full!\",\"La barre d'élixir est pleine !\",\"Elixierleiste ist voll!\",\"¡Barra de elixir llena!\",\"Barra elisir piena!\",\"Elixirbalk is gevuld!\",\"Eliksirmåleren er full!\",\"İksir çubuğu dolu!\",\"エリクサーが満タンです！\",\"엘릭서 바가 가득 찼습니다!\",\"Хранилище эликсира заполнено!\",\"شريط الإكسير ممتلئ!\",\"A barra de elixir está cheia!\",\"圣水已满！\",\"聖水已滿！\",\"خط اکسیر پر هست!\",\"Bilah Eliksir penuh!\",\"Bar Eliksir penuh!\"\n\"TID_CARDS\",\"Cards\",\"Cartes\",\"Karten\",\"Cartas\",\"Carte\",\"Kaarten\",\"Kort\",\"Kartlar\",\"カード\",\"카드\",\"Карты\",\"بطاقات\",\"Cartas\",\"卡牌\",\"卡牌\",\"کارت‌ها\",\"Kartu\",\"Kad\"\n\"TID_GUILD\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Klan\",\"Klan\",\"クラン\",\"클랜\",\"Клан\",\"قبيلة\",\"Clã\",\"部落\",\"部落\",\"قبیله\",\"Klan\",\"Klan\"\n\"TID_DIAMOND_BUTTON_FREE\",\"Free\",\"Gratuit\",\"Gratis\",\"Gratis\",\"Gratis\",\"Gratis\",\"Gratis\",\"Ücretsiz\",\"無料\",\"무료\",\"Бесплатно\",\"مجانًا\",\"Grátis\",\"免费\",\"免費\",\"رایگان\",\"Gratis\",\"Percuma\"\n\"TID_FIGHT\",\"FIGHT!\",\"À L'ATTAQUE !\",\"KÄMPFT!\",\"¡A LUCHAR!\",\"COMBATTI!\",\"VECHTEN!\",\"FIGHT!\",\"SAVAŞ!\",\"バトル開始！\",\"전투 시작!\",\"В БОЙ!\",\"قاتل!\",\"LUTE!\",\"开战！\",\"開戰！\",\"بجنگ!\",\"SERANG!\",\"LAWAN!\"\n\"TID_BUTTON_UPGRADE\",\"Upgrade\",\"Améliorer\",\"Verbessern\",\"Mejorar\",\"Migliora\",\"Upgraden\",\"Oppgrader\",\"Yükselt\",\"アップグレード\",\"업그레이드\",\"Улучшить\",\"ترقية\",\"Melhorar\",\"升级\",\"升級\",\"ارتقاء\",\"Tingkatkan\",\"Naik Taraf\"\n\"TID_SPELL_MAX_LEVEL\",\"Max Level\",\"Niveau maximum\",\"Max. Level\",\"Nvl. máx.\",\"Liv. massimo\",\"Max. level\",\"Maks nivå\",\"Maksimum\",\"最大レベル\",\"최고 레벨\",\"Макс. уровень\",\"أقصى مستوى\",\"Nível máximo\",\"最高等级\",\"最高等級\",\"سطح حداکثر\",\"Level Maks.\",\"Tahap Maks\"\n\"TID_SPELL_ATTRIBUTE_MAX_TARGETS\",\"Max Targets\",\"Cibles maximum\",\"Max. Ziele\",\"Máx. de objetivos\",\"Bersagli massimi\",\"Max. doelen\",\"Maksimalt antall mål\",\"Maks. Hedef\",\"最大目標数\",\"최대 공격 대상\",\"Макс. целей\",\"أقصى أهداف\",\"Máximo de alvos\",\"最大攻击数量\",\"最大攻擊數量\",\"اهداف حداکثر\",\"Target Maks.\",\"Sasaran Maks\"\n\"TID_ALLIANCE_JOINED\",\"You joined a Clan\",\"Vous avez rejoint un clan.\",\"Du bist einem Clan beigetreten\",\"Te has unido a un clan.\",\"Ti sei unito a un clan\",\"Je hebt je aangesloten bij een clan.\",\"Du har blitt med i en klan\",\"Bir Klana katıldın\",\"クランに参加しました\",\"클랜에 가입했습니다.\",\"Теперь ты в клане\",\"انضممت إلى قبيلة\",\"Você entrou para um clã.\",\"您已加入部落\",\"您已加入部落\",\"به یک قبیله ملحق شدی\",\"Kamu berhasil masuk Klan\",\"Anda telah menyertai Klan\"\n\"TID_NOT_ENOUGH_RESOURCES\",\"You don't have enough gold!\",\"Vous n'avez pas assez d'or !\",\"Du hast nicht genug Gold!\",\"¡Necesitas más oro!\",\"Non hai abbastanza oro!\",\"Je hebt niet genoeg goud!\",\"Du har ikke nok gull!\",\"Yeterli altının yok!\",\"ゴールドが足りません\",\"골드가 부족합니다!\",\"Нужно больше золота!\",\"ليس لديك ذهب كاف!\",\"Seu estoque de ouro é insuficiente!\",\"您的金币不足！\",\"您的金幣不足！\",\"طلای کافی نداری!\",\"Emasmu tidak cukup!\",\"Anda tidak mempunyai emas yang mencukupi!\"\n\"TID_BUTTON_CLAIM\",\"Open now\",\"Ouvrir maintenant\",\"Jetzt öffnen\",\"Abrir ya\",\"Apri subito\",\"Nu openen\",\"Åpne nå\",\"Hemen aç\",\"いますぐ開く\",\"지금 열기\",\"Открыть сейчас\",\"فتح الآن\",\"Abrir agora\",\"立刻打开\",\"立刻打開\",\"الان باز کن\",\"Buka sekarang\",\"Buka sekarang\"\n\"TID_LEVELUP\",\"LEVEL UP\",\"NIVEAU SUPÉRIEUR\",\"LEVELAUFSTIEG\",\"¡NUEVO NIVEL!\",\"NUOVO LIVELLO\",\"LEVEL OMHOOG\",\"NIVÅ OPP!\",\"SEVİYE ATLANDI\",\"レベルアップ\",\"레벨 업\",\"НОВЫЙ УРОВЕНЬ\",\"رفع المستوى\",\"SUBIU DE NÍVEL\",\"升级成功\",\"升級成功\",\"سطح بالا\",\"NAIK LEVEL\",\"NAIK TAHAP\"\n\"TID_LEVEL_UP_CONFIRM_BUTTON\",\"Close\",\"Fermer\",\"Schließen\",\"Cerrar\",\"Chiudi\",\"Sluiten\",\"Lukk\",\"Kapat\",\"閉じる\",\"닫기\",\"Закрыть\",\"إغلاق\",\"Fechar\",\"关闭\",\"關閉\",\"بستن\",\"Tutup\",\"Tutup\"\n\"TID_STREAM_SENDER_YOU\",\"You\",\"Vous\",\"Du\",\"Tú\",\"Tu\",\"Jij\",\"Du\",\"Sen\",\"あなた\",\"나\",\"Ты\",\"أنت\",\"Você\",\"您\",\"您\",\"شما\",\"Kamu\",\"Anda\"\n\"TID_MAP_LOCATION_NEW\",\"New!\",\"Nouveau !\",\"Neu!\",\"¡Nuevo!\",\"Nuovo!\",\"Nieuw!\",\"Nytt!\",\"Yeni!\",\"New!\",\"신규!\",\"Новое!\",\"جديد!\",\"Novo!\",\"新！\",\"新！\",\"جدید!\",\"Baru!\",\"Baharu!\"\n\"TID_ERROR_POP_UP_OUT_OF_SYNC_TITLE\",\"Error!\",\"Erreur !\",\"Fehler!\",\"Error\",\"Errore!\",\"Fout!\",\"Feil!\",\"Hata!\",\"エラー発生！\",\"오류!\",\"Ошибка!\",\"خطأ!\",\"Erro!\",\"错误！\",\"錯誤！\",\"خطا!\",\"Kesalahan!\",\"Ralat!\"\n\"TID_ERROR_POP_UP_OUT_OF_SYNC\",\"Client and server are out of sync!\",\"Le client et le serveur ne sont pas synchronisés !\",\"Client und Server sind nicht synchron!\",\"El cliente y el servidor no están sincronizados.\",\"Il client e il server non sono sincronizzati!\",\"Client en server zijn niet synchroon!\",\"Klienten og serveren er ikke synkronisert.\",\"İstemci ve sunucu uyumlu değil!\",\"クライアントとサーバーの同期がとれていません！\",\"클라이언트와 서버가 동기화되지 않았습니다!\",\"Клиент и сервер не синхронизированы!\",\"لا يوجد تزامن بين العميل والخادم!\",\"O cliente e o servidor não estão sincronizados!\",\"客户端与服务器不同步！\",\"用戶端與伺服器不同步！\",\"مشتری و سرور با هم همگام نیستن!\",\"Klien dan server tidak sinkron!\",\"Klien dan pelayan di luar penyegerakan!\"\n\"TID_ERROR_POP_UP_OUT_OF_SYNC_BUTTON\",\"Reload game\",\"Recharger le jeu\",\"Spiel neu laden\",\"Recargar\",\"Ricarica gioco\",\"Spel opnieuw laden\",\"Last inn spillet på nytt\",\"Oyunu tekrar yükle\",\"ゲームをリロード\",\"다시 불러오기\",\"Перезапустить игру\",\"إعادة تحميل اللعبة\",\"Recarregar o jogo\",\"重新载入游戏\",\"重新載入遊戲\",\"بارگیری بازی\",\"Muat ulang game\",\"Muat semula permainan\"\n\"TID_ERROR_POP_UP_CONNECTION_FAILED_TITLE\",\"Connection error\",\"Erreur de connexion\",\"Verbindungsfehler\",\"Error de conexión\",\"Errore di connessione\",\"Verbindingsfout\",\"Tilkoblingsfeil\",\"Bağlantı hatası\",\"接続エラー\",\"연결 오류\",\"Ошибка подключения\",\"خطأ في الاتصال\",\"Erro de conexão\",\"连接错误\",\"連線錯誤\",\"خطای اتصال\",\"Kesalahan sambungan\",\"Ralat sambungan\"\n\"TID_ERROR_POP_UP_CONNECTION_FAILED\",\"Unable to connect with the server. Check your internet connection and try again.\",\"Connexion au serveur impossible. Veuillez vérifier votre connexion Internet et réessayer.\",\"Verbindung zum Server nicht möglich. Überprüfe deine Internetverbindung und versuche es erneut.\",\"No se ha podido conectar con el servidor. Comprueba tu conexión a Internet y vuelve a intentarlo.\",\"Impossibile connettersi al server. Verifica la connessione a Internet e riprova.\",\"Geen verbinding met de server. Controleer je internetverbinding en probeer het opnieuw.\",\"Får ikke kontakt med serveren. Sjekk Internett-forbindelsen og prøv igjen.\",\"Sunucuya bağlanılamıyor. İnternet bağlantını kontrol et ve tekrar dene.\",\"サーバーに接続できません。インターネット接続を確認して、再度お試しください。\",\"서버에 연결할 수 없습니다. 인터넷 연결 상태를 확인하고 다시 시도해주세요.\",\"Невозможно подключиться к серверу. Проверь подключение к интернету и попробуй снова.\",\"لا يمكنك الاتصال بالخادم. تحقق من اتصالك بالإنترنت ثم حاول مرة أخرى.\",\"Não foi possível fazer a conexão com o servidor. Verifique sua conexão com a internet e tente novamente.\",\"无法连接服务器。请检查您的网络连接后再次尝试。\",\"無法連線伺服器。請檢查您的網路連線後再次嘗試。\",\"امکان اتصال به سرور نیست. اتصال اینترنت رو بررسی و دوباره امتحان کن.\",\"Tidak dapat tersambung ke server. Periksa sambungan internet, lalu coba lagi.\",\"Tidak dapat menyambung ke pelayan. Periksa sambungan internet dan cuba lagi.\"\n\"TID_ERROR_POP_UP_CONNECTION_FAILED_BUTTON\",\"Try again\",\"Réessayer\",\"Erneut versuchen\",\"Reintentar\",\"Riprova\",\"Probeer het opnieuw\",\"Prøv igjen\",\"Tekrar dene\",\"もう一度試す\",\"다시 시도\",\"Попробуй снова\",\"حاول ثانيةً\",\"Tentar novamente\",\"重试\",\"重試\",\"دوباره امتحان کن\",\"Coba lagi\",\"Cuba lagi\"\n\"TID_ERROR_POP_UP_LOGIN_FAILED_TITLE\",\"Login failed\",\"Échec de la connexion\",\"Anmeldung fehlgeschlagen\",\"Fallo al conectar\",\"Accesso non riuscito\",\"Aanmelden mislukt\",\"Pålogging mislyktes\",\"Oturum açılamadı\",\"ログイン失敗\",\"로그인 실패\",\"Не удалось войти\",\"فشل تسجيل الدخول\",\"Falha no login\",\"登录失败\",\"登入失敗\",\"ورود به سیستم انجام نشد\",\"Gagal masuk\",\"Log masuk gagal\"\n\"TID_ERROR_POP_UP_LOGIN_FAILED\",\"Please try again later.\",\"Veuillez réessayer plus tard.\",\"Bitte versuche es später erneut.\",\"Inténtalo de nuevo más tarde.\",\"Riprova più tardi.\",\"Probeer het later opnieuw.\",\"Prøv igjen senere.\",\"Lütfen daha sonra tekrar dene.\",\"また後ほどお試しください。\",\"잠시 후 다시 시도해주세요.\",\"Пожалуйста, попробуй позже.\",\"يُرجى المحاولة ثانيةً لاحقًا.\",\"Tente novamente mais tarde.\",\"请稍后再次尝试。\",\"請稍後再次嘗試。\",\"لطفاً بعداً دوباره امتحان کن.\",\"Coba lagi nanti.\",\"Sila cuba lagi kemudian.\"\n\"TID_ERROR_POP_UP_LOGIN_FAILED_BUTTON\",\"Try again\",\"Réessayer\",\"Erneut versuchen\",\"Reintentar\",\"Riprova\",\"Probeer het opnieuw\",\"Prøv igjen\",\"Tekrar dene\",\"もう一度試す\",\"다시 시도\",\"Попробуй снова\",\"حاول ثانيةً\",\"Tentar novamente\",\"重试\",\"重試\",\"دوباره امتحان کن\",\"Coba lagi\",\"Cuba lagi\"\n\"TID_ERROR_POP_UP_AUTO_DISCONNECTED_TITLE\",\"Anyone there?\",\"Il y a quelqu'un ?\",\"Jemand da?\",\"¿Estás ahí?\",\"C'è nessuno?\",\"Is daar iemand?\",\"Er det noen der?\",\"Kimse var mı?\",\"もしもーし？\",\"거기 계세요?\",\"Есть здесь кто-нибудь?\",\"هل يوجد أحد هنا؟\",\"Tem alguém aí?\",\"有人吗？\",\"有人嗎？\",\"کسی اونجا هست؟\",\"Ada orang di sana?\",\"Ada sesiapa di situ?\"\n\"TID_ERROR_POP_UP_AUTO_DISCONNECTED\",\"Click the button below to reload the game.\",\"Cliquez sur le bouton ci-dessous pour recharger le jeu.\",\"Drücke die Schaltfläche unten, um das Spiel neu zu laden.\",\"Pulsa el botón de abajo para volver a cargar el juego.\",\"Seleziona il pulsante in basso per ricaricare il gioco.\",\"Tik op de knop hieronder om het spel opnieuw te laden.\",\"Trykk på knappen under for å laste inn spillet på nytt.\",\"Oyunu tekrar yüklemek için aşağıdaki düğmeye tıkla.\",\"下のボタンでゲームをリロードしてください。\",\"아래의 버튼을 눌러 게임을 다시 불러옵니다.\",\"Коснись кнопки, чтобы перезапустить игру.\",\"انقر على الزر في الأسفل لإعادة تحميل اللعبة.\",\"Clique no botão abaixo para recarregar o jogo.\",\"点击下方按钮重新载入游戏。\",\"點擊下方按鈕重新載入遊戲。\",\"برای بارگیری بازی روی دکمه زیر کلیک کن.\",\"Klik tombol di bawah untuk memuat ulang game.\",\"Klik butang di bawah untuk memuat semula permainan.\"\n\"TID_ERROR_POP_UP_AUTO_DISCONNECTED_BUTTON\",\"Reload game\",\"Recharger le jeu\",\"Spiel neu laden\",\"Recargar\",\"Ricarica gioco\",\"Spel opnieuw laden\",\"Last inn spillet på nytt\",\"Oyunu tekrar yükle\",\"ゲームをリロード\",\"다시 불러오기\",\"Перезапустить игру\",\"إعادة تحميل اللعبة\",\"Recarregar o jogo\",\"重新载入游戏\",\"重新載入遊戲\",\"بارگیری بازی\",\"Muat ulang game\",\"Muat semula permainan\"\n\"TID_ERROR_POP_UP_WRONG_CLIENT_VERSION_TITLE\",\"Update is available!\",\"Une mise à jour est disponible !\",\"Aktualisierung verfügbar!\",\"¡Actualización disponible!\",\"È disponibile un aggiornamento!\",\"Er is een update beschikbaar!\",\"Oppdatering tilgjengelig!\",\"Güncelleme var!\",\"ゲームのアップデートを\\nダウンロードできます！\",\"업데이트가 있습니다!\",\"Доступно обновление!\",\"يتوفر تحديث!\",\"Atualização disponível!\",\"可以更新啦！\",\"可以更新啦！\",\"به‌روزرسانی در دسترس هست!\",\"Pembaruan sudah ada!\",\"Kemas kini tersedia!\"\n\"TID_ERROR_POP_UP_WRONG_CLIENT_VERSION\",\"Good news! A new version of the game is available.\",\"Bonne nouvelle ! Une nouvelle version du jeu est disponible.\",\"Gute Nachrichten! Eine neue Version des Spiels ist verfügbar.\",\"¡Buenas noticias! Hay disponible una nueva versión del juego.\",\"Buone notizie! È disponibile una nuova versione del gioco.\",\"Goed nieuws! Er is een nieuwe versie van het spel beschikbaar.\",\"Gode nyheter! En ny versjon av spillet er tilgjengelig.\",\"İyi haber! Oyunun yeni bir sürümü var.\",\"ゲームの新しいバージョンを\\nダウンロードできます！\",\"좋은 소식! 게임의 새 버전이 등록되었습니다.\",\"Хорошие новости! Доступна новая версия игры!\",\"أخبار جيدة! يتوفر إصدار جديد من اللعبة.\",\"Boas notícias! Uma nova versão do jogo está disponível.\",\"好消息！现在可以免费下载新版本了。\",\"好消息！現在可以免費下載新版本了。\",\"یک خبر خوب! یک نسخه جدید از بازی در دسترس هست!\",\"Kabar baik! Versi game baru kini tersedia.\",\"Berita baik! Versi baharu permainan tersedia.\"\n\"TID_ERROR_POP_UP_WRONG_CLIENT_VERSION_BUTTON\",\"Update\",\"Mettre à jour\",\"Aktualisierung\",\"Actualizar\",\"Aggiorna\",\"Updaten\",\"Oppdater\",\"Güncelle\",\"アップデート\",\"업데이트\",\"Обновление\",\"تحديث\",\"Atualizar\",\"更新\",\"更新\",\"به‌روزرسانی\",\"Perbarui\",\"Kemas kini\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_TITLE\",\"Maintenance break\",\"Maintenance\",\"Wartungspause\",\"Servidores en mantenimiento\",\"Manutenzione in corso\",\"Onderbreking wegens onderhoud\",\"Vedlikeholdspause\",\"Bakım arası\",\"メンテナンス中\",\"서버 점검\",\"Технический перерыв\",\"فاصل للصيانة\",\"Período de manutenção\",\"系统维护中\",\"系統維護中\",\"وقفه تعمیر و نگهداری\",\"Istirahat pemeliharaan\",\"Rehat penyelenggaraan\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE\",\"Sorry, the servers are under maintenance. Please try again later.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer plus tard.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es später erneut.\",\"Los servidores están en mantenimiento. Inténtalo de nuevo más tarde.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova più tardi.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het later opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen senere.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen daha sonra tekrar dene.\",\"申し訳ございませんが、ゲームのサーバーはメンテナンス中です。また後ほどお試しください。\",\"죄송합니다. 서버 점검 중입니다. 잠시 후 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуй позже.\",\"عذرًا، فالخوادم قيد الصيانة. من فضلك حاول ثانيةً لاحقًا.\",\"Os servidores estão em manutenção. Tente novamente mais tarde.\",\"抱歉，服务器正在维护。\\n请殿下先休息一会儿，稍后重试。\",\"抱歉，伺服器正在維護中。請稍後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً بعداً دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba lagi nanti.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi kemudian.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_BUTTON\",\"Try again\",\"Réessayer\",\"Erneut versuchen\",\"Reintentar\",\"Riprova\",\"Probeer het opnieuw\",\"Prøv igjen\",\"Tekrar dene\",\"もう一度試す\",\"다시 시도\",\"Попробуй снова\",\"حاول ثانيةً\",\"Tentar novamente\",\"重试\",\"重試\",\"دوباره امتحان کن\",\"Coba lagi\",\"Cuba lagi\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_SOON\",\"Sorry, the servers are under maintenance. Please try again in a few minutes.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans quelques minutes.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in einigen Minuten erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de unos minutos.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra qualche minuto.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over een paar minuten opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om noen minutter.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen birkaç dakika içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。数分後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 몇 분 후 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через несколько минут.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال بضع دقائق.\",\"Os servidores estão em manutenção. Tente novamente dentro de alguns minutos.\",\"抱歉，服务器正在维护。请在几分钟后重试。\",\"抱歉，伺服器正在維護。請在幾分鐘後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً چند دقیقه دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba beberapa menit lagi.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa beberapa minit.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_MINUTES\",\"Sorry, the servers are under maintenance. Please try again in about <value> minutes.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans <value> minutes.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in etwa <value> Minuten erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de <value> minutos.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra circa <value> minuti.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over ongeveer <value> minuten opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om ca. <value> minutter.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen <value> dakika içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。<value>分後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 약 <value>분 후에 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через <value> мин.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال <value> من الدقائق.\",\"Os servidores estão em manutenção. Tente novamente em aproximadamente <value> minutos.\",\"抱歉，服务器正在维护。请在约<value>分钟后重试。\",\"抱歉，伺服器正在維護。請在約<value>分鐘後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً <value> دقیقه دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba sekitar <value> menit lagi.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa kira-kira <value> minit.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_HOUR\",\"Sorry, the servers are under maintenance. Please try again in about an hour.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans une heure environ.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in etwa einer Stunde erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de una hora.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra circa un'ora.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over ongeveer een uur opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om ca. en time.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen bir saat içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。1時間ほど後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 약 1시간 후에 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через час.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال ساعة.\",\"Os servidores estão em manutenção. Tente novamente dentro de uma hora.\",\"抱歉，服务器正在维护。请在约1小时后重试。\",\"抱歉，伺服器正在維護。請在約1小時後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً حدود یک ساعت دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba sekitar satu jam lagi.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa kira-kira satu jam.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_HOUR_AND_HALF\",\"Sorry, the servers are under maintenance. Please try again in about an hour and a half.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans une heure et demi environ.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in etwa anderthalb Stunden erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de una hora y media.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra circa un'ora e mezza.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over ongeveer anderhalf uur opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om ca. halvannen time.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen bir buçuk saat içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。1時間半ほど後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 약 1시간 30분 후에 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через полтора часа.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال ساعة ونصف.\",\"Os servidores estão em manutenção. Tente novamente dentro de uma hora e meia.\",\"抱歉，服务器正在维护。请在约1.5小时后重试。\",\"抱歉，伺服器正在維護。請在約1.5小時後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً حدود یک ساعت و نیم دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba sekitar satu setengah jam lagi.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa kira-kira satu setengah jam.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_TWO_HOURS\",\"Sorry, the servers are under maintenance. Please try again in a couple hours.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans deux heures.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in ein paar Stunden erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de un par de horas.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra un paio d'ore.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over een paar uur opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om et par timer.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen bir iki saat içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。1～2時間後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 몇 시간 후 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через пару часов.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال ساعتين.\",\"Os servidores estão em manutenção. Tente novamente dentro de duas horas.\",\"抱歉，服务器正在维护。请在几小时后重试。\",\"抱歉，伺服器正在維護。請在幾小時後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً دو ساعت دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba lagi dalam beberapa jam.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa beberapa jam.\"\n\"TID_ERROR_POP_UP_SERVER_MAINTENANCE_ESTIMATED_LONG\",\"Sorry, the servers are under maintenance. Please try again in a few hours.\",\"Nos serveurs sont en cours de maintenance. Veuillez réessayer dans quelques heures.\",\"Tut uns leid, die Server werden gewartet. Bitte versuche es in einigen Stunden erneut.\",\"Los servidores se encuentran en mantenimiento. Inténtalo de nuevo dentro de unas horas.\",\"Siamo spiacenti, i server sono in manutenzione. Riprova tra qualche ora.\",\"Sorry, er wordt momenteel gewerkt aan de servers. Probeer het over een aantal uren opnieuw.\",\"Beklager, serverne vedlikeholdes. Prøv igjen om noen timer.\",\"Üzgünüz, şu anda sunuculara bakım yapılıyor. Lütfen birkaç saat içinde tekrar dene.\",\"申し訳ございません。現在ゲームのサーバーはメンテナンス中です。数時間後に再度お試しください。\",\"죄송합니다. 서버 점검 중입니다. 몇 시간 후 다시 시도해주세요.\",\"Приносим свои извинения, но на сервере ведутся технические работы. Пожалуйста, попробуйте через несколько часов.\",\"المعذرة، الخوادم تحت الصيانة. من فضلك حاول ثانيةً خلال بضع ساعات.\",\"Os servidores estão em manutenção. Tente novamente dentro de algumas horas.\",\"抱歉，服务器正在维护。请在几小时后重试。\",\"抱歉，伺服器正在維護。請在幾小時後重試。\",\"متأسفیم، سرورها تحت تعمیر قرار دارن. لطفاً چند ساعت دیگر دوباره امتحان کن.\",\"Maaf, server sedang dalam pemeliharaan. Coba beberapa jam lagi.\",\"Maaf, pelayan sedang diselenggara. Sila cuba lagi dalam masa beberapa jam.\"\n\"TID_ERROR_POP_UP_BANNED_TITLE\",\"You have been banned!\",\"Vous avez été banni(e) !\",\"Du wurdest verbannt!\",\"Jugador vetado\",\"Sei stato escluso!\",\"Je bent verbannen!\",\"Du er blitt utestengt!\",\"Engellendin!\",\"アカウント停止\",\"계정 차단됨!\",\"Тебя заблокировали!\",\"تم حظرك!\",\"Você foi banido!\",\"您的账号已被封禁！\",\"您的帳號已被封禁！\",\"محروم شدی!\",\"Kamu telah diblokir!\",\"Anda telah disekat!\"\n\"TID_ERROR_POP_UP_BANNED\",\"You have been temporarily banned from the game\",\"Vous avez été temporairement banni(e) du jeu.\",\"Du wurdest vorübergehend aus dem Spiel verbannt.\",\"Se te ha vetado temporalmente en el juego.\",\"Sei stato temporaneamente escluso dal gioco\",\"Je bent tijdelijk verbannen van het spel\",\"Du er blitt midlertidig utestengt fra spillet\",\"Geçici bir süre için oyunda engellendin\",\"あなたのアカウントは一時的に停止されました\",\"계정이 일시적으로 차단되었습니다.\",\"Тебя временно заблокировали\",\"تم حظرك مؤقتًا من اللعبة\",\"Você foi banido temporariamente do jogo.\",\"您的账号已被临时封禁！\",\"您的帳號已被臨時封禁！\",\"به صورت موقت از این بازی محروم شدی\",\"Kamu telah diblokir untuk sementara dari game\",\"Anda telah disekat daripada permainan buat sementara waktu\"\n\"TID_ERROR_POP_UP_BANNED_BUTTON\",\"Okay\",\"OK\",\"Okay\",\"Vale\",\"OK\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"Да\",\"موافق\",\"Ok\",\"确定\",\"確定\",\"باشه\",\"Oke\",\"Okey\"\n\"TID_ERROR_POP_UP_BANNED_BUTTON_HELPSHIFT\",\"More Info\",\"Plus d'infos\",\"Mehr Infos\",\"Más información\",\"Altre info\",\"Meer info\",\"Mer info\",\"Daha Fazla Bilgi\",\"さらに詳しく\",\"자세한 정보\",\"Подробнее\",\"المزيد من المعلومات\",\"Mais informações\",\"更多信息\",\"更多資訊\",\"اطلاعات بیشتر\",\"Info Selengkapnya\",\"Maklumat Lanjut\"\n\"TID_ERROR_POP_UP_BANNED_CONTACT_US_TITLE\",\"You have been banned!\",\"Vous avez été banni(e) !\",\"Du wurdest verbannt!\",\"Jugador vetado\",\"Sei stato escluso!\",\"Je bent verbannen!\",\"Du er blitt utestengt!\",\"Engellendin!\",\"アカウントが停止されました！\",\"계정 차단됨!\",\"Тебя заблокировали!\",\"تم حظرك!\",\"Você foi banido!\",\"您的账号已被封禁！\",\"您的帳號已被封禁！\",\"محروم شدی!\",\"Kamu telah diblokir!\",\"Anda telah disekat!\"\n\"TID_ERROR_POP_UP_BANNED_CONTACT_US_BUTTON\",\"Contact Support\",\"Contacter l'assistance\",\"Support kontaktieren\",\"Pedir asistencia\",\"Contatta l'assistenza\",\"Neem contact op met ondersteuning\",\"Kontakt brukerstøtte\",\"Destek ile İletişime Geç\",\"サポートに連絡\",\"고객 지원 팀에 문의\",\"Связь с поддержкой\",\"الاتصال بالدعم\",\"Entre em contato com o suporte\",\"联系玩家支持\",\"聯絡玩家支援\",\"پشتیبانی تماس\",\"Hubungi Dukungan\",\"Hubungi Sokongan\"\n\"TID_ERROR_POP_UP_BANNED_CONTACT_US\",\"You have been temporarily banned from the game\",\"Vous avez été temporairement banni(e) du jeu.\",\"Du wurdest vorübergehend aus dem Spiel verbannt.\",\"Se te ha vetado temporalmente en el juego.\",\"Sei stato temporaneamente escluso dal gioco\",\"Je bent tijdelijk verbannen uit het spel\",\"Du er blitt midlertidig utestengt fra spillet\",\"Geçici bir süre için oyunda engellendin\",\"あなたのアカウントは一時的に停止されました。\",\"계정이 일시적으로 차단되었습니다.\",\"Тебя временно заблокировали в игре\",\"تم حظرك مؤقتًا من اللعبة\",\"Você foi banido temporariamente do jogo.\",\"您的账号已被临时封禁！\",\"您的帳號已被臨時封禁！\",\"به صورت موقت از این بازی محروم شدی\",\"Kamu telah diblokir untuk sementara dari game\",\"Anda telah disekat daripada permainan buat sementara waktu\"\n\"TID_INFO_POP_UP_IAP_NOTE_TITLE\",\"Important - Please read!\",\"Important, veuillez lire attentivement !\",\"Wichtig - bitte lesen!\",\"Aviso importante\",\"Importante! Leggi con attenzione.\",\"Belangrijk - Lees dit alsjeblieft!\",\"Viktig - må leses!\",\"Önemli! Lütfen oku!\",\"初めにお読みください\",\"중요! 반드시 읽어주세요.\",\"Пожалуйста, прочти. Это очень важно!\",\"مهم - يُقرأ بعناية!\",\"Importante: Por favor, leia!\",\"重要信息，请仔细阅读！\",\"重要資訊，請仔細閱讀！\",\"مهم - لطفاً مطالعه کن!\",\"Penting - Harap dibaca!\",\"Penting - Sila baca!\"\n\"TID_INFO_POP_UP_IAP_NOTE\",\"Clash Royale is free to play, but you can speed up progress with in-app purchases (you can disable this in your device settings). Tap Okay to accept our Terms and Privacy Policy.\",\"Clash Royale est un jeu gratuit, mais vous pouvez accélérer votre progression à l'aide des achats intégrés (que vous pouvez désactiver depuis les paramètres de votre appareil). Touchez OK pour accepter nos Conditions d'utilisation et notre Politique de confidentialité.\",\"Clash Royale ist kostenlos spielbar, aber durch In-App-Käufe kann dein Fortschritt beschleunigt werden. (Diese kannst du in den Einstellungen deines Geräts deaktivieren.) Tippe auf \\qOkay\\q, um unsere Nutzungsbedingungen und unsere Datenschutzrichtlinie zu akzeptieren.\",\"Clash Royale es gratuito, pero puedes acelerar tu progreso con compras integradas (puedes desactivarlas en los ajustes del dispositivo). Toca Vale para aceptar las Condiciones del servicio y la Política de privacidad.\",\"Clash Royale è un gioco gratuito, in cui è possibile velocizzare i progressi con acquisti In-App (puoi disabilitare questa funzionalità nelle impostazioni del tuo dispositivo). Tocca OK per accettare i Termini di servizio e l´Informativa sulla privacy.\",\"Clash Royale kan gratis worden gespeeld, maar je kunt je voortgang versnellen met in-app aankopen. Je kunt deze optie uitschakelen via de instellingen van je apparaat. Tik op OK om akkoord te gaan met onze Algemene voorwaarden en ons Privacybeleid.\",\"Det er gratis å spille Clash Royale, men du kan få raskere fremgang ved å foreta kjøp i appen (du kan deaktivere dette i enhetens innstillinger). Trykk på OK for å godta vilkårene og retningslinjene for personvern.\",\"Clash Royale'ı oynamak ücretsizdir ancak uygulama içi satın alımlarla ilerlemeni hızlandırabilirsin (bu özelliği cihaz ayarlarından devre dışı bırakabilirsin). Hizmet Koşullarımızı ve Gizlilik Politikamızı kabul etmek için Tamam'a dokun.\",\"クラッシュ・ロワイヤルは無料でプレイできますが、アプリ内でアイテムを購入することでゲームを早く進めることもできます。またこの機能は、お使いのデバイスの「設定」内にある「App内での購入」から無効にすることもできます。「OK」をタップすると、当社のサービス利用規約とプライバシーポリシーに同意したものとみなされます。\",\"클래시 로얄은 무료 게임이지만 인앱 구매를 통해 게임을 더 빠르게 진행할 수 있습니다. 인앱 구매는 기기 설정에서 차단도 가능합니다. 확인을 누르면 이용 약관과 개인정보 보호정책에 동의하게 됩니다.\",\"Clash Royale — бесплатная игра, но вы можете ускорить ее прохождение, делая встроенные покупки (вы можете отключить эту возможность в настойках устройства). Если вы принимаете условия пользования и политику конфиденциальности, нажмите «Да».\",\"لعبة Clash Royale مجانية، ولكن يمكنك تسريع تقدمك في اللعبة بواسطة عمليات الشراء داخل التطبيق (يمكنك تعطيل تلك الخاصية في إعدادات جهازك). انقر على موافق لقبول بنودنا وسياسة الخصوصية.\",\"O Clash Royale é grátis para jogar, mas você pode acelerar seu progresso com compras no aplicativo (é possível desativar isso nas configurações do seu dispositivo). Toque em OK para aceitar nossos Termos de Uso e Política de Privacidade.\",\"《部落冲突:皇室战争》(Clash Royale)是一款免费游戏，但您可以使用应用内购买加速游戏进度（也可在您的设备设置中关闭此购买功能）。轻按确定以接受我们的服务条款与隐私保护政策。\",\"《部落衝突:皇室戰爭》(Clash Royale)是一款免費遊戲，但您可以使用應用內購買加速遊戲進度（也可在您的裝置設定中關閉此購買功能）。輕按確定以接受我們的服務條款與隱私保護政策。\",\"بازی Clash Royale رایگان هست، اما می‌تونی با انجام خریدهای درون بازی سرعت پیشرفت خودت رو بیشتر کنی (می‌تونی این ویژگی رو از قسمت تنظیمات دستگاه غیرفعال کنی). برای پذیرش شرایط ما و خط‌مشی حریم خصوص ضربه بزن.\",\"Clash Royale gratis dimainkan, tetapi kemajuan dapat dipercepat dengan pembelian dalam aplikasi (bisa dinonaktifkan di pengaturan perangkat). Ketuk Oke untuk menyetujui Ketentuan dan Kebijakan Privasi kami.\",\"Clash Royale boleh dimainkan secara percuma tetapi anda boleh mempercepat perkembangan dengan pembelian dalam aplikasi (anda boleh menyahdayakan ini dalam tetapan peranti anda). Ketik OK untuk menerima Terma dan Dasar Privasi kami.\"\n\"TID_INFO_POP_UP_IAP_NOTE_KUNLUN\",\"Clash Royale is free to play, but you can speed up progress with in-app purchases.\",\"Clash Royale est gratuit, mais des achats intégrés peuvent vous permettre de progresser plus rapidement.\",\"Clash Royale ist kostenlos spielbar, aber du kannst deinen Fortschritt durch In-App-Käufe beschleunigen.\",\"Clash Royale es gratuito, pero puedes acelerar tu progreso con compras integradas.\",\"Clash Royale è un gioco gratuito, ma è possibile accelerare i propri progressi con acquisti in-app.\",\"Clash Royale is gratis om te spelen, maar je kunt je voortgang versnellen met in-app aankopen.\",\"Det er gratis å spille Clash Royale, men du kan få raskere fremgang ved å foreta kjøp i appen.\",\"Clash Royale bedava oynanan bir oyundur ancak uygulama içi satın alımlarla gelişim hızlandırılabilir.\",\"クラッシュ・ロワイヤルは無料でプレイできますが、アプリ内でアイテムを購入することでゲームを早く進めることもできます。\",\"클래시 로얄은 무료 게임이지만 인앱 구매를 통해 더 빠르게 진행할 수 있습니다.\",\"Clash Royale — бесплатная игра, но вы можете ускорить свой прогресс, делая покупки в игре.\",\"لعبة Clash Royale مجانية، ولكن يمكنك تسريع التقدم في اللعبة بواسطة عمليات الشراء داخل التطبيق.\",\"Clash Royale é grátis para jogar, mas você pode acelerar seu progresso com compras no aplicativo.\",\"《部落冲突:皇室战争》(Clash Royale)是一款免费游戏，但您可以在游戏中购买宝石加速游戏进程。\",\"《部落衝突:皇室戰爭》(Clash Royale)是一款免費遊戲，但你可在遊戲內購買寶石加快遊戲進度。\",\"بازی Clash Royale رایگان هست، اما می‌تونی با انجام خریدهای درون بازی سرعت پیشرفت خودت رو بیشتر کن.\",\"Clash Royale gratis dimainkan, tetapi kemajuan dapat dipercepat dengan pembelian dalam aplikasi.\",\"Clash Royale boleh dimainkan secara percuma tetapi anda boleh mempercepat perkembangan anda dengan pembelian dalam aplikasi.\"\n\"TID_INFO_POP_UP_IAP_NOTE_BUTTON\",\"Okay\",\"OK\",\"Okay\",\"Vale\",\"OK\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"Да\",\"موافق\",\"Ok\",\"确定\",\"確定\",\"باشه\",\"Oke\",\"Okey\"\n\"TID_TERMS_OF_SERVICE_BUTTON\",\"Terms of Service\",\"Conditions d'utilisation\",\"Nutzungsbedingungen\",\"Condiciones del servicio\",\"Termini di servizio\",\"Algemene voorwaarden\",\"Tjenestevilkår\",\"Hizmet Koşulları\",\"利用規約\",\"이용 약관\",\"Условия пользования\",\"بنود الخدمة\",\"Termos de Uso\",\"服务条款\",\"服務條款\",\"شرایط خدمات\",\"Ketentuan\",\"Terma Perkhidmatan\"\n\"TID_SERVER_ERROR_TITLE\",\"Server error <number>\",\"Erreur du serveur <number>\",\"Serverfehler <number>\",\"Error en el servidor (<number>)\",\"Errore del server <number>\",\"Serverfout <number>\",\"Serverfeil <number>\",\"Sunucu hatası <number>\",\"サーバーエラー<number>\",\"서버 오류 <number>\",\"Ошибка сервера: <number>\",\"خطأ في الخادم <number>\",\"Erro de servidor <number>\",\"服务器错误<number>\",\"伺服器錯誤<number>\",\"خطای سرور <number>\",\"Kesalahan server <number>\",\"Ralat pelayan <number>\"\n\"TID_SERVER_ERROR\",\"You were disconnected during combat.\",\"Une déconnexion est survenue pendant le combat.\",\"Deine Verbindung wurde im Kampf getrennt.\",\"Te has desconectado durante la batalla.\",\"Sei stato disconnesso durante il combattimento.\",\"De verbinding is tijdens het gevecht verbroken.\",\"Du ble frakoblet under kamp.\",\"Savaş sırasında bağlantın kesildi.\",\"バトル中に接続が切断されました。\",\"전투 중에 연결이 끊어졌습니다.\",\"Во время боя пропала связь.\",\"انقطع اتصالك أثناء القتال.\",\"Você foi desconectado durante o combate.\",\"您在战斗时掉线了。\",\"您在戰鬥時斷線了。\",\"در طول نبرد ارتباطت قطع شد.\",\"Sambungan terputus saat bertempur.\",\"Anda dinyahsambungkan sewaktu pertempuran.\"\n\"TID_SERVER_ERROR_BUTTON\",\"Okay\",\"OK\",\"Okay\",\"Vale\",\"OK\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"Да\",\"موافق\",\"Ok\",\"确定\",\"確定\",\"باشه\",\"Oke\",\"Okey\"\n\"TID_BATTLE_SPELLS\",\"Battle Deck\",\"Cartes de combat\",\"Kampfdeck\",\"Baraja bélica\",\"Mazzo da battaglia\",\"Gevechtskaarten\",\"Kampkort\",\"Savaş Destesi\",\"バトルデッキ\",\"전투 덱\",\"Боевая колода\",\"مجموعة المعركة\",\"Deck de batalha\",\"出战卡组\",\"出戰牌組\",\"دسته نبرد\",\"Dek Tempur\",\"Dek Pertempuran\"\n\"TID_SPELL_COLLECTION\",\"Card Collection\",\"Cartes possédées\",\"Kartensammlung\",\"Colección\",\"Collezione carte\",\"Kaartverzameling\",\"Kortsamling\",\"Kart Koleksiyonu\",\"カードコレクション\",\"카드 컬렉션\",\"Коллекция карт\",\"مجموعة بطاقات\",\"Coleção de cartas\",\"我的牌库\",\"我的牌庫\",\"مجموعه کارت\",\"Koleksi Kartu\",\"Koleksi Kad\"\n\"TID_BUTTON_INFO\",\"Info\",\"Infos\",\"Info\",\"Infor.\",\"Info\",\"Info\",\"Info\",\"Bilgi\",\"情報\",\"정보\",\"Информация\",\"معلومة\",\"Detalhes\",\"信息\",\"資訊\",\"اطلاعات\",\"Info\",\"Maklumat\"\n\"TID_CHESTS_FULL_TITLE\",\"Chest Slots Full!\",\"Emplacements de coffres occupés !\",\"Truhenplätze voll!\",\"¡Huecos para cofres llenos!\",\"Slot bauli pieni!\",\"Kistvakken vol!\",\"Ingen flere kisteplasser!\",\"Sandık Bölmeleri Dolu!\",\"宝箱スロットがいっぱいです！\",\"상자 슬롯이 가득 찼습니다!\",\"Нет мест для сундуков!\",\"مواضع الصندوق ممتلئة!\",\"Sem espaço para baús!\",\"宝箱位已满！\",\"寶箱位已滿！\",\"ردیف‌های صندوقچه پر هست!\",\"Slot Peti Penuh!\",\"Slot Peti Penuh!\"\n\"TID_CHESTS_FULL_TEXT\",\"You cannot receive new chests.\\n\\nStart a battle anyway?\",\"Vous ne pouvez pas recevoir de nouveau coffre.\\n\\nCombattre malgré tout ?\",\"Du kannst keine neuen Truhen erhalten.\\n\\nTrotzdem einen Kampf beginnen?\",\"No podrás recibir más cofres.\\n\\n¿Quieres empezar la batalla de todas formas?\",\"Non puoi ricevere nuovi bauli.\\n\\nIniziare comunque una battaglia?\",\"Je kunt geen nieuwe kisten krijgen.\\n\\nToch een gevecht starten?\",\"Du kan ikke motta nye kister.\\n\\nStarte en kamp likevel?\",\"Yeni sandık alamazsın.\\n\\nYine de savaşa başlansın mı?\",\"新しい宝箱は受け取れません。\\n\\nバトルを始めてもよろしいですか？\",\"새 상자를 받을 수 없습니다.\\n\\n그래도 전투를 시작하시겠습니까?\",\"Ты не сможешь получать новые сундуки.\\n\\nВсе равно начать бой?\",\"لا يمكنك تلقي صناديق جديدة.\\n\\nهل تريد بدء المعركة على أي حال؟\",\"Sem espaço para baús!\\n\\nQuer começar a batalha mesmo assim?\",\"对战胜利后您不会获得新的宝箱。\\n\\n仍要开始对战吗？\",\"對戰勝利後您不會獲得新的寶箱。\\n\\n仍要開始對戰嗎？\",\"نمی‌تونی صندوق جدیدی دریافت کنی.\\n\\nبا این وجود یک نبرد شروع می‌کنی؟\",\"Kamu tidak dapat menerima peti baru.\\n\\nTetap mulai bertempur?\",\"Anda tidak boleh menerima peti baharu.\\n\\nMulakan juga pertempuran?\"\n\"TID_TIME_LEFT\",\"Time left:\",\"Fin dans :\",\"Restzeit:\",\"Termina en:\",\"Termina in:\",\"Tijd over:\",\"Tid igjen:\",\"Kalan süre:\",\"残り時間\",\"남은 시간\",\"Осталось время:\",\"الوقت المتبقي:\",\"Restante:\",\"剩余时间：\",\"剩餘時間：\",\"زمان باقیمانده:\",\"Sisa waktu:\",\"Baki masa:\"\n\"TID_MAX_ELIXIR\",\"Max: <MAX_MANA>\",\"Max. : <MAX_MANA>\",\"Max: <MAX_MANA>\",\"Máx.: <MAX_MANA>\",\"Massimo: <MAX_MANA>\",\"Max: <MAX_MANA>\",\"Maks: <MAX_MANA>\",\"Maks: <MAX_MANA>\",\"最大：<MAX_MANA>\",\"최대: <MAX_MANA>\",\"Макс.: <MAX_MANA>\",\"الأقصى: <MAX_MANA>\",\"Máx.: <MAX_MANA>\",\"最多： <MAX_MANA>\",\"最多： <MAX_MANA>\",\"حداکثر: <MAX_MANA>\",\"Maks: <MAX_MANA>\",\"Maks: <MAX_MANA>\"\n\"TID_NEXT_CARD\",\"Next:\",\"Suivant\",\"Nächste:\",\"Siguiente:\",\"Avanti:\",\"Volgende:\",\"Neste:\",\"Sonraki:\",\"次：\",\"다음:\",\"След.:\",\"التالي:\",\"Próxima:\",\"下一张：\",\"下一張：\",\"بعدی:\",\"Berikutnya:\",\"Seterusnya:\"\n\"TID_180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\",\"180\"\n\"TID_60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\",\"60\"\n\"TID_30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\"\n\"TID_10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\"\n\"TID_9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\"\n\"TID_8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\"\n\"TID_7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\"\n\"TID_6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\"\n\"TID_5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\"\n\"TID_4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\"\n\"TID_3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\"\n\"TID_2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"\n\"TID_1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\"\n\"TID_BATTLE_ENDS_IN\",\"Battle ends in...\",\"Fin du combat dans...\",\"Kampf endet in:\",\"La batalla acaba en...\",\"La battaglia termina tra...\",\"Gevecht eindigt over...\",\"Kampen slutter om ...\",\"Savaşın bitmesine...\",\"バトル終了まで...\",\"남은 전투 시간:\",\"Конец сражения через...\",\"تنتهي المعركة بعد...\",\"Batalha termina em...\",\"对战结束倒计时：\",\"對戰結束倒數計時：\",\"نبرد در... دقیقه تمام می‌شه\",\"Pertempuran berakhir dalam...\",\"Pertempuran tamat dalam...\"\n\"TID_ENEMY\",\"Enemy\",\"Ennemi\",\"Feind\",\"Enemigo\",\"Nemico\",\"Vijand\",\"Fiende\",\"Düşman\",\"対戦相手\",\"상대방\",\"Враг\",\"العدو\",\"Inimigo\",\"敌方\",\"敵方\",\"دشمن\",\"Musuh\",\"Musuh\"\n\"TID_YOU\",\"You\",\"Vous\",\"Du\",\"Tú\",\"Tu\",\"Jij\",\"Du\",\"Sen\",\"あなた\",\"나\",\"Ты\",\"أنت\",\"Você\",\"我方\",\"我方\",\"تو\",\"Kamu\",\"Anda\"\n\"TID_TIME_RUN_OUT\",\"Time run out!\",\"Temps écoulé !\",\"Zeit abgelaufen!\",\"¡Se acabó el tiempo!\",\"Tempo scaduto!\",\"De tijd is om!\",\"Tiden er ute!\",\"Süre doldu!\",\"時間切れ！\",\"시간 종료!\",\"Время вышло!\",\"الوقت ينفد!\",\"O tempo acabou!\",\"时间到！\",\"時間到！\",\"وقت تموم شد!\",\"Waktu habis!\",\"Tamat masa!\"\n\"TID_SECONDS\",\"Seconds\",\"Secondes\",\"Sekunden\",\"segundos\",\"Secondi\",\"Seconden\",\"Sekunder\",\"Saniye\",,\"초\",\"секунд\",\"ثوان\",\"Segundos\",,,\"ثانیه\",\"Detik\",\"Saat\"\n\"TID_LEFT\",\"Left\",\"restantes\",\"verbleibend\",\"restantes\",\"Restanti\",\"Over\",\"Igjen\",\"Kaldı\",\"秒で終了\",\"남음\",\"до окончания\",\"باق\",\"Restantes\",\"秒倒计时\",\"秒倒數計時\",\"باقیمانده\",\"Sisa\",\"Baki\"\n\"TID_X2_ELIXIR\",\"X2 Elixir\",\"Élixir x2\",\"2x-Elixier\",\"Elixir x2\",\"Elisir X2\",\"2 x elixir\",\"2x eliksir\",\"2 Kat İksir\",\"2倍タイム\",\"X2 엘릭서\",\"Эликсир Х2\",\"إكسير X2\",\"Elixir X2\",\"双倍圣水\",\"雙倍聖水\",\"2 برابر اکسیر\",\"Eliksir X2\",\"Eliksir X2\"\n\"TID_CANT_FUSE_NOT_ENOUGH_MATERIAL\",\"You need <COUNT> cards to upgrade!\",\"Il vous faut <COUNT> cartes pour améliorer !\",\"Du brauchst <COUNT> Karten für eine Verbesserung!\",\"Necesitas <COUNT> cartas para realizar la mejora.\",\"Ti servono <COUNT> carte per migliorare!\",\"Je hebt <COUNT> kaarten nodig om te upgraden!\",\"Du trenger <COUNT> kort for å oppgradere!\",\"Yükseltmek için <COUNT> karta ihtiyacın var!\",\"カードは合計<COUNT>枚必要です！\",\"업그레이드하려면 카드 <COUNT>장이 필요합니다!\",\"Тебе нужно (<COUNT>) карт(ы) для улучшения!\",\"تحتاج إلى <COUNT> من البطاقات للترقية!\",\"Você precisa de <COUNT> cartas para fazer a melhoria!\",\"您需要<COUNT>张卡牌才能升级！\",\"您需要<COUNT>張卡牌才能升級！\",\"باری ارتقا به <COUNT> کارت نیاز داری!\",\"Perlu <COUNT> kartu untuk meningkatkan!\",\"Anda perlukan <COUNT> kad untuk menaik taraf!\"\n\"TID_OPPONENT_LEFT_MATCH\",\"Opponent left the match\",\"L'adversaire a quitté le combat.\",\"Gegner hat den Kampf verlassen\",\"El rival ha abandonado la partida.\",\"L'avversario ha lasciato lo scontro\",\"Tegenstander heeft gevecht verlaten\",\"Motstanderen forlot kampen\",\"Rakip maçtan ayrıldı\",\"対戦相手が退出しました\",\"상대방이 게임을 떠났습니다.\",\"Противник ушел из игры\",\"غادر الخصم المباراة\",\"O adversário saiu da partida.\",\"对手离开了对战\",\"對手離開了對戰\",\"حریف بازی رو ترک کرد\",\"Lawan meninggalkan pertandingan\",\"Pihak lawan meninggalkan perlawanan\"\n\"TID_OPPONENT_REJOINED_MATCH\",\"Opponent rejoined the match\",\"L'adversaire a rejoint le combat.\",\"Gegner hat den Kampf erneut aufgenommen\",\"El rival se ha vuelto a unir a la partida.\",\"L'avversario si è unito di nuovo allo scontro\",\"Tegenstander doet weer mee aan gevecht\",\"Motstanderen ble med i kampen igjen\",\"Rakip maça tekrar katıldı\",\"対戦相手が復帰しました\",\"상대방이 게임에 다시 참가했습니다.\",\"Противник снова вошел в игру\",\"أعاد الخصم الانضمام إلى المباراة\",\"O adversário voltou à partida.\",\"对手重新加入了对战\",\"對手重新加入了對戰\",\"حریف دوباره به بازی برگشت\",\"Lawan bergabung lagi dalam pertandingan\",\"Pihak lawan menyertai semula perlawanan\"\n\"TID_CO_MEMBER_LEFT_MATCH\",\"Your Clanmate left the match\",\"Le membre de votre clan a quitté le combat.\",\"Dein Clankamerad hat den Kampf verlassen\",\"Tu aliado ha abandonado la partida.\",\"Il membro del tuo clan ha abbandonato lo scontro\",\"Je clangenoot heeft het gevecht verlaten.\",\"Klanvennen din forlot kampen\",\"Klan Arkadaşın maçtan ayrıldı\",\"クランメンバーがマッチから退出しました\",\"클랜원이 매치를 떠났습니다.\",\"Соклановец ушел из игры\",\"غادر زميلك في القبيلة المباراة\",\"Seu colega saiu da partida.\",\"您的队友离开了对战\",\"您的隊友離開了對戰\",\"هم‌قبیله‌ایت بازی رو ترک کرد\",\"Rekan Klanmu meninggalkan pertandingan\",\"Rakan klan anda meninggalkan perlawanan\"\n\"TID_CO_MEMBER_REJOINED_MATCH\",\"Your Clanmate rejoined the match\",\"Le membre de votre clan a rejoint le combat.\",\"Dein Clankamerad ist wieder dabei\",\"Tu aliado se ha vuelto a unir a la partida.\",\"Il membro del tuo clan si è unito di nuovo allo scontro\",\"Je clangenoot doet weer mee aan het gevecht.\",\"Klanvennen din ble med i kampen igjen\",\"Klan Arkadaşın maça tekrar katıldı\",\"クランメンバーがマッチに再参加しました\",\"클랜원이 매치에 다시 참가했습니다.\",\"Соклановец снова вошел в игру\",\"انضم زميلك في القبيلة إلى المباراة مجددًا\",\"Seu colega voltou à partida.\",\"您的队友重新加入了对战\",\"您的隊友重新加入了對戰\",\"هم‌قبیله‌ایت دوباره به بازی برگشت\",\"Rekan Klanmu bergabung lagi dalam pertandingan\",\"Rakan klan anda menyertai semula perlawanan\"\n\"TID_CO_MEMBER_NON_CLAN_LEFT_MATCH\",\"Your Co-mate left the match\",\"Votre équipier a quitté le combat\",\"Dein Mitspieler hat den Kampf verlassen\",\"Tu compañero ha abandonado la partida.\",\"Il tuo compagno ha lasciato la partita\",\"Je medespeler heeft het gevecht verlaten.\",\"Medspilleren din forlot kampen\",\"Arkadaşın maçtan ayrıldı\",\"パートナーがバトルから退出しました\",\"팀원이 매치를 떠났습니다.\",\"Напарник покинул бой\",\"غادر شريكك المباراة\",\"Seu colega saiu da partida.\",\"您的队友离开了对战\",\"您的隊友離開了對戰\",\"همبازیت بازی رو ترک کرد\",\"Partner-mu meninggalkan pertandingan\",\"Rakan anda telah meninggalkan perlawanan\"\n\"TID_CO_MEMBER_NON_CLAN_REJOINED_MATCH\",\"Your Co-mate rejoined the match\",\"Votre équipier a rejoint le combat\",\"Dein Mitspieler hat den Kampf wieder aufgenommen\",\"Tu compañero se ha vuelto a unir a la partida.\",\"Il tuo compagno si è unito di nuovo alla partita\",\"Je medespeler doet weer mee aan het gevecht.\",\"Medspilleren din ble med i kampen igjen\",\"Arkadaşın maça tekrar katıldı\",\"パートナーがバトルに復帰しました\",\"팀원이 매치에 다시 참가했습니다.\",\"Напарник снова присоединился к бою\",\"أعاد شريكك الانضمام إلى المباراة\",\"Seu colega voltou à partida.\",\"您的队友重新加入了对战\",\"您的隊友重新加入了對戰\",\"همبازیت به بازی برگشت\",\"Partner-mu bergabung lagi dalam pertandingan\",\"Rakan anda telah menyertai semula perlawanan\"\n\"TID_BUTTON_SELECT\",\"Use\",\"Utiliser\",\"Wählen\",\"Usar\",\"Usa\",\"Gebruiken\",\"Bruk\",\"Kullan\",\"使う\",\"사용\",\"Использовать\",\"استخدام\",\"Usar\",\"使用\",\"使用\",\"استفاده\",\"Gunakan\",\"Guna\"\n\"TID_SELECT_SPELL_TO_BE_REPLACED_HEADER\",\"Select card to be replaced\",\"Sélectionnez une carte à remplacer.\",\"Zu ersetzende Karte auswählen\",\"Selecciona la carta que quieras sustituir.\",\"Seleziona la carta da rimpiazzare\",\"Kies kaart om te vervangen\",\"Velg kortet du vil bytte ut\",\"Değiştirilecek kartı seç\",\"入れ替えるカードを選択\",\"교체할 카드를 선택하세요.\",\"Выбери карту для замены\",\"اختر بطاقة ليتم استبدالها\",\"Selecione a carta a ser substituída.\",\"选择要替换掉的卡牌\",\"選擇要替換掉的卡牌\",\"کارتی که باید عوض بشه رو انتخاب کن\",\"Pilih kartu untuk diganti\",\"Pilih kad untuk digantikan\"\n\"TID_GOLD_TOOL_TIP\",\"<cd1ab22>Gold</c> is used to upgrade and buy cards.\\n\\nYou get gold from chests, winning battles and by donating cards to your Clanmates.\\n\\nMaximum gold is 1000000.\",\"L'<cd1ab22>or</c> sert à améliorer les cartes et à en acheter.\\n\\nIl peut être obtenu dans les coffres, en remportant des victoires ou en donnant des cartes aux membres de votre clan.\\n\\nVous pouvez posséder jusqu'à 1 000 000 pièces d'or.\",\"Mit <cd1ab22>Gold</c> kannst du Karten verbessern und kaufen.\\n\\nDu bekommst Gold aus Truhen, wenn du Kämpfe gewinnst, oder indem du Karten an deine Clankameraden spendest.\\n\\nDas Goldmaximum liegt bei 1.000.000.\",\"El <cd1ab22>oro</c> sirve para comprar cartas, además de para mejorarlas.\\n\\nSe consigue en los cofres, al ganar batallas y al donar cartas a los aliados.\\n\\nLa cantidad máxima de oro que puedes tener es de 1 000 000 unidades.\",\"L'<cd1ab22>oro</c> viene usato per migliorare e acquistare carte.\\n\\nOttieni oro dai bauli, vincendo battaglie e donando carte ai membri del clan.\\n\\nL'oro massimo è 1.000.000.\",\"<cd1ab22>Goud</c> wordt gebruikt om kaarten te upgraden en te kopen.\\n\\nJe krijgt goud uit kisten, door gevechten te winnen en door kaarten te doneren aan je clangenoten.\\n\\nDe goudlimiet ligt op 1.000.000.\",\"<cd1ab22>Gull</c> brukes til å oppgradere og kjøpe kort.\\n\\nGull får du fra kister, ved å vinne kamper samt ved å donere kort til klanvennene dine.\\n\\nMaksimalt antall gull er 1 000 000.\",\"<cd1ab22>Altın</c>, kartları yükseltmek ya da satın almak için kullanılır.\\n\\nSandıklardan, savaş kazanarak ve Klan Arkadaşlarına kart bağışlayarak altın kazanabilirsin.\\n\\nMaksimum altın 1.000.000'dur.\",\"<cd1ab22>ゴールド</c>は、カードのアップグレードや購入に使います。\\n\\nゴールドは宝箱を開けるかカードをクランメンバーに寄付すると入手できます。\\n\\n上限は、1000000ゴールドです。\",\"<cd1ab22>골드</c>는 카드를 업그레이드하거나 구매하는 데 사용됩니다.\\n\\n상자를 열거나 전투에 승리하거나 클랜원에게 카드를 지원하여 골드를 받을 수 있습니다.\\n\\n최대 골드는 1,000,000입니다.\",\"<cd1ab22>Золото</c> используют для покупки и улучшения карт.\\n\\nЕго можно получить открывая сундуки, выигрывая сражения и отдавая карты соклановцам.\\n\\nМаксимум: 1 000 000.\",\"<cd1ab22>الذهب</c> يُستخدم في ترقية البطاقات وشرائها.\\n\\nستحصل على الذهب من الصناديق وعن طريق الفوز بالمعارك والتبرع بالبطاقات لزملائك في القبيلة.\\n\\nالحد الأقصى للذهب هو 1000000.\",\"O <cd1ab22>ouro</c> é usado para melhorar e comprar cartas.\\n\\nPara ganhá-lo, abra baús, vença batalhas e doe cartas aos colegas de clã.\\n\\nA quantidade máxima de ouro que você pode ter é 1.000.000.\",\"<cd1ab22>金币</c>可用于升级卡牌和购买卡牌。\\n\\n打开宝箱、赢得对战或向您的部落成员捐赠卡牌都可获得金币。\\n\\n金币最大储量为1000000。\",\"<cd1ab22>金幣</c>可用於升級卡牌和購買卡牌。\\n\\n打開寶箱、贏得對戰或向您的部落成員捐贈卡牌都可獲得金幣。\\n\\n金幣最大容量為1000000。\",\"از <cd1ab22>طلا</c> برای ارتقا و خرید کارت استفاده میشه.\\n\\nاز صندوق‌ها، بردن نبردها و اهدای کارت به هم‌قبیله‌ای‌ها طلا می‌گیری.\\n\\nحداکثر طلا 1000000 هست.\",\"<cd1ab22>Emas</c> digunakan untuk meningkatkan dan membeli kartu.\\n\\nKamu mendapatkan emas dari peti, menang bertempur, dan menyumbangkan kartu ke Rekan Klan.\\n\\nJumlah emas maksimum 1.000.000.\",\"<cd1ab22>Emas</c> digunakan untuk menaik taraf dan membeli kad.\\n\\nAnda mendapat emas dari peti, memenangi pertempuran dan dengan mendermakan kad kepada Rakan Klan anda.\\n\\nEmas maksimum ialah 1,000,000.\"\n\"TID_DIAMOND_TOOL_TIP\",\"<c00cc17>Gems</c> can be used to buy gold, chests, tournaments and to speed up chest unlocks.\",\"Les <c00cc17>gemmes</c> permettent d'acheter de l'or, des coffres ou des tournois, et d'accélérer l'accès aux coffres.\",\"Mit <c00cc17>Juwelen</c> kannst du Gold und Truhen kaufen, für Turniere bezahlen oder das Öffnen von Truhen beschleunigen.\",\"Las <c00cc17>gemas</c> sirven para acelerar el desbloqueo de los cofres, crear torneos y comprar oro y más cofres.\",\"Le <c00cc17>gemme</c> possono essere usate per acquistare oro e bauli, organizzare tornei o per accelerare l'apertura dei bauli.\",\"Met <c00cc17>edelstenen</c> kun je goud, kisten en toernooien kopen of het ontgrendelen van kisten versnellen.\",\"<c00cc17>Juveler</c> kan brukes til å kjøpe gull, kister, turneringer eller øke hastigheten på opplåsing av kister.\",\"<c00cc17>Taşlar</c>; altın, sandık, turnuva ve sandık kilitlerinin açmayı hızlandırmak için kullanılabilir.\",\"<c00cc17>エメラルド</c>は、ゴールドや宝箱の購入、大会費用、宝箱をすぐに開きたい場合などにも使用できます。\",\"<c00cc17>보석</c>은 골드, 상자, 토너먼트를 구매하거나 상자를 빨리 열 때 사용됩니다.\",\"<c00cc17>Кристаллы</c> используют, чтобы покупать золото, сундуки, организовывать турниры и быстрее открывать сундуки.\",\"يمكن استخدام <c00cc17>الجواهر</c> لشراء الذهب أو الصناديق أو البطولات ولزيادة سرعة فتح الصناديق.\",\"As <c00cc17>gemas</c> podem ser usadas para comprar ouro, baús, torneios ou acelerar a abertura de baús.\",\"<c00cc17>宝石</c>可用于购买商店中的商品，举办锦标赛，还可以加速解锁宝箱。\",\"<c00cc17>寶石</c>可用於購買金幣和寶箱，或舉行聯賽，還可以加速解鎖寶箱。\",\"میشه از <c00cc17>جواهرات</c> برای خرید طلا، صندوق، مسابقه و سرعت دادن به بازشدن صندوق‌ها استفاده کرد.\",\"<c00cc17>Permata</c> dapat digunakan untuk membeli emas, peti, turnamen, dan mempercepat membuka peti.\",\"<c00cc17>Permata</c> boleh digunakan untuk membeli emas, peti, pertandingan dan mempercepat buka kunci peti.\"\n\"TID_TROPHIES_TOOL_TIP\",\"<cd1ab22>Trophies</c> indicate your success in combat.\\n\\nYou earn trophies by winning matches, but you can also lose them!\",\"Les <cd1ab22>trophées</c> indiquent votre réussite au combat.\\n\\nVous en gagnez quand vous remportez des victoires, mais vous pouvez aussi les perdre !\",\"<cd1ab22>Trophäen</c> zeigen deinen Kampferfolg an.\\n\\nTrophäen bekommst du für gewonnene Kämpfe - du kannst sie aber auch wieder verlieren!\",\"Los <cd1ab22>trofeos</c> representan el éxito en el combate.\\n\\nLos conseguirás al ganar partidas, pero recuerda que también puedes perderlos.\",\"I <cd1ab22>trofei</c> indicano il tuo successo in battaglia.\\n\\nGuadagni trofei vincendo scontri, ma puoi anche perderli!\",\"<cd1ab22>Trofeeën</c> weerspiegelen hoeveel succes je in de strijd hebt.\\n\\nJe verdient trofeeën door gevechten te winnen, maar je kunt ze ook kwijtraken!\",\"<cd1ab22>Trofeer</c> viser hvor godt du har gjort det i kamp.\\n\\nDu får trofeer når du vinner kamper, men du kan også miste dem!\",\"<cd1ab22>Kupalar</c>, savaştaki başarını simgeler.\\n\\nMaçlara katılarak kupa kazanabilirsin fakat aynı zamanda kaybedebilirsin de!\",\"<cd1ab22>トロフィー</c>は、バトルでの戦果を表します。\\n\\n対戦に勝てばトロフィーを獲得しますが、負ければ失うこともあります！\",\"<cd1ab22>트로피</c>는 전투 승리의 증표입니다.\\n\\n매치에서 승리하면 트로피를 얻지만 패배하면 반대로 잃을 수도 있습니다!\",\"<cd1ab22>Трофеи</c> показывают, насколько ты хорошо сражаешься.\\n\\nТы получишь трофеи за победы в матчах, но их можно и потерять.\",\"<cd1ab22>الكؤوس</c> مؤشر على نجاحك في القتال.\\n\\nتربح الكؤوس بتحقيق الفوز في المباريات، لكن يمكنك أن تخسرها أيضًا!\",\"Os <cd1ab22>troféus</c> indicam o seu sucesso no combate.\\n\\nÉ possível obtê-los vencendo a partida, mas também é possível perdê-los.\",\"<cd1ab22>奖杯</c>代表了您的战绩。\\n\\n对战胜利您将获得奖杯，但是您也会因战败而丢失奖杯。\",\"<cd1ab22>獎盃</c>代表了您的戰績。\\n\\n對戰勝利您將獲得獎盃，但是您也會因戰敗而丟失獎盃。\",\"<cd1ab22>جام‌ها</c> موفقیت تو در نبرد رو نشون میدن.\\n\\nبا بردن مسابقات می‌تونی جام به دست بیاری، اما ممکنه همینطوری جام هم از دست بدی!\",\"<cd1ab22>Trofi</c> menandakan kesuksesanmu bertempur.\\n\\nKamu meraih trofi dengan menang bertanding, tetapi kamu juga bisa kehilangan trofi!\",\"<cd1ab22>Trofi</c> menunjukkan kejayaan anda dalam pertempuran.\\n\\nAnda mendapat trofi dengan memenangi perlawanan tetapi anda juga boleh kehilangan mereka!\"\n\"TID_XP_TOOL_TIP\",\"<c38c9ff>King Level</c> indicates the strength of your king and towers.\\n\\nGain experience by upgrading cards and by donating cards to your Clanmates.\",\"Le <c38c9ff>niveau du roi</c> indique la force de votre roi et de vos tours.\\n\\nAméliorez vos cartes et donnez-en aux membres de votre clan pour gagner de l'expérience.\",\"Der <c38c9ff>Königslevel</c> zeigt die Stärke deines Königs und deiner Türme an.\\n\\nDu gewinnst Erfahrung, indem du Karten verbesserst und Karten an deine Clankameraden spendest.\",\"El <c38c9ff>nivel del rey</c> indica la fuerza de tu rey y tus torres.\\n\\nMejora las cartas y dónalas a tus aliados para conseguir experiencia.\",\"Il <c38c9ff>livello re</c> indica la forza del tuo re e delle tue torri.\\n\\nGuadagna esperienza migliorando carte e donando carte ai membri del tuo clan.\",\"Het <c38c9ff>koningslevel</c> geeft weer hoe sterk je koning en torens zijn.\\n\\nVerwerf ervaring door kaarten te upgraden en kaarten te doneren aan je clangenoten.\",\"<c38c9ff>Kongenivå</c> indikerer styrken til kongen og tårnene dine.\\n\\nSkaff deg erfaring ved å oppgradere kortene eller ved å gi bort kort til klanvennene dine.\",\"<c38c9ff>Kral Seviyesi</c>, kralının ve kulelerinin gücünü gösterir.\\n\\nKartları yükselterek ve Klan Arkadaşlarına kart bağışlayarak deneyim kazanabilirsin.\",\"<c38c9ff>キングレベル</c>は、キングとタワーの強さを表します。\\n\\nカードをアップグレードするか、クランメンバーに寄付して、経験値をかせぎましょう。\",\"<c38c9ff>왕 레벨</c>은 왕과 타워의 강력함을 보여주는 수치입니다.\\n\\n카드를 업그레이드하고 클랜원에게 카드를 지원해 경험치를 얻으세요.\",\"<c38c9ff>Уровень короля</c> показывает силу короля и башен.\\n\\nПолучай опыт, улучшая карты и помогая соклановцам.\",\"<c38c9ff>مستوى الملك</c> يشير إلى قوة ملكك وأبراجك.\\n\\nاكتسب الخبرة عن طريق ترقية البطاقات والتبرع بالبطاقات لزملائك في القبيلة.\",\"O <c38c9ff>nível do Rei</c> indica a força do seu Rei e de suas torres.\\n\\nPara ganhar experiência, melhore suas cartas e doe cartas aos colegas de clã.\",\"<c38c9ff>国王等级</c>表明了国王和皇家塔的战斗力。\\n\\n升级卡牌或向部落成员捐赠卡牌可获得经验值。\",\"<c38c9ff>國王等級</c>代表國王和皇家塔的等級。\\n\\n升級卡牌或向部落成員捐贈卡牌可獲得經驗值。\",\"<c38c9ff>سطح پادشاه</c> قدرت پادشاه و برج‌هات رو نشون میده.\\n\\nبا ارتقا دادن کارت‌ها و اهدای کارت به هم‌قبیله‌ای‌ها تجربه به دست بیار.\",\"<c38c9ff>Level Raja</c> menandakan kekuatan raja dan bentengmu.\\n\\nRaih pengalaman dengan meningkatkan kartu dan menyumbangkan kartu ke Rekan Klan.\",\"<c38c9ff>Tahap Raja</c> menunjukkan kekuatan raja dan menara anda.\\n\\nDapatkan pengalaman dengan menaik taraf kad dan menderma kad kepada Rakan Klan anda.\"\n\"TID_SHOP_CARDS_TOOL_TIP\",\"The selection of cards in the shop changes daily! You can buy several of the same card, but the price increases with each subsequent purchase.\",\"La sélection de cartes du magasin est renouvelée tous les jours ! Vous pouvez acheter plusieurs unités d'une même carte, mais le prix augmente à chaque achat successif.\",\"Die Kartenauswahl im Shop ändert sich täglich! Du kannst die gleiche Karte mehrmals kaufen, aber mit jedem Erwerb steigt der Preis.\",\"La selección de cartas disponibles en la tienda cambia a diario. Puedes adquirir varias cartas del mismo tipo, pero el precio aumenta con cada compra.\",\"La selezione di carte nel negozio cambia ogni giorno! Puoi comprare diversi esemplari della stessa carta, ma il prezzo aumenta con ogni acquisto successivo.\",\"Er zijn dagelijks andere kaarten beschikbaar in de winkel! Je kunt een bepaald aantal van dezelfde kaart kopen, maar de prijs wordt hoger met elke volgende aanschaf.\",\"Kortutvalget i butikken endres daglig! Du kan kjøpe flere av det samme kortet, men prisen øker for hvert kjøp.\",\"Dükkandaki kart seçimi her gün değişir! Aynı karttan bir sürü satın alabilirsin fakat birbiri ardına yapılan her satın alımın ardından fiyatlar artar.\",\"ショップのカードの品ぞろえは日替わりです！ 同じカードを複数買うと、2枚目からは1枚ごとに値段が上がります。\",\"상점에서 판매하는 카드는 매일 바뀝니다! 같은 카드를 여러 장 살 수도 있지만 구매할 때마다 해당 카드의 가격이 오릅니다.\",\"Выбор карт в магазине меняется каждый день! Ты можешь купить несколько одинаковых карт, но цена будет расти.\",\"اختيار البطاقات في المتجر يتغير يوميًا! يمكنك شراء عدة بطاقات من النوع نفسه، لكن السعر يتزايد مع كل عملية شراء لاحقة.\",\"A seleção de cartas da loja muda diariamente! Você pode comprar várias vezes a mesma carta, mas o preço aumenta a cada compra.\",\"商店中的卡牌每日刷新！您可以购买多张同样的卡牌，但每多购买一次价格就会相应提高。\",\"商店中的卡牌每日刷新！您可以購買多張同樣的卡牌，但每多購買一次價格就會相應提高。\",\"انتخاب کارت‌های موجود در فروشگاه به صورت روزانه عوض میشه! می‌تونی چندتا کارت یکسان بخری، اما برای خرید بعدی قیمت بیشتر میشه.\",\"Pilihan kartu di toko berubah setiap hari! Kamu bisa membeli beberapa kartu yang sama, tetapi harga naik di setiap pembelian berikutnya.\",\"Pilihan kad dalam kedai berubah setiap hari! Anda boleh membeli beberapa kad yang sama, tetapi harga bertambah dengan setiap pembelian berikutnya.\"\n\"TID_XP_TOOL_TIP_MAX\",\"King is at maximum level!\",\"Le roi a atteint le niveau maximum !\",\"König hat das Höchstlevel erreicht!\",\"¡El rey ha alcanzado el máximo nivel!\",\"Il re è al livello massimo!\",\"Maximumlevel koning bereikt!\",\"Kongen er på maksimalt nivå!\",\"Kral maksimum seviyede!\",\"キングは最大レベルです！\",\"왕이 최고 레벨에 도달했습니다!\",\"Король на максимальном уровне!\",\"الملك في أقصى مستوى!\",\"O Rei já está no nível máximo.\",\"国王已升至最高等级！\",\"國王已升至最高等級！\",\"پادشاه در سطح حداکثر قرار داره!\",\"Level Raja sudah maksimum!\",\"Raja berada pada tahap maksimum!\"\n\"TID_ROYALTV_TOOL_TIP\",\"TV Royale showcases some of the best battles in Clash Royale. Keep tuning in for new battles!\",\"TV Royale diffuse les meilleurs combats de Clash Royale. Pensez à visionner les nouveaux combats !\",\"TV Royale präsentiert einige der besten Kämpfe in Clash Royale. Schau dir immer mal wieder neue Kämpfe an!\",\"En TV Royale podrás ver algunas de las mejores batallas de Clash Royale. ¡Mantente al tanto para no perderte ninguna!\",\"TV Royale mette in mostra alcune delle migliori battaglie di Clash Royale. Resta con noi, ci sono sempre nuovi scontri!\",\"TV Royale laat je een aantal van de beste gevechten in Clash Royale zien. Blijf kijken voor nieuwe gevechten!\",\"TV Royale viser noen av de beste kampene i Clash Royale. Følg med for å se nye kamper!\",\"TV Royale, Clash Royale'daki en iyi savaşlara ev sahipliği yapar. Yeni savaşlar için bizi takip et!\",\"クラロワTVでは、特に見ごたえのある試合をピックアップ。最新の試合をお見逃しなく！\",\"로얄 TV에서는 클래시 로얄에서 벌어진 최고의 전투들을 다시 보여줍니다. 멋진 전투를 보고 싶다면 채널을 고정하세요!\",\"TV Royale транслирует лучшие битвы Clash Royale. Следи за новинками!\",\"TV Royale يعرض بعضًا من أفضل المعارك في Clash Royale. استمر في المتابعة لمشاهدة الجديد من المعارك!\",\"A TV Royale mostra algumas das melhores batalhas do Clash Royale. Fique de olho!\",\"皇室TV收录了\\n部落冲突:皇室战争\\n中的部分最佳对战。快来观看最新的皇室TV吧！\",\"皇室TV收錄了\\n部落衝突:皇室戰爭\\n中的部分最佳對戰。快來觀看最新的皇室TV吧！\",\"TV Royale بعضی از بهترین نبردهای Clash Royale رو نشون میده. برای دیدن نبردهای جدید کانال رو عوض نکن!\",\"TV Royale menampilkan beberapa pertempuran terbaik di Clash Royale. Terus ikuti untuk pertempuran baru!\",\"TV Diraja menayangkan beberapa pertempuran terbaik dalam Clash Royale. Terus nantikan pertempuran baharu!\"\n\"TID_PUSH_MATCHMAKING_TOP\",\"Another TOP player is looking for a match!\",\"Un autre joueur d'élite recherche un combat !\",\"Ein anderer TOP-Spieler sucht einen Kampf!\",\"Uno de los mejores jugadores quiere jugar una partida.\",\"Un altro giocatore TOP sta cercando uno scontro!\",\"Er is nog een van de BESTE spelers die wil worden gekoppeld!\",\"En annen toppspiller ser etter en kamp!\",\"Başka bir EN İYİ oyuncu eşleşme arıyor!\",\"他のトッププレイヤーが対戦相手を探しています！\",\"다른 상위권 선수가 매치 상대를 찾고 있습니다!\",\"Еще один отличный игрок ищет матч!\",\"لاعب قمة آخر يبحث عن مطابقة!\",\"Outro dos melhores jogadores está procurando uma partida!\",\"另一位顶级玩家正在搜索对手！\",\"另一位頂級玩家正在搜索對手！\",\"یک بازیکن سطح بالای دیگه دنبال بازی می‌گرده!\",\"Pemain TOP lain sedang mencari lawan tanding!\",\"Satu lagi pemain TERHEBAT mencari padanan!\"\n\"TID_OPEN_NOW\",\"Open now\",\"Ouvrir plus tôt\",\"Jetzt öffnen\",\"Abrir ya\",\"Apri subito\",\"Nu openen\",\"Åpne nå\",\"Hemen aç\",\"いますぐ開く\",\"지금 열기\",\"Открыть сейчас\",\"فتح الآن\",\"Abrir agora\",\"立刻打开\",\"立刻打開\",\"الان باز کن\",\"Buka sekarang\",\"Buka sekarang\"\n\"TID_CHEST_SLOT\",\"Chest Slot\",\"Place pour un coffre\",\"Truhen-\\nplatz\",\"Hueco para cofre\",\"Slot baule\",\"Kistvak\",\"Kiste-\\nplass\",\"Sandık Bölmesi\",\"宝箱\\nスロット\",\"상자 슬롯\",\"Место для сундука\",\"موضع صندوق\",\"Espaço para baú\",\"宝箱位\",\"寶箱位\",\"ردیف صندوق\",\"Slot Peti\",\"Slot Peti\"\n\"TID_LOCKED\",\"Locked\",\"Fermé\",\"Gesperrt\",\"Bloqueado\",\"Bloccato\",\"Vergrendeld\",\"Låst\",\"Kilitli\",\"ロック中\",\"잠김\",\"Закрыто\",\"مغلق\",\"Trancado\",\"尚未解锁\",\"尚未解鎖\",\"قفل شده\",\"Terkunci\",\"Dikunci\"\n\"TID_OPEN\",\"OPEN\",\"OUVRIR\",\"ÖFFNEN\",\"ABRIR\",\"APRI\",\"OPENEN\",\"ÅPNE\",\"AÇ\",\"開く\",\"열기\",\"ОТКРЫТЬ\",\"فتح\",\"ABRIR\",\"打开\",\"打開\",\"باز کردن\",\"BUKA\",\"BUKA\"\n\"TID_60S\",\"+60s\",\"+60s\",\"+60 s\",\"+60 s\",\"+60s\",\"+ 60 sec.\",\"+60 s\",\"+60sn\",\"+60秒\",\"+60초\",\"+60 с.\",\"+60 ثانية\",\"+60s\",\"60\",\"60\",\"+60 ثانیه\",\"+60d\",\"+60s\"\n\"TID_EXTRA\",\"Extra\",\"Temps\",\"Extra\",\"de tiempo\",\"Extra\",\"Extra\",\"Ekstra\",\"Ekstra\",,\"추가\",\"Дополн.\",\"إضافي\",\"Extra\",,,\"اضافه\",\"Ekstra\",\"Lebih\"\n\"TID_TIME\",\"Time\",\"extra\",\"Zeit\",\"extra\",\"Tempo\",\"Tijd\",\"Tid\",\"Süre\",\"延長\",\"시간\",\"Время\",\"وقت\",\"Tempo\",\"秒额外时间\",\"秒 額外時間\",\"زمان\",\"Waktu\",\"Masa\"\n\"TID_BATTLE\",\"Battle\",\"Combattre\",\"Kämpfen\",\"Batalla\",\"Battaglia\",\"Vechten\",\"Kamp\",\"Savaş\",\"バトル\",\"전투\",\"В бой\",\"معركة\",\"Batalha\",\"对战\",\"對戰\",\"نبرد\",\"Tempur\",\"Pertempuran\"\n\"TID_ACTIVITY_LOG_TITLE\",\"Activity Log\",\"Journal d'activités\",\"Aktivitätslog\",\"Registro de actividad\",\"Registro attività\",\"Activiteitenlogboek\",\"Aktivitetslogg\",\"Aktivite Günlüğü\",\"プレイ情報\",\"활동 기록\",\"Журнал\",\"سجل النشاط\",\"Registro de atividades\",\"活动日志\",\"活動記錄\",\"گزارش فعالیت\",\"Log Aktivitas\",\"Log Aktiviti\"\n\"TID_BUTTON_REQUEST_SPELLS\",\"Request Cards\",\"Demande de cartes\",\"Um Karten bitten\",\"Pedir cartas\",\"Richiedi carte\",\"Kaarten vragen\",\"Be om kort\",\"Kart İste\",\"カードを\\nリクエスト\",\"카드 요청\",\"Запрос карт\",\"طلب بطاقات\",\"Pedir cartas\",\"请求捐赠\",\"請求捐贈\",\"درخواست کارت\",\"Minta Kartu\",\"Minta Kad\"\n\"TID_DONATION_RECEIVED\",\"<count>x <spell> received from\\n<name>\",\"Vous avez reçu <count>x <spell> de la part de\\n<name>\",\"<count>x <spell> erhalten von\\n<name>\",\"<name> te ha enviado\\n<count> carta(s) de <spell>.\",\"<count>x <spell> ricevuto da\\n<name>\",\"<count>x <spell> ontvangen van\\n<name>\",\"<count>x <spell> mottatt fra\\n<name>\",\"\\n<name> kişisinden <count> kere <spell> alındı\",\"<name>から<spell>を<count>個もらいました\",\"<count> x <spell> 카드를\\n<name> 님에게 받았습니다.\",\"<count>х<spell> получено от игрока\\n<name>\",\"<count>x <spell> متلقاة من\\n<name>\",\"Recebeu <count>x <spell> de\\n<name>.\",\"<name> 给您捐赠了\\n<count>张<spell>\",\"<name> 給您捐贈了\\n<count>張<spell>\",\"<count>× <spell> از\\n<name> دریافت شد\",\"<count>x <spell> diterima dari\\n<name>\",\"<count>x <spell> diterima daripada\\n<name>\"\n\"TID_DONATION_RECEIVED_POPUP\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"x<count> <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count> x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count> tane <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count> x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\",\"<count>x <c3f3f3f><name></c>\"\n\"TID_FROM\",\"From:\",\"De :\",\"Von:\",\"De:\",\"Da:\",\"Van:\",\"Fra:\",\"Kimden:\",\"From:\",\"발신자\",\"От:\",\"من:\",\"De:\",\"来自于\",\"來自於\",\"از طرف:\",\"Dari:\",\"Daripada:\"\n\"TID_EMOTE1\",\"Good luck!\",\"Bonne chance !\",\"Viel Glück!\",\"¡Buena suerte!\",\"Buona fortuna!\",\"Veel succes!\",\"Lykke til!\",\"Bol şans!\",\"よろしく！\",\"행운을 빌지!\",\"Удачи!\",\"حظًا موفقًا!\",\"Boa sorte!\",\"祝你好运！\",\"祝你好運！\",\"موفق باشی!\",\"Semoga sukses!\",\"Semoga berjaya!\"\n\"TID_EMOTE2\",\"Well played!\",\"Bien joué !\",\"Nicht schlecht!\",\"¡Bien jugado!\",\"Bella giocata!\",\"Goed gespeeld!\",\"Bra spilt!\",\"Bravo!\",\"やるな！\",\"잘했어요!\",\"Отличная игра!\",\"أحسنت!\",\"Muito bem!\",\"厉害！\",\"厲害！\",\"خوب بازی کردی!\",\"Permainan cantik!\",\"Cemerlang!\"\n\"TID_EMOTE3\",\"Wow!\",\"Super !\",\"Wow!\",\"¡Guau!\",\"Wow!\",\"Wauw!\",\"Wow!\",\"Vay be!\",\"まさか！\",\"와우!\",\"Ух ты!\",\"مذهل!\",\"Uau!\",\"Wow!\",\"Wow!\",\"وای!\",\"Wow!\",\"Wah!\"\n\"TID_EMOTE4\",\"Thanks!\",\"Merci !\",\"Danke!\",\"¡Gracias!\",\"Grazie!\",\"Bedankt!\",\"Takk!\",\"Teşekkürler!\",\"ありがとう！\",\"고마워요!\",\"Спасибо!\",\"شكرًا!\",\"Obrigado!\",\"承让！\",\"承讓！\",\"ممنون!\",\"Terima kasih!\",\"Terima kasih!\"\n\"TID_EMOTE5\",\"Good game!\",\"Super combat !\",\"Gutes Spiel!\",\"¡Buena partida!\",\"Bella partita!\",\"Geweldig spel!\",\"Bra gjort!\",\"İyi oyundu!\",\"ナイスゲーム！\",\"멋진 한 판이군요!\",\"Хорошая игра!\",\"أداء جيد!\",\"Bom jogo!\",\"Good game!\",\"Good game!\",\"بازی خوبی بود!\",\"Permainan bagus!\",\"Permainan baik!\"\n\"TID_EMOTE6\",\"Oops\",\"Aïe...\",\"Ups!\",\"Vaya...\",\"Ops\",\"Oeps\",\"Ops\",\"Eyvah\",\"おっと！\",\"이런!\",\"Опаньки\",\"ويحي\",\"Oops!\",\"Oops\",\"糟糕\",\"آخ\",\"Ups\",\"Alamak\"\n\"TID_ARENA_TRAINING_CAMP\",\"Training Camp\",\"Camp d'entraînement\",\"Ausbildungslager\",\"Entrenamiento\",\"Campo di prova\",\"Trainingskamp\",\"Treningsleir\",\"Eğitim Kampı\",\"訓練キャンプ\",\"훈련 캠프\",\"Учебный лагерь\",\"معسكر التدريب\",\"Campo de treino\",\"训练营\",\"訓練營\",\"کمپ تمرینی\",\"Kamp Latihan\",\"Kem Latihan\"\n\"TID_ARENA1\",\"Arena 1\",\"Arène 1\",\"Arena 1\",\"Arena 1\",\"Arena 1\",\"Arena 1\",\"Arena 1\",\"1. Arena\",\"アリーナ1\",\"아레나 1\",\"Арена 1\",\"الساحة 1\",\"Arena 1\",\"1阶竞技场\",\"1階競技場\",\"میدان نبرد 1\",\"Arena 1\",\"Arena 1\"\n\"TID_ARENA2\",\"Arena 2\",\"Arène 2\",\"Arena 2\",\"Arena 2\",\"Arena 2\",\"Arena 2\",\"Arena 2\",\"2. Arena\",\"アリーナ2\",\"아레나 2\",\"Арена 2\",\"الساحة 2\",\"Arena 2\",\"2阶竞技场\",\"2階競技場\",\"میدان نبرد 2\",\"Arena 2\",\"Arena 2\"\n\"TID_ARENA3\",\"Arena 3\",\"Arène 3\",\"Arena 3\",\"Arena 3\",\"Arena 3\",\"Arena 3\",\"Arena 3\",\"3. Arena\",\"アリーナ3\",\"아레나 3\",\"Арена 3\",\"الساحة 3\",\"Arena 3\",\"3阶竞技场\",\"3階競技場\",\"میدان نبرد 3\",\"Arena 3\",\"Arena 3\"\n\"TID_ARENA4\",\"Arena 4\",\"Arène 4\",\"Arena 4\",\"Arena 4\",\"Arena 4\",\"Arena 4\",\"Arena 4\",\"4. Arena\",\"アリーナ4\",\"아레나 4\",\"Арена 4\",\"الساحة 4\",\"Arena 4\",\"4阶竞技场\",\"4階競技場\",\"میدان نبرد 4\",\"Arena 4\",\"Arena 4\"\n\"TID_ARENA5\",\"Arena 5\",\"Arène 5\",\"Arena 5\",\"Arena 5\",\"Arena 5\",\"Arena 5\",\"Arena 5\",\"5. Arena\",\"アリーナ5\",\"아레나 5\",\"Арена 5\",\"الساحة 5\",\"Arena 5\",\"5阶竞技场\",\"5階競技場\",\"میدان نبرد 5\",\"Arena 5\",\"Arena 5\"\n\"TID_ARENA6\",\"Arena 6\",\"Arène 6\",\"Arena 6\",\"Arena 6\",\"Arena 6\",\"Arena 6\",\"Arena 6\",\"6. Arena\",\"アリーナ6\",\"아레나 6\",\"Арена 6\",\"الساحة 6\",\"Arena 6\",\"6阶竞技场\",\"6階競技場\",\"میدان نبرد 6\",\"Arena 6\",\"Arena 6\"\n\"TID_ARENA7\",\"Arena 7\",\"Arène 7\",\"Arena 7\",\"Arena 7\",\"Arena 7\",\"Arena 7\",\"Arena 7\",\"7. Arena\",\"アリーナ7\",\"아레나 7\",\"Арена 7\",\"الساحة 7\",\"Arena 7\",\"7阶竞技场\",\"7階競技場\",\"میدان نبرد 7\",\"Arena 7\",\"Arena 7\"\n\"TID_ARENA8\",\"Arena 8\",\"Arène 8\",\"Arena 8\",\"Arena 8\",\"Arena 8\",\"Arena 8\",\"Arena 8\",\"8. Arena\",\"アリーナ8\",\"아레나 8\",\"Арена 8\",\"الساحة 8\",\"Arena 8\",\"8阶竞技场\",\"8階競技場\",\"میدان نبرد 8\",\"Arena 8\",\"Arena 8\"\n\"TID_ARENA9\",\"Arena 9\",\"Arène 9\",\"Arena 9\",\"Arena 9\",\"Arena 9\",\"Arena 9\",\"Arena 9\",\"9. Arena\",\"アリーナ9\",\"아레나 9\",\"Арена 9\",\"الساحة 9\",\"Arena 9\",\"9阶竞技场\",\"9階競技場\",\"میدان نبرد 9\",\"Arena 9\",\"Arena 9\"\n\"TID_ARENA_L\",\"Arena 10\",\"Arène 10\",\"Arena 10\",\"Arena 10\",\"Arena 10\",\"Arena 10\",\"Arena 10\",\"10. Arena\",\"アリーナ10\",\"아레나 10\",\"Арена 10\",\"الساحة 10\",\"Arena 10\",\"10阶竞技场\",\"10階競技場\",\"میدان نبرد 10\",\"Arena 10\",\"Arena 10\"\n\"TID_ARENA_T\",\"Arena 11\",\"Arène 11\",\"Arena 11\",\"Arena 11\",\"Arena 11\",\"Arena 11\",\"Arena 11\",\"11. Arena\",\"アリーナ11\",\"아레나 11\",\"Арена 11\",\"الساحة 11\",\"Arena 11\",\"11阶竞技场\",\"11階競技場\",\"میدان نبرد 11\",\"Arena 11\",\"Arena 11\"\n\"TID_ARENA_L1\",\"League 1\",\"Ligue 1\",\"Liga 1\",\"Liga 1\",\"Lega 1\",\"Divisie 1\",\"Liga 1\",\"1. Lig\",\"リーグ1\",\"리그 1\",\"Лига 1\",\"الدوري 1\",\"Liga 1\",\"1级联赛\",\"1級聯盟賽\",\"لیگ 1\",\"Liga 1\",\"Liga 1\"\n\"TID_ARENA_L2\",\"League 2\",\"Ligue 2\",\"Liga 2\",\"Liga 2\",\"Lega 2\",\"Divisie 2\",\"Liga 2\",\"2. Lig\",\"リーグ2\",\"리그 2\",\"Лига 2\",\"الدوري 2\",\"Liga 2\",\"2级联赛\",\"2級聯盟賽\",\"لیگ 2\",\"Liga 2\",\"Liga 2\"\n\"TID_ARENA_L3\",\"League 3\",\"Ligue 3\",\"Liga 3\",\"Liga 3\",\"Lega 3\",\"Divisie 3\",\"Liga 3\",\"3. Lig\",\"リーグ3\",\"리그 3\",\"Лига 3\",\"الدوري 3\",\"Liga 3\",\"3级联赛\",\"3級聯盟賽\",\"لیگ 3\",\"Liga 3\",\"Liga 3\"\n\"TID_ARENA_L4\",\"League 4\",\"Ligue 4\",\"Liga 4\",\"Liga 4\",\"Lega 4\",\"Divisie 4\",\"Liga 4\",\"4. Lig\",\"リーグ4\",\"리그 4\",\"Лига 4\",\"الدوري 4\",\"Liga 4\",\"4级联赛\",\"4級聯盟賽\",\"لیگ 4\",\"Liga 4\",\"Liga 4\"\n\"TID_ARENA_L5\",\"League 5\",\"Ligue 5\",\"Liga 5\",\"Liga 5\",\"Lega 5\",\"Divisie 5\",\"Liga 5\",\"5. Lig\",\"リーグ5\",\"리그 5\",\"Лига 5\",\"الدوري 5\",\"Liga 5\",\"5级联赛\",\"5級聯盟賽\",\"لیگ 5\",\"Liga 5\",\"Liga 5\"\n\"TID_ARENA_L6\",\"League 6\",\"Ligue 6\",\"Liga 6\",\"Liga 6\",\"Lega 6\",\"Divisie 6\",\"Liga 6\",\"6. Lig\",\"リーグ6\",\"리그 6\",\"Лига 6\",\"الدوري 6\",\"Liga 6\",\"6级联赛\",\"6級聯盟賽\",\"لیگ 6\",\"Liga 6\",\"Liga 6\"\n\"TID_ARENA_L7\",\"League 7\",\"Ligue 7\",\"Liga 7\",\"Liga 7\",\"Lega 7\",\"Divisie 7\",\"Liga 7\",\"7. Lig\",\"リーグ7\",\"리그 7\",\"Лига 7\",\"الدوري 7\",\"Liga 7\",\"7级联赛\",\"7級聯盟賽\",\"لیگ 7\",\"Liga 7\",\"Liga 7\"\n\"TID_ARENA_L8\",\"League 8\",\"Ligue 8\",\"Liga 8\",\"Liga 8\",\"Lega 8\",\"Divisie 8\",\"Liga 8\",\"8. Lig\",\"リーグ8\",\"리그 8\",\"Лига 8\",\"الدوري 8\",\"Liga 8\",\"8级联赛\",\"8級聯盟賽\",\"لیگ 8\",\"Liga 8\",\"Liga 8\"\n\"TID_ARENA_L9\",\"League 9\",\"Ligue 9\",\"Liga 9\",\"Liga 9\",\"Lega 9\",\"Divisie 9\",\"Liga 9\",\"9. Lig\",\"リーグ9\",\"리그 9\",\"Лига 9\",\"الدوري 9\",\"Liga 9\",\"9级联赛\",\"9級聯盟賽\",\"لیگ 9\",\"Liga 9\",\"Liga 9\"\n\"TID_INFO_ARENA_TRAINING_CAMP\",,,,,,,,,,,,,,,,,,\n\"TID_INFO_ARENA1\",\"Goblin Stadium\",\"Gobelinarium\",\"Koboldstadion\",\"Estadio duende\",\"Stadio goblin\",\"Koboldenstadion\",\"Nissearenaen\",\"Goblin Stadyumu\",\"ゴブリンスタジアム\",\"고블린 스타디움\",\"Гоблинский стадион\",\"استاد الغيلان\",\"Estádio Goblin\",\"哥布林竞技场\",\"哥布林競技場\",\"استادیوم گابلین\",\"Gelanggang Goblin\",\"Stadium Goblin\"\n\"TID_INFO_ARENA2\",\"Bone Pit\",\"Fosse aux os\",\"Knochengrube\",\"Foso de huesos\",\"Pozzo delle ossa\",\"Knekelveld\",\"Beingropen\",\"Kemik Çukuru\",\"ボーンピット\",\"해골 구덩이\",\"Костяная яма\",\"حفرة العظام\",\"Fosso dos Ossos\",\"埋骨深渊\",\"埋骨深淵\",\"گودال استخوان\",\"Ajang Tulang\",\"Pit Tulang\"\n\"TID_INFO_ARENA3\",\"Barbarian Bowl\",\"Arène des barbares\",\"Barbarenoval\",\"Coliseo bárbaro\",\"Arena dei barbari\",\"Barbaars bekken\",\"Barbar-arenaen\",\"Barbar Çanağı\",\"バーバリアンボウル\",\"바바리안 경기장\",\"Варварская арена\",\"وعاء البربري\",\"Torneio Bárbaro\",\"野蛮人擂台\",\"野蠻人擂臺\",\"گود بربرها\",\"Medan Barbar\",\"Padang Orang Gasar\"\n\"TID_INFO_ARENA4\",\"P.E.K.K.A's Playhouse\",\"Parc P.E.K.K.Aland\",\"P.E.K.K.A.s Spielplatz\",\"Fuerte del P.E.K.K.A.\",\"Casa dei giochi di P.E.K.K.A\",\"P.E.K.K.A.-speeltuin\",\"P.E.K.K.As lekehus\",\"P.E.K.K.A'nın Oyun Evi\",\"P.E.K.K.Aシアター\",\"P.E.K.K.A의 놀이터\",\"Игровой домик П.Е.К.К.А.\",\"مسرح بيكا\",\"Parquinho da P.E.K.K.A\",\"皮卡超人乐园\",\"皮卡超人樂園\",\"محل بازی P.E.K.K.A\",\"Taman Bermain P.E.K.K.A\",\"Rumah Mainan P.E.K.K.A\"\n\"TID_INFO_ARENA5\",\"Spell Valley\",\"Vallée des sorts\",\"Zaubertal\",\"Valle de hechizos\",\"Valle degli incantesimi\",\"Spreukenvallei\",\"Formeldalen\",\"Büyü Vadisi\",\"呪文の谷\",\"마법 계곡\",\"Долина чар\",\"وادي التعويذة\",\"Vale dos Feitiços\",\"法术幽谷\",\"法術幽谷\",\"دره طلسم\",\"Lembah Mantra\",\"Lembah Sihir\"\n\"TID_INFO_ARENA6\",\"Builder's Workshop\",\"Atelier d'ouvrier\",\"Bauarbeiterwerkstatt\",\"Taller de constructor\",\"Officina del costruttore\",\"Bouwerswerkplaats\",\"Byggernes verksted\",\"İnşaatçının Atölyesi\",\"大工の作業場\",\"장인의 작업실\",\"Мастерская строителя\",\"ورشة البنّاء\",\"Oficina do Construtor\",\"建筑工人工坊\",\"建築工人工坊\",\"کارگاه سازنده\",\"Bengkel Tukang\",\"Bengkel Pembina\"\n\"TID_INFO_ARENA7\",\"Royal Arena\",\"Arène royale\",\"Königliche Arena\",\"Arena real\",\"Royal Arena\",\"Koninklijke arena\",\"Kongearenaen\",\"Kraliyet Arenası\",\"ロイヤルアリーナ\",\"로얄 아레나\",\"Королевская арена\",\"ساحة ملكية\",\"Arena Reale\",\"皇家竞技场\",\"皇家競技場\",\"میدان نبرد سلطنتی\",\"Arena Royal\",\"Arena Diraja\"\n\"TID_INFO_ARENA8\",\"Frozen Peak\",\"Sommet glacé\",\"Gefrorener Gipfel\",\"Pico helado\",\"Picco ghiacciato\",\"Bevroren bergtop\",\"Frossenfjell\",\"Donmuş Zirve\",\"フローズンピーク\",\"얼음 골짜기\",\"Ледяной пик\",\"القمة المتجمدة\",\"Pico Congelado\",\"冰封之巅\",\"冰封之巔\",\"نوک یخ‌زده\",\"Puncak Beku\",\"Puncak Beku\"\n\"TID_INFO_ARENA9\",\"Jungle Arena\",\"Arène sauvage\",\"Dschungelarena\",\"Arena selvática\",\"Arena selvaggia\",\"Jungle-arena\",\"Jungelarena\",\"Orman Arenası\",\"ジャングルアリーナ\",\"정글 아레나\",\"Арена в джунглях\",\"ساحة الغابة\",\"Arena da Selva\",\"丛林竞技场\",\"叢林競技場\",\"میدان نبرد جنگل\",\"Arena Hutan\",\"Arena Hutan\"\n\"TID_INFO_ARENA_L\",\"Hog Mountain\",\"Mont des cochons\",\"Schweineberg\",\"Montepuerco\",\"Monte cinghiale\",\"Varkensberg\",\"Villsvinfjell\",\"Domuz Dağı\",\"ホグマウンテン\",\"호그 마운틴\",\"Кабанья гора\",\"جبل الخنزير\",\"Montanha do Porco\",\"野猪山脉\",\"野豬山\",\"کوهستان خوک\",\"Pegunungan Babi\",\"Gunung Khinzir\"\n\"TID_INFO_ARENA_T\",\"Legendary Arena\",\"Arène légendaire\",\"Legendäre Arena\",\"Arena legendaria\",\"Arena leggendaria\",\"Legendarische arena\",\"Legendarisk arena\",\"Efsanevi Arena\",\"レジェンドアリーナ\",\"전설 아레나\",\"Легендарная арена\",\"ساحة أسطورية\",\"Arena Lendária\",\"传奇竞技场\",\"傳奇競技場\",\"میدان نبرد افسانه‌ای\",\"Arena Legendaris\",\"Arena Legenda\"\n\"TID_INFO_ARENA_L1\",\"Challenger I\",\"Combattant I\",\"Herausforderer I\",\"Combatientes I\",\"Sfidante I\",\"Uitdager I\",\"Utfordrer I\",\"I. Mücadeleci\",\"修羅の道I\",\"도전자 I\",\"Искатель I\",\"المتحدي I\",\"Desafiante I\",\"挑战者联赛I\",\"精英聯盟賽I\",\"چالشی I\",\"Penantang I\",\"Pencabar I\"\n\"TID_INFO_ARENA_L2\",\"Challenger II\",\"Combattant II\",\"Herausforderer II\",\"Combatientes II\",\"Sfidante II\",\"Uitdager II\",\"Utfordrer II\",\"II. Mücadeleci\",\"修羅の道II\",\"도전자 II\",\"Искатель II\",\"المتحدي II\",\"Desafiante II\",\"挑战者联赛II\",\"精英聯盟賽II\",\"چالشی II\",\"Penantang II\",\"Pencabar II\"\n\"TID_INFO_ARENA_L3\",\"Challenger III\",\"Combattant III\",\"Herausforderer III\",\"Combatientes III\",\"Sfidante III\",\"Uitdager III\",\"Utfordrer III\",\"III. Mücadeleci\",\"修羅の道III\",\"도전자 III\",\"Искатель III\",\"المتحدي III\",\"Desafiante III\",\"挑战者联赛III\",\"精英聯盟賽III\",\"چالشی III\",\"Penantang III\",\"Pencabar III\"\n\"TID_INFO_ARENA_L4\",\"Master I\",\"Maître I\",\"Meister I\",\"Maestros I\",\"Maestro I\",\"Meester I\",\"Mester I\",\"Usta I\",\"マスターI\",\"마스터 I\",\"Мастер I\",\"المحترف I\",\"Mestre I\",\"大师联赛I\",\"大師聯盟賽I\",\"حرفه‌ای I\",\"Master I\",\"Jaguh I\"\n\"TID_INFO_ARENA_L5\",\"Master II\",\"Maître II\",\"Meister II\",\"Maestros II\",\"Maestro II\",\"Meester II\",\"Mester II\",\"Usta II\",\"マスターII\",\"마스터 II\",\"Мастер II\",\"المحترف II\",\"Mestre II\",\"大师联赛II\",\"大師聯盟賽II\",\"حرفه‌ای II\",\"Master II\",\"Jaguh II\"\n\"TID_INFO_ARENA_L6\",\"Master III\",\"Maître III\",\"Meister III\",\"Maestros III\",\"Maestro III\",\"Meester III\",\"Mester III\",\"Usta III\",\"マスターIII\",\"마스터 III\",\"Мастер III\",\"المحترف III\",\"Mestre III\",\"大师联赛III\",\"大師聯盟賽III\",\"حرفه‌ای III\",\"Master III\",\"Jaguh III\"\n\"TID_INFO_ARENA_L7\",\"Champion\",\"Champion\",\"Champion\",\"Campeones\",\"Campione\",\"Kampioen\",\"Stormester\",\"Şampiyon\",\"神々への挑戦I\",\"챔피언\",\"Чемпион\",\"البطل\",\"Campeão\",\"冠军联赛\",\"冠軍聯盟賽\",\"قهرمانی\",\"Juara\",\"Juara\"\n\"TID_INFO_ARENA_L8\",\"Grand Champion\",\"Grand champion\",\"Großer Champion\",\"Grandes campeones\",\"Campione grandioso\",\"Nobele kampioen\",\"Seierherre\",\"Büyük Şampiyon\",\"神々への挑戦II\",\"그랜드 챔피언\",\"Большой чемпион\",\"البطل الكبير\",\"Grande Campeão\",\"超级冠军联赛\",\"超級冠軍聯盟賽\",\"قهرمانی بزرگ\",\"Juara Akbar\",\"Juara Besar\"\n\"TID_INFO_ARENA_L9\",\"Ultimate Champion\",\"Champion suprême\",\"Ultimativer Champion\",\"Campeones definitivos\",\"Campione definitivo\",\"Aristocratische kampioen\",\"Mesternes mester\",\"Nihai Şampiyon\",\"天界\",\"얼티밋 챔피언\",\"Абсолютный чемпион\",\"البطل المُطلق\",\"Maior Campeão\",\"终极冠军联赛\",\"終極冠軍聯盟賽\",\"قهرمانی نهایی\",\"Juara Utama\",\"Juara Mutlak\"\n\"TID_BUILDING_BARBARIAN_HUT\",\"Barbarian Hut\",\"Cabane de barbare\",\"Barbarenhütte\",\"Choza de bárbaros\",\"Capanna dei barbari\",\"Barbarenhut\",\"Barbarhytte\",\"Barbar Kulübesi\",\"バーバリアンの小屋\",\"바바리안 오두막\",\"Хижина варвара\",\"كوخ البربري\",\"Cabana de Bárbaros\",\"野蛮人小屋\",\"野蠻人小屋\",\"کلبه بربرها\",\"Pondok Barbar\",\"Pondok Gasar\"\n\"TID_BUTTON_REPLAY\",\"Watch\",\"Visionner\",\"Ansehen\",\"Ver\",\"Guarda\",\"Bekijken\",\"Se\",\"İzle\",\"みる\",\"시청\",\"Смотреть\",\"مشاهدة\",\"Assistir\",\"观看\",\"觀看\",\"تماشا\",\"Tonton\",\"Tonton\"\n\"TID_BUTTON_SHARE\",\"Share\",\"Partager\",\"Teilen\",\"Compartir\",\"Condividi\",\"Delen\",\"Del\",\"Paylaş\",\"シェア\",\"공유\",\"Поделиться\",\"مشاركة\",\"Compartilhar\",\"分享\",\"分享\",\"اشتراک‌گذاری\",\"Bagikan\",\"Kongsi\"\n\"TID_BATTLE_SPELLS_ELIXIR_AVERAGE\",\"Average Elixir cost:\",\"Élixir (coût moy.)\",\"Durchschn. Elixierkosten:\",\"Coste medio de elixir:\",\"Costo medio elisir:\",\"Gemiddelde elixirkosten:\",\"Eliksirkostnad i snitt:\",\"Ortalama İksir bedeli:\",\"エリクサーコスト平均：\",\"평균 엘릭서 비용:\",\"Средняя цена эликсира:\",\"متوسط تكلفة الإكسير:\",\"Custo médio:\",\"平均花费圣水：\",\"平均花費聖水：\",\"متوسط قیمت اکسیر:\",\"Biaya Eliksir rata-rata:\",\"Purata kos Eliksir:\"\n\"TID_NPC_1\",\"Trainer Earl\",\"Instructeur Earl\",\"Ausbilder Erhard\",\"Maestro Eloy\",\"Maestro Earl\",\"Trainer Lucas\",\"Trener Jarl\",\"Eğitimci Maho\",\"トレーナー・アール\",\"얼 교관\",\"Тренер Эрл\",\"المدرب إيرل\",\"Treinador Earl\",\"训练师艾尔\",\"訓練師艾爾\",\"ارل تمرین‌دهنده\",\"Earl Si Pelatih\",\"Jurulatih Earl\"\n\"TID_NPC_2\",\"Trainer Fikova\",\"Instructeur Fikova\",\"Ausbilder Fikova\",\"Maestro Floro\",\"Maestro Fikova\",\"Trainer Fikova\",\"Trener Fikova\",\"Eğitimci Fiko\",\"トレーナー・フィコバ\",\"피코바 교관\",\"Тренер Фикува\",\"المدرب فيكوفا\",\"Treinador Fikova\",\"训练师飞科华\",\"訓練師飛科華\",\"فیکووای تمرین‌دهنده\",\"Fikova Si Pelatih\",\"Jurulatih Fikova\"\n\"TID_NPC_3\",\"Trainer Mike\",\"Instructeur Mike\",\"Ausbilder Mike\",\"Maestro Miguel\",\"Maestro Mike\",\"Trainer Frans\",\"Trener Jon\",\"Eğitimci Memo\",\"トレーナー・マイク\",\"마이크 교관\",\"Тренер Майк\",\"المدرب مايك\",\"Treinador Mike\",\"训练师迈克\",\"訓練師麥克\",\"مایک تمرین‌دهنده\",\"Mike Si Pelatih\",\"Jurulatih Fikova\"\n\"TID_NPC_4\",\"Trainer Klaus\",\"Instructeur Klaus\",\"Ausbilder Klaus\",\"Maestro Koldo\",\"Maestro Klaus\",\"Trainer Klaus\",\"Trener Klaus\",\"Eğitimci Hans\",\"トレーナー・クラウス\",\"클라우스 교관\",\"Тренер Клаус\",\"المدرب كلاوس\",\"Treinador Klaus\",\"训练师克劳斯\",\"訓練師克勞斯\",\"کلاوس تمرین‌دهنده\",\"Klaus Si Pelatih\",\"Jurulatih Klaus\"\n\"TID_NPC_5\",\"Trainer Teemu\",\"Instructeur Teemu\",\"Ausbilder Teemu\",\"Maestro Julio\",\"Maestro Teemu\",\"Trainer Teemu\",\"Trener Trond\",\"Eğitimci Muro\",\"トレーナー・ティーム\",\"티무 교관\",\"Тренер Тииму\",\"المدرب تيمو\",\"Treinador Teemu\",\"训练师蒂穆\",\"訓練師提穆\",\"تیموی تمرین‌دهنده\",\"Teemu Si Pelatih\",\"Jurulatih Teemu\"\n\"TID_NPC_6\",\"Trainer Tim\",\"Instructeur Tim\",\"Ausbilder Tim\",\"Maestro Tomás\",\"Maestro Tim\",\"Trainer Tim\",\"Trener Tim\",\"Eğitimci Hüso\",\"トレーナー・ティム\",\"팀 교관\",\"Тренер Тим\",\"المدرب تيم\",\"Treinador Tim\",\"训练师蒂姆\",\"訓練師提姆\",\"تیم تمرین‌دهنده\",\"Tim Si Pelatih\",\"Jurulatih Tim\"\n\"TID_NPC_7\",\"Trainer Boris\",\"Instructeur Boris\",\"Ausbilder Boris\",\"Maestro Boris\",\"Maestro Boris\",\"Trainer Boris\",\"Trener Boris\",\"Eğitimci Hanzo\",\"トレーナー・ボリス\",\"보리스 교관\",\"Тренер Борис\",\"المدرب بوريس\",\"Treinador Boris\",\"训练师鲍里斯\",\"訓練師波里斯\",\"بوریس تمرین‌دهنده\",\"Boris Si Pelatih\",\"Jurulatih Boris\"\n\"TID_NPC_8\",\"Trainer Jonas\",\"Instructeur Jonas\",\"Ausbilder Jonas\",\"Maestro Juan\",\"Maestro Jonas\",\"Trainer Jonas\",\"Trener Ronny\",\"Eğitimci Haso\",\"トレーナー・ジョナス\",\"조나스 교관\",\"Тренер Джонас\",\"المدرب جوناس\",\"Treinador Jonas\",\"训练师乔纳斯\",\"訓練師喬納斯\",\"جوناس تمرین‌دهنده\",\"Jonas Si Pelatih\",\"Jurulatih Jonas\"\n\"TID_NPC_9\",\"Trainer George\",\"Instructeur George\",\"Ausbilder Schorsch\",\"Maestro Jorge\",\"Maestro George\",\"Trainer George\",\"Trener Georg\",\"Eğitimci Cano\",\"トレーナー・ジョージ\",\"조지 교관\",\"Тренер Джордж\",\"المدرب جورج\",\"Treinador George\",\"训练师乔治\",\"訓練師喬治\",\"جرج تمرین‌دهنده\",\"George Si Pelatih\",\"Jurulatih George\"\n\"TID_NPC_10\",\"Trainer James\",\"Instructeur James\",\"Ausbilder James\",\"Maestro Jaime\",\"Maestro James\",\"Trainer James\",\"Trener Henrik\",\"Eğitimci Cengo\",\"トレーナー・ジェームズ\",\"제임스 교관\",\"Тренер Джеймс\",\"المدرب جيمس\",\"Treinador James\",\"训练师詹姆斯\",\"訓練師詹姆士\",\"جیمز تمرین‌دهنده\",\"James Si Pelatih\",\"Jurulatih James\"\n\"TID_NPC_11\",\"Trainer Cheese\",\"Instructeur Fromage\",\"Ausbilder Käsi\",\"Maestro Carlos\",\"Maestro Formaggio\",\"Trainer Cheese\",\"Trener Ost\",\"Eğitimci Çeto\",\"トレーナー・チーズ\",\"치즈 교관\",\"Тренер Чиз\",\"المدرب تشيز\",\"Treinador Cheese\",\"训练师奇斯\",\"訓練師起司\",\"چیز تمرین‌دهنده\",\"Cheese Si Pelatih\",\"Jurulatih Cheese\"\n\"TID_NPC_12\",\"Trainer Urho\",\"Instructeur Urho\",\"Ausbilder Urho\",\"Maestro Hugo\",\"Maestro Urho\",\"Trainer Japie\",\"Trener Jens\",\"Eğitimci Hako\",\"トレーナー・ウルホ\",\"우르호 교관\",\"Тренер Урхо\",\"المدرب أورهو\",\"Treinador Urho\",\"训练师乌尔禾\",\"訓練師阿和\",\"اورهوی تمرین‌دهنده\",\"Urho Si Pelatih\",\"Jurulatih Urho\"\n\"TID_NPC_13\",\"Trainer Paul\",\"Instructeur Paul\",\"Ausbilder Paul\",\"Maestro Pablo\",\"Maestro Paul\",\"Trainer Paul\",\"Trener Pål\",\"Eğitimci Şero\",\"トレーナー・ポール\",\"폴 교관\",\"Тренер Пол\",\"المدرب بول\",\"Treinador Paul\",\"训练师保罗\",\"訓練師保羅\",\"پول تمرین‌دهنده\",\"Paul Si Pelatih\",\"Jurulatih Paul\"\n\"TID_NPC_14\",\"Trainer Gary\",\"Instructeur Gary\",\"Ausbilder Gary\",\"Maestro Gabri\",\"Maestro Gary\",\"Trainer Gary\",\"Trener Geir\",\"Eğitimci Zübük\",\"トレーナー・ゲイリー\",\"개리 교관\",\"Тренер Гэри\",\"المدرب غاري\",\"Treinador Gary\",\"训练师盖瑞\",\"訓練師蓋瑞\",\"گری تمرین‌دهنده\",\"Gary Si Pelatih\",\"Jurulatih Gary\"\n\"TID_NPC_15\",\"Trainer Red\",\"Instructeur Rouge\",\"Ausbilder Rott\",\"Maestro Raúl\",\"Maestro Rosso\",\"Trainer Hans\",\"Trener Røed\",\"Eğitimci Coni\",\"トレーナー・レッド\",\"레드 교관\",\"Тренер Рэд\",\"المدرب ريد\",\"Treinador Red\",\"训练师莱德\",\"訓練師瑞德\",\"رد تمرین‌دهنده\",\"Red Si Pelatih\",\"Jurulatih Red\"\n\"TID_NPC_16\",\"Trainer Oak\",\"Instructeur Chêne\",\"Ausbilder Eike\",\"Maestro Roble\",\"Maestro Quercia\",\"Trainer Wim\",\"Trener Gran\",\"Eğitimci Ökkeş\",\"トレーナー・オーク\",\"오크 교관\",\"Тренер Дуб\",\"المدرب آوك\",\"Treinador Oak\",\"训练师奥克\",\"訓練師奧克\",\"اوک تمرین‌دهنده\",\"Oak Si Pelatih\",\"Jurulatih Oak\"\n\"TID_NPC_17\",\"Trainer Brock\",\"Instructeur Pierre\",\"Ausbilder Dax\",\"Maestro Barto\",\"Maestro Brock\",\"Trainer Brian\",\"Trener Garnes\",\"Eğitimci Berfo\",\"トレーナー・ブロック\",\"브록 교관\",\"Тренер Брок\",\"المدرب بروك\",\"Treinador Brock\",\"训练师布鲁克\",\"訓練師布羅克\",\"بروک تمرین‌دهنده\",\"Brock Si Pelatih\",\"Jurulatih Brock\"\n\"TID_NPC_18\",\"Trainer Clemont\",\"Instructeur Lem\",\"Ausbilder Clement\",\"Maestro Casildo\",\"Maestro Clemont\",\"Trainer Clemont\",\"Trener Nilsen\",\"Eğitimci Herro\",\"トレーナー・クレモント\",\"클레몬트 교관\",\"Тренер Клемент\",\"المدرب كليمونت\",\"Treinador Clemont\",\"训练师克莱蒙\",\"訓練師克雷蒙\",\"کلمونت تمرین‌دهنده\",\"Clemont Si Pelatih\",\"Jurulatih Clemont\"\n\"TID_NPC_19\",\"Trainer Grumpy\",\"Instructeur Grognon\",\"Ausbilder Brummel\",\"Maestro Gregorio\",\"Maestro Musone\",\"Trainer Maxime\",\"Trener Sinnatagg\",\"Eğitimci Merro\",\"トレーナー・グランピー\",\"그럼피 교관\",\"Тренер Ворчун\",\"المدرب غرامبي\",\"Treinador Grumpy\",\"训练师哥伦皮\",\"訓練師哥倫皮\",\"گرامپی تمرین‌دهنده\",\"Grumpy Si Pelatih\",\"Jurulatih Grumpy\"\n\"TID_NPC_20\",\"Trainer Rush\",\"Instructeur Ruée\",\"Ausbilder Zack\",\"Maestro Roberto\",\"Maestro Sfreccia\",\"Trainer John\",\"Trener Bjørn\",\"Eğitimci Lololo\",\"トレーナー・ラッシュ\",\"러시 교관\",\"Тренер Раш\",\"المدرب راش\",\"Treinador Rush\",\"训练师拉什\",\"訓練師拉什\",\"راش تمرین‌دهنده\",\"Rush Si Pelatih\",\"Jurulatih Rush\"\n\"TID_NPC_21\",\"Trainer Clint\",\"Instructeur Clint\",\"Ausbilder Karl\",\"Maestro Clemente\",\"Maestro Clint\",\"Trainer Clint\",\"Trener Clint\",\"Eğitimci Clint\",\"トレーナー・クリント\",\"클린트 교관\",\"Тренер Клинт\",\"المدرب كلينت\",\"Treinador Clint\",\"训练师克林特\",\"訓練師克林特\",\"کلینت تمرین‌دهنده\",\"Clint Si Pelatih\",\"Jurulatih Clint\"\n\"TID_NPC_22\",\"Trainer Basil\",\"Instructeur Basil\",\"Ausbilder Basil\",\"Maestro Basilio\",\"Maestro Basil\",\"Trainer Basil\",\"Trener Bertil\",\"Eğitimci Basil\",\"トレーナー・バジル\",\"바질 교관\",\"Тренер Безил\",\"المدرب بازيل\",\"Treinador Basil\",\"训练师巴泽尔\",\"訓練師巴澤爾\",\"بیسیل تمرین‌دهنده\",\"Basil Si Pelatih\",\"Jurulatih Basil\"\n\"TID_NPC_23\",\"Trainer Sybil\",\"Instructeur Sybil\",\"Ausbilder Sybil\",\"Maestro Samuel\",\"Maestro Sybil\",\"Trainer Sybil\",\"Trener Lill\",\"Eğitimci Sybil\",\"トレーナー・シビル\",\"사이빌 교관\",\"Тренер Сибил\",\"المدرب سيبيل\",\"Treinador Sybil\",\"训练师西比尔\",\"訓練師希碧兒\",\"سیبیل تمرین‌دهنده\",\"Sybil Si Pelatih\",\"Jurulatih Sybil\"\n\"TID_NPC_24\",\"Trainer Dopey\",\"Instructeur Simplet\",\"Ausbilder Blödi\",\"Maestro Diego\",\"Maestro Dopey\",\"Trainer Gijs\",\"Trener Minsten\",\"Eğitimci Dopey\",\"トレーナー・ドプリー\",\"도피 교관\",\"Тренер Доупи\",\"المدرب دوبي\",\"Treinador Dopey\",\"训练师多比\",\"訓練師多比\",\"دوپی تمرین‌دهنده\",\"Dopey Si Pelatih\",\"Jurulatih Dopey\"\n\"TID_NPC_25\",\"Trainer Marty\",\"Instructeur Marty\",\"Ausbilder Martin\",\"Maestro Martín\",\"Maestro Marty\",\"Trainer Marty\",\"Trener Martin\",\"Eğitimci Marty\",\"トレーナー・マーティー\",\"마티 교관\",\"Тренер Марти\",\"المدرب مارتي\",\"Treinador Marty\",\"训练师马蒂\",\"訓練師馬蒂\",\"مارتی تمرین‌دهنده\",\"Marty Si Pelatih\",\"Jurulatih Marty\"\n\"TID_NPC_26\",\"Trainer Arnold\",\"Instructeur Arnold\",\"Ausbilder Arnold\",\"Maestro Adolfo\",\"Maestro Arnold\",\"Trainer Arnold\",\"Trener Arnold\",\"Eğitimci Arnold\",\"トレーナー・アーノルド\",\"아놀드 교관\",\"Тренер Арнольд\",\"المدرب آرنولد\",\"Treinador Arnold\",\"训练师阿诺德\",\"訓練師阿諾德\",\"آرنولد تمرین‌دهنده\",\"Arnold Si Pelatih\",\"Jurulatih Arnold\"\n\"TID_NPC_27\",\"Trainer Bashful\",\"Instructeur Timide\",\"Ausbilder Schämi\",\"Maestro Baldomero\",\"Maestro Bashful\",\"Trainer Okke\",\"Trener Blygen\",\"Eğitimci Utangaç\",\"トレーナー・バシュフル\",\"배시풀 교관\",\"Тренер Скромник\",\"المدرب باشفول\",\"Treinador Bashful\",\"训练师巴什富尔\",\"訓練師巴什富爾\",\"باشفول تمرین‌دهنده\",\"Bashful Si Pelatih\",\"Jurulatih Bashful\"\n\"TID_NPC_28\",\"Trainer Dent\",\"Instructeur Dent\",\"Ausbilder Beul\",\"Maestro Daniel\",\"Maestro Dentro\",\"Trainer Daan\",\"Trener Barsken\",\"Eğitimci Dent\",\"トレーナー・デント\",\"덴트 교관\",\"Тренер Дент\",\"المدرب دينت\",\"Treinador Dent\",\"训练师登特\",\"訓練師登特\",\"دنت تمرین‌دهنده\",\"Dent Si Pelatih\",\"Jurulatih Dent\"\n\"TID_NPC_29\",\"Trainer Marvin\",\"Instructeur Marvin\",\"Ausbilder Marvin\",\"Maestro Miguel\",\"Maestro Marvin\",\"Trainer Marvin\",\"Trainer Marvin\",\"Eğitimci Marvin\",\"トレーナー・マービン\",\"마빈 교관\",\"Тренер Марвин\",\"المدرب مارفين\",\"Treinador Marvin\",\"训练师马文\",\"訓練師馬文\",\"ماروین تمرین‌دهنده\",\"Marvin Si Pelatih\",\"Jurulatih Marvin\"\n\"TID_NPC_30\",\"Trainer Sneezy\",\"Instructeur Atchoum\",\"Ausbilder Niesi\",\"Maestro Servando\",\"Maestro Sneezy\",\"Trainer Pepijn\",\"Trener Bøyle\",\"Eğitimci Hapşuruk\",\"トレーナー・スニージー\",\"스니지 교관\",\"Тренер Зевака\",\"المدرب سنيزي\",\"Treinador Sneezy\",\"训练师斯奈斯\",\"訓練師斯奈斯\",\"اسنیزی تمرین‌دهنده\",\"Sneezy Si Pelatih\",\"Jurulatih Sneezy\"\n\"TID_NPC_31\",\"Trainer Whisker\",\"Instructeur Moustache\",\"Ausbilder Bart\",\"Maestro Ramón\",\"Maestro Whisker\",\"Trainer Whisker\",\"Trener Værhår\",\"Eğitimci Bıyık\",\"トレーナー・ウィスカー\",\"위스커 교관\",\"Тренер Вискер\",\"المدرب ويسكر\",\"Treinador Whisker\",\"训练师威斯克\",\"訓練師威斯克\",\"ویسکر تمرین‌دهنده\",\"Whisker Si Pelatih\",\"Jurulatih Whisker\"\n\"TID_NPC_32\",\"Trainer Snow\",\"Instructeur Neige\",\"Ausbilder Snow\",\"Maestro Simón\",\"Maestro Snow\",\"Trainer Snow\",\"Trener Snø\",\"Eğitimci Kar\",\"トレーナー・スノウ\",\"스노우 교관\",\"Тренер Сноу\",\"المدرب سنو\",\"Treinador Snow\",\"训练师斯诺\",\"訓練師斯諾\",\"اسنو تمرین‌دهنده\",\"Snow Si Pelatih\",\"Jurulatih Snow\"\n\"TID_NPC_33\",\"Trainer Sleepy\",\"Instructeur Dormeur\",\"Ausbilder Müdi\",\"Maestro Sebastián\",\"Maestro Sleepy\",\"Trainer Dommel\",\"Trener Søvnig\",\"Eğitimci Uykucu\",\"トレーナー・スリーピー\",\"슬리피 교관\",\"Тренер Засоня\",\"المدرب سليبي\",\"Treinador Sleepy\",\"训练师斯里派\",\"訓練師斯裡派\",\"اسلیپی تمرین‌دهنده\",\"Sleepy Si Pelatih\",\"Jurulatih Sleepy\"\n\"TID_NPC_34\",\"Trainer Freeze\",\"Instructeur Gel\",\"Ausbilder Frosti\",\"Maestro Francisco\",\"Maestro Freeze\",\"Trainer de Vries\",\"Trener Fryse\",\"Eğitimci Ayaz\",\"トレーナー・フリーズ\",\"프리즈 교관\",\"Тренер Мороз\",\"المدرب فريز\",\"Treinador Freeze\",\"训练师弗里兹\",\"訓練師弗裡茲\",\"فریز تمرین‌دهنده\",\"Freeze Si Pelatih\",\"Jurulatih Beku\"\n\"TID_NPC_35\",\"Trainer Jason\",\"Instructeur Jason\",\"Ausbilder Jason\",\"Maestro Jesús\",\"Maestro Jason\",\"Trainer Jason\",\"Trener Jason\",\"Eğitimci Jason\",\"トレーナー・ジェイソン\",\"제이슨 교관\",\"Тренер Джейсон\",\"المدرب جايسون\",\"Treinador Jason\",\"训练师杰森\",\"訓練師傑森\",\"جیسون تمرین‌دهنده\",\"Jason Si Pelatih\",\"Jurulatih Jason\"\n\"TID_NPC_36\",\"Trainer Faker\",\"Instructeur Charlatan\",\"Ausbilder Trickser\",\"Maestro Fabio\",\"Maestro Faker\",\"Trainer Gerrit\",\"Trener Jukse\",\"Eğitimci Sahtekar\",\"トレーナー・フェイカー\",\"페이커 교관\",\"Тренер Плут\",\"المدرب فايكر\",\"Treinador Faker\",\"训练师飞科尔\",\"訓練師飛科爾\",\"فیکر تمرین‌دهنده\",\"Faker Si Pelatih\",\"Jurulatih Faker\"\n\"TID_NPC_37\",\"Trainer Léon\",\"Instructeur Léon\",\"Ausbilder Léon\",\"Maestro León\",\"Maestro Léon\",\"Trainer Léon\",\"Trener Leon\",\"Eğitimci Léon\",\"トレーナー・レオン\",\"레옹 교관\",\"Тренер Леон\",\"المدرب ليون\",\"Treinador Léon\",\"训练师雷昂\",\"訓練師里昂\",\"لئون تمرین‌دهنده\",\"Léon Si Pelatih\",\"Jurulatih Léon\"\n\"TID_NPC_38\",\"Trainer Happy\",\"Instructeur Joyeux\",\"Ausbilder Glückli\",\"Maestro Hernando\",\"Maestro Happy\",\"Trainer Wessel\",\"Trener Lystig\",\"Eğitimci Mutlu\",\"トレーナー・ハッピー\",\"해피 교관\",\"Тренер Счастье\",\"المدرب هابي\",\"Treinador Happy\",\"训练师哈皮\",\"訓練師黑皮\",\"هپی تمرین‌دهنده\",\"Happy Si Pelatih\",\"Jurulatih Happy\"\n\"TID_NPC_39\",\"Trainer Louis\",\"Instructeur Louis\",\"Ausbilder Louis\",\"Maestro Luis\",\"Maestro Louis\",\"Trainer Louis\",\"Trener Luis\",\"Eğitimci Louis\",\"トレーナー・ルイス\",\"루이스 교관\",\"Тренер Луис\",\"المدرب لويس\",\"Treinador Louis\",\"训练师路易斯\",\"訓練師路易士\",\"لوئیس تمرین‌دهنده\",\"Louis Si Pelatih\",\"Jurulatih Louis\"\n\"TID_NPC_40\",\"Trainer Quincy\",\"Instructeur Quincy\",\"Ausbilder Quincy\",\"Maestro Federico\",\"Maestro Quincy\",\"Trainer Quincy\",\"Trener Knut\",\"Eğitimci Quincy\",\"トレーナー・クインシー\",\"퀸시 교관\",\"Тренер Квинси\",\"المدرب كوينسي\",\"Treinador Quincy\",\"训练师昆西\",\"訓練師昆西\",\"کوئینسی تمرین‌دهنده\",\"Quincy Si Pelatih\",\"Jurulatih Quincy\"\n\"TID_NPC_41\",\"Trainer Max\",\"Instructeur Max\",\"Ausbilder Max\",\"Maestro Max\",\"Maestro Max\",\"Trainer Max\",\"Trener Max\",\"Eğitimci Max\",\"トレーナー・マックス\",\"맥스 교관\",\"Тренер Макс\",\"المدرب ماكس\",\"Treinador Max\",\"训练师麦克斯\",\"訓練師麥克斯\",\"مکس تمرین‌دهنده\",\"Max Si Pelatih\",\"Jurulatih Max\"\n\"TID_NPC_42\",\"Trainer Titan\",\"Instructeur Titan\",\"Ausbilder Titan\",\"Maestro Titán\",\"Maestro Titano\",\"Trainer Titaan\",\"Trener Titan\",\"Eğitimci Titan\",\"トレーナー・タイタン\",\"타이탄 교관\",\"Тренер Титан\",\"المدرب تايتان\",\"Treinador Titan\",\"训练师泰坦\",\"訓練師泰坦\",\"تیتان تمرین‌دهنده\",\"Titan Si Pelatih\",\"Jurulatih Titan\"\n\"TID_NPC_43\",\"Trainer Barry\",\"Instructeur Barry\",\"Ausbilder Barry\",\"Maestro Bartolo\",\"Maestro Barry\",\"Trainer Barry\",\"Trener Bent\",\"Eğitimci Baho\",\"トレーナー・バリー\",\"배리 교관\",\"Тренер Барри\",\"المدرب باري\",\"Treinador Barry\",\"训练师巴里\",\"訓練師巴里\",\"بری تمرین‌دهنده\",\"Barry Si Pelatih\",\"Jurulatih Barry\"\n\"TID_NPC_44\",\"Trainer Rocket\",\"Instructeur Roquette\",\"Ausbilder Rocket\",\"Maestro Chupinazo\",\"Maestro Razzo\",\"Trainer Raket\",\"Trener Rakett\",\"Eğitimci Roket\",\"トレーナー・ロケット\",\"로켓 교관\",\"Тренер Ракета\",\"المدرب روكيت\",\"Treinador Rocket\",\"训练师洛奇\",\"訓練師洛奇\",\"راکت تمرین‌دهنده\",\"Rocket Si Pelatih\",\"Jurulatih Rocket\"\n\"TID_NPC_45\",\"Trainer Swiss\",\"Instructeur Suisse\",\"Ausbilder Swiss\",\"Maestro Ruperto\",\"Maestro Gruviera\",\"Trainer Otto\",\"Trener Sveits\",\"Eğitimci Fransız\",\"トレーナー・スイス\",\"스위스 교관\",\"Тренер Швейцарец\",\"المدرب سويس\",\"Treinador Swiss\",\"训练师瑞斯\",\"訓練師瑞斯\",\"سوئیس تمرین‌دهنده\",\"Swiss si Pelatih\",\"Jurulatih Swiss\"\n\"TID_NPC_46\",\"Trainer Gravy\",\"Instructeur Gravy\",\"Ausbilder Gravy\",\"Maestro Cortés\",\"Maestro Sugo\",\"Trainer Sjors\",\"Trener Saus\",\"Eğitimci Salça\",\"トレーナー・グレービー\",\"그레이비 교관\",\"Тренер Грейви\",\"المدرب غريفي\",\"Treinador Gravy\",\"训练师格拉维\",\"訓練師格瑞威\",\"گریوی تمرین‌دهنده\",\"Gravy si Pelatih\",\"Jurulatih Gravy\"\n\"TID_NPC_47\",\"Trainer Cheddar\",\"Instructeur Cheddar\",\"Ausbilder Cheddar\",\"Maestro Camacho\",\"Maestro Cheddar\",\"Trainer Cheddar\",\"Trener Cheddar\",\"Eğitimci Peynir\",\"トレーナー・チェダー\",\"체다 교관\",\"Тренер Чеддер\",\"المدرب تشيدر\",\"Treinador Cheddar\",\"训练师奇达\",\"訓練師奇達\",\"چدار تمرین‌دهنده\",\"Cheddar si Pelatih\",\"Jurulatih Cheddar\"\n\"TID_TOTAL_POINTS\",\"Clan Score\",\"Score du clan :\",\"Clanpunkte\",\"Puntos del clan\",\"Punteggio clan:\",\"Clanscore:\",\"Klanpoeng\",\"Klan Skoru:\",\"クランスコア\",\"클랜 점수\",\"Счет клана\",\"نتيجة القبيلة\",\"Pontuação do clã:\",\"部落奖杯\",\"部落獎盃\",\"امتیاز قبیله\",\"Skor Klan\",\"Skor Klan\"\n\"TID_DONATIONS\",\"Donations/week:\",\"Dons/semaine :\",\"Spenden/Woche:\",\"Donaciones/semana\",\"Donazioni/settimana:\",\"Donaties/week:\",\"Donasjoner/uke:\",\"Bağış/hafta:\",\"寄付数/週：\",\"주당 지원량\",\"Пожертвования/неделю\",\"التبرعات/الأسبوع\",\"Doações/semana:\",\"每周捐赠：\",\"每週捐贈：\",\"اهدا/هفته:\",\"Sumbangan/minggu:\",\"Derma/minggu:\"\n\"TID_GUILD_TYPE\",\"Type:\",\"Type :\",\"Typ\",\"Tipo\",\"Tipo:\",\"Type:\",\"Type:\",\"Tür:\",\"タイプ：\",\"유형\",\"Тип:\",\"النوع:\",\"Tipo:\",\"类型：\",\"類型：\",\"نوع:\",\"Tipe:\",\"Jenis:\"\n\"TID_MEMBERS\",\"Members\",\"Membres\",\"Mitglieder\",\"Miembros\",\"Membri\",\"Leden:\",\"Medlemmer\",\"Üyeler\",\"メンバー\",\"클랜원\",\"Участники\",\"الأعضاء\",\"Membros\",\"成员\",\"成員\",\"اعضاء\",\"Anggota\",\"Ahli\"\n\"TID_CARD_RARITY\",\"Rarity:\",\"Rareté :\",\"Seltenheit\",\"Calidad:\",\"Rarità:\",\"Zeldzaamheid:\",\"Forekomst:\",\"Enderlik:\",\"レア度：\",\"희귀도:\",\"Редкость:\",\"مدى الندرة\",\"Raridade:\",\"稀有度：\",\"稀有度：\",\"کمیابی\",\"Kelangkaan:\",\"Kekerapan:\"\n\"TID_CARD_TYPE\",\"Type:\",\"Type :\",\"Typ\",\"Tipo:\",\"Tipo:\",\"Type:\",\"Type:\",\"Tür:\",\"タイプ：\",\"유형:\",\"Тип:\",\"النوع\",\"Tipo:\",\"类型：\",\"類型：\",\"نوع:\",\"Tipe:\",\"Jenis:\"\n\"TID_CARD_TYPE_BUILDING\",\"Building\",\"Bâtiment\",\"Gebäude\",\"Estructura\",\"Edificio\",\"Gebouw\",\"Bygning\",\"Bina\",\"建物\",\"건물\",\"Здание\",\"المبنى\",\"Construção\",\"建筑\",\"建築\",\"ساختمون\",\"Bangunan\",\"Bangunan\"\n\"TID_CARD_TYPE_CHARACTER\",\"Troop\",\"Combattant\",\"Einheit\",\"Tropa\",\"Truppa\",\"Eenheid\",\"Tropp\",\"Birlik\",\"ユニット\",\"유닛\",\"Войска\",\"قوات\",\"Tropa\",\"军队\",\"軍隊\",\"نیرو\",\"Peleton\",\"Askar\"\n\"TID_CARD_TYPE_SPELL\",\"Spell\",\"Sort\",\"Zauber\",\"Hechizo\",\"Incantesimo\",\"Spreuk\",\"Formel\",\"Büyü\",\"呪文\",\"마법\",\"Заклинание\",\"تعويذة\",\"Feitiço\",\"法术\",\"法術\",\"طلسم\",\"Mantra\",\"Sihir\"\n\"TID_CARD_TYPE_TRAP\",\"Trap\",\"Piège\",\"Falle\",\"Trampa\",\"Trappola\",\"Val\",\"Felle\",\"Tuzak\",\"トラップ\",\"함정\",\"Ловушка\",\"فخ\",\"Armadilha\",\"陷阱\",\"陷阱\",\"دام\",\"Jebakan\",\"Perangkap\"\n\"TID_SHUTDOWN_STARTED\",\"Game is closing for a short maintenance break in 5 minutes. Battles are disabled during the break.\",\"Le jeu fermera dans 5 minutes pour cause de maintenance. Les combats seront désactivés pendant la maintenance.\",\"Das Spiel schließt in 5 Minuten für eine kurze Wartungspause. Während der Pause sind keine Kämpfe möglich.\",\"Dentro de 5 minutos, el juego se detendrá por motivos de mantenimiento. Las batallas estarán desactivadas durante la pausa.\",\"Il gioco si chiuderà per un breve intervento di manutenzione tra 5 minuti. Durante la manutenzione le battaglie non saranno possibili.\",\"Het spel zal wegens onderhoud over 5 minuten worden afgesloten. Gedurende het onderhoud zijn er geen gevechten mogelijk.\",\"Spillet lukkes for en kort vedlikeholdspause på 5 minutter. Kamper er deaktivert i pausen.\",\"Oyun kısa bir bakım için 5 dakikalığına kapanacak. Bu arada Savaş yapılamaz.\",\"5分後に短時間のメンテナンスを開始します。メンテナンス中はバトルができなくなります。\",\"5분 후에 게임이 종료되고 일시 점검이 시작됩니다. 점검 중에는 전투를 할 수 없습니다.\",\"Игра закроется на небольшой технический перерыв через 5 минут. Сражаться в этот период будет невозможно.\",\"سيتم إغلاق اللعبة لفاصل صيانة قصير خلال 5 دقائق. تُعطل المعارك أثناء الفاصل.\",\"O jogo será suspenso para manutenção em 5 minutos. As batalhas ficarão desativadas durante esse período.\",\"系统即将开始维护，游戏将在5分钟后关闭。很抱歉，在此期间无法进行对战。\",\"系統即將開始維護，遊戲將在5分鐘後關閉。很抱歉，在此期間無法進行對戰。\",\"برای یک وقفه تعمیر و نگهداری کوتاه بازی تا 5 دقیقه دیگه بسته می‌شه. در زمان تعمیر نبردها غیرفعال میشن.\",\"Game akan ditutup untuk jeda pemeliharaan singkat dalam 5 menit. Pertempuran dinonaktifkan selama jeda.\",\"Permainan ditutup untuk rehat penyelenggaraan singkat dalam 5 minit. Pertempuran dinyahdayakan sewaktu rehat.\"\n\"TID_SHUTDOWN_BATTLE_DISABLED\",\"Battles are disabled until the maintenance break is over.\",\"Les combats sont désactivés jusqu'à la fin de la maintenance.\",\"Kämpfe sind deaktiviert, bis die Wartungspause vorüber ist.\",\"Las batallas estarán desactivadas hasta que terminen las labores de mantenimiento.\",\"Le battaglie non saranno possibili fino al termine della manutenzione.\",\"Gedurende het onderhoud zijn er geen gevechten mogelijk.\",\"Kamper er deaktivert til vedlikeholdspausen er over.\",\"Bakım bitinceye kadar Savaş yapılamaz.\",\"メンテナンスが終わるまでバトルはできません。\",\"점검이 끝날 때까지 전투를 시작할 수 없습니다.\",\"Сражения отключены до завершения технического перерыва.\",\"المعارك مُعطلة حتى انتهاء فاصل الصيانة.\",\"As batalhas estão desativadas até acabar a manutenção.\",\"维护结束前不能进行对战。\",\"維護結束前不能進行對戰。\",\"نبردها غیرفعال میشن تا اینکه وقفه تعمیر و نگهداری تموم بشه.\",\"Pertempuran dinonaktifkan sampai jeda pemeliharaan selesai.\",\"Pertempuran dinyahdaya sehingga rehat penyelenggaraan tamat.\"\n\"TID_COMMON_CARD\",\"Common Card\",\"Carte commune\",\"Gewöhnliche Karte\",\"Carta común\",\"Carta comune\",\"Gewone kaart\",\"Vanlig kort\",\"Sıradan Kart\",\"ノーマルカード\",\"일반 카드\",\"Обычная карта\",\"بطاقة عادية\",\"Carta comum\",\"普通卡\",\"普通卡\",\"کارت عادی\",\"Kartu Umum\",\"Kad Biasa\"\n\"TID_RARE_CARD\",\"Rare Card\",\"Carte rare\",\"Seltene Karte\",\"Carta especial\",\"Carta rara\",\"Zeldzame kaart\",\"Sjeldent kort\",\"Ender Kart\",\"レアカード\",\"희귀 카드\",\"Редкая карта\",\"بطاقة نادرة\",\"Carta rara\",\"稀有卡\",\"稀有卡\",\"کارت کمیاب\",\"Kartu Langka\",\"Kad Jarang\"\n\"TID_EPIC_CARD\",\"Epic Card\",\"Carte épique\",\"Epische Karte\",\"Carta épica\",\"Carta epica\",\"Epische kaart\",\"Episk kort\",\"Destansı Kart\",\"スーパーレアカード\",\"영웅 카드\",\"Эпическая карта\",\"بطاقة ممتازة\",\"Carta épica\",\"史诗卡\",\"史詩卡\",\"کارت حماسی\",\"Kartu Epik\",\"Kad Epik\"\n\"TID_LEGENDARY_CARD\",\"Legendary Card\",\"Carte légendaire\",\"Legendäre Karte\",\"Carta legendaria\",\"Carta leggendaria\",\"Legendarische kaart\",\"Legendarisk kort\",\"Efsanevi Kart\",\"ウルトラレアカード\",\"전설 카드\",\"Легендарная карта\",\"بطاقة أسطورية\",\"Carta lendária\",\"传奇卡\",\"傳奇卡\",\"کارت افسانه‌ای\",\"Kartu Legendaris\",\"Kad Legenda\"\n\"TID_RESOURCE_CARD\",\"Resource Card\",\"Carte ressource\",\"Ressourcenkarte\",\"Carta de recursos\",\"Carta risorse\",\"Grondstoffenkaart\",\"Ressurskort\",\"Kaynak Kartı\",\"資源カード\",\"자원 카드\",\"Карта ресурсов\",\"بطاقة موارد\",\"Carta de recursos\",\"资源卡\",\"資源卡\",\"کارت منبع\",\"Kartu Sumber Daya\",\"Kad Sumber\"\n\"TID_YOUR_GOLD\",\"Your gold:\",\"Votre or :\",\"Dein Gold:\",\"Tu oro:\",\"Il tuo oro:\",\"Jouw goud:\",\"Ditt gull:\",\"Altının:\",\"あなたのゴールド：\",\"내 골드\",\"Твое золото:\",\"الذهب الخاص بك:\",\"Seu ouro:\",\"您的金币：\",\"您的金幣：\",\"طلای شما:\",\"Emasmu:\",\"Emas anda:\"\n\"TID_YOUR_GEMS\",\"Your gems:\",\"Vos gemmes :\",\"Deine Juwelen:\",\"Tus gemas:\",\"Le tue gemme:\",\"Jouw edelstenen:\",\"Dine juveler:\",\"Taşların:\",\"あなたのエメラルド：\",\"내 보석:\",\"Твои кристаллы:\",\"الجواهر الخاصة بك:\",\"Suas gemas:\",\"您的宝石：\",\"您的寶石：\",\"جواهرات تو:\",\"Permatamu:\",\"Permata anda:\"\n\"TID_SELECT_CARD\",\"Select Card to Request\",\"Choix d'une carte à demander\",\"Karte auswählen\",\"Selecciona la carta a pedir\",\"Seleziona la carta da richiedere\",\"Kies een kaart om te vragen\",\"Velg kortet du vil be om\",\"İstemek için Kart Seç\",\"リクエストするカードを選択\",\"요청할 카드를 선택하세요.\",\"Выбери карту для запроса\",\"اختر بطاقة ليتم استبدالها\",\"Selecione a carta a pedir\",\"选择想要的卡牌\",\"選擇想要的卡牌\",\"برای درخواست کارت انتخاب کن\",\"Pilih Kartu untuk Diminta\",\"Pilih Kad untuk Minta\"\n\"TID_CANNOT_REQUEST_YET\",\"You have to wait until you can request cards\",\"Vous devez patienter avant de pouvoir demander des cartes.\",\"Du musst warten, bis du Karten anfordern kannst.\",\"Tienes que esperar para volver a pedir cartas.\",\"Devi aspettare prima di poter richiedere carte\",\"Je moet wachten tot je om kaarten kunt vragen\",\"Du må vente til du kan be om kort\",\"Kart istemek için beklemen gerek\",\"しばらくお待ちください。\\nカードは連続でリクエストできません\",\"지금은 카드를 요청할 수 없습니다.\",\"Нужно подождать, пока сможешь отправлять запросы\",\"عليك الانتظار حتى يمكنك طلب البطاقات\",\"É preciso aguardar para pedir cartas.\",\"请您等待片刻再请求捐赠\",\"請您稍等片刻再請求捐贈\",\"باید صبر کنی تا بتونی درخواست کارت کنی\",\"Kamu harus menunggu sampai bisa meminta kartu\",\"Anda perlu menunggu sehingga anda boleh meminta kad\"\n\"TID_TOTAL_TROPHIES\",\"Clan Trophies:\",\"Trophées du clan :\",\"Clantrophäen:\",\"Trofeos del clan:\",\"Trofei del clan:\",\"Clantrofeeën:\",\"Klantrofeer:\",\"Klan Kupaları:\",\"トロフィー総合：\",\"클랜 트로피:\",\"Трофеи клана:\",\"كؤوس القبيلة\",\"Troféus do clã:\",\"部落奖杯：\",\"部落獎盃：\",\"جام‌های قبیله\",\"Trofi Klan:\",\"Trofi Klan:\"\n\"TID_TEAM_UNLOCKS\",\"Clans\",\"Clans\",\"Clans\",\"Clanes\",\"Clan\",\"Clans\",\"Klaner\",\"Klan\",\"クラン\",\"클랜\",\"Кланы\",\"قبائل\",\"Clãs\",\"部落\",\"部落\",\"قبیله‌ها\",\"Klan\",\"Klan\"\n\"TID_CREATE_A_TEAM\",\"Create or join a Clan for:\",\"Créez ou rejoignez un clan pour :\",\"Clan gründen oder beitreten für:\",\"Crea o únete a un clan para acceder:\",\"Crea o unisciti a un clan per:\",\"Richt een clan op of sluit je aan:\",\"Opprett eller bli med i en klan for å få:\",\"Klan oluşturarak/Klana katılarak erişebileceklerin:\",\"クランを作るまたは参加すると...\",\"클랜 생성 또는 가입 시 혜택:\",\"Создай или вступи в клан, где тебя ждут:\",\"إنشاء قبيلة أو الانضمام إليها من أجل:\",\"Crie ou entre para um clã para:\",\"创建或加入部落即可：\",\"創建或加入部落即可：\",\"قبیله ایجاد کن یا به یک قبیله ملحق شو تا:\",\"Buat atau bergabung dengan Klan seharga:\",\"Cipta atau sertai Klan untuk:\"\n\"TID_TEAM_PERKS\",\"Clan Chat\\nCard Requests\\nFriendly Battles\\n2v2 Battles\\nClan Chests\",\"Chat de clan\\nDemandes de cartes\\nCombats amicaux\\nCombats 2c2\\nCoffres de clan\",\"Clanchat\\nKartenanfragen\\nTestspiele\\nDuokämpfe\\nClantruhen\",\"Al chat del clan,\\na las peticiones de cartas,\\na las batallas amistosas,\\na las batallas 2c2\\ny a los cofres del clan.\",\"Chat di clan\\nRichieste di carte\\nBattaglie amichevoli\\nBattaglie 2 vs 2\\nBauli del clan\",\"Clanchat\\nOm kaarten vragen\\nVriendelijke gevechten\\n2-tegen-2-gevechten\\nClankisten\",\"Klanchat\\nForespørsler om kort\\nVennskapskamper\\n2v2-kamper\\nKlankister\",\"Klan Sohbeti\\nKart İstekleri\\nDostluk Savaşları\\n2'ye 2 Savaşlar\\nKlan Sandıkları\",\"クランチャット\\nカードリクエスト\\nフレンドバトル\\n協力バトル\\nクラン宝箱\",\"클랜 채팅\\n카드 요청\\n친선전\\n2v2 전투\\n클랜 상자\",\"Чат клана\\nЗапросы карт\\nДружеские сражения\\nБои 2 на 2\\nКлановые сундуки\",\"محادثة القبيلة\\nطلبات البطاقات\\nالمعارك الودية\\nمعارك 2 ضد 2\\nصناديق القبيلة\",\"Bate-papo do clã\\nPedidos de cartas\\nBatalhas amistosas\\nBatalhas 2v2\\nBaús do Clã\",\"与部落成员聊天\\n相互捐赠卡牌\\n展开友谊战\\n组队参与2v2对战\\n解锁部落宝箱\",\"與部落成員聊天\\n相互捐贈卡牌\\n展開友誼戰\\n組隊參與2v2對戰\\n解鎖部落寶箱\",\"چت قبیله\\nدرخواست‌های کارت\\nنبردهای دوستانه\\nنبردهای 2 در مقابل 2\\nصندوق‌های قبیله\",\"Obrolan Klan\\nPermintaan Kartu\\nPertempuran Persahabatan\\nPertempuran 2v2\\nPeti Klan\",\"Bual Klan\\nMinta Kad\\nPertempuran Persahabatan\\nPertempuran 2 lwn 2\\nPeti Klan\"\n\"TID_TEAM_PERKS_HEADER\",\"Clan Chat, Card Requests, Friendly Battles,\\n2v2 Battles, Clan Chests and more!\",\"Chat de clan, demandes de cartes, combats amicaux,\\ncombats 2c2, coffres de clan et plus encore !\",\"Clanchat, Kartenanfragen, Testspiele,\\nDuokämpfe, Clantruhen und mehr!\",\"Al chat del clan, a las peticiones de cartas, a las batallas amistosas,\\na las batallas 2c2, a los cofres del clan y más.\",\"Chat di clan, richieste di carte, battaglie amichevoli,\\nbattaglie 2 vs 2, bauli del clan e altro ancora!\",\"Clanchat, om kaarten vragen, vriendelijke gevechten,\\n2-tegen-2-gevechten, clankisten en meer!\",\"Klanchat, forespørsler om kort, vennskapskamper,\\n2v2-kamper, klankister og mer!\",\"Klan Sohbeti, Kart İstekleri, Dostluk Savaşları\\n2'ye 2 Savaşlar, Klan Sandıkları ve daha fazlası!\",\"クランチャット、カードリクエスト、フレンドバトル、\\n協力バトル、クラン宝箱などなど！\",\"클랜 채팅, 카드 요청, 친선전,\\n2v2 전투, 클랜 상자 등!\",\"Чат клана, запросы карт, дружеские сражения,\\nбои 2 на 2, клановые сундуки и многое другое!\",\"محادثة القبيلة وطلبات البطاقات والمعارك الودية\\nومعارك 2 ضد 2 وصناديق القبيلة والمزيد!\",\"Bate-papo do clã, pedidos de cartas, batalhas amistosas,\\nbatalhas 2v2, baús do clã e muito mais!\",\"与部落成员聊天，相互捐赠卡牌，展开友谊战，\\n组队参与2v2对战，解锁部落宝箱以及更多精彩内容！\",\"與部落成員聊天，相互捐贈卡牌，展開友誼戰，\\n組隊參與2v2對戰，解鎖部落寶箱以及更多精彩內容！\",\"چت قبیله، درخواست‌های کارت، نبردهای دوستانه،\\nنبردهای 2 در مقابل 2، صندوق‌های قبیله و غیره!\",\"Obrolan Klan, Permintaan Kartu, Pertempuran Persahabatan,\\nPertempuran 2v2, Peti Klan, dan lainnya!\",\"Bual Klan, Minta Kad, Pertempuran Persahabatan,\\nPertempuran 2 lwn 2, Peti Klan dan banyak lagi!\"\n\"TID_BADGE\",\"Badge\",\"Écusson :\",\"Abzeichen\",\"Emblema\",\"Decorazione\",\"Badge\",\"Merke\",\"Rozet\",\"紋章\",\"배지\",\"Символ\",\"الشارة\",\"Emblema\",\"徽章\",\"徽章\",\"نشان\",\"Lencana\",\"Lencana\"\n\"TID_DESCRIPTION\",\"Description\",\"Description :\",\"Beschreibung\",\"Descripción\",\"Descrizione\",\"Beschrijving\",\"Beskrivelse\",\"Açıklama\",\"説明\",\"설명\",\"Описание\",\"الوصف\",\"Descrição\",\"描述\",\"描述\",\"توضیح\",\"Deskripsi\",\"Perihalan\"\n\"TID_GUILD_NAME\",\"Clan Name\",\"Nom du clan :\",\"Clanname\",\"Nombre del clan\",\"Nome clan\",\"Clannaam\",\"Klannavn\",\"Klan Adı\",\"クラン名\",\"클랜 이름\",\"Название клана\",\"اسم القبيلة\",\"Nome do clã\",\"部落名称\",\"部落名稱\",\"نام قبیله\",\"Nama Klan\",\"Nama Klan\"\n\"TID_TROPHIES_TO_JOIN\",\"Required trophies:\",\"Trophées requis :\",\"Benötigte Trophäen\",\"Trofeos necesarios\",\"Trofei necessari:\",\"Vereiste trofeeën:\",\"Nødvendige trofeer:\",\"Gereken kupalar:\",\"必要なトロフィー数：\",\"트로피 조건\",\"Необходимо трофеев\",\"الكؤوس المطلوبة\",\"Troféus necessários:\",\"所需奖杯：\",\"所需獎盃：\",\"جام‌های مورد نیاز:\",\"Trofi yang diperlukan:\",\"Trofi yang diperlukan:\"\n\"TID_GUILD_LOCATION\",\"Location:\",\"Origine :\",\"Region\",\"Ubicación\",\"Posizione:\",\"Locatie:\",\"Sted:\",\"Konum:\",\"所在地：\",\"지역\",\"Расположение\",\"الموقع\",\"Localização:\",\"位置：\",\"位置：\",\"موقعیت:\",\"Lokasi:\",\"Lokasi:\"\n\"TID_MEMBER_DONATED\",\"Donated\",\"Donations\",\"Gespendet\",\"Donado:\",\"Donato\",\"Gedoneerd\",\"Donert\",\"Bağışlanan\",\"寄付\",\"지원\",\"Пожертвов.\",\"مُتبرع\",\"Doado\",\"已捐赠\",\"已捐贈\",\"اهدا شده\",\"Tersumbang\",\"Didermakan\"\n\"TID_TAB_JOINABLE\",\"Clans\",\"Clans\",\"Clans\",\"Clanes\",\"Clan\",\"Clans\",\"Klaner\",\"Klan\",\"クラン\",\"클랜\",\"Кланы\",\"قبائل\",\"Clãs\",\"部落\",\"部落\",\"قبیله‌ها\",\"Klan\",\"Klan\"\n\"TID_TAB_CREATE_ALLIANCE\",\"Create\",\"Créer\",\"Gründen\",\"Crear\",\"Crea\",\"Oprichten\",\"Opprett\",\"Oluştur\",\"作成\",\"생성\",\"Создать\",\"إنشاء\",\"Criar\",\"创建\",\"創建\",\"ایجاد\",\"Buat\",\"Cipta\"\n\"TID_TAB_CLAN_CHAT\",\"Chat\",\"Chat\",\"Chat\",\"Chat\",\"Chat\",\"Chat\",\"Chat\",\"Sohbet\",\"チャット\",\"채팅\",\"Чат\",\"محادثة\",\"Bate-papo\",\"聊天\",\"聊天\",\"چت\",\"Obrolan\",\"Bual\"\n\"TID_TAB_CLAN_SEARCH\",\"Search\",\"Rechercher\",\"Suche\",\"Buscar\",\"Cerca\",\"Zoeken\",\"Søk\",\"Ara\",\"探す\",\"검색\",\"Поиск\",\"بحث\",\"Buscar\",\"搜索\",\"搜索\",\"جستجو\",\"Cari\",\"Cari\"\n\"TID_YOU_HAVE\",\"You have:\",\"Vous avez :\",\"Du hast:\",\"Tienes:\",\"Hai:\",\"Je hebt:\",\"Du har:\",\"Sana ait:\",\"手持ち：\",\"현재 보유\",\"У тебя:\",\"لديك:\",\"Você tem:\",\"您有：\",\"您有：\",\"شما:\",\"Kamu punya:\",\"Anda mempunyai:\"\n\"TID_REQUESTING_CARDS\",\"Requesting Cards!\",\"Demande de cartes !\",\"Bittet um Karten!\",\"Pidiendo cartas...\",\"Richiesta carte!\",\"Verzoek om kaarten!\",\"Ber om kort!\",\"Kart İsteniyor!\",\"カードをリクエスト中！\",\"카드를 요청합니다!\",\"Нужны карты!\",\"يتم طلب البطاقات!\",\"Pedindo cartas!\",\"正在请求捐赠！\",\"正在請求捐贈！\",\"درخواست کارت داری!\",\"Meminta Kartu!\",\"Meminta Kad!\"\n\"TID_NEW_CARD_UNLOCKED\",\"Unlocked!\",\"Débloquée !\",\"Freigeschaltet!\",\"¡Desbloqueada!\",\"Sbloccato!\",\"Ontgrendeld!\",\"Opplåst!\",\"Açıldı!\",\"アンロック！\",\"잠금 해제!\",\"Доступно!\",\"مفتوح!\",\"Desbloqueada!\",\"已解锁新卡牌！\",\"已解鎖新卡牌！\",\"قفل باز شد!\",\"Terbuka!\",\"Dibuka kunci!\"\n\"TID_TAB_PLAYER_RANGINGS\",\"Players\",\"Joueurs\",\"Spieler\",\"Jugadores\",\"Giocatori\",\"Spelers\",\"Spillere\",\"Oyuncular\",\"プレイヤー\",\"플레이어\",\"Игроки\",\"لاعبون\",\"Jogadores\",\"玩家\",\"玩家\",\"بازیکن‌ها\",\"Pemain\",\"Pemain\"\n\"TID_TAB_ALLIANCE_RANGINGS\",\"Clans\",\"Clans\",\"Clans\",\"Clanes\",\"Clan\",\"Clans\",\"Klaner\",\"Klan\",\"クラン\",\"클랜\",\"Кланы\",\"قبائل\",\"Clãs\",\"部落\",\"部落\",\"قبیله‌ها\",\"Klan\",\"Klan\"\n\"TID_TAB_FRIEND_RANGINGS\",\"Friends\",\"Amis\",\"Freunde\",\"Amigos\",\"Amici\",\"Vrienden\",\"Venner\",\"Arkadaşlar\",\"フレンド\",\"친구\",\"Друзья\",\"أصدقاء\",\"Amigos\",\"好友\",\"好友\",\"دوستان\",\"Teman\",\"Rakan\"\n\"TID_BATTLE_CARDS\",\"Battle Deck\",\"Cartes de combat\",\"Kampfdeck\",\"Baraja bélica\",\"Mazzo da battaglia\",\"Gevechtskaarten\",\"Kampkort\",\"Savaş Destesi\",\"バトルデッキ\",\"전투 덱\",\"Боевая колода\",\"مجموعة المعركة\",\"Deck de batalha\",\"出战卡组\",\"出戰牌組\",\"دسته نبرد\",\"Dek Tempur\",\"Dek Pertempuran\"\n\"TID_KINGS_TOWER\",\"King Tower\",\"Tour du roi\",\"Königsturm\",\"Torre del rey\",\"Torre del re\",\"Koningstoren\",\"Kongetårn\",\"Kral Kulesi\",\"キングタワー\",\"킹 타워\",\"Башня короля\",\"برج الملك\",\"Torre do Rei\",\"国王塔\",\"國王塔\",\"برج پادشاه\",\"Benteng Raja\",\"Menara Raja\"\n\"TID_ARENA_TOWER\",\"Princess Towers\",\"Tours des princesses\",\"Prinzessinnentürme\",\"Torres de las princesas\",\"Torri della principessa\",\"Prinsessentorens\",\"Prinsessetårn\",\"Prenses Kuleleri\",\"プリンセスタワー\",\"프린세스 타워\",\"Башни принцесс\",\"أبراج الأميرات\",\"Torres das Princesas\",\"公主塔\",\"公主塔\",\"برج شاهزاده خانم\",\"Benteng Putri\",\"Menara Puteri\"\n\"TID_WINS\",\"Wins\",\"Victoires\",\"Siege\",\"Victorias\",\"Vittorie\",\"Gewonnen\",\"Seire\",\"Galibiyet\",\"勝利\",\"승리\",\"Победы\",\"انتصارات\",\"Vitórias\",\"胜场\",\"勝場\",\"بردها\",\"Menang\",\"Menang\"\n\"TID_LOSSES\",\"Losses\",\"Défaites\",\"Niederlagen\",\"Derrotas\",\"Sconfitte\",\"Nederlagen\",\"Tap\",\"Kaybedilenler\",\"敗北\",\"패\",\"Поражения\",\"مرات الخسارة\",\"Derrotas\",\"负场\",\"負場\",\"باخت‌ها\",\"Kalah\",\"Kalah\"\n\"TID_NEW\",\"New!\",\"Nouv.\",\"Neu!\",\"¡Nuevo!\",\"Nuovo!\",\"Nieuw!\",\"Nytt!\",\"Yeni!\",\"New!\",\"신규!\",\"Новое!\",\"جديد!\",\"Novo!\",\"新！\",\"新！\",\"جدید!\",\"Baru!\",\"Baharu!\"\n\"TID_SPELL_UPGRADE_EXP\",\"Upgrade Gives\",\"L'amélioration donne\",\"Verbesserung gewährt\",\"La mejora da\",\"Miglioramento dà\",\"Upgrade levert op\",\"Oppgraderingen gir\",\"Yükseltmenin Verdikleri:\",\"アップグレード報酬\",\"업그레이드 보상\",\"Улучшение даст\",\"منح الترقيات\",\"A melhoria dá\",\"升级后可获得\",\"升級後可獲得\",\"به‌روزرسانی همراه با\",\"Peningkatan Menghasilkan\",\"Pemberian Naik Taraf\"\n\"TID_BUTTON_DEMOTE\",\"Demote\",\"Rétrograder\",\"Degradieren\",\"Degradar\",\"Retrocedi\",\"Degraderen\",\"Degrader\",\"Rütbesini İndir\",\"降格\",\"강등\",\"Понизить\",\"تخفيض الرتبة\",\"Rebaixar\",\"降职\",\"降職\",\"نزول رتبه\",\"Turunkan\",\"Turunkan Pangkat\"\n\"TID_BUTTON_PROMOTE\",\"Promote\",\"Promouvoir\",\"Befördern\",\"Ascender\",\"Promuovi\",\"Promoveren\",\"Forfrem\",\"Terfi Ettir\",\"昇格\",\"승급\",\"Повысить\",\"ترقية\",\"Promover\",\"晋升\",\"晉升\",\"ارتقا رتبه\",\"Promosikan\",\"Naikkan Pangkat\"\n\"TID_BUTTON_KICK\",\"Kick\",\"Exclure\",\"Rauswerfen\",\"Expulsar\",\"Espelli\",\"Eruit zetten\",\"Gi sparken\",\"At\",\"追放\",\"추방\",\"Изгнать\",\"طرد\",\"Expulsar\",\"踢出\",\"踢出\",\"بیرون کردن\",\"Tendang\",\"Keluarkan\"\n\"TID_BUTTON_INVITE\",\"Invite\",\"Inviter\",\"Einladen\",\"Invitar\",\"Invita\",\"Uitnodigen\",\"Inviter\",\"Davet Et\",\"招待\",\"초대\",\"Пригласить\",\"دعوة\",\"Convidar\",\"邀请\",\"邀請\",\"دعوت کردن\",\"Undang\",\"Jemput\"\n\"TID_UNLOCKS_AT\",\"Unlocks at\",\"Déblocage\",\"Erhältlich ab\",\"Se libera en\",\"Si sblocca in\",\"Beschikbaar\",\"Låses opp på\",\"Gereken:\",\"アンロックレベル：\",\"잠금 해제\",\"Откроется на:\",\"يتم الفتح عند\",\"Liberada em\",\"解锁于\",\"解鎖於\",\"قفل باز می‌شود در\",\"Terbuka di\",\"Dibuka kunci di\"\n\"TID_LOCKED_CARD_PRESSED\",\"Can be found in <ARENA_NAME> and above\",\"Vous la trouverez à partir de : <ARENA_NAME>.\",\"Kann ab <ARENA_NAME> gefunden werden.\",\"La encontrarás en <ARENA_NAME> y superiores.\",\"Puoi trovarla nell' <ARENA_NAME> e superiori\",\"Kun je vinden in <ARENA_NAME> en hoger\",\"Du finner det i <ARENA_NAME> eller høyere\",\"<ARENA_NAME> ve üzerinde bulunabilir\",\"<ARENA_NAME>以上で入手可能\",\"<ARENA_NAME> 이상에서 찾을 수 있습니다.\",\"Доступно на «<ARENA_NAME>» или выше\",\"يمكن العثور عليها في <ARENA_NAME> وما أعلى\",\"Pode ser encontrada na <ARENA_NAME> e superior.\",\"在<ARENA_NAME>及更高级别的竞技场可收集\",\"在<ARENA_NAME>及更高級別的競技場可收集\",\"در <ARENA_NAME> و بالاتر پیدا می‌شه\",\"Dapat ditemukan di <ARENA_NAME> ke atas\",\"Boleh ditemui di <ARENA_NAME> dan melebihi\"\n\"TID_START_TRAINING_CONFIRMATION_TITLE\",\"Training Camp\",\"Camp d'entraînement\",\"Ausbildungslager\",\"Campamento de entrenamiento\",\"Campo di prova\",\"Trainingskamp\",\"Treningsleir\",\"Eğitim Kampı\",\"訓練キャンプ\",\"훈련 캠프\",\"Учебный лагерь\",\"معسكر التدريب\",\"Campo de treino\",\"训练营\",\"訓練營\",\"کمپ تمرینی\",\"Kamp Latihan\",\"Kem Latihan\"\n\"TID_START_TRAINING_CONFIRMATION_TEXT\",\"Do you want to start a training match?\\n\\nNote: You don't get chests from the Training Camp.\",\"Vous voulez commencer un combat d'entraînement ?\\n\\nRemarque : le camp d'entraînement\\nne vous octroie pas de coffres.\",\"Möchtest du einen Trainingskampf beginnen?\\n\\nHinweis: Im Ausbildungslager bekommst du keine Truhen.\",\"¿Quieres empezar una partida de entrenamiento?\\n\\nNota: No conseguirás cofres.\",\"Vuoi iniziare uno scontro di prova?\\n\\nNota: non ottieni bauli dal campo di prova.\",\"Wil je een oefengevecht starten?\\n\\nLet op: het trainingskamp levert geen kisten op.\",\"Vil du starte en treningskamp?\\n\\nObs! Du får ikke kister i treningsleiren.\",\"Eğitim maçına başlamak ister misin?\\n\\nNot: Eğitim Kampı'ndan sandık alamazsın.\",\"訓練対戦を始めますか？\\n\\n注意：勝っても宝箱は入手できません。\",\"훈련 매치를 시작하시겠습니까?\\n\\n경고: 훈련 캠프에서는 상자를 얻지 못합니다.\",\"Хочешь начать тренировочный бой?\\n\\nВнимание: в лагере ты не получишь сундуков.\",\"هل تريد بدء مباراة تدريبية؟\\n\\nملاحظة: لن تحصل على صناديق من معسكر التدريب.\",\"Quer começar uma partida de treinamento?\\n\\nNota: você não ganha baús no campo de treino.\",\"您想进行对战训练吗？\\n\\n注意：您不会从训练营获得宝箱。\",\"您想進行對戰訓練嗎？\\n\\n注意：您不會從訓練營獲得寶箱。\",\"آیا می‌خوای که یک بازی تمرینی شروع کنی؟\\n\\nنکته: از بازی توی کمپ تمرینی صندوق به دست نمیاری.\",\"Ingin memulai pertandingan latihan?\\n\\nCatatan: Kamu tidak akan mendapatkan peti dari Kamp Latihan.\",\"Anda ingin memulakan perlawanan latihan?\\n\\nNota: Anda tidak mendapat peti dari Kem Latihan.\"\n\"TID_VISITOR_TEAM\",\"Visitor\",\"Visiteur\",\"Gast\",\"Visitante\",\"Ospite\",\"Bezoeker\",\"Bortelag\",\"Konuk\",\"ビジター\",\"방문자\",\"Нападающий\",\"زائر\",\"Visitante\",\"客场\",\"客場\",\"مهمان\",\"Pengunjung\",\"Pelawat\"\n\"TID_HOME_TEAM\",\"Home\",\"Domicile\",\"Heim\",\"Local\",\"Casa\",\"Thuis\",\"Hjemmelag\",\"Ev Sahibi\",\"ホーム\",\"홈\",\"Защитник\",\"مضيف\",\"Início\",\"主场\",\"主場\",\"خانه\",\"Asal\",\"Rumah\"\n\"TID_YOU_RECEIVED_CARDS\",\"Cards Received!\",\"Cartes reçues !\",\"Karten erhalten!\",\"¡Cartas recibidas!\",\"Carte ricevute!\",\"Kaarten ontvangen!\",\"Kort mottatt!\",\"Kartlar Alındı!\",\"カードを入手！\",\"카드 받음!\",\"Получены карты!\",\"البطاقات المتلقاة!\",\"Cartas recebidas!\",\"卡牌已收到！\",\"卡牌已收到！\",\"کارت دریافت شده!\",\"Kartu Diterima!\",\"Kad Diterima!\"\n\"TID_OVERTIME\",\"Overtime\",\"Temps extra\",\"Noch:\",\"Tiempo extra\",\"Supplem.\",\"Extra tijd\",\"Overtid\",\"Uzatma\",\"延長タイム\",\"오버타임\",\"Доп. время\",\"وقت إضافي\",\"Tempo extra\",\"加时赛\",\"加時賽\",\"وقت اضافه\",\"Perpanjangan\",\"Masa Lebih\"\n\"TID_MATCH_OVER\",\"Match Over!\",\"Combat terminé !\",\"Kampf vorbei!\",\"¡Fin de la partida!\",\"Scontro terminato!\",\"Gevecht afgelopen!\",\"Kamp slutt!\",\"Maç Bitti!\",\"バトル終了！\",\"전투 종료!\",\"Конец боя!\",\"انتهت المباراة!\",\"A partida acabou!\",\"对战结束！\",\"對戰結束！\",\"بازی تمام!\",\"Pertandingan Selesai!\",\"Perlawanan Tamat!\"\n\"TID_2X_ELIXIR\",\"2x Elixir Production\",\"Production d'élixir x2\",\"Doppelte Elixierproduktion\",\"Producción de elixir x2\",\"Produzione elisir x2\",\"2 x elixirproductie\",\"2x eliksirproduksjon\",\"2 kat İksir Üretimi\",\"エリクサーの生産量x2\",\"엘릭서 생산 x2\",\"х2 к производству эликсира\",\"إنتاج إكسير 2x\",\"2X produção de elixir\",\"双倍圣水产量\",\"雙倍聖水產量\",\"تولید 2 برابر اکسیر\",\"2x Produksi Eliksir\",\"2x Pengeluaran Eliksir\"\n\"TID_GUILD_TAG\",\"Clan tag:\",\"Identifiant du clan :\",\"Clankürzel:\",\"Código del clan\",\"Tag del clan:\",\"Clantag:\",\"Klantagg:\",\"Klan etiketi:\",\"クランタグ：\",\"클랜 태그\",\"Тег клана\",\"بطاقة تعريف القبيلة:\",\"Tag do clã:\",\"部落标签：\",\"部落標籤：\",\"برچسب قبیله:\",\"Tag Klan:\",\"Tag klan:\"\n\"TID_ALLIANCE_DEMOTE_TITLE\",\"Demote\",\"Rétrograder\",\"Degradieren\",\"Degradar\",\"Retrocedi\",\"Degraderen\",\"Degrader\",\"Rütbesini İndir\",\"降格\",\"강등\",\"Понизить\",\"تخفيض الرتبة\",\"Rebaixar\",\"降职\",\"降職\",\"تنزل رتبه\",\"Turunkan\",\"Turunkan Pangkat\"\n\"TID_ALLIANCE_PROMOTE_TITLE\",\"Promote\",\"Promouvoir\",\"Befördern\",\"Ascender\",\"Promuovi\",\"Promoveren\",\"Forfrem\",\"Terfi Ettir\",\"昇格\",\"승급\",\"Повысить\",\"ترقية\",\"Promover\",\"晋升\",\"晉升\",\"ارتقا رتبه\",\"Promosikan\",\"Naikkan Pangkat\"\n\"TID_ALLIANCE_KICK_TITLE\",\"Kick\",\"Exclure\",\"Rauswerfen\",\"Expulsar\",\"Espelli\",\"Eruit zetten\",\"Gi sparken\",\"At\",\"追放\",\"추방\",\"Изгнать\",\"طرد\",\"Expulsar\",\"踢出\",\"踢出\",\"بیرون کردن\",\"Tendang\",\"Keluarkan\"\n\"TID_ALLIANCE_DEMOTE_CONFIRMATION\",\"Do you really want to demote <name> to <role>?\",\"Voulez-vous vraiment rétrograder <name> au rang de <role> ?\",\"Möchtest du <name> wirklich in die Position <role> degradieren?\",\"¿Seguro que quieres degradar a <name> a <role>?\",\"Vuoi veramente retrocedere <name> a <role>?\",\"Weet je zeker dat je <name> wilt degraderen tot <role>?\",\"Vil du virkelig degradere <name> til <role>?\",\"<name> adlı oyuncunun rütbesini <role> olarak indirmek istiyor musun?\",\"<name>を<role>に降格してよろしいですか？\",\"정말로 <name> 님을 <role> 지위로 강등시키시겠습니까?\",\"Точно хочешь понизить игрока <name> до роли <role>?\",\"هل تريد حقًا تخفيض رتبة <name> إلى <role>؟\",\"Quer mesmo rebaixar <name> a <role>?\",\"您确定将<name>降职为<role>吗？\",\"您確定將<name>降職為<role>嗎？\",\"آیا واقعاً می‌خوای <name> به <role> تنزل رتبه پیدا کنه؟\",\"Yakin ingin menurunkan <name> menjadi <role>?\",\"Anda benar-benar ingin menurunkan pangkat <name> kepada <role>?\"\n\"TID_ALLIANCE_PROMOTE_CONFIRMATION\",\"Do you really want to promote <name> to <role>?\",\"Voulez-vous vraiment promouvoir <name> au rang de <role> ?\",\"Möchtest du <name> wirklich in die Position <role> befördern?\",\"¿Seguro que quieres ascender a <name> a <role>?\",\"Vuoi veramente promuovere <name> a <role>?\",\"Weet je zeker dat je <name> wilt promoveren tot <role>?\",\"Vil du virkelig forfremme <name> til <role>?\",\"<name> adlı oyuncuyu <role> rütbesine yükseltmek istiyor musun?\",\"<name>を<role>に昇格してよろしいですか？\",\"정말로 <name> 님을 <role> 지위로 승급시키시겠습니까?\",\"Точно хочешь повысить игрока <name> до роли <role>?\",\"هل تريد حقًا ترقية <name> إلى <role>؟\",\"Quer mesmo promover <name> a <role>?\",\"您确定将<name>晋升为<role>吗？\",\"您確定將<name>晉升為<role>嗎？\",\"آیا واقعاً می‌خوای <name> به <role> ارتقا رتبه پیدا کنه؟\",\"Yakin ingin mempromosikan <name> menjadi <role>?\",\"Anda benar-benar ingin menaikkan pangkat <name> kepada <role>?\"\n\"TID_ALLIANCE_KICK_CONFIRMATION\",\"Do you really want to kick <name> out of your Clan?\",\"Voulez-vous vraiment exclure <name> de votre clan ?\",\"Möchtest du <name> wirklich aus deinem Clan werfen?\",\"¿Seguro que quieres expulsar a <name> del clan?\",\"Vuoi veramente espellere <name> dal tuo clan?\",\"Weet je zeker dat je <name> uit de clan wilt zetten?\",\"Vil du virkelig sparke <name> ut av klanen din?\",\"<name> adlı oyuncuyu Klanından atmak istediğine emin misin?\",\"<name>をクランから追放してよろしいですか？\",\"정말로 <name> 님을 클랜에서 추방하시겠습니까?\",\"Ты точно хочешь, чтобы игрок <name> покинул клан?\",\"هل ترغب حقًا في طرد <name> من قبيلتك؟\",\"Quer mesmo expulsar <name> do seu clã?\",\"您确定将<name>踢出部落吗？\",\"您確定將<name>踢出部落嗎？\",\"آیا واقعاً می‌خوای <name> رو از قبیله بیرون بندازی؟\",\"Yakin ingin menendang <name> keluar Klan?\",\"Anda benar-benar ingin mengeluarkan <name> daripada Klan anda?\"\n\"TID_ONLINE\",\"Online:\",\"En ligne :\",\"Online:\",\"En línea:\",\"Online:\",\"Online:\",\"Pålogget:\",\"Çevrimiçi:\",\"オンライン：\",\"온라인:\",\"Онлайн:\",\"عبر الإنترنت:\",\"On-line:\",\"在线：\",\"線上：\",\"آنلاین:\",\"Online:\",\"Dalam talian:\"\n\"TID_YOU_HAVE_REACHED\",\"You have reached\",\"Vous avez atteint\",\"Du hast erreicht:\",\"Has llegado a...\",\"Hai raggiunto\",\"Je bereikte\",\"Du har nådd\",\"Eriştiğin:\",\"到達：\",\"아레나 진출\",\"Тебе удалось дойти\",\"وصلت إلى\",\"Você atingiu\",\"您已进入\",\"您已進入\",\"رسیدی\",\"Kamu telah mencapai\",\"Anda telah mencapai\"\n\"TID_NEW_ARENA\",\"Your new Arena\",\"Votre nouvelle arène\",\"Deine neue Arena\",\"¡Tu nueva arena!\",\"La tua nuova arena\",\"Je nieuwe arena\",\"Din nye arena\",\"Yeni Arenan\",\"新アリーナ：\",\"신규 아레나\",\"Твоя новая арена\",\"ساحتك الجديدة\",\"Sua nova arena\",\"您的新竞技场\",\"您的新競技場\",\"میدان نبرد جدید\",\"Arena barumu\",\"Arena baharu anda\"\n\"TID_CHEST_REWARDS\",\"Chest Rewards Increased\",\"Les coffres offrent plus de récompenses.\",\"Truhenbelohnungen erhöht\",\"Aumento de recompensas en los cofres\",\"Ricompense bauli aumentate\",\"Betere kistbeloningen\",\"Kistebelønninger økt\",\"Sandık Ödülleri Arttı\",\"宝箱報酬アップ\",\"상자 보상 증가\",\"Награды сундуков увеличены\",\"زادت جوائز الصندوق\",\"As recompensas dos baús aumentaram.\",\"宝箱奖励已增加\",\"寶箱獎勵已增加\",\"پاداش صندوق بیشتر شد\",\"Hadiah Peti Bertambah\",\"Ganjaran Peti Meningkat\"\n\"TID_CARDS_TO_FIND\",\"Card unlocks:\",\"Débloque ces cartes :\",\"Freigeschaltete Karten:\",\"Cartas que desbloquea:\",\"Carte sbloccate:\",\"Kaart ontgrendeld:\",\"Kort låses opp:\",\"Kilidi açılan kartlar:\",\"アンロックされるカード：\",\"잠금 해제 카드\",\"Доступные карты:\",\"فتح البطاقات:\",\"Cartas desbloqueadas:\",\"解锁卡牌：\",\"解鎖卡牌：\",\"قفل کارت باز میشه:\",\"Kartu membuka:\",\"Kad dibuka kunci:\"\n\"TID_ARENA_CHANGE_CONFIRM_BUTTON\",\"Close\",\"Fermer\",\"Schließen\",\"Cerrar\",\"Chiudi\",\"Sluiten\",\"Lukk\",\"Kapat\",\"閉じる\",\"닫기\",\"Закрыть\",\"إغلاق\",\"Fechar\",\"关闭\",\"關閉\",\"بستن\",\"Tutup\",\"Tutup\"\n\"TID_SUDDEN_DEATH\",\"Sudden Death\",\"Mort subite\",\"Kronen-K.-o.\",\"Muerte súbita\",\"Sudden death\",\"Sudden death\",\"Sudden death\",\"Ani Ölüm\",\"サドンデス\",\"서든 데스\",\"Внезапная смерть\",\"المهلة الحاسمة\",\"Morte Súbita\",\"突然死亡模式\",\"驟死賽模式\",\"مرگ ناگهانی\",\"Fase Penentuan\",\"Kalah Mati\"\n\"TID_NEXT_STAR_WINS\",\"- Get next crown to WIN -\",\"- Obtenez une couronne pour GAGNER -\",\"- Nächste Krone für den SIEG -\",\"¡Consigue otra corona y ganarás!\",\"- Ottieni la prossima corona per VINCERE -\",\"- Krijg volgende kroon om te WINNEN -\",\"- Ta neste krone for å VINNE -\",\"- KAZANMAK için sonraki tacı kap -\",\"-次のクラウン先取で勝利！-\",\"- 승리하려면 다음 크라운을 차지하세요 -\",\"- Получи еще одну корону для ПОБЕДЫ -\",\"- احصل على التاج التالي للفوز -\",\"- A próxima coroa desempata -\",\"-再获得一颗皇冠即可赢得对战-\",\"- 再獲得一顆皇冠即可贏得對戰 -\",\"- تاج بعدی رو بگیر تا برنده بشی -\",\"- Dapatkan mahkota berikutnya untuk MENANG -\",\"- Dapatkan mahkota seterusnya untuk MENANG -\"\n\"TID_STAR_CHEST_COOLDOWN\",\"Crown Chest is available once every <NUMBER> hours\",\"Un coffre à couronne est disponible toutes les <NUMBER> heures.\",\"Kronentruhe ist alle <NUMBER> Stunden einmal verfügbar.\",\"El cofre de coronas está disponible una vez cada <NUMBER> horas.\",\"Il baule della corona è disponibile una volta ogni <NUMBER> ore\",\"De kroonkist is om de <NUMBER> uur beschikbaar\",\"Kronekisten er tilgjengelig hver <NUMBER>. time\",\"Taç Sandığı her <NUMBER> saatte bir kullanılabilir\",\"クラウン宝箱は<NUMBER>時間に1つだけ入手可能です\",\"크라운 상자는 <NUMBER>시간마다 한 번씩 사용 가능합니다.\",\"Королевский сундук доступен каждые <NUMBER> ч.\",\"صندوق التاج متاح كل <NUMBER> من الساعات\",\"O baú da coroa está disponível a cada <NUMBER> horas.\",\"每隔<NUMBER>小时可兑换一次皇冠宝箱\",\"每隔<NUMBER>小時可兌換一次皇冠寶箱\",\"صندوق تاج هر <NUMBER> ساعت در دسترس قرار می‌گیره\",\"Peti Mahkota tersedia setiap <NUMBER> jam sekali\",\"Peti Mahkota disediakan sekali setiap <NUMBER> jam\"\n\"TID_STAR_CHEST_TIP\",\"Collect <NUMBER> crowns from battles to get the Crown Chest!\",\"Récupérez <NUMBER> couronnes lors des combats pour obtenir le coffre à couronne !\",\"Sammle <NUMBER> Kronen in Kämpfen, um die Kronentruhe zu erhalten!\",\"Consigue <NUMBER> coronas en las batallas para ganar un cofre de coronas.\",\"Raccogli <NUMBER> corone dalle battaglie per ottenere il baule della corona!\",\"Verzamel <NUMBER> kronen tijdens gevechten om de kroonkist te krijgen!\",\"Samle <NUMBER> kroner i kamper for å få kronekisten!\",\"Taç Sandığını almak için savaşlardan <NUMBER> taç topla!\",\"バトルでクラウンを<NUMBER>個集めれば\\nクラウン宝箱を入手します！\",\"전투에서 크라운을 <NUMBER>개 모으면 크라운 상자를 얻을 수 있습니다!\",\"Собирай короны (<NUMBER>) в битвах, чтобы получить королевский сундук!\",\"اجمع <NUMBER> من التيجان من المعارك للحصول على صندوق التاج!\",\"Colete <NUMBER> coroas nas batalhas para ter acesso ao baú da coroa!\",\"在对战中累计获得<NUMBER>个皇冠可兑换皇冠宝箱！\",\"在對戰中累計獲得<NUMBER>個皇冠可兌換皇冠寶箱！\",\"برای گرفتن صندوق تاج <NUMBER> تاج از نبرد به دست بیار!\",\"Kumpulkan <NUMBER> mahkota dari pertempuran untuk mendapatkan Peti Mahkota!\",\"Kumpul <NUMBER> mahkota daripada pertempuran untuk mendapatkan Peti Mahkota!\"\n\"TID_FREE_CHEST_TIP\",\"Free chest can be collected once in <NUMBER> hours\",\"Vous recevrez un coffre gratuit toutes les <NUMBER> heures.\",\"Gratistruhe kann einmal in <NUMBER> Stunden gesammelt werden.\",\"Puedes recoger un cofre gratis cada <NUMBER> horas.\",\"Il baule omaggio può essere raccolto una volta ogni <NUMBER> ore\",\"Je kunt om de <NUMBER> uur een gratis kist ophalen\",\"Du kan innkassere en gratiskiste hver <NUMBER>. time\",\"Ücretsiz sandık <NUMBER> saatte bir toplanabilir\",\"おまけの宝箱は<NUMBER>時間に1つ入手可能です\",\"무료 상자는 <NUMBER>시간마다 한 번씩 사용 가능합니다.\",\"Бесплатные сундуки можно получить каждые <NUMBER> ч.\",\"يمكن جمع صناديق مجانية مرة واحدة كل <NUMBER> من الساعات\",\"Um baú grátis pode ser coletado a cada <NUMBER> horas.\",\"每隔<NUMBER>小时可获得一个免费宝箱\",\"每隔<NUMBER>小時可獲得一個免費寶箱\",\"هر <NUMBER> ساعت میشه یک صندوق رایگان به دست آورد\",\"Peti gratis dapat diambil <NUMBER> jam sekali\",\"Peti percuma boleh dikumpul sekali dalam <NUMBER> jam\"\n\"TID_BUTTON_VIEW_ALLIANCE\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Klan\",\"Klan\",\"クラン\",\"클랜\",\"Клан\",\"قبيلة\",\"Clã\",\"部落\",\"部落\",\"قبیله\",\"Klan\",\"Klan\"\n\"TID_ALLIANCE_LEFT\",\"You have left the Clan!\",\"Vous avez quitté le clan !\",\"Du hast den Clan verlassen!\",\"Has abandonado el clan.\",\"Hai abbandonato il clan!\",\"Je hebt de clan verlaten!\",\"Du har forlatt klanen!\",\"Klandan ayrıldın!\",\"クランを脱退しました！\",\"클랜을 탈퇴했습니다!\",\"Ты больше не в клане!\",\"لقد غادرت القبيلة!\",\"Você saiu do clã.\",\"您已离开该部落！\",\"您已離開該部落！\",\"تو از قبیله خارج شدی!\",\"Kamu sudah keluar Klan!\",\"Anda telah meninggalkan Klan!\"\n\"TID_ALLIANCE_KICK\",\"You have been kicked from the Clan!\",\"Vous avez été exclu(e) du clan !\",\"Du wurdest aus dem Clan geworfen!\",\"Te han expulsado del clan.\",\"Sei stato espulso dal clan!\",\"Je bent uit de clan gezet!\",\"Du har blitt sparket fra klanen!\",\"Klandan atıldın!\",\"クランから追放されました！\",\"클랜에서 추방되었습니다!\",\"Тебя выгнали из клана!\",\"تم طردك من القبيلة!\",\"Expulsaram você do clã.\",\"您被踢出了部落！\",\"您被踢出了部落！\",\"تو رو از قبیله بیرون انداختن!\",\"Kamu ditendang dari Klan!\",\"Anda telah dikeluarkan daripada Klan!\"\n\"TID_KICK_OUT_DEFAULT_REASON\",\"Sorry, we decided to kick you out of the Clan.\",\"Désolé, vous avez été exclu du clan.\",\"Tut uns leid. Wir haben uns entschieden, dich aus dem Clan zu werfen.\",\"Lo sentimos, hemos decidido expulsarte del clan.\",\"Spiacenti, abbiamo deciso di espellerti dal clan.\",\"Sorry, we hebben besloten je uit de clan te zetten.\",\"Beklager, vi har valgt å sparke deg fra klanen.\",\"Üzgünüz, seni Klandan atmaya karar verdik.\",\"残念ですが、あなたをクランから追放することが決まりました。\",\"죄송하지만 클랜에서 내보내기로 결정되었습니다.\",\"Прости, но мы решили изгнать тебя из клана.\",\"عذرًا، قررنا طردك من القبيلة.\",\"Desculpe-nos, mas decidimos expulsar você do clã.\",\"抱歉，我们决定把您踢出部落。\",\"抱歉，我們決定把您踢出部落。\",\"شرمنده، ما تصمیم گرفتیم تو رو از قبیله بیرون بندازیم.\",\"Maaf, kami memutuskan untuk menendangmu keluar dari Klan.\",\"Maaf, kami memutuskan untuk mengeluarkan anda daripada Klan.\"\n\"TID_FULL_DECK_NEEDED\",\"You need to have 8 cards in your Battle Deck! Open some chests to get them.\",\"Vous devez posséder 8 cartes de combat ! Ouvrez des coffres pour les obtenir.\",\"Du brauchst 8 Karten in deinem Kampfdeck! Öffne Truhen, um sie zu erhalten.\",\"Necesitas tener 8 cartas en tu baraja bélica. ¡Abre cofres para conseguir más!\",\"Devi avere 8 carte nel tuo mazzo da battaglia! Apri dei bauli per ottenerle.\",\"Je moet in totaal 8 gevechtskaarten hebben! Open kisten om ze te krijgen.\",\"Du må ha åtte kort i kampkortene dine. Du skaffer dem ved å åpne kister.\",\"Savaş Destende 8 kart olmalı. Kart edinmek için birkaç sandık aç.\",\"バトルデッキにはカードが8枚必要です！ 宝箱を開けてカードを手に入れましょう。\",\"전투 덱에는 카드 8장이 필요합니다! 상자를 열어서 카드를 얻으세요.\",\"У тебя должно быть 8 карт в боевой колоде! Открой сундуки, чтобы их получить.\",\"يجب أن يكون لديك 8 بطاقات في مجموعة المعركة! افتح بعض الصناديق لتحصل عليها.\",\"Você precisa de 8 cartas no seu deck de batalha! Abra alguns baús para consegui-las.\",\"您的出战卡组需要集齐8张卡牌！打开宝箱来获得卡牌吧。\",\"您的出戰牌組需要集齊8張卡牌！打開寶箱來獲得卡牌吧。\",\"باید 8 کارت داخل دست نبردت داشته باشی! چند صندوقچه باز کن تا کارت پیدا کنی.\",\"Kamu harus punya 8 kartu di Dek Tempur! Buka beberapa peti untuk mendapatkannya.\",\"Anda perlu mempunyai 8 kad dalam Dek Pertempuran! Buka beberapa peti untuk mendapatkannya.\"\n\"TID_YOU_ARE_HERE_ARENA\",\"Your Arena\",\"Votre arène\",\"Deine Arena\",\"Tu arena\",\"La tua arena\",\"Jouw arena\",\"Din arena\",\"Arenan\",\"現在のアリーナ\",\"내 아레나\",\"Твоя арена\",\"ساحتك\",\"Sua arena\",\"您的竞技场\",\"您的競技場\",\"میدان نبرد تو\",\"Arenamu\",\"Arena Anda\"\n\"TID_CLAN_JOIN_FAILED\",\"Joining the Clan failed\",\"Vous n'avez pas pu rejoindre le clan.\",\"Clanbeitritt fehlgeschlagen\",\"Error al unirse al clan.\",\"Impossibile unirsi al clan\",\"Aansluiten bij clan mislukt.\",\"Du kan ikke bli med i klanen\",\"Klana katılamadın\",\"クランに参加できませんでした\",\"클랜에 가입하지 못했습니다.\",\"Не удалось вступить в клан\",\"فشل الانضمام إلى القبيلة\",\"Falha ao entrar no clã.\",\"加入部落失败\",\"加入部落失敗\",\"پیوستن به قبیله ناموفق\",\"Gagal bergabung dengan Klan\",\"Gagal menyertai Klan\"\n\"TID_CLAN_JOIN_FAILED_FULL\",\"Clan is full\",\"Ce clan est complet.\",\"Clan ist voll\",\"¡El clan está lleno!\",\"Il clan è al completo\",\"Clan is vol\",\"Klanen er full\",\"Klan dolu\",\"クランが満員です\",\"클랜이 가득 찼습니다.\",\"Клан переполнен\",\"القبيلة ممتلئة\",\"O clã está cheio.\",\"部落已满员\",\"部落人數已滿\",\"قبیله پر هست\",\"Klan penuh\",\"Klan penuh\"\n\"TID_CLAN_JOIN_FAILED_NOT_OPEN\",\"Clan is closed\",\"Ce clan est fermé.\",\"Clan ist geschlossen\",\"¡El clan está cerrado!\",\"Il clan è chiuso\",\"Clan is besloten\",\"Klanen er lukket\",\"Klan kapalı\",\"参加不可のクランです\",\"비공개 클랜입니다.\",\"Клан закрыт\",\"القبيلة مغلقة\",\"O clã está fechado.\",\"部落已经关闭\",\"部落已經關閉\",\"قبیله بسته هست\",\"Klan tertutup\",\"Klan ditutup\"\n\"TID_CLAN_JOIN_FAILED_SCORE_TOO_LOW\",\"Your score is too low for this Clan\",\"Votre score est trop faible pour ce clan.\",\"Deine Punktzahl ist zu niedrig für diesen Clan.\",\"No tienes suficientes puntos para entrar en este clan.\",\"Il tuo punteggio è troppo basso per questo clan\",\"Je score is te laag voor deze clan.\",\"Du har for få poeng til å bli med i denne klanen\",\"Skorun bu Klan için çok düşük\",\"このクランの参加可能スコアに達していません\",\"점수가 낮아 이 클랜에 가입할 수 없습니다.\",\"Твой счет слишком мал для этого клана\",\"نتيجتك أقل من أن تنضم لهذه القبيلة\",\"Sua pontuação é muito baixa para este clã.\",\"您的奖杯数太低，无法加入该部落\",\"您的獎杯數太低，無法加入該部落\",\"امتیازت برای این قبیله خیلی پایین هست\",\"Skormu terlalu rendah untuk Klan ini\",\"Skor anda terlalu rendah untuk Klan ini\"\n\"TID_CLAN_JOIN_FAILED_BANNED\",\"You have been banned from this Clan\",\"Vous avez été exclu(e) de ce clan.\",\"Du wurdest aus diesem Clan verbannt.\",\"Se te ha vetado en este clan.\",\"Sei stato bandito da questo clan\",\"Je bent verbannen uit deze clan.\",\"Du er utestengt fra denne klanen\",\"Bu Klanda engellendin\",\"このクランへの参加を禁じられています\",\"이 클랜에서 차단되었습니다.\",\"Тебя заблокировали в этом клане\",\"تم حظرك من هذه القبيلة\",\"Expulsaram você.\",\"您被禁止加入该部落\",\"您被禁止加入這個部落\",\"از ورود به این قبیله محروم شدی\",\"Kamu sudah diblokir dari Klan ini\",\"Anda telah disekat daripada Klan ini\"\n\"TID_CLAN_JOIN_FAILED_TARGET_ALREADY_IN_CLAN\",\"Player is already in Clan\",\"Ce joueur fait déjà partie d'un clan.\",\"Spieler ist bereits im Clan.\",\"Este jugador ya está en un clan.\",\"Il giocatore fa già parte di un clan\",\"Speler is al lid van een clan.\",\"Spilleren er allerede med i klanen\",\"Oyuncu zaten bir Klanda\",\"このプレイヤーはすでにクランに参加しています\",\"이미 클랜에 가입한 플레이어입니다.\",\"Игрок уже в клане\",\"اللاعب منضم لقبيلة بالفعل\",\"O jogador já está em um clã.\",\"玩家已经加入其他部落了\",\"玩家已經加入其他部落了\",\"بازیکن قبلا عضو قبیله شده\",\"Pemain sudah masuk Klan\",\"Pemain sudah berada dalam Klan\"\n\"TID_UPGRADE_AVAILABLE\",\"Upgrade Available!\",\"Amélioration !\",\"Verbesserung verfügb.!\",\"¡Mejora disponible!\",\"Migliorabile!\",\"Upgrade beschikbaar!\",\"Oppgradering tilgjengelig!\",\"Yükseltme Mevcut!\",\"アップグレード可能！\",\"업그레이드 가능!\",\"Доступно улучшение\",\"ترقية متاحة!\",\"Melhoria disponível!\",\"可以升级了！\",\"可以升級了！\",\"به‌روزرسانی در دسترس هست!\",\"Peningkatan Tersedia!\",\"Naik Taraf Tersedia!\"\n\"TID_UPGRADE_NOT_ENOUGH_GOLD\",\"Not enough gold!\",\"Pas assez d'or !\",\"Nicht genug Gold!\",\"Oro insuficiente\",\"Oro insufficiente!\",\"Niet genoeg goud!\",\"Ikke nok gull!\",\"Yeterli altın yok!\",\"ゴールドが足りません\",\"골드가 부족합니다!\",\"Нужно больше золота!\",\"لا يوجد ذهب كاف!\",\"Ouro insuficiente!\",\"金币不足！\",\"金幣不足！\",\"طلا کافی نیست!\",\"Emas tidak cukup!\",\"Tidak cukup emas!\"\n\"TID_NEXT_IN\",\"Next in:\",\"Suivant dans :\",\"Nächste in:\",\"Siguiente:\",\"Prossimo tra:\",\"Volgende over:\",\"Neste om:\",\"Sonrakine:\",\"次の入手まで：\",\"다음:\",\"Доступен через:\",\"التالي خلال:\",\"Próximo em:\",\"等待时间：\",\"等待時間：\",\"بعدی در:\",\"Berikutnya dalam:\",\"Seterusnya dalam:\"\n\"TID_DONATION_COOLDOWN\",\"Donation cooldown:\",\"Délai d'attente :\",\"Spendenabklingzeit:\",\"Tiempo de espera:\",\"Ricarica donazioni:\",\"Afkoeltijd donatie:\",\"Ventetid før neste donasjon:\",\"Bağış bekleme süresi:\",\"寄付可能な間隔：\",\"지원 대기 시간:\",\"Время перезарядки пожертвований:\",\"فترة هدوء التبرع:\",\"Tempo de espera de doação:\",\"捐赠冷却：\",\"捐贈冷卻：\",\"خنک شدن اهدا:\",\"Masa tenang sumbangan:\",\"Masa menunggu untuk menderma:\"\n\"TID_CHAT_BOTTOM_BUTTON\",\"Scroll down\",\"Faire défiler\",\"Nach unten scrollen\",\"Bajar\",\"Scorri in basso\",\"Omlaag bladeren\",\"Bla ned\",\"Aşağı in\",\"下へスクロール\",\"스크롤 내리기\",\"Прокрути вниз\",\"تمرير للأسفل\",\"Rolar para baixo\",\"向下滑动\",\"向下滑動\",\"پیمایش به پایین\",\"Gulir ke bawah\",\"Tatal ke bawah\"\n\"TID_CHAT_BOTTOM_NEW_MESSAGES\",\"<count> new messages!\",\"<count> nouveaux messages !\",\"<count> neue Nachrichten!\",\"¡<count> mensajes nuevos!\",\"<count> nuovi messaggi!\",\"<count> nieuwe berichten!\",\"<count> nye meldinger!\",\"<count> yeni mesaj!\",\"<count>件の新着メッセージがあります！\",\"새 메시지 <count>개!\",\"Новых сообщений: <count>!\",\"<count> من الرسائل الجديدة!\",\"<count> mensagens novas!\",\"<count>条新消息！\",\"<count>條新消息！\",\"<count> پیام جدید!\",\"<count> pesan baru!\",\"<count> mesej baharu!\"\n\"TID_CHAT_BOTTOM_NEW_MESSAGE\",\"New message!\",\"Nouveau message !\",\"Neue Nachricht!\",\"¡Nuevo mensaje!\",\"Nuovo messaggio!\",\"Nieuw bericht!\",\"Ny melding!\",\"Yeni mesaj!\",\"新着メッセージあり！\",\"새 메시지!\",\"Новые сообщения!\",\"رسالة جديدة!\",\"Nova mensagem!\",\"新消息！\",\"新消息！\",\"پیام جدید!\",\"Pesan baru!\",\"Mesej baharu!\"\n\"TID_TO_OPEN\",\"To open:\",\"Pour ouvrir :\",\"Zum Öffnen:\",\"Necesitas:\",\"Per aprire:\",\"Om te openen:\",\"Du kan åpne:\",\"Açmak için:\",\"開放まで：\",\"모은 수\",\"Чтобы открыть:\",\"للفتح:\",\"Para abrir:\",\"打开需集齐：\",\"打開需集齊：\",\"برای باز کردن:\",\"Untuk membuka:\",\"Untuk membuka:\"\n\"TID_STAR_CHEST\",\"Crown Chest\",\"Coffre à couronne\",\"Kronentruhe\",\"Cofre de coronas\",\"Baule della corona\",\"Kroonkist\",\"Kronekiste\",\"Taç Sandığı\",\"クラウン宝箱\",\"크라운 상자\",\"Королевский сундук\",\"صندوق التاج\",\"Baú da coroa\",\"皇冠宝箱\",\"皇冠寶箱\",\"صندوق تاج\",\"Peti Mahkota\",\"Peti Mahkota\"\n\"TID_FREE_CHEST\",\"Free Chest\",\"Coffre gratuit\",\"Gratistruhe\",\"Cofre gratis\",\"Baule omaggio\",\"Gratis kist\",\"Gratiskiste\",\"Ücretsiz Sandık\",\"おまけの宝箱\",\"무료 상자\",\"Бесплатный сундук\",\"صندوق مجاني\",\"Baú grátis\",\"免费宝箱\",\"免費寶箱\",\"صندوق رایگان\",\"Peti Gratis\",\"Peti Percuma\"\n\"TID_TITLE_PLAYER_PROFILE\",\"Player Profile\",\"Profil de joueur\",\"Spielerprofil\",\"Perfil del jugador\",\"Profilo giocatore\",\"Spelersprofiel\",\"Spillerprofil\",\"Oyuncu Profili\",\"プレイヤープロフィール\",\"플레이어 프로필\",\"Профиль игрока\",\"الملف الشخصي للاعب\",\"Perfil do jogador\",\"玩家简介\",\"玩家簡介\",\"پروفایل بازیکن\",\"Profil Pemain\",\"Profil Pemain\"\n\"TID_TITLE_ALLIANCE\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Clan\",\"Klan\",\"Klan\",\"クラン\",\"클랜\",\"Клан\",\"قبيلة\",\"Clã\",\"部落\",\"部落\",\"قبیله\",\"Klan\",\"Klan\"\n\"TID_SPELL_MIRROR\",\"Mirror\",\"Miroir\",\"Spiegel\",\"Espejo\",\"Specchio\",\"Spiegel\",\"Speil\",\"Ayna\",\"鏡\",\"반사경\",\"Зеркало\",\"مرآة\",\"Espelho\",\"镜像法术\",\"鏡像法術\",\"آینه\",\"Cermin\",\"Cermin\"\n\"TID_SPELL_INFO_MIRROR\",\"Mirrors your last card played for +1 Elixir.\",\"Reproduit la dernière carte jouée pour +1 élixir.\",\"Spiegelt deine letzte gespielte Karte für +1 Elixier.\",\"Duplica la última carta jugada por 1 unidad de elixir.\",\"Copia la tua ultima carta giocata per +1 elisir.\",\"Spiegelt de laatste kaart die je hebt gespeeld voor +1 elixir.\",\"Speiler det forrige kortet du spilte, for +1 eliksir.\",\"+1 İksir karşılığında son oynadığın kartın aynısını oynar.\",\"最後に出したカードを複製します。\\nエリクサー消費は+1増加します。\",\"엘릭서를 추가로 1만큼 사용해 마지막으로 사용한 카드를 복제합니다.\",\"Копирует последнюю сыгранную карту за +1 каплю эликсира.\",\"تعكس آخر بطاقة لعبتها مقابل +1 إكسير.\",\"Reproduz a última carta jogada por +1 gota de elixir.\",\"花额外1滴圣水复制您用的上一张牌。\",\"花額外1點聖水複製您用的上一張牌。\",\"آخرین کاری که با +1 اکسیر بازی کردی رو منعکس می‌کنه.\",\"Cerminkan kartu terakhir yang dimainkan seharga +1 Eliksir.\",\"Menggambarkan kad terakhir anda yang dimainkan untuk +1 Eliksir.\"\n\"TID_TAP_TO_OPEN\",\"Tap to open\",\"Touchez pour ouvrir\",\"Zum Öffnen tippen\",\"Toca para abrir\",\"Tocca per aprire\",\"Tik om te openen\",\"Trykk for å åpne\",\"Açmak için dokun\",\"タップで開く\",\"탭해서 열기\",\"Коснись, чтобы открыть\",\"انقر للفتح\",\"Toque para abrir\",\"点击打开\",\"點擊打開\",\"برای باز کردن ضربه بزن\",\"Ketuk untuk membuka\",\"Ketik untuk buka\"\n\"TID_TRAINING_CAMP_CHESTS_FULL\",\"Chest Slots Full! Open a chest to enter the battle!\",\"Les emplacements pour coffres sont tous occupés ! Ouvrez un coffre pour combattre !\",\"Truhenplätze voll! Öffne eine Truhe, um am Kampf teilzunehmen!\",\"¡Huecos para cofre llenos! Abre un cofre para participar en la batalla.\",\"Slot bauli pieni! Apri un baule per entrare in battaglia!\",\"Kistvakken vol! Open een kist om het gevecht te beginnen!\",\"Ingen flere kisteplasser! Åpne en kiste for å bli med i kampen!\",\"Sandık Bölmeleri Dolu! Savaşa girmek için bir sandık aç!\",\"宝箱スロットがいっぱいです！\\nバトルを始める前に宝箱を開けましょう！\",\"상자 슬롯이 가득 찼습니다! 전투를 하려면 상자를 여세요!\",\"Места для сундуков больше нет! Открой сундук, чтобы начать бой!\",\"مواضع الصندوق ممتلئة! افتح صندوقًا لتدخل المعركة!\",\"O espaço para baús está cheio! Abra um baú para entrar na batalha!\",\"宝箱位已满！先打开一个宝箱再开始对战吧！\",\"寶箱位已滿！先打開一個寶箱再開始對戰吧！\",\"ردیف‌های صندوق پر هستن! روی یک صندوق ضربه بزن تا وارد نبرد بشی!\",\"Slot Peti Penuh! Buka peti untuk memasuki pertempuran!\",\"Slot Peti Penuh! Buka peti untuk memasuki pertempuran!\"\n\"TID_NPC1_TAUNT_START\",\"Try to beat me!\",\"Essayez de me battre !\",\"Versuch´s doch!\",\"¡Intenta vencerme!\",\"Cerca di battermi!\",\"Probeer me te verslaan!\",\"Prøv å slå meg!\",\"Beni yenmeyi dene!\",\"この私に勝てるかな？\",\"날 이겨보시지!\",\"Попробуй меня одолеть!\",\"حاول هزيمتي!\",\"Tente me derrotar!\",\"让我见识下你的实力！\",\"讓我見識下你的實力！\",\"سعی کن شکستم بدی!\",\"Coba kalahkan aku!\",\"Cuba kalahkan saya!\"\n\"TID_NPC1_TAUNT_TOWER\",\"Well played!\",\"Bien joué !\",\"Nicht schlecht!\",\"¡Bien jugado!\",\"Bella giocata!\",\"Goed gespeeld!\",\"Bra spilt!\",\"Bravo!\",\"なかなかやるな！\",\"잘하는군!\",\"Отличная игра!\",\"أحسنت!\",\"Muito bem!\",\"打得不错！\",\"打得不錯！\",\"خوب بازی کردی!\",\"Permainan cantik!\",\"Cemerlang!\"\n\"TID_NPC1_TAUNT_DEPLOY\",\"Deploy your troops!\",\"Déployez vos combattants !\",\"Entsende deine Einheiten!\",\"¡Despliega a tus tropas!\",\"Schiera le tue truppe!\",\"Zet je eenheden in!\",\"Utplasser troppene dine!\",\"Birliklerini mevzilendir!\",\"ユニットを出撃させるのだ！\",\"유닛을 배치해!\",\"Выпускай войска!\",\"انشر قواتك!\",\"Mobilize suas tropas!\",\"放马过来吧！\",\"放馬過來吧！\",\"نیروهات رو مستقر کن!\",\"Kerahkan peletonmu!\",\"Kerahkan askar kamu!\"\n\"TID_NPC1_TAUNT_ATTACK\",\"Oh no, my tower! Take this!\",\"Oh non, ma tour ! Prenez ça !\",\"Oh nein, mein Turm! Nimm das!\",\"¡Mi torre no! ¡Ahora verás!\",\"Oh no, la mia torre! Prendi questo!\",\"O nee, mijn toren! Pak aan!\",\"Å nei, tårnet mitt! Ta denne!\",\"Eyvah, kulem! Al sana!\",\"ワタシのタワーが！ ぐぬぬ！\",\"안 돼! 내 탑이! 이거나 먹어라!\",\"О нет! Моя башня! Получай!\",\"لا، برجي! خذ هذا!\",\"Ah, não, minha torre! Toma essa!\",\"太可恶了，让你尝尝我的厉害！\",\"太可惡了，讓你嘗嘗我的厲害！\",\"وای نه، برجم! حالا اینو بگیر!\",\"Oh tidak, bentengku! Rasakan ini!\",\"Oh tidak, menaraku! Ambil ni!\"\n\"TID_NPC2_TAUNT_START\",\"Show me what you've got!\",\"Voyons de quoi vous êtes capable !\",\"Zeig mir, was du drauf hast!\",\"¡Demuestra lo que vales!\",\"Fammi vedere cosa sai fare!\",\"Laat zien wat je in huis hebt!\",\"Vis meg hva du har!\",\"Bana gücünü göster!\",\"お手並み拝見といこうか...\",\"어디 실력 좀 볼까!\",\"Это все, что ты можешь?\",\"أرني ما لديك!\",\"Mostre do que é capaz!\",\"出招吧！\",\"出招吧！\",\"نشون بده ببینم چی بلدی!\",\"Tunjukkan kemampuanmu!\",\"Tunjukkan saya kekuatan kamu!\"\n\"TID_NPC2_TAUNT_TOWER\",\"You're learning fast!\",\"Vous apprenez vite !\",\"Du lernst schnell!\",\"¡Aprendes rápido!\",\"Impari in fretta!\",\"Je leert snel!\",\"Du lærer raskt!\",\"Hızlı öğreniyorsun!\",\"おぼえが早いな！\",\"빨리 배우는군!\",\"А ты быстро учишься!\",\"أنت تتعلم بسرعة!\",\"Você aprende rápido!\",\"你学得很快嘛！\",\"你學得很快嘛！\",\"سریع یاد می‌گیری!\",\"Kamu cepat mahir!\",\"Kamu belajar dengan cepat!\"\n\"TID_NPC3_TAUNT_START\",\"Good luck!\",\"Bonne chance !\",\"Viel Glück!\",\"¡Buena suerte!\",\"Buona fortuna!\",\"Veel succes!\",\"Lykke til!\",\"Bol şans!\",\"健闘を祈る！\",\"행운을 빌지!\",\"Удачи!\",\"حظًا موفقًا!\",\"Boa sorte!\",\"祝你好运！\",\"祝你好運！\",\"موفق باشی!\",\"Semoga sukses!\",\"Semoga berjaya!\"\n\"TID_NPC3_TAUNT_TOWER\",\"Good job!\",\"Bon boulot !\",\"Gut gemacht!\",\"¡Buen trabajo!\",\"Bel lavoro!\",\"Goed gedaan!\",\"Bra jobbet!\",\"Aferin!\",\"さすがだな！\",\"훌륭해!\",\"Молодчина!\",\"أحسنت!\",\"Boa jogada!\",\"干得漂亮！\",\"幹得漂亮！\",\"کارت خوب بود!\",\"Kerja bagus!\",\"Syabas!\"\n\"TID_NPC4_TAUNT_START\",\"Good luck!\",\"Bonne chance !\",\"Viel Glück!\",\"¡Buena suerte!\",\"Buona fortuna!\",\"Veel succes!\",\"Lykke til!\",\"Bol şans!\",\"健闘を祈る！\",\"행운을 빌지!\",\"Удачи!\",\"حظًا موفقًا!\",\"Boa sorte!\",\"祝你好运！\",\"祝你好運！\",\"موفق باشی!\",\"Semoga sukses!\",\"Semoga berjaya!\"\n\"TID_NPC4_TAUNT_TOWER\",\"Well done!\",\"Bravo !\",\"Prima!\",\"¡Bien hecho!\",\"Ottimo lavoro!\",\"Prima!\",\"Bra gjort!\",\"İşte bu!\",\"やるな！\",\"잘했어!\",\"Отлично!\",\"أحسنت!\",\"Muito bem!\",\"你挺厉害嘛！\",\"你挺厲害嘛！\",\"آفرین!\",\"Bagus!\",\"Bagus!\"\n\"TID_NPC16_TAUNT_START\",\"Welcome to the show!\",\"Que la fête commence !\",\"Willkommen bei der Show!\",\"¡Que empiece el espectáculo!\",\"Benvenuto allo show!\",\"Welkom bij het spektakel!\",\"Velkommen til showet!\",\"Gösteriye hoş geldin!\",\"ショーの始まりだ！\",\"쇼에 온 걸 환영한다!\",\"Шоу начинается!\",\"مرحبًا بك في العرض!\",\"Este é o meu show!\",\"好戏开始喽！\",\"好戲開始囉！\",\"به نمایش خوش اومدی!\",\"Selamat datang di laga!\",\"Selamat datang ke pertunjukan!\"\n\"TID_ALLIANCE_UNLOCK_LEVEL\",\"Complete training to unlock\",\"À débloquer au niveau <number>\",\"Wird auf Level <number> freigeschaltet.\",\"Se desbloquean en el nivel <number>.\",\"Si sblocca al livello <number>\",\"Ontgrendelt op level <number>\",\"Låses opp på nivå <number>\",\"<number>. Seviyede kilidi açılır\",\"レベル<number>でアンロック\",\"<number>레벨에서 해제됩니다.\",\"Откроется на уровне <number>\",\"يُفتح عند المستوى <number>\",\"Desbloqueados no nível <number>\",\"在<number>级解锁\",\"在<number>級解鎖\",\"توی سطح <number> باز میشه\",\"Terbuka di level <number>\",\"Dibuka kunci pada tahap <number>\"\n\"TID_TOURNAMENT_UNLOCK_LEVEL\",\"Unlocks at level <number>\",\"À débloquer au niveau <number>\",\"Wird ab Level <number> freigeschaltet.\",\"Se desbloquean en el nivel <number>.\",\"Si sblocca al livello <number>\",\"Ontgrendelen op level <number>\",\"Låses opp på nivå <number>\",\"Kilidi <number>. seviyede açılır\",\"レベル<number>でアンロック\",\"<number>레벨에서 해제\",\"Откроется на уровне <number>\",\"تُفتح في المستوى <number>\",\"Desbloqueados no nível <number>\",\"在<number>级解锁\",\"在<number>級解鎖\",\"توی سطح <number> باز میشه\",\"Terbuka di level <number>\",\"Dibuka kunci pada tahap <number>\"\n\"TID_TRAINING_PROGRESS\",\"Training Progress\",\"Progression de l'entraînement\",\"Ausbildungsfortschritt\",\"Progreso de entrenamiento\",\"Progressi addestramento\",\"Voortgang training\",\"Treningsprogresjon\",\"Eğitim Süreci\",\"訓練の進行状況\",\"훈련 진행도\",\"Закончи тренировку\",\"التقدم في التدريب\",\"Progresso do treinamento\",\"训练进度\",\"訓練進度\",\"پیشرفت تمرین\",\"Kemajuan Latihan\",\"Perkembangan Latihan\"\n\"TID_UNLOCK_BATTLE\",\"to unlock multiplayer battles\",\"pour débloquer les combats multijoueurs\",\"um Mehrspielerkämpfe freizuschalten\",\"para desbloquear batallas multijugador.\",\"per sbloccare battaglie multigiocatore\",\"om multiplayergevechten te ontgrendelen\",\"for å låse opp flerspillerkamper\",\"çok oyunculu savaşların kilidini aç\",\"マルチプレイのアンロックまで\",\"멀티플레이 해제까지\",\"чтобы открыть мультиплеер сражения\",\"لفتح معارك متعددة اللاعبين\",\"para desbloquear batalhas multijogador.\",\"解锁联机对战模式\",\"解鎖連線對戰模式\",\"برای باز کردن نبردهای چندنفره\",\"untuk membuka pertempuran multipemain\",\"untuk membuka kunci pertempuran berbilang pemain\"\n\"TID_MANA_UNKNOWN\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"?\",\"؟\",\"?\",\"?\",\"?\",\"؟\",\"?\",\"?\"\n\"TID_BUTTON_SEARCH\",\"Search\",\"Chercher\",\"Suche\",\"Buscar\",\"Cerca\",\"Zoeken\",\"Søk\",\"Ara\",\"探す\",\"검색\",\"Поиск\",\"بحث\",\"Buscar\",\"搜索\",\"搜尋\",\"جستجو\",\"Cari\",\"Cari\"\n\"TID_TYPE_TEAM\",\"Type Clan name or Clan tag\",\"Entrez le nom ou l'identifiant du clan\",\"Clannamen oder Clankürzel eingeben\",\"Escribe el nombre del clan o su código.\",\"Digita il nome o il tag del clan\",\"Typ clannaam of clantag.\",\"Skriv inn klannavn eller klantagg\",\"Klan adını veya Klan etiketini gir\",\"クラン名またはクランタグを入力してください\",\"클랜 이름 또는 클랜 태그를 입력\",\"Введи тег или название клана\",\"اكتب اسم القبيلة أو شعار القبيلة\",\"Digite o nome ou a tag do clã.\",\"输入部落名称或部落标签\",\"輸入部落名稱或部落標籤\",\"اسم یا برچسب قبیله رو تایپ کن\",\"Ketik nama Klan atau tag Klan\",\"Taipkan nama Klan atau tag Klan\"\n\"TID_ADVANCE_SEARCH\",\"Advanced search\",\"Recherche avancée\",\"Erweiterte Suche\",\"Búsqueda avanzada\",\"Ricerca avanzata\",\"Geavanceerd zoeken\",\"Avansert søk\",\"Gelişmiş arama\",\"詳細検索\",\"고급 검색\",\"Улучшенный поиск\",\"بحث متقدم\",\"Pesquisa avançada\",\"高级搜索\",\"進階搜尋\",\"جستجوی پیشرفته\",\"Pencarian lanjutan\",\"Carian lanjutan\"\n\"TID_ADVANCE_SEARCH_OPTIONS\",\"Advanced search options\",\"Options de recherche avancées\",\"Erweiterte Suchoptionen\",\"Opciones de búsqueda avanzada\",\"Opzioni di ricerca avanzata\",\"Geavanceerde zoekopties\",\"Avanserte søkealternativer\",\"Gelişmiş arama seçenekleri\",\"詳細検索オプション\",\"고급 검색 옵션\",\"Возможности улучшенного поиска\",\"خيارات البحث المتقدم\",\"Opções de pesquisa avançada\",\"高级搜索选项\",\"進階搜尋選項\",\"گزینه‌های جستجوی پیشرفته\",\"Opsi pencarian lanjutan\",\"Pilihan carian lanjutan\"\n\"TID_BUTTON_SHOW\",\"Show\",\"Afficher\",\"Anzeigen\",\"Mostrar\",\"Mostra\",\"Weergeven\",\"Vis\",\"Göster\",\"開く\",\"표시\",\"Показать\",\"عرض\",\"Mostrar\",\"显示\",\"顯示\",\"نمایش\",\"Tampilkan\",\"Tunjukkan\"\n\"TID_FINAL_TEST\",\"The Final Test\",\"L'épreuve finale\",\"Der letzte Test\",\"La prueba final\",\"La prova finale\",\"De laatste test\",\"Den siste testen\",\"Son Test\",\"最終テスト\",\"마지막 테스트\",\"Выпускной экзамен\",\"الاختبار الأخير\",\"O teste final\",\"终极考验\",\"終極考驗\",\"آزمون نهایی\",\"Ujian Terakhir\",\"Ujian Terakhir\"\n\"TID_TRAINING_NOTIFICATION_ONE\",\"Finish the last training match to unlock the multiplayer Arena!\",\"Terminez le dernier combat d'entraînement pour débloquer l'arène multijoueur !\",\"Beende den letzten Trainingskampf, um die Mehrspielerarena freizuschalten!\",\"Termina la última partida de entrenamiento para desbloquear la arena multijugador.\",\"Termina l'ultimo scontro di prova per sbloccare l'arena multigiocatore!\",\"Voltooi het laatste oefengevecht om de multiplayerarena te ontgrendelen!\",\"Fullfør den siste treningskampen for å låse opp flerspillerarenaen!\",\"Çok oyunculu Arenanın kilidini açmak için son eğitim maçını bitir!\",\"あと1回の訓練対戦を終えれば、マルチプレイ用アリーナが使えます！\",\"마지막 훈련 매치를 완료해 멀티플레이 아레나를 해제하세요!\",\"Выиграй последний тренировочный матч, чтобы открыть многопользовательскую арену!\",\"أنْهِ مباراة التدريب الأخيرة لفتح ساحة متعددة اللاعبين!\",\"Termine a última partida de treinamento para desbloquear a arena multijogador!\",\"完成最后一场对战训练来解锁联机模式下的竞技场！\",\"完成最後一場對戰訓練來解鎖連線模式下的競技場！\",\"آخرین بازی تمرینی رو تموم کن تا قفل میدان نبرد چندنفره باز بشه!\",\"Selesaikan pertandingan latihan terakhir untuk membuka Arena multipemain!\",\"Selesaikan perlawanan latihan terakhir untuk membuka kunci Arena berbilang pemain!\"\n\"TID_TRAINING_NOTIFICATION_MULTIPLE\",\"Finish the last training matches to unlock the multiplayer Arena!\",\"Terminez les derniers combats d'entraînement pour débloquer l'arène multijoueur !\",\"Beende die letzten Trainingskämpfe, um die Mehrspielerarena freizuschalten!\",\"Termina las últimas partidas de entrenamiento para desbloquear la arena multijugador.\",\"Termina gli ultimi scontri di prova per sbloccare l'arena multigiocatore!\",\"Voltooi de laatste oefengevechten om de multiplayerarena te ontgrendelen!\",\"Fullfør de siste treningskampene for å låse opp flerspillerarenaen!\",\"Çok oyunculu Arenanın kilidini açmak için son eğitim maçlarını bitir!\",\"残りの訓練対戦を終えれば、マルチプレイ用アリーナが使えます！\",\"마지막 훈련 매치를 완료해 멀티플레이 아레나를 해제하세요!\",\"Выиграй последние тренировочные матчи, чтобы открыть многопользовательскую арену!\",\"أنْهِ مباريات التدريب الأخيرة لفتح ساحة متعددة اللاعبين!\",\"Termine as últimas partidas de treinamento para desbloquear a arena multijogador!\",\"完成剩下的对战训练来解锁联机模式下的竞技场！\",\"完成剩下的對戰訓練來解鎖連線模式下的競技場！\",\"آخرین بازی‌های تمرینی رو تموم کن تا قفل میدان نبرد چندنفره باز بشه!\",\"Selesaikan beberapa pertandingan latihan terakhir untuk membuka Arena multipemain!\",\"Selesaikan perlawanan latihan terakhir untuk membuka kunci Arena berbilang pemain!\"\n\"TID_TRAINING_2ND_NOTIFICATION_ONE\",\"Finish the last training match to unlock the multiplayer Arena!\",\"Terminez le dernier combat d'entraînement pour débloquer l'arène multijoueur !\",\"Beende den letzten Trainingskampf, um die Mehrspielerarena freizuschalten!\",\"Termina la última partida de entrenamiento para desbloquear la arena multijugador.\",\"Termina l'ultimo scontro di prova per sbloccare l'arena multigiocatore!\",\"Voltooi het laatste oefengevecht om de multiplayerarena te ontgrendelen!\",\"Fullfør den siste treningskampen for å låse opp flerspillerarenaen!\",\"Çok oyunculu Arenanın kilidini açmak için son eğitim maçını bitir!\",\"あと1回の訓練対戦を終えれば、マルチプレイ用アリーナが使えます！\",\"마지막 훈련 매치를 완료해 멀티플레이 아레나를 해제하세요!\",\"Выиграй последний тренировочный матч, чтобы открыть многопользовательскую арену!\",\"أنْهِ مباراة التدريب الأخيرة لفتح ساحة متعددة اللاعبين!\",\"Termine a última partida de treinamento para desbloquear a arena multijogador!\",\"完成最后一场对战训练来解锁联机模式下的竞技场！\",\"完成最後一場對戰訓練來解鎖連線模式下的競技場！\",\"آخرین بازی تمرینی رو تموم کن تا قفل میدان نبرد چندنفره باز بشه!\",\"Selesaikan pertandingan latihan terakhir untuk membuka Arena multipemain!\",\"Selesaikan perlawanan latihan terakhir untuk membuka kunci Arena berbilang pemain!\"\n\"TID_TRAINING_2ND_NOTIFICATION_MULTIPLE\",\"Finish the last training matches to unlock the multiplayer Arena!\",\"Terminez les derniers combats d'entraînement pour débloquer l'arène multijoueur !\",\"Beende die letzten Trainingskämpfe, um die Mehrspielerarena freizuschalten!\",\"Termina las últimas partidas de entrenamiento para desbloquear la arena multijugador.\",\"Termina gli ultimi scontri di prova per sbloccare l'arena multigiocatore!\",\"Voltooi de laatste oefengevechten om de multiplayerarena te ontgrendelen!\",\"Fullfør de siste treningskampene for å låse opp flerspillerarenaen!\",\"Çok oyunculu Arenanın kilidini açmak için son eğitim maçlarını bitir!\",\"残りの訓練対戦を終えれば、マルチプレイ用アリーナが使えます！\",\"마지막 훈련 매치를 완료해 멀티플레이 아레나를 해제하세요!\",\"Выиграй последние тренировочные матчи, чтобы открыть многопользовательскую арену!\",\"أنْهِ مباريات التدريب الأخيرة لفتح ساحة متعددة اللاعبين!\",\"Termine as últimas partidas de treinamento para desbloquear a arena multijogador!\",\"完成剩下的对战训练来解锁联机模式下的竞技场！\",\"完成剩下的對戰訓練來解鎖連線模式下的競技場！\",\"آخرین بازی‌های تمرینی رو تموم کن تا قفل میدان نبرد چندنفره باز بشه!\",\"Selesaikan beberapa pertandingan latihan terakhir untuk membuka Arena multipemain!\",\"Selesaikan perlawanan latihan terakhir untuk membuka kunci Arena berbilang pemain!\"\n\"TID_ON\",\"On\",\"Oui\",\"Ein\",\"Sí\",\"Sì\",\"Aan\",\"På\",\"Açık\",\"On\",\"켬\",\"Включить\",\"تشغيل\",\"Ligado\",\"开启\",\"開啟\",\"روشن\",\"Nyala\",\"Hidup\"\n\"TID_OFF\",\"Off\",\"Non\",\"Aus\",\"No\",\"No\",\"Uit\",\"Av\",\"Kapalı\",\"Off\",\"끔\",\"Выключить\",\"إيقاف تشغيل\",\"Desligado\",\"关闭\",\"關閉\",\"خاموش\",\"Mati\",\"Mati\"\n\"TID_BUTTON_SELECT_REGION\",\"Select\",\"Parcourir\",\"Wählen\",\"Seleccionar\",\"Seleziona\",\"Selecteren\",\"Velg\",\"Seç\",\"選択\",\"선택\",\"Выбрать\",\"اختيار\",\"Selecionar\",\"选择\",\"選擇\",\"انتخاب\",\"Pilih\",\"Pilih\"\n\"TID_TO\",\"to\",\"à\",\"bis\",\"a\",\"a\",\"tot\",\"til\",\"-0\",\"から\",\"에서\",\"до\",\"إلى\",\"até\",\"至\",\"至\",\"تا\",\"sampai\",\"kepada\"\n\"TID_CLAN_CAN_JOIN\",\"Only Clans\\nI can join:\",\"Uniquement les clans\\nqui me sont ouverts :\",\"Nur mir\\nzugängliche Clans:\",\"Solo clanes\\na los que pueda unirme\",\"Solo clan in cui\\nposso entrare:\",\"Alleen clans waarbij ik me\\nkan aansluiten:\",\"Bare klaner\\njeg kan bli med i:\",\"Katılabileceğim\\nKlanlar:\",\"参加できる\\nクランのみ：\",\"내가 가입할 수\\n있는 클랜\",\"Только кланы,\\nв которые я могу вступить\",\"قبائل يمكنني\\nالانضمام إليها فقط:\",\"Apenas clãs\\nem que posso entrar:\",\"只显示\\n可加入的部落：\",\"只顯示\\n可加入的部落：\",\"فقط قبیله‌هایی\\nکه می‌تونم عضو بشم:\",\"Hanya Klan yang\\nbisa saya ikuti:\",\"Hanya Klan yang\\nsaya boleh sertai:\"\n\"TID_MIN_CLAN_POINTS\",\"Minimum Clan points:\",\"Minimum de points :\",\"Minimale Clanpunkte:\",\"Puntos mínimos del clan\",\"Punti clan minimi:\",\"Minimale clanpunten:\",\"Minste antall klanpoeng:\",\"Minimum Klan puanı:\",\"クランスコア下限：\",\"최소 클랜 점수\",\"Минимум очков клана:\",\"الحد الأدنى لنقاط القبيلة:\",\"Mínimo de pontos do clã:\",\"最低部落奖杯：\",\"最低部落獎盃：\",\"حداقل امتیاز قبیله:\",\"Poin Klan minimum:\",\"Mata Klan minimum:\"\n\"TID_MIN_CLAN_LEVEL\",\"Minimum Clan level:\",\"Niveau minimum :\",\"Minimales Clanlevel:\",\"Nivel mínimo del clan\",\"Livello minimo del clan:\",\"Minimaal clanlevel:\",\"Minste klannivå:\",\"Minimum Klan seviyesi:\",\"クランレベル下限：\",\"최소 클랜 레벨:\",\"Минимальный уровень клана:\",\"الحد الأدنى لمستوى القبيلة:\",\"Nível mínimo do clã:\",\"最低部落等级：\",\"最低部落等級：\",\"حداقل سطح قبیله:\",\"Level Klan minimum:\",\"Tahap Klan minimum:\"\n\"TID_CLAN_LOCATION\",\"Clan location:\",\"Origine du clan :\",\"Clanregion:\",\"Ubicación del clan\",\"Sede clan:\",\"Clanlocatie:\",\"Klanens tilholdssted:\",\"Klan konumu:\",\"クランの所在地：\",\"클랜 지역\",\"Расположение клана\",\"موقع القبيلة\",\"Localização do clã:\",\"部落位置：\",\"部落位置：\",\"موقعیت قبیله:\",\"Lokasi klan:\",\"Lokasi klan:\"\n\"TID_UNLOCKS\",\"Unlocking Takes:\",\"Déblocage dans :\",\"Öffnen dauert:\",\"El desbloqueo tarda\",\"Sblocco richiede:\",\"Ontgrendelen:\",\"Opplåsing tar:\",\"Kilidin açılmasına:\",\"アンロックまで\",\"잠금 해제 시간:\",\"Разблокировка:\",\"الفتح يتطلب:\",\"Abrir demora:\",\"解锁倒计时：\",\"解鎖倒數計時：\",\"مدت بازشدن قفل:\",\"Untuk Membuka Perlu:\",\"Kiraan Buka Kunci:\"\n\"TID_UNLOCK_WARNING\",\"Another unlock is still in progress!\",\"Un autre déblocage est encore en cours !\",\"Andere Truhe wird noch geöffnet!\",\"¡Ya hay un desbloqueo en proceso!\",\"Un altro sblocco è ancora in corso!\",\"Je bent al bezig iets te ontgrendelen!\",\"Det pågår allerede en opplåsing!\",\"Başka bir kilit açma devam ediyor!\",\"すでにアンロック中のものがあります！\",\"다른 잠금 해제가 진행 중입니다!\",\"Открывается другой!\",\"لا تزال هناك عملية فتح أخرى جارية!\",\"Há outra abertura em andamento!\",\"另一个宝箱正在解锁中！\",\"另一個寶箱正在解鎖中！\",\"یک قفل دیگه درحال باز شدن هست!\",\"Masih ada proses membuka yang berlangsung!\",\"Satu lagi buka kunci sedang dilakukan!\"\n\"TID_NO_SPELL_SELECTED_TAP\",\"No card selected\",\"Aucune carte sélectionnée\",\"Keine Karte ausgewählt\",\"Ninguna carta seleccionada\",\"Nessuna carta selezionata\",\"Geen kaart geselecteerd\",\"Ingen kort valgt\",\"Kart seçilmedi\",\"カード未選択\",\"선택한 카드가 없습니다.\",\"Карты не выбрано\",\"لم يتم اختيار بطاقة\",\"Nenhuma carta foi selecionada.\",\"请先选择卡牌\",\"請先選擇卡牌\",\"هیچ کاری انتخاب نشده\",\"Belum memilih kartu\",\"Tiada kad yang dipilih\"\n\"TID_MIRRORED_COMMON_LEVEL\",\"Mirrored common level\",\"Niveau commun reproduit\",\"Level gewöhnlicher Karte\",\"Nivel común duplicado\",\"Livello comune copiato\",\"Gespiegeld gewoon level\",\"Speilet vanlig nivå\",\"Aynalı sıradan seviye\",\"ノーマルカードレベル\",\"복제된 일반 레벨\",\"Зеркало обычного уровня\",\"مستوى منعكس عادي\",\"Nível comum espelhado\",\"复制的普通卡等级\",\"複製的普通卡等級\",\"سطح عادی رو منعکس کرد\",\"Level umum yang dicerminkan\",\"Tahap biasa digambarkan\"\n\"TID_MIRRORED_RARE_LEVEL\",\"Mirrored rare level\",\"Niveau rare reproduit\",\"Level seltener Karte\",\"Nivel especial duplicado\",\"Livello raro copiato\",\"Gespiegeld zeldzaam level\",\"Speilet sjeldent nivå\",\"Aynalı ender seviye\",\"レアカードレベル\",\"복제된 희귀 레벨\",\"Зеркало редкого уровня\",\"مستوى منعكس نادر\",\"Nível raro espelhado\",\"复制的稀有卡等级\",\"複製的稀有卡等級\",\"سطح کمیاب رو منعکس کرد\",\"Level langka yang dicerminkan\",\"Tahap jarang digambarkan\"\n\"TID_MIRRORED_EPIC_LEVEL\",\"Mirrored epic level\",\"Niveau épique reproduit\",\"Level epischer Karte\",\"Nivel épico duplicado\",\"Livello epico copiato\",\"Gespiegeld episch level\",\"Speilet episk nivå\",\"Aynalı destansı seviye\",\"スーパーレアカードレベル\",\"복제된 영웅 레벨\",\"Зеркало эпического уровня\",\"مستوى منعكس ممتاز\",\"Nível épico espelhado\",\"复制的史诗卡等级\",\"複製的史詩卡等級\",\"سطح حماسی رو منعکس کرد\",\"Level epik yang dicerminkan\",\"Tahap epik digambarkan\"\n\"TID_MIRRORED_LEGENDARY_LEVEL\",\"Mirrored legendary level\",\"Niveau légendaire reproduit\",\"Level legendärer Karte\",\"Nivel legendario duplicado\",\"Livello leggendario copiato\",\"Gesp. Legendarisch level\",\"Speilet legendarisk nivå\",\"Aynalı efsanevi seviye\",\"ウルトラレアカードレベル\",\"복제된 전설 레벨\",\"Зеркало легендарного уровня\",\"ساحة أسطورية منعكسة\",\"Nível lendário espelhado\",\"复制的传奇卡等级\",\"複製的傳奇卡等級\",\"سطح افسانه‌ای منعکس‌شده\",\"Level legendaris yang dicerminkan\",\"Tahap legenda digambarkan\"\n\"TID_CLONED_COMMON_LEVEL\",\"Cloned common level\",\"Clonage niveau commun\",\"Level gewöhnlicher Karte\",\"Nivel común clonado\",\"Livello comune clonato\",\"Gewoon level gekloond\",\"Klonet - vanlig nivå\",\"Klonlanan sıradan seviye\",\"クローンのレベル（ノーマル）\",\"복제된 일반 레벨\",\"Клонированные обычные\",\"مستوى استنساخ عادي\",\"Nível comum clonado\",\"克隆的普通卡等级\",\"複製的普通卡等級\",\"سطح عادی شبیه‌سازی‌شده\",\"Level umum terklona\",\"Tahap biasa diklon\"\n\"TID_CLONED_RARE_LEVEL\",\"Cloned rare level\",\"Clonage niveau rare\",\"Level seltener Karte\",\"Nivel especial clonado\",\"Livello raro clonato\",\"Zeldzaam level gekloond\",\"Klonet - sjeldent nivå\",\"Klonlanan ender seviye\",\"クローンのレベル（レア）\",\"복제된 희귀 레벨\",\"Клонированные редкие\",\"مستوى استنساخ نادر\",\"Nível raro clonado\",\"克隆的稀有卡等级\",\"複製的稀有卡等級\",\"سطح کمیاب شبیه‌سازی‌شده\",\"Level langka terklona\",\"Tahap jarang diklon\"\n\"TID_CLONED_EPIC_LEVEL\",\"Cloned epic level\",\"Clonage niveau épique\",\"Level epischer Karte\",\"Nivel épico clonado\",\"Livello epico clonato\",\"Episch level gekloond\",\"Klonet - episk nivå\",\"Klonlanan destansı seviye\",\"クローンのレベル（スーパーレア）\",\"복제된 영웅 레벨\",\"Клонированные эпические\",\"مستوى استنساخ ممتاز\",\"Nível épico clonado\",\"克隆的史诗卡等级\",\"複製的史詩卡等級\",\"سطح حماسی شبیه‌سازی‌شده\",\"Level epik terklona\",\"Tahap epik diklon\"\n\"TID_CLONED_LEGENDARY_LEVEL\",\"Cloned legendary level\",\"Clonage niveau légendaire\",\"Level legendärer Karte\",\"Nivel legendario clonado\",\"Livello leggendario clonato\",\"Legendarisch level gekloond\",\"Klonet - legendarisk nivå\",\"Klonlanan efsanevi seviye\",\"クローンのレベル（ウルトラレア）\",\"복제된 전설 레벨\",\"Клонированные легендарные\",\"مستوى استنساخ أسطوري\",\"Nível lendário clonado\",\"克隆的传奇卡等级\",\"複製的傳奇卡等級\",\"سطح افسانه‌ای شبیه‌سازی‌شده\",\"Level legendaris terklona\",\"Tahap legenda diklon\"\n\"TID_CHESTS\",\"Treasure Chests\",\"Coffres au trésor\",\"Schatztruhen\",\"Cofres del tesoro\",\"Bauli del tesoro\",\"Schatkisten\",\"Skattkister\",\"Hazine Sandıkları\",\"宝箱\",\"보물 상자\",\"Сундук с сокровищами\",\"صناديق الكنز\",\"Baús de tesouro\",\"藏宝箱\",\"藏寶箱\",\"صندوق‌های گنج\",\"Peti Harta Karun\",\"Peti Harta Karun\"\n\"TID_RESOURCE_PACK_GOLD_SMALL\",\"Pouch of Gold\",\"Sac d'or\",\"Beutel Gold\",\"Bolsa de oro\",\"Borsa d'oro\",\"Buidel goud\",\"Pose med gull\",\"Altın Kesesi\",\"ゴールドの袋\",\"골드 주머니\",\"Кошель золота\",\"حقيبة ذهب\",\"Bolsa de ouro\",\"一小袋金币\",\"一小袋金幣\",\"کیسه طلا\",\"Kantong Emas\",\"Saku Emas\"\n\"TID_RESOURCE_PACK_GOLD_MEDIUM\",\"Bucket of Gold\",\"Seau d'or\",\"Eimer Gold\",\"Cubo de oro\",\"Secchio d'oro\",\"Emmer goud\",\"Bøtte med gull\",\"Altın Kovası\",\"ゴールドの桶\",\"골드 바구니\",\"Короб золота\",\"دلو ذهب\",\"Balde de ouro\",\"一小桶金币\",\"一小桶金幣\",\"سطل طلا\",\"Ember Emas\",\"Baldi Emas\"\n\"TID_RESOURCE_PACK_GOLD_BIG\",\"Wagon of Gold\",\"Charrette d'or\",\"Karre Gold\",\"Vagón de oro\",\"Vagone d'oro\",\"Karrenvracht goud\",\"Vogn med gull\",\"Altın Vagonu\",\"ゴールドの荷車\",\"골드 수레\",\"Тележка золота\",\"عربة ذهب\",\"Carrinho de ouro\",\"一小车金币\",\"一小車金幣\",\"واگن طلا\",\"Gerobak Emas\",\"Gerabak Emas\"\n\"TID_RESOURCES_BOUGHT\",\"You received <name> <type>\",\"Vous avez reçu <name> <type>.\",\"Du hast <name> <type> erhalten.\",\"Has recibido <name> <type>.\",\"Hai ricevuto <name> <type>\",\"Je hebt ontvangen: <name> <type>\",\"Du fikk <name> <type>\",\"<name> <type> aldın\",\"<name><type>を受け取りました\",\"<name> <type> 받음\",\"Ты получаешь <name> <type>\",\"تلقيت <name> <type>\",\"Você recebeu <name> <type>.\",\"您收到了<name> <type>\",\"您收到了<name> <type>\",\"<name> نوع <type> گرفتی\",\"Kamu menerima <name><type>\",\"Anda telah menerima <name> <type>\"\n\"TID_DIAMOND_PACK_1\",\"Pouch of Gems\",\"Sac de gemmes\",\"Juwelenbeutel\",\"Bolsa de gemas\",\"Borsa di gemme\",\"Buidel edelstenen\",\"Pose med juveler\",\"Taş Kesesi\",\"エメラルドの袋\",\"보석 주머니\",\"Кошель кристаллов\",\"حقيبة جواهر\",\"Bolsa de gemas\",\"一小袋宝石\",\"一小袋寶石\",\"کیسه جواهر\",\"Kantong Permata\",\"Saku Permata\"\n\"TID_DIAMOND_PACK_2\",\"Bucket of Gems\",\"Seau de gemmes\",\"Juweleneimer\",\"Cubo de gemas\",\"Secchio di gemme\",\"Emmer edelstenen\",\"Bøtte med juveler\",\"Taş Kovası\",\"エメラルドのおけ\",\"보석 바구니\",\"Короб кристаллов\",\"دلو جواهر\",\"Balde de gemas\",\"一小桶宝石\",\"一小桶寶石\",\"سطل جواهر\",\"Ember Permata\",\"Baldi Permata\"\n\"TID_DIAMOND_PACK_3\",\"Barrel of Gems\",\"Baril de gemmes\",\"Juwelenfass\",\"Barril de gemas\",\"Barile di gemme\",\"Ton edelstenen\",\"Tønne med juveler\",\"Taş Fıçısı\",\"エメラルドの樽\",\"보석 통\",\"Бочка кристаллов\",\"برميل جواهر\",\"Barril de gemas\",\"一大桶宝石\",\"一大桶寶石\",\"بشکه جواهر\",\"Tong Permata\",\"Tong Permata\"\n\"TID_DIAMOND_PACK_4\",\"Wagon of Gems\",\"Charrette de gemmes\",\"Juwelenkarre\",\"Vagón de gemas\",\"Vagone di gemme\",\"Karrenvracht\\nedelstenen\",\"Vogn med juveler\",\"Taş Vagonu\",\"エメラルドの荷車\",\"보석 수레\",\"Тележка кристаллов\",\"عربة جواهر\",\"Carrinho de gemas\",\"一小车宝石\",\"一小車寶石\",\"واگن جواهر\",\"Gerobak Permata\",\"Gerabak Permata\"\n\"TID_DIAMOND_PACK_5\",\"Mountain of Gems\",\"Tas de gemmes\",\"Juwelenhaufen\",\"Montón de gemas\",\"Montagna di gemme\",\"Berg edelstenen\",\"Haug med juveler\",\"Taş Dağı\",\"エメラルドの山\",\"보석 더미\",\"Гора кристаллов\",\"جبل جواهر\",\"Montanha de gemas\",\"一堆宝石\",\"一堆寶石\",\"کوه جواهر\",\"Gunung Permata\",\"Gunung Permata\"\n\"TID_DIAMOND_PACK_0\",\"Fistful of Gems\",\"Quelques gemmes\",\"Handvoll Juwelen\",\"Puñado de gemas\",\"Pugno di gemme\",\"Handvol edelstenen\",\"Neve med juveler\",\"Avuç Dolusu Taş\",\"ひとにぎりのエメラルド\",\"보석 한 줌\",\"Пригоршня кристаллов\",\"حفنة جواهر\",\"Punhado de gemas\",\"一把宝石\",\"一把寶石\",\"یک مشت جواهر\",\"Segenggam Permata\",\"Genggam Permata\"\n\"TID_CARD_CYCLE_IN\",\"New cards will appear in\",\"De nouvelles cartes apparaîtront dans\",\"Neue Karten erscheinen in\",\"Aparecerán cartas nuevas en\",\"Nuove carte appariranno tra\",\"Nieuwe kaarten verschijnen over\",\"Det kommer nye kort om\",\"Yeni kartların ortaya çıkmasına:\",\"カード入れ替えまであと\",\"새 카드 등장까지 남은 시간\",\"Новые карты появятся через\",\"ستظهر بطاقات جديدة خلال\",\"Novas cartas aparecerão em\",\"卡牌刷新倒计时\",\"卡牌刷新倒數計時\",\"کارت‌های جدید اینجا پیدا میشه\",\"Kartu baru akan muncul dalam\",\"Kad baharu akan kelihatan dalam\"\n\"TID_SHOP_SPELLS_REFRESHED\",\"Shop has new cards!\",\"Nouvelles cartes dans le magasin !\",\"Neue Karten im Shop!\",\"¡Hay nuevas cartas en la tienda!\",\"Il negozio ha nuove carte!\",\"Winkel heeft nieuwe kaarten!\",\"Butikken har nye kort!\",\"Dükkanda yeni kartlar var!\",\"ショップに新カードが入荷！\",\"상점에 새 카드가 있습니다!\",\"В магазине новые карты!\",\"بطاقات جديدة في المتجر!\",\"Novas cartas na loja!\",\"商店有新卡牌了！\",\"商店有新卡牌了！\",\"فروشگاه کارت جدید آورده!\",\"Ada kartu baru di Toko!\",\"Kedai mempunyai kad baharu!\"\n\"TID_ALLIANCE_SEARCH_EMPTY\",\"No search results found\",\"Aucun résultat trouvé\",\"Keine Suchergebnisse\",\"Sin resultados\",\"Nessun risultato trovato\",\"Geen zoekresultaten gevonden\",\"Søket ga ingen resultater\",\"Hiçbir arama sonucu bulunamadı\",\"見つかりません\",\"검색 결과가 없습니다\",\"Ничего не найдено\",\"لم يتم العثور على نتائج بحث\",\"Nenhum resultado encontrado.\",\"未找到匹配结果\",\"未找到配對結果\",\"هیچ نتیجه‌ای برای جستجو پیدا نشد\",\"Tidak ada hasil pencarian\",\"Tiada keputusan carian ditemui\"\n\"TID_SHOP_UNLOCKS\",\"Shop Unlocks\",\"Le magasin ouvre\",\"Shop verfügbar\",\"La tienda se desbloquea\",\"Il negozio si sblocca\",\"Winkel ontgrendelt\",\"Butikken låses opp\",\"Dükkanın Açılacağı Yer:\",\"ショップは\",\"상점 잠금 해제\",\"Магазин\",\"فتح المتجر\",\"A loja desbloqueia\",\"商店\",\"商店\",\"قفل فروشگاه باز میشه\",\"Toko Terbuka\",\"Kedai Dibuka Kunci\"\n\"TID_AT_ARENA1\",\"At Arena 1\",\"à l'arène 1.\",\"ab Arena 1\",\"en la arena 1.\",\"All'arena 1\",\"bij arena 1\",\"På arena 1\",\"1. Arena\",\"アリーナ1でアンロックされます\",\"아레나 1\",\"Откроется на арене 1\",\"في الساحة 1\",\"Na arena 1\",\"在1阶竞技场解锁\",\"在1階競技場解鎖\",\"در میدان نبرد 1\",\"Di Arena 1\",\"Di Arena 1\"\n\"TID_NO_SPELLS_TO_REQUEST\",\"You don't have any cards that can be requested\",\"Vous n'avez aucune carte pouvant être demandée.\",\"Du hast keine Karten, die angefordert werden können.\",\"No puedes pedir ninguna carta.\",\"Non hai carte che possono essere richieste\",\"Je hebt geen kaarten waar je om kunt vragen\",\"Du har ingen kort som kan bli bedt om\",\"İsteyebileceğin herhangi bir kart yok\",\"リクエスト対象のカードを持っていません\",\"요청 가능한 카드가 없습니다\",\"У тебя нет карт, которые можно попросить\",\"ليست لديك أي بطاقات يمكن طلبها\",\"Você não pode pedir mais cartas.\",\"您没有可请求捐赠的卡牌\",\"您沒有可請求捐贈的卡牌\",\"هیچ کارتی که بشه درخواست کرد نداری\",\"Kamu tidak punya kartu yang bisa diminta\",\"Anda tidak mempunyai sebarang kad yang boleh diminta\"\n\"TID_START_UNLOCK\",\"Start unlock\",\"Débloquer\",\"Öffnen\",\"Desbloquear\",\"Inizia sblocco\",\"Ontgrendelen\",\"Start opplåsing\",\"Açmaya başla\",\"アンロック開始\",\"잠금 해제 시작\",\"Разблокировать\",\"بدء الفتح\",\"Abrir\",\"开始解锁\",\"開始解鎖\",\"شروع بازگشایی قفل\",\"Mulai membuka\",\"Mula buka kunci\"\n\"TID_NEXT_PRICE\",\"Price\",\"Prix\",\"Preis\",\"Precio\",\"Prezzo\",\"Prijs\",\"Pris\",\"Fiyat\",\"価格\",\"가격\",\"Цена\",\"السعر\",\"Preço\",\"价格\",\"價格\",\"قیمت\",\"Harga\",\"Harga\"\n\"TID_TEXT_BUY_CARD\",\"Get one more <name>?\",\"Obtenir une autre carte <name> ?\",\"Noch 1 <name> kaufen?\",\"¿Comprar <name>?\",\"Ottenere ancora 1 <name>?\",\"<name> kaart halen?\",\"Kjøp ett <name>-kort?\",\"Bir tane daha <name> kartı al?\",\"<name>を1枚買いますか？\",\"<name> 카드를 하나 더 구매하시겠습니까?\",\"Получить карту <name>?\",\"هل تريد الحصول على <name> إضافية؟\",\"Pegar <name>?\",\"再购买一张<name>？\",\"再購買一張<name>？\",\"یک <name> بیشتر می‌گیری؟\",\"Mau satu <name> lagi?\",\"Dapatkan satu lagi <name>?\"\n\"TID_TEXT_BUY_CHEST\",\"Get <name>?\",\"Obtenir : <name> ?\",\"<name> kaufen?\",\"¿Comprar <name>?\",\"Ottenere <name>?\",\"<name> halen?\",\"Kjøpe <name>?\",\"<name> al?\",\"<name>を入手しますか？\",\"<name>를 구매하시겠습니까?\",\"Получить: <name>?\",\"هل تريد الحصول على <name>؟\",\"Pegar <name>?\",\"购买<name>？\",\"購買<name>？\",\"<name> می‌گیری؟\",\"Mau <name>?\",\"Dapatkan <name>?\"\n\"TID_TEXT_BUY_RESOURCES\",\"Get <name>?\",\"Obtenir : <name> ?\",\"<name> kaufen?\",\"¿Comprar <name>?\",\"Comprare <name>?\",\"<name> halen?\",\"Kjøpe <name>?\",\"<name> al?\",\"<name>を入手しますか？\",\"<name>를 구매하시겠습니까?\",\"Получить: <name>?\",\"هل تريد الحصول على <name>؟\",\"Pegar <name>?\",\"购买<name>？\",\"購買<name>？\",\"<name> می‌گیری؟\",\"Mau <name>?\",\"Dapatkan <name>?\"\n\"TID_TEXT_SPELLS_LEFT\",\"There are <amount> left\",\"Il en reste <amount>.\",\"Es sind noch <amount> da.\",\"Queda(n) <amount>.\",\"Ne restano <amount>\",\"Er zijn er nog <amount> over\",\"Det er <amount> igjen\",\"<amount> tane kaldı\",\"残り<amount>枚\",\"<amount>개 남았습니다.\",\"Осталось: <amount>\",\"باق <amount>\",\"Há <amount> restantes.\",\"还可购买<amount>张\",\"還可購買<amount>張\",\"<amount> باقی مونده\",\"Sisa <amount>\",\"Terdapat baki <amount>\"\n\"TID_TEXT_SPELLS_LEFT_SINGLE\",\"This is the last one available!\",\"Dernier exemplaire disponible !\",\"Dies ist das letzte verfügbare Exemplar!\",\"¡Último hechizo disponible!\",\"Ultima disponibile!\",\"Dit is de laatste die nog beschikbaar is!\",\"Dette er den siste!\",\"Bu sonuncusu!\",\"この1枚で売り切れです！\",\"마지막 하나입니다!\",\"Остался последний экземпляр!\",\"هذه آخر واحدة متاحة!\",\"Este é o último disponível.\",\"这是最后一张啦！\",\"這是最後一張啦！\",\"این آخرین مورد هست!\",\"Ini yang terakhir!\",\"Ini yang terakhir!\"\n\"TID_TEXT_BUY_RESOURCE_COUNT\",\"And get <amount> <resource>\",\"Et obtenir <amount> <resource>\",\"Und <amount> <resource> erhalten\",\"Recibirás <amount> <resource>.\",\"E ottieni <amount> <resource>\",\"En krijg <amount> <resource>\",\"Og få <amount> <resource>\",\"Böylece <amount> <resource> edin\",\"<amount><resource>入りです\",\"그리고 <resource> <amount>개를 받으세요.\",\"И добавить <resource> (<amount>)\",\"واحصل على <amount> <resource>\",\"E pegar <amount> <resource>.\",\"获得<amount><resource>\",\"獲得<amount><resource>\",\"و <amount> <resource> بگیر\",\"Dan dapatkan <amount><resource>\",\"Dan dapatkan <amount> <resource>\"\n\"TID_UPDATE_CARD_FIRST\",\"Upgrade the card first!\",\"Commencez par améliorer la carte !\",\"Verbessere zunächst die Karte!\",\"¡Mejora antes la carta!\",\"Migliora prima la carta!\",\"Upgrade de kaart eerst!\",\"Oppgrader kortet først!\",\"Önce kartı yükselt!\",\"先にカードをアップグレードしてください！\",\"카드를 먼저 업그레이드하세요!\",\"Сначала улучши карту!\",\"قم بترقية البطاقة أولاً!\",\"Melhore a carta primeiro!\",\"请先升级您的卡牌！\",\"請先升級您的卡牌！\",\"اول کارت رو ارتقا بده!\",\"Tingkatkan kartu terlebih dahulu!\",\"Naik taraf kad dahulu!\"\n\"TID_YOU_HAVE_ALREADY_BOUGHT_ALL_AVAILABLE_CARDS\",\"Sold out\",\"Rupture de stock\",\"Ausverkauft\",\"Agotada\",\"Esaurito\",\"Uitverkocht\",\"Utsolgt\",\"Tükendi\",\"売り切れ\",\"매진\",\"Распродано\",\"نفدت\",\"Esgotadas\",\"已售完\",\"賣完\",\"فروش تمام شد\",\"Habis terjual\",\"Habis dijual\"\n\"TID_CARD_BOUGHT\",\"You got <name>\",\"Vous avez obtenu : <name>\",\"Du erhältst <name>.\",\"¡Has conseguido la carta <name>!\",\"Ricevi: <name>\",\"Je kreeg: <name>\",\"Du fikk <name>\",\"<name> aldın\",\"<name>を入手\",\"<name> 카드를 구매했습니다.\",\"Получено: <name>\",\"لديك <name>\",\"Você comprou <name>.\",\"您得到了<name>\",\"您得到了<name>\",\"<name> داری\",\"Kamu mendapatkan <name>\",\"Anda mendapat <name>\"\n\"TID_IAP_NOT_AVAILABLE\",\"Please enable In-App Purchases in your device restrictions settings.\",\"Veuillez activer les achats intégrés dans les réglages de votre appareil.\",\"Bitte aktiviere In-App-Käufe in den Geräteeinstellungen unter \\qAllgemein\\q > \\qEinschränkungen\\q.\",\"Habilita las compras integradas en la configuración de restricciones de tu dispositivo.\",\"Attiva gli acquisti in-app nelle impostazioni delle restrizioni sul tuo dispositivo.\",\"Schakel de optie Kopen vanuit apps in onder Instellingen > Beperkingen.\",\"Aktiver kjøp i apper i enhetens innstillinger.\",\"Cihazındaki kısıtlama ayarlarından Uygulama İçi Satın Alımları etkinleştir.\",\"お使いのデバイスの機能制限設定からアプリ内購入を有効にしてください。\",\"기기의 제한 설정에서 인앱 구매를 활성화하세요.\",\"Пожалуйста, разрешите встроенные покупки в настройках устройства.\",\"يُرجى تمكين عمليات الشراء داخل التطبيق في إعدادات التقييد في جهازك.\",\"Habilite as compras no aplicativo nas configurações de restrição do seu dispositivo.\",\"请在您设备的访问限制设置中开启App内购买项目。\",\"請在裝置限制設定中啟用「應用程式內購買」功能。\",\"لطفاً از قسمت تنظیمات محدودیت دستگاه خرید‌های درون دستگاهی رو فعال کن.\",\"Aktifkan Pembelian Dalam Aplikasi dalam pengaturan pembatasan di perangkatmu.\",\"Sila dayakan Pembelian Dalam Aplikasi dalam tetapan sekatan peranti anda.\"\n\"TID_IAP_NOT_AVAILABLE_ANDROID\",\"Purchases unavailable! Make sure that you are using a valid Google account and that your primary payment method is up to date.\",\"Achats non disponibles ! Vérifiez que vous utilisez un compte Google valide et que votre mode de paiement principal est correct.\",\"Käufe sind nicht möglich! Bitte sorge dafür, dass du ein gültiges Google-Konto verwendest und deine Zahlungsinformationen aktuell sind.\",\"¡Las compras no están disponibles! Comprueba que estés usando una cuenta de Google válida y que tu método de pago principal esté actualizado.\",\"Acquisti non disponibili. Assicurati di utilizzare un account Google valido e che il metodo di pagamento principale sia aggiornato.\",\"Je kunt niets kopen! Maak gebruik van een geldig Google-account en zorg dat je primaire betalingsmethode up-to-date is.\",\"Kjøp er ikke tilgjengelig! Pass på at du bruker en gyldig Google-konto og at den primære betalingsmetoden er gyldig og oppdatert.\",\"Satın alım yapılamıyor! Geçerli bir Google hesabı kullandığından ve birincil ödeme yönteminin güncel olduğundan emin ol.\",\"現在ご購入いただけません！ 有効なGoogleアカウントをお使いであること、ならびに決済情報が最新のものであることをご確認ください。\",\"구매할 수 없습니다! 올바른 Google 계정을 사용하고 있으며 주 결제 수단을 업데이트했는지 확인하세요.\",\"Покупка недоступна! Убедитесь, что используете действующую учетную запись Google, и ваш основной метод оплаты верен.\",\"الشراء غير متاح! احرص على استخدامك لحساب Google صالح وأن تكون وسيلة الدفع الرئيسية لديك محدثة لآخر تحديث.\",\"As compras não estão disponíveis! Você precisa usar uma conta Google válida e com uma forma de pagamento atualizada.\",\"无法购买！确保您使用了有效的Google帐户，并且已更新了您的主要付款方式。\",\"無法購買！確保您使用了有效的Google帳號，並且已更新了您的主要付款方式。\",\"خریدها در دسترس نیستن! مطمئن شو از یک حساب Google معتبر استفاده می‌کنی و روش پرداخت اصلیت به‌روز هست.\",\"Pembelian tidak tersedia! Pastikan kamu menggunakan akun Google yang valid dan metode pembayaran utama sudah terkini.\",\"Pembelian tidak tersedia! Pastikan anda menggunakan akaun Google yang sah dan cara pembayaran utama anda adalah terkini.\"\n\"TID_IAP_NOT_AVAILABLE_OLD_GOOGLE_PLAY\",\"Purchases unavailable! Google Play Store app needs to be updated.\",\"Achat impossible. L'application Google Play Store doit être mise à jour.\",\"Käufe nicht verfügbar! Die Google Play-App muss aktualisiert werden.\",\"¡Las compras no están disponibles! Debes actualizar la aplicación Google Play Store.\",\"Acquisti non disponibili! È necessario aggiornare l'app di Google Play Store.\",\"Je kunt niets kopen! Google Play Store-app moet worden bijgewerkt.\",\"Kjøp er ikke tilgjengelig! Google Play Store-appen må oppdateres.\",\"Satın alımlar uygun değil! Google Play Store uygulaması güncellenmeli.\",\"現在ご購入いただけません！Google Playストアアプリをアップデートする必要があります。\",\"구매 불가! Google Play Store를 업데이트해야 합니다.\",\"Покупки недоступны! Нужно обновить приложение Google Play Маркет.\",\"عمليات الشراء غير متاحة! يجب تحديث متجر تطبيقات Google Play Store.\",\"Compras indisponíveis! Atualize o aplicativo Google Play Store.\",\"无法购买！需要先升级Google Play Store应用。\",\"無法購買！需要先升級Google Play Store應用程式。\",\"خریدها در دسترس نیستن! برنامه فروشگاه Google Play باید به‌روز بشه.\",\"Pembelian tidak tersedia! Aplikasi Google Play Store harus diperbarui.\",\"Pembelian tidak tersedia! Aplikasi Google Play Store perlu dikemas kini.\"\n\"TID_IAP_TRANSACTION_PENDING\",\"Please wait. Transaction is pending.\",\"Veuillez patienter. Transaction en cours.\",\"Bitte warten. Transaktion läuft.\",\"Espera, la transacción aún no se ha completado.\",\"Attendere. Transazione in sospeso.\",\"Momentje geduld. Transactie wordt verwerkt.\",\"Vent litt. Transaksjonen behandles.\",\"Lütfen bekleyin: İşlem sürüyor.\",\"しばらくお待ちください。ただいま処理を保留中です。\",\"잠시만 기다려주세요. 결제가 진행 중입니다.\",\"Пожалуйста, подождите. Производится транзакция.\",\"يُرجى الانتظار. المعاملة قيد الانتظار.\",\"Aguarde. Transação pendente.\",\"交易待处理，请稍候。\",\"交易待處理，請稍候。\",\"لطفاً صبر کن. تراکنش در حال انجام هست.\",\"Harap tunggu. Transaksi tertunda.\",\"Sila tunggu. Transaksi belum selesai.\"\n\"TID_MUSIC\",\"Music\",\"Musique\",\"Musik\",\"Música\",\"Musica\",\"Muziek\",\"Musikk\",\"Müzik\",\"音楽\",\"음악\",\"Музыка\",\"الموسيقى\",\"Música\",\"音乐\",\"音樂\",\"موسیقی\",\"Musik\",\"Muzik\"\n\"TID_SOUND_EFFECTS\",\"Sfx\",\"Sons\",\"Sound\",\"Efectos\",\"Effetti\",\"Geluidseffecten\",\"Lydeffekter\",\"Ses Efektleri\",\"効果音\",\"효과음\",\"Эффекты\",\"Sfx\",\"Som\",\"音效\",\"音效\",\"جلوه صوتی\",\"Efek Suara\",\"Sfx\"\n\"TID_SETTINGS_ON\",\"On\",\"Oui\",\"Ein\",\"Sí\",\"Sì\",\"Aan\",\"På\",\"Açık\",\"ON\",\"켬\",\"Включить\",\"تشغيل\",\"Ligado\",\"开启\",\"開啟\",\"روشن\",\"Nyala\",\"Hidup\"\n\"TID_SETTINGS_OFF\",\"Off\",\"Non\",\"Aus\",\"No\",\"No\",\"Uit\",\"Av\",\"Kapalı\",\"OFF\",\"끔\",\"Выключить\",\"إيقاف تشغيل\",\"Desligado\",\"关闭\",\"關閉\",\"خاموش\",\"Mati\",\"Mati\"\n\"TID_SETTINGS\",\"Settings\",\"Paramètres\",\"Einstellungen\",\"Ajustes\",\"Impostazioni\",\"Instellingen\",\"Innstillinger\",\"Ayarlar\",\"設定\",\"설정\",\"Настройки\",\"الإعدادات\",\"Configurações\",\"设置\",\"設定\",\"تنظیمات\",\"Setelan\",\"Tetapan\"\n\"TID_BUTTON_CREDITS\",\"Credits\",\"Crédits\",\"Mitwirkende\",\"Créditos\",\"Riconoscimenti\",\"Credits\",\"Medvirkende\",\"Hazırlayanlar\",\"クレジット\",\"제작진\",\"Титры\",\"المشاركون\",\"Créditos\",\"制作人员\",\"製作人員\",\"دست اندرکاران\",\"Kredit\",\"Kredit\"\n\"TID_FACEBOOK\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\",\"Facebook\"\n\"TID_BUTTON_TOS\",\"Terms of Service\",\"Conditions d'utilisation\",\"Nutzungsbedingungen\",\"Condiciones del servicio\",\"Termini di servizio\",\"Algemene voorwaarden\",\"Tjenestevilkår\",\"Hizmet Koşulları\",\"利用規約\",\"이용 약관\",\"Условия пользования\",\"بنود الخدمة\",\"Termos de Uso\",\"服务条款\",\"服務條款\",\"شرایط خدمات\",\"Ketentuan Layanan\",\"Terma Perkhidmatan\"\n\"TID_BUTTON_HELP\",\"Help and support\",\"Aide et assistance\",\"Hilfe und Support\",\"Ayuda y asistencia\",\"Guida e assistenza\",\"Hulp en ondersteuning\",\"Hjelp og støtte\",\"Yardım ve destek\",\"ヘルプとサポート\",\"도움말 및 지원\",\"Помощь и поддержка\",\"المساعدة والدعم\",\"Ajuda e suporte\",\"帮助与支持\",\"幫助與支援\",\"قسمت کمک و پشتیبانی\",\"Bantuan dan dukungan\",\"Bantuan dan sokongan\"\n\"TID_BUTTON_PRIVACY\",\"Privacy\",\"Confidentialité\",\"Datenschutz\",\"Política de privacidad\",\"Privacy\",\"Privacybeleid\",\"Personvern\",\"Gizlilik\",\"プライバシー\",\"개인정보 보호정책\",\"Конфиденциальность\",\"الخصوصية\",\"Privacidade\",\"隐私政策\",\"隱私政策\",\"حریم خصوصی\",\"Privasi\",\"Privasi\"\n\"TID_BUTTON_PARENTS\",\"Parents Guide\",\"Guide parental\",\"Leitfaden für Eltern\",\"Guía para padres\",\"Guida genitori\",\"Richtlijn voor ouders\",\"Foreldreveiledning\",\"Ebeveyn Kılavuzu\",\"保護者の皆様へ\",\"보호자용 가이드\",\"Справочник для родителей\",\"دليل الآباء\",\"Guia para pais\",\"家长指南\",\"家長指南\",\"راهنمای والدین\",\"Panduan Orang Tua\",\"Panduan Ibu Bapa\"\n\"TID_FACEBOOK_CONNECTED\",\"Connected\",\"En ligne\",\"Verbunden\",\"Conectado\",\"Connesso\",\"Verbonden\",\"Tilkoblet\",\"Bağlandı\",\"接続中\",\"연결됨\",\"Подключено\",\"متصل\",\"Conectado\",\"已连接\",\"已連線\",\"وصل شد\",\"Tersambung\",\"Disambungkan\"\n\"TID_FACEBOOK_DISCONNECTED\",\"Disconnected\",\"Hors ligne\",\"Getrennt\",\"Desconectado\",\"Disconnesso\",\"Losgekoppeld\",\"Frakoblet\",\"Bağlantı kesildi\",\"未接続\",\"연결되지 않음\",\"Отключено\",\"غير متصل\",\"Desconectado\",\"已断开\",\"已中斷\",\"قطع شد\",\"Terputus\",\"Dinyahsambung\"\n\"TID_LOADING_REPLAY\",\"Loading...\",\"Chargement...\",\"Laden ...\",\"Cargando...\",\"Caricamento...\",\"Laden...\",\"Laster inn ...\",\"Açılıyor...\",\"ロード中...\",\"불러오는 중\",\"Загрузка...\",\"يتم التحميل...\",\"Carregando...\",\"正在载入...\",\"正在載入...\",\"بارگیری...\",\"Memuat...\",\"Memuat...\"\n\"TID_DIAMONDS_BOUGHT_SUCCESSFULLY\",\"<number> Gems received!\",\"<number> gemmes reçues !\",\"<number> Juwelen erhalten!\",\"¡<number> gemas recibidas!\",\"<number> gemme ricevute!\",\"Je hebt <number> edelstenen ontvangen!\",\"<number> juveler mottatt!\",\"<number> Taş alındı!\",\"エメラルド<number>個を入手しました！\",\"보석 <number>개 구매 완료!\",\"Получено кристаллов: <number>!\",\"تم تلقي <number> من الجواهر!\",\"<number> gemas recebidas!\",\"收到了<number>颗宝石！\",\"收到了<number>顆寶石！\",\"<number> جواهر دریافت شد!\",\"<number> Permata diterima!\",\"<number> Permata diterima!\"\n\"TID_ABOUT\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\nAll use of this software is subject to\\nTerms and Conditions and Privacy Policy\\nat www.supercell.com.\\n\\nFor support contact\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTous droits réservés.\\n\\nToute utilisation de ce logiciel est régie par les\\nConditions d'utilisation et la Politique de confidentialité\\ndisponibles sur www.supercell.com.\\n\\nPour obtenir de l'aide, contactez\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAlle Rechte vorbehalten.\\n\\nJegliche Nutzung der Software unterliegt\\nden Nutzungsbedingungen und Datenschutzrichtlinien\\nauf www.supercell.com.\\n\\nDer Kundendienst ist erreichbar unter\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTodos los derechos reservados.\\n\\nEl uso de este software está sujeto\\na las Condiciones del servicio y a la Política de privacidad\\nque encontrarás en www.supercell.com.\\n\\nPara recibir asistencia, escribe a\\nclashroyale.feedback@supercell.com.\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTutti i diritti riservati.\\n\\nL'uso di questo software è soggetto ai\\nTermini di servizio e all'Informativa sulla privacy\\ndisponibili su www.supercell.com.\\n\\nPer assistenza, contattare\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAlle rechten voorbehouden.\\n\\nAlle gebruik van deze software is onderhevig aan de\\nAlgemene voorwaarden en het Privacybeleid\\nop www.supercell.com.\\n\\nNeem voor ondersteuning contact op met\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nMed enerett.\\n\\nAll bruk av denne programvaren er underlagt\\nVilkår og betingelser og Retningslinjer for personvern\\npå www.supercell.com.\\n\\nHvis du trenger brukerstøtte, kan du ta kontakt på:\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nTelif Hakkı 2016-2017 Supercell Ltd.\\nTüm Hakları Saklıdır.\\n\\nBu yazılımın kullanımı\\nwww.supercell.com adresindeki\\nŞartlar ve Koşullar ile Gizlilik Politikası'na tabidir.\\n\\nDestek için clashroyale.feedback@supercell.net\\nadresiyle iletişime geçin.\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\nAll use of this software is subject to\\nTerms and Conditions and Privacy Policy\\nat www.supercell.com.\\n\\nFor support contact\\nclashroyale.feedback@supercell.c\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\n이 소프트웨어의 모든 이용은\\nwww.supercell.com의\\n약관과 조건, 개인정보 보호정책을 따릅니다.\\n\\n지원 문의처:\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nАвторские права принадлежат Supercell Ltd., 2016-2017 гг.\\nВсе права защищены.\\n\\nНа любое использование данного программного обеспечения распространяются положения\\nУсловий пользования и Политики конфиденциальности,\\nрасположенных по адресу: www.supercell.com.\\n\\nСвязаться со службой поддержки можно по адресу:\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nحقوق النشر لعامي 2016-2017 محفوظة لشركة Supercell Ltd.\\nجميع الحقوق محفوظة.\\n\\nجميع استخدامات هذا البرنامج خاضعة\\nللبنود والشروط وسياسة الخصوصية\\nعلى www.supercell.com.\\n\\nللحصول على الدعم، يمكنك الاتصال بـ\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTodos os direitos reservados.\\n\\nO uso deste software está sujeito aos\\nTermos de Uso e à Política de Privacidade\\ndisponíveis no site www.supercell.com.\\n\\nPara suporte, contate\\nclashroyale.feedback@supercell.com.\",\"<names>\\n\\n《部落冲突:皇室战争》(Clash Royale)™ <version>\\n版权所有2016-2017 Supercell Ltd.\\n保留所有权利。\\n\\n对本软件的所有使用均需\\n遵守我们在www.supercell.com列明的\\n《条款和条件》和《隐私保护政策》。\\n\\n客服请联系：\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\n《部落衝突:皇室戰爭》(Clash Royale)™ <version>\\n版權所有2016-2017 Supercell Ltd.\\n保留所有權利。\\n\\n對本軟體的所有使用均需\\n遵守我們在www.supercell.com列明的\\n《條款和條件》和《隱私保護政策》。\\n\\n客服請聯繫：\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nکپی‌رایت 2016-2017 Supercell Ltd.\\nتمامی حقوق محفوظ است.\\n\\nهرگونه استفاده از این نرم‌افزار تحت\\nشرایط و ضوابط خطمشی حریم خصوصی\\nدر www.supercell.com قرار دارد.\\n\\nبرای پشتیبانی با\\nclashroyale.feedback@supercell.com تماس بگیرید.\",\"<names>\\n\\nClash Royale™ <version>\\nHak cipta 2016-2017 Supercell Ltd.\\nSemua Hak Dilindungi Undang-Undang.\\n\\nSemua penggunaan perangkat lunak ini tunduk pada\\nSyarat dan Ketentuan serta Kebijakan Privasi\\ndi www.supercell.com.\\n\\nUntuk dukungan hubungi\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nHak Cipta 2016-2017 Supercell Ltd.\\nHak Cipta Terpelihara.\\n\\nSemua penggunaan perisian ini tertakluk kepada\\nTerma dan Syarat serta Dasar Privasi\\ndi www.supercell.com.\\n\\nHubungi\\nclashroyale.feedback@supercell.com untuk mendapatkan sokongan\"\n\"TID_ABOUT_ANDROID\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\nAll use of this software is subject to\\nTerms and Conditions and Privacy Policy\\nat www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nFor support contact\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTous droits réservés.\\n\\nToute utilisation de ce logiciel est régie par les\\nConditions d'utilisation et la Politique de confidentialité\\ndisponibles sur www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2016.\\n\\nPour obtenir de l'aide, contactez\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAlle Rechte vorbehalten.\\n\\nJegliche Nutzung der Software unterliegt\\nden Geschäftsbedingungen und Datenschutzrichtlinien\\nauf www.supercell.com.\\n\\nFMOD Sound System,\\nCopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nDer Kundendienst ist erreichbar unter\\nclashroyale.feedback@supercell.com.\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTodos los derechos reservados.\\n\\nEl uso de este software está sujeto\\na las Condiciones del servicio y a la Política de privacidad\\nque encontrarás en www.supercell.com.\\n\\nSistema de sonido FMOD,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nPara recibir asistencia, escribe a\\nclashroyale.feedback@supercell.com.\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTutti i diritti riservati.\\n\\nL'uso di questo software è soggetto ai\\nTermini di utilizzo e all'Informativa sulla privacy\\ndisponibili su www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nPer assistenza, contattare\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAlle rechten voorbehouden.\\n\\nAlle gebruik van deze software is onderhevig aan de\\nAlgemene voorwaarden en het Privacybeleid\\nop www.supercell.com.\\n\\nFMOD-geluidssysteem,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nNeem voor ondersteuning contact op met\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nMed enerett.\\n\\nAll bruk av denne programvaren er underlagt\\nVilkår og betingelser og Retningslinjer for personvern\\npå www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nHvis du trenger brukerstøtte, kan du ta kontakt på:\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nTelif Hakkı 2016-2017 Supercell Ltd.\\nTüm Hakları Saklıdır.\\n\\nBu yazılımın kullanımı\\nwww.supercell.com adresindeki\\nŞartlar ve Koşullar ile Gizlilik Politikası'na tabidir.\\n\\nFMOD Ses Sistemi,\\nTelif Hakkı © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nDestek için clashroyale.feedback@supercell.net\\nadresiyle iletişime geçin.\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\nAll use of this software is subject to\\nTerms and Conditions and Privacy Policy\\nat www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologie\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nAll Rights Reserved.\\n\\nAll use of this software is subject to\\nTerms and Conditions and Privacy Policy\\nat www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nFor support contact\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nАвторские права принадлежат Supercell Ltd., 2016-2017 гг.\\nВсе права защищены.\\n\\nНа любое использование данного программного обеспечения распространяются положения\\nУсловий пользования и Политики конфиденциальности,\\nрасположенных по адресу: www.supercell.com.\\n\\nЗвуковая система FMOD,\\n© Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nСвязаться со службой поддержки можно по адресу:\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nحقوق النشر لعامي 2016-2017 محفوظة لشركة Supercell Ltd.\\nجميع الحقوق محفوظة\\n\\nجميع استخدامات هذا البرنامج خاضعة\\nللبنود والشروط وسياسة الخصوصية\\nعلى www.supercell.com.\\n\\nFMOD Sound System،\\nحقوق النشر © محفوظة لشركة Firelight Technologies Pty, Ltd.، لأعوام 1994-2017.\\n\\nللحصول على الدعم، يمكنك الاتصال بـ\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nCopyright 2016-2017 Supercell Ltd.\\nTodos os direitos reservados.\\n\\nO uso deste software está sujeito aos\\nTermos de Uso e à Política de Privacidade\\ndisponíveis no site www.supercell.com.\\n\\nFMOD Sound System,\\ncopyright © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nPara suporte, contate\\nclashroyale.feedback@supercell.com.\",\"<names>\\n\\n《部落冲突:皇室战争》(Clash Royale)™ <version>\\n版权所有2016-2017 Supercell Ltd.\\n保留所有权利。\\n\\n对本软件的所有使用均需\\n遵守我们在www.supercell.com列明的\\n《条款和条件》和《隐私保护政策》。\\n\\nFMOD Sound System,\\n版权所有 © Firelight Technologies Pty, Ltd., 1994-2017。\\n\\n客服请联系：\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\n《部落衝突:皇室戰爭》(Clash Royale)™ <version>\\n版權所有2016-2017 Supercell Ltd.\\n保留所有權利。\\n\\n對本軟體的所有使用均需\\n遵守我們在www.supercell.com列明的\\n《條款和條件》和《隱私保護政策》。\\n\\nFMOD Sound System,\\n版權所有 © Firelight Technologies Pty, Ltd., 1994-2017。\\n\\n客服請聯繫：\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nکپی‌رایت 2016-2017 Supercell Ltd.\\nتمامی حقوق محفوظ است.\\n\\nهرگونه استفاده از این نرم‌افزار تحت\\nشرایط و ضوابط خطمشی حریم خصوصی\\nدر www.supercell.com قرار دارد.\\n\\nسیستم صدای FMOD،\\nکپی‌رایت© Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nبرای پشتیبانی با\\nclashroyale.feedback@supercell.com تماس بگیرید.\",\"<names>\\n\\nClash Royale™ <version>\\nHak cipta 2016-2017 Supercell Ltd.\\nSemua Hak Dilindungi Undang-Undang.\\n\\nSemua penggunaan perangkat lunak ini tunduk pada\\nSyarat dan Ketentuan serta Kebijakan Privasi\\ndi www.supercell.com.\\n\\nFMOD Sound System,\\nhak cipta © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nUntuk dukungan hubungi\\nclashroyale.feedback@supercell.com\",\"<names>\\n\\nClash Royale™ <version>\\nHak Cipta 2016-2017 Supercell Ltd.\\nHak Cipta Terpelihara.\\n\\nSemua penggunaan perisian ini tertakluk kepada\\nTerma dan Syarat serta Dasar Privasi\\ndi www.supercell.com.\\n\\nFMOD Sound System,\\nhak cipta © Firelight Technologies Pty, Ltd., 1994-2017.\\n\\nHubungi\\nclashroyale.feedback@supercell.com untuk mendapatkan sokongan\"\n\"TID_PURCHASE_LIMIT_TITLE\",\"Confirm Purchase\",\"Confirmer l'achat\",\"Kauf bestätigen\",\"Confirmación de compra\",\"Conferma acquisto\",\"Aankoop bevestigen\",\"Bekreft kjøp\",\"Satın Alımı Onayla\",\"購入の確認\",\"구매 확인\",\"Подтвердить покупку\",\"تأكيد الشراء\",\"Confirmar compra\",\"确认购买\",\"確認購買\",\"تأیید خرید\",\"Konfirmasi Pembelian\",\"Sahkan Pembelian\"\n\"TID_YOU_PURCHASED_TOO_MUCH\",\"To avoid accidental purchases, you'll be able to buy again in <TIME>\",\"Pour éviter les achats impromptus, le prochain pourra se faire dans <TIME>.\",\"Um unbeabsichtigte Käufe zu vermeiden, sind Käufe erst in <TIME> wieder möglich.\",\"Para evitar compras accidentales, podrás comprar de nuevo en <TIME>.\",\"Per evitare acquisti accidentali, potrai acquistare di nuovo fra: <TIME>\",\"Om ongewenste aankopen te voorkomen, kun je weer aankopen doen over <TIME>\",\"For å unngå utilsiktede kjøp vil du først kunne handle igjen om <TIME>\",\"Yanlışlıkla satın alımı önlemek için beklemen gereken süre: <TIME>\",\"意図しない連続購入を防ぐため、次の購入まで\\nあと<TIME>お待ちください\",\"우발적인 구매를 예방하기 위해 <TIME> 동안\\n구매할 수 없습니다.\",\"Для избежания случайных покупок, следующая покупкя доступна через <TIME>\",\"لتجنب عمليات الشراء غير المقصودة، سيكون بمقدورك الشراء مرة أخرى خلال <TIME>\",\"Por precaução, será preciso aguardar <TIME> para comprar de novo.\",\"为避免意外购买宝石，再次购买前请您稍等：<TIME>\",\"為避免意外購買寶石，再次購買前請您稍等：<TIME>\",\"برای جلوگیری از خریدهای تصادفی، می‌تونی دوباره پس از <TIME> خرید کنی\",\"Untuk menghindari pembelian yang tidak disengaja, pembelian dapat dilakukan lagi dalam <TIME>\",\"Untuk mengelakkan pembelian secara tidak sengaja, anda boleh membeli sekali lagi dalam <TIME>\"\n\"TID_PLEASE_TYPE_CONFIRM\",\"Please type in \\q<CONFIRM>\\q and press the Buy button to purchase <ITEM> for <PRICE>.\",\"Tapez \\q<CONFIRM>\\q et appuyez sur Acheter pour obtenir <ITEM> pour <PRICE>.\",\"\\q<CONFIRM>\\q eingeben und auf \\qKaufen\\q drücken, um <ITEM> für <PRICE> zu kaufen.\",\"Introduce <CONFIRM> y pulsa el botón Comprar para conseguir <ITEM> por <PRICE>.\",\"Digita \\q<CONFIRM>\\q e premi il pulsante Acquista per acquistare: <ITEM> per <PRICE>.\",\"Typ '<CONFIRM>' en tik op de knop Kopen om <ITEM> te kopen voor <PRICE>.\",\"Skriv \\q<CONFIRM>\\q og trykk på Kjøp-knappen for å kjøpe <ITEM> for <PRICE>.\",\"<PRICE> karşılığında <ITEM> satın almak için lütfen \\q<CONFIRM>\\q yazıp Satın Al'a bas.\",\"「<CONFIRM>」と入力して購入ボタンを押すと、<ITEM>を<PRICE>で購入します。\",\"<ITEM> 아이템을 <PRICE>에 구매하려면 \\q<CONFIRM>\\q을 입력하고 구매 버튼을 누르세요.\",\"Введите «<CONFIRM>» и нажмите «Купить», чтобы получить <ITEM> за <PRICE>.\",\"من فضلك اكتب \\q<CONFIRM>\\q واضغط على زر الشراء لشراء <ITEM> مقابل <PRICE>.\",\"Digite \\q<CONFIRM>\\q e pressione \\qComprar\\q para adquirir <ITEM> por <PRICE>.\",\"如果您愿意用<PRICE>购买<ITEM>，请输入\\q<CONFIRM>\\q然后点击\\q购买\\q按钮。\",\"如果您願意用<PRICE>購買<ITEM>，請輸入\\q<CONFIRM>\\q然後點擊\\q購買\\q按鈕。\",\"لطفاً کلمه \\q<CONFIRM>\\q رو تایپ و دکمه خرید رو فشار دهید تا <ITEM> به قیمت <PRICE> خریداری شود.\",\"Ketik \\q<CONFIRM>\\q dan tekan tombol Beli untuk membeli <ITEM> seharga <PRICE>.\",\"Sila taipkan \\q<CONFIRM>\\q dan tekan butang Beli untuk membeli <ITEM> dengan harga <PRICE>.\"\n\"TID_CONFIRM_WORD\",\"CONFIRM\",\"CONFIRMER\",\"BESTÄTIGEN\",\"CONFIRMAR\",\"CONFERMA\",\"BEVESTIGEN\",\"BEKREFT\",\"ONAYLA\",\"かくにん\",\"확인\",\"ПОДТВЕРДИТЬ\",\"تأكيد\",\"CONFIRMAR\",\"确认\",\"確認\",\"تایید\",\"KONFIRMASI\",\"SAH\"\n\"TID_BUTTON_BUY\",\"Buy\",\"Acheter\",\"Kaufen?\",\"Comprar\",\"Acquista\",\"Kopen\",\"Kjøp\",\"Satın al\",\"購入\",\"구매\",\"Купить\",\"شراء\",\"Comprar\",\"购买\",\"購買\",\"خرید\",\"Beli\",\"Beli\"\n\"TID_FACEBOOK_ERROR_TITLE\",\"Facebook Error\",\"Erreur Facebook\",\"Facebook-Fehler\",\"Error de Facebook\",\"Errore Facebook\",\"Facebookfout\",\"Feil med Facebook\",\"Facebook Hatası\",\"Facebookエラー\",\"Facebook 오류\",\"Ошибка Facebook\",\"خطأ Facebook\",\"Erro do Facebook\",\"Facebook错误\",\"Facebook錯誤\",\"خطای Facebook\",\"Kesalahan Facebook\",\"Ralat Facebook\"\n\"TID_FACEBOOK_ERROR_SETTINGS_TITLE\",\"Facebook sign-in failed\",\"Échec de la connexion à Facebook\",\"Anmeldung bei Facebook fehlgeschlagen\",\"Error al conectar con Facebook\",\"Accesso a Facebook fallito\",\"Aanmelden met Facebook mislukt\",\"Kan ikke logge på Facebook\",\"Facebook'a giriş başarısız\",\"Facebookログインエラー\",\"Facebook 로그인 실패\",\"Не удалось войти в Facebook\",\"فشل تسجيل الدخول عبر Facebook\",\"Falha ao entrar com o Facebook\",\"Facebook登录失败\",\"Facebook登入失敗\",\"ورود به سیستم Facebook انجام نشد\",\"Gagal masuk Facebook\",\"Gagal daftar masuk Facebook\"\n\"TID_FACEBOOK_ERROR_RETRY\",\"Facebook sign-in failed. Please retry.\",\"Échec de la connexion à Facebook. Veuillez réessayer.\",\"Anmeldung bei Facebook fehlgeschlagen. Bitte versuche es erneut.\",\"No se ha podido conectar con Facebook. Inténtalo de nuevo.\",\"Accesso a Facebook fallito. Riprova.\",\"Aanmelden met Facebook mislukt. Probeer het opnieuw.\",\"Kan ikke logge på Facebook. Prøv igjen.\",\"Facebook'a giriş başarısız. Lütfen tekrar dene.\",\"Facebookにログインできません。再度お試しください。\",\"Facebook에 로그인하지 못했습니다. 다시 시도해주세요.\",\"Не удалось войти в Facebook. Попробуй еще раз.\",\"فشل تسجيل الدخول عبر Facebook. من فضلك أعد المحاولة.\",\"Falha ao entrar com o Facebook. Tente novamente.\",\"Facebook登录失败，请重试。\",\"Facebook登入失敗，請重試。\",\"ورود به سیستم Facebook انجام نشد. لطفاً دوباره امتحان کن.\",\"Gagal masuk Facebook. Coba lagi.\",\"Gagal daftar masuk Facebook. Sila cuba semula.\"\n\"TID_FACEBOOK_ERROR_RETRY_LATER\",\"Facebook sign-in failed due to a Facebook server issue. Please retry later.\",\"Échec de la connexion à Facebook suite à un problème avec le serveur de Facebook. Veuillez réessayer ultérieurement.\",\"Die Anmeldung bei Facebook ist wegen eines Facebook-Serverfehlers fehlgeschlagen. Bitte versuche es später erneut.\",\"No se ha podido conectar con Facebook debido a un error en el servidor. Inténtalo más tarde.\",\"Accesso a Facebook fallito a causa di un problema del server di Facebook. Riprova più tardi.\",\"Aanmelden met Facebook mislukt door een probleem met de Facebook-server. Probeer het later opnieuw.\",\"Kan ikke logge på Facebook på grunn av feil med Facebook-serveren. Prøv igjen senere.\",\"Facebook'a giriş Facebook sunucusundaki bir sorun sebebiyle başarısız oldu. Lütfen daha sonra tekrar dene.\",\"Facebookサーバーの問題により、Facebookにログインできません。時間をおいて再度お試しください。\",\"Facebook 서버 문제로 Facebook에 로그인하지 못했습니다. 나중에 다시 시도해주세요.\",\"Не удалось войти в Facebook из-за проблемы на сервере. Пожалуйста, попробуй позже.\",\"فشل تسجيل الدخول عبر Facebook بسبب مشكلة في خادم Facebook. من فضلك أعد المحاولة في وقت لاحق.\",\"Houve um problema no servidor do Facebook. Tente novamente mais tarde.\",\"由于Facebook服务器原因，Facebook登录失败，请稍后重试。\",\"由於Facebook伺服器原因，Facebook登入失敗，請稍後重試。\",\"به دلیل مشکل در یک سرور Facebook ورود به سیستم Facebook انجام نشد. لطفاً بعداً دوباره امتحان کن.\",\"Gagal masuk Facebook karena masalah server Facebook. Coba lagi nanti.\",\"Gagal daftar masuk Facebook kerana masalah pelayan Facebook. Sila cuba semula kemudian.\"\n\"TID_FACEBOOK_ERROR_CANCELED\",\"Facebook sign-in cancelled. In order to have full Clash Royale Facebook functionality please sign into Facebook.\",\"La connexion à Facebook a été annulée. Veuillez vous connecter à Facebook pour accéder à toutes les fonctionnalités Facebook de Clash Royale.\",\"Die Anmeldung bei Facebook wurde abgebrochen. Bitte melde dich bei Facebook an, um die volle Facebook-Funktionalität von Clash Royale nutzen zu können.\",\"Se ha cancelado la conexión con Facebook. Para poder acceder a todas las características sociales de Clash Royale, tienes que iniciar sesión en Facebook.\",\"Accesso a Facebook annullato. Per poter utilizzare tutte le funzionalità Facebook di Clash Royale, accedi a Facebook.\",\"Aanmelden met Facebook geannuleerd. Meld je aan met Facebook om gebruik te maken van de volledige Facebook-functionaliteit van Clash Royale.\",\"Pålogging til Facebook avbrutt. Du må logge på Facebook for å bruke alle Facebook-funksjonene i Clash Royale.\",\"Facebook'a giriş iptal edildi. Clash Royale'ın Facebook işlevlerinin tamamını kullanabilmek için lütfen Facebook'a giriş yap.\",\"Facebookログインをキャンセルしました。クラッシュ・ロワイヤルのFacebook連動機能を利用するにはFacebookにログインしてください。\",\"Facebook 로그인이 취소되었습니다. Clash Royale의 Facebook 기능을 모두 활용하려면 Facebook에 로그인해주세요.\",\"Вход в Facebook отменен. Для того чтобы использовать возможности Clash Royale в Facebook, войдите в Facebook.\",\"تم إلغاء تسجيل الدخول عبر Facebook. لتحصل على كل وظائف Clash Royale عبر Facebook، يُرجى تسجيل الدخول إلى Facebook.\",\"Login com o Facebook cancelado. Para aproveitar todas as funcionalidades do Clash Royale no Facebook, é necessário fazer o login.\",\"Facebook登录已取消。要体验《部落冲突:皇室战争》完整的Facebook功能，请登录Facebook。\",\"Facebook登入已取消。要體驗《部落衝突:皇室戰爭》完整的Facebook功能，請登入Facebook。\",\"ورود به سیستم Facebook لغو شد. برای استفاده کامل از بخش Clash Royale با استفاده از Facebook لطفاً وارد Facebook بشو.\",\"Batal masuk Facebook. Untuk mendapatkan fungsionalitas Facebook Clash Royale lengkap, masuklah ke Facebook.\",\"Dafar masuk Facebook dibatalkan. Untuk mempunyai fungsi Facebook Clash Royale sepenuhnya, sila daftar masuk ke Facebook.\"\n\"TID_FACEBOOK_ERROR_UNKNOWN\",\"Facebook sign-in failed due to an unknown reason. Please retry and in case it fails again please contact Player Support in-game through the report an issue button.\",\"La connexion à Facebook a échoué pour une raison inconnue. Veuillez réessayer et en cas de nouvel échec, contactez le service d'assistance du jeu via le bouton Aide et assistance.\",\"Die Anmeldung bei Facebook ist aus unbekanntem Grund fehlgeschlagen. Bitte versuche es erneut. Falls es wieder nicht funktionieren sollte, wende dich bitte im Spiel über \\qProblem melden\\q an den Spielersupport.\",\"No se ha podido conectar con Facebook por motivos desconocidos. Inténtalo de nuevo, y si vuelve a fallar, ponte en contacto con el equipo de asistencia al jugador a través del botón Informar de un problema.\",\"Accesso a Facebook fallito per ragioni sconosciute. Riprova e se il problema dovesse verificarsi di nuovo, contatta l'assistenza giocatore nel gioco tramite il pulsante Segnala un problema.\",\"Aanmelden met Facebook mislukt om een onbekende reden. Probeer het opnieuw. Mocht het nog niet lukken, neem dan via het spel contact op met de ondersteuning door op 'Een probleem melden' te tikken.\",\"Pålogging til Facebook mislyktes av ukjent årsak. Prøv igjen, og ta kontakt med spillerstøtte gjennom «Rapporter et problem»-knappen hvis påloggingen mislykkes igjen.\",\"Facebook'a giriş bilinmeyen bir sebepten dolayı başarısız oldu. Lütfen tekrar dene ve yine başarısız olursan sorun bildir düğmesini kullanarak oyun içi Oyuncu Desteği ile iletişime geç.\",\"予期せぬエラーにより、Facebookにログインできません。再度お試しください。それでもログインできない場合は、ゲーム内のお問い合わせボタンからプレイヤーサポートにご連絡ください。\",\"알 수 없는 이유로 Facebook에 로그인하지 못했습니다. 재시도한 후에도 다시 실패할 경우에는 문제 신고 버튼을 통해 고객 지원 팀에 문의해주세요.\",\"Не удалось войти в Facebook по неизвестной причине. Пожалуйста, попробуйте снова. Если не получится, свяжитесь со службой поддержки, используя эту возможность в игре.\",\"فشل تسجيل الدخول عبر Facebook لسبب مجهول. يُرجى إعادة المحاولة وفي حالة الفشل ثانية، يُرجى الاتصال بدعم اللاعب في اللعبة عبر زر الإبلاغ عن مشكلة.\",\"Não foi possível fazer login com o Facebook por uma razão desconhecida. Tente novamente e, caso ainda não consiga, entre em contato com o \\qSuporte ao jogador\\q dentro do jogo, usando o botão \\qAjuda e Suporte\\q.\",\"因为未知错误，Facebook登录失败，请重试。如果登录再次失败，请通过游戏内\\q帮助与支持\\q按钮联系玩家支持团队。\",\"因為未知錯誤，Facebook登入失敗，請重試。如果登入再次失敗，請通過遊戲內\\q幫助與支援\\q按鈕聯絡玩家支援團隊。\",\"به دلیل نامشخصی ورود به سیستم Facebook انجام نشد. لطفاً دوباره سعی کن و اگر باز هم انجام نشد لطفاً از طریق دکمه گزارش مشکل با قسمت پشتیبانی بازیکنان در داخل بازی تماس بگیر.\",\"Gagal masuk Facebook karena alasan yang tidak diketahui. Coba lagi dan jika gagal lagi, hubungilah Dukungan Pemain dalam game melalui tombol laporkan masalah.\",\"Gagal daftar masuk Facebook kerana sebab yang tidak diketahui. Sila cuba semula dan sekiranya gagal sekali lagi, sila hubungi Sokongan Pemain dalam permainan menggunakan butang laporkan isu.\"\n\"TID_FACEBOOK_ERROR_SETTINGS\",\"Please go to your <c3366cc>Device Settings</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Step 1</c>: Delete your account and sign back into Facebook.\\n<ccc3333>Step 2</c>: Ensure that Clash Royale is enabled in the list \\qAllow these Apps to use your account\\q.\\n(If Clash Royale is not on the list, sign into Facebook from within the game)\",\"Veuillez ouvrir les <c3366cc>paramètres de votre appareil</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Étape 1</c> : supprimez votre compte et reconnectez-vous à Facebook.\\n<ccc3333>Étape 2</c> : assurez-vous que Clash Royale est activé dans la liste des \\qapplications autorisées à accéder à votre compte\\q.\\n(Si Clash Royale n'est pas sur la liste, connectez-vous à Facebook depuis le jeu.)\",\"Bitte gehe zu <c3366cc>Geräteeinstellungen</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Schritt 1</c>: Lösche dein Konto und melde dich erneut bei Facebook an.\\n<ccc3333>Schritt 2</c>: Stelle sicher, dass Clash Royale in der Liste \\qFacebook-Zugriff erlauben\\q aktiviert ist.\\n(Falls Clash Royale nicht auf der Liste zu sehen ist, melde dich im Spiel bei Facebook an.)\",\"Entra en <c3366cc>Ajustes</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Paso 1:</c> Elimina tu cuenta y vuelve a iniciar sesión en Facebook.\\n<ccc3333>Paso 2:</c> Asegúrate de que Clash Royale está en la lista de aplicaciones que pueden usar tu cuenta.\\n(Si no está, conecta con Facebook desde el juego).\",\"Vai alle <c3366cc>Impostazioni dispositivo</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Passaggio 1</c>: elimina il tuo account e accedi di nuovo a Facebook.\\n<ccc3333>Passaggio 2</c>: assicurati che Clash Royale sia abilitato nella lista \\qPermetti a queste app di utilizzare il tuo account\\q.\\n(Se Clash Royale non è in lista, accedi a Facebook dal gioco)\",\"Ga naar de <c3366cc>instellingen van je apparaat</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Stap 1</c>: verwijder je account en meld je weer aan bij Facebook.\\n<ccc3333>Stap 2</c>: zorg ervoor dat Clash Royale is ingeschakeld in de lijst 'Sta deze apps toe uw account te gebruiken'.\\n(Als Clash Royale niet in deze lijst staat, meld je dan vanuit het spel aan bij Facebook.)\",\"Gå til <c3366cc>enhetens innstillinger</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Trinn 1</c>: Slett kontoen din og logg på Facebook igjen.\\n<ccc3333>Trinn 2</c>: Påse at Clash Royale er aktivert i listen \\qGi appene tillatelse til å bruke kontoen din\\q.\\n(Hvis ikke Clash Royale er på listen, kan du logge på Facebook fra spillet)\",\"Lütfen <c3366cc>Cihaz Ayarları</c> > <c3366cc>Facebook</c>'a git.\\n<ccc3333>1. Adım</c>: Hesabını sil ve Facebook'a tekrar giriş yap.\\n<ccc3333>2. Adım</c>: Listede Clash Royale'ın etkin olduğundan emin ol \\qBu Uygulamaların hesabında kullanılmasına izin ver\\q.\\n(Clash Royale listede değilse oyundan Facebook'a giriş yap)\",\"お使いのデバイスで<c3366cc>設定</c> > <c3366cc>Facebook</c>を開いてください。\\n<ccc3333>ステップ1</c>：アカウントを削除してFacebookにログインしなおします。\\n<ccc3333>ステップ2</c>：「アカウントの使用を許可するApp」からクラッシュ・ロワイヤルを有効にします。\\n(一覧にクラッシュ・ロワイヤルがない場合は、ゲーム内でFacebookにログインしてください)\",\"<c3366cc>기기 설정</c> > <c3366cc>Facebook</c>으로 이동합니다.\\n<ccc3333>1단계</c>: 계정을 삭제한 뒤 다시 Facebook에 로그인 합니다.\\n<ccc3333>2단계</c>: 클래시 로얄이\\q다음 앱이 사용자의 계정을 사용하도록 허용\\q 목록에 활성화 되어 있는지 확인합니다.\\n(클래시 로얄이 목록에 없는 경우 게임 내에서 Facebook에 로그인 해주시기 바랍니다.)\",\"Пожалуйста, войдите в <c3366cc>настройки устройства</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Шаг 1</c>: удалите учетную запись и снова войдите в Facebook.\\n<ccc3333>Шаг 2</c>: убедитесь, что Clash Royale есть в списке \\qРазрешить этим приложениям использовать аккаунт\\q.\\n(Если Clash Royale нет в списке, попробуйте войти в Facebook из игры).\",\"من فضلك انتقل إلى <c3366cc>إعدادات الجهاز</c> > <c3366cc>Facebook</c>>\\n<ccc3333>الخطوة 1</c>: احذف حسابك وأعد تسجيل الدخول إلى Facebook.\\n<ccc3333>الخطوة 2</c>: تأكّد من تمكين Clash Royale في القائمة \\qاسمح لهذه التطبيقات باستخدام حسابك\\q.\\n(إن لم توجد Clash Royale في القائمة، سجّل الدخول إلى Facebook من داخل اللعبة)\",\"Acesse as <c3366cc>configurações do seu dispositivo</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Etapa 1</c>: exclua a sua conta e entre de novo no Facebook.\\n<ccc3333>Etapa 2</c>: confira se o Clash está habilitado na lista\\qPermitir que estes apps usem sua conta\\q.\\n(se o Clash Royale não estiver na lista, entre no Facebook de dentro do jogo).\",\"请进入<c3366cc>设备设置</c> ><c3366cc>Facebook</c>。\\n<ccc3333>第一步</c>：删除当前登录的Facebook账号，并重新登录。\\n<ccc3333>第二步</c>：您可以看到一个\\q允许这些应用程序使用您的账户\\q列表，请确保《部落冲突:皇室战争》在这个列表中。\\n（如果不在列表中，请从游戏内登录您的Facebook账号）\",\"請進入<c3366cc>裝置設定</c> ><c3366cc>Facebook</c>。\\n<ccc3333>第一步</c>：刪除當前登入的Facebook帳號，並重新登入。\\n<ccc3333>第二步</c>：您可以看到一個\\q允許這些應用程式使用您的帳戶\\q列表，請確保《部落衝突:皇室戰爭》在這個列表中。\\n（如果不在列表中，請從遊戲內登入您的Facebook帳號）\",\"لطفاً به <c3366cc>تنظیمات دستگاه</c> > <c3366cc>Facebook</c> برو.\\n<ccc3333>مرحله 1</c>: حساب خود رو حذف کن و دوباره وارد Facebook بشو.\\n<ccc3333>مرحله 2</c>: اطمینان پیدا کن که Clash Royale در فهرست فعال شده هست \\qبه این برنامه‌ها اجازه بده از حسابت استفاده کنن\\q.\\n(اگر Clash Royale در فهرست قرار نداره، از داخل بازی وارد Facebook بشو)\",\"Buka <c3366cc>Setelan Perangkat</c> > <c3366cc>Facebook</c>.\\n<ccc3333>Langkah 1</c>: Hapus akunmu dan masuk lagi ke Facebook.\\n<ccc3333>Langkah 2</c>: Pastikan Clash Royale sudah diaktifkan di daftar \\qIzinkan Aplikasi ini untuk menggunakan akunmu\\q.\\n(Jika Clash Royale tidak ada dalam daftar, masuk ke Facebook dari dalam game)\",\"Sila pergi ke <c3366cc>Tetapan Peranti</c> > <c3366cc>Facebook</c> anda.\\n<ccc3333>Langkah 1</c>: Padam akaun anda dan daftar semula ke Facebook.\\n<ccc3333>Langkah 2</c>: Pastikan Clash Royale didayakan dalam senarai \\qBenarkan Aplikasi ini untuk menggunakan akaun anda\\q.\\n(Jika Clash Royale tidak berada dalam senarai, daftar masuk ke Facebook dari dalam permainan)\"\n\"TID_FACEBOOK_BOUND_TO_OTHER_ACCOUNT_TITLE\",\"Facebook Alert\",\"Avertissement Facebook\",\"Facebook-Meldung\",\"Aviso de Facebook\",\"Avviso Facebook\",\"Facebook-melding\",\"Facebook-varsling\",\"Facebook Uyarısı\",\"Facebookの警告\",\"Facebook 알림\",\"Предупреждение от Facebook\",\"تنبيه Facebook\",\"Alerta do Facebook\",\"Facebook警告\",\"Facebook警告\",\"هشدار Facebook\",\"Pemberitahuan Facebook\",\"Amaran Facebook\"\n\"TID_FACEBOOK_BOUND_TO_OTHER_ACCOUNT\",\"This Facebook account was linked to another game. Link it to your current game instead?\",\"Ce compte Facebook était associé à une autre partie. L'associer à la partie en cours à la place ?\",\"Dieses Facebook-Konto ist bereits mit einem anderen Spiel verbunden. Stattdessen mit deinem aktuellen Spiel verbinden?\",\"Esta cuenta de Facebook ya está enlazada a otra partida de Clash Royale. ¿Quieres enlazarla a la partida actual?\",\"Questo account Facebook è già collegato a un'altra partita. Vuoi collegarlo alla partita attuale?\",\"Dit Facebook-account is gekoppeld aan een ander spel. Wil je het aan je huidige spel koppelen?\",\"Denne Facebook-kontoen var knyttet til et annet spill. Vil du knytte den til det gjeldende spillet ditt isteden?\",\"Bu Facebook hesabı başka bir oyununa bağlı. Bunun yerine mevcut oyununa bağlansın mı?\",\"このFacebookアカウントは別のセーブデータに関連づけられています。\\n関連づけを今プレイ中のセーブデータに変更しますか？\",\"이 Facebook 계정은 이미 다른 게임과 연동되어 있습니다. 현재 게임과 연동할까요?\",\"Эта учетная запись Facebook уже привязана к другой игре. Хочешь привязать ее к этой игре?\",\"سبق ربط حساب Facebook هذا بلعبة أخرى. أتريد ربطه باللعبة الحالية بدلاً منها؟\",\"Esta conta do Facebook já está vinculada a outro jogo. Deseja vinculá-la ao jogo atual?\",\"该Facebook账号已连接了另外一个游戏账号，要替换为当前的游戏账号来查看好友吗？\",\"此Facebook帳號已連結至另一個遊戲帳號以查看好友，是否改為連結到目前的遊戲帳號來查看好友？\",\"این حساب Facebook به یک بازی دیگر متصل بوده. به جای آن به بازی فعلی خودت متصل می‌شی؟\",\"Akun Facebook ini sudah tertaut ke game lain. Tautkan ke game saat ini?\",\"Akaun Facebook ini sudah dipautkan ke permainan lain. Pautkannya ke permainan semasa anda?\"\n\"TID_CONFIRM_BUTTON_GOTO_SHOP\",\"Go to Shop\",\"Aller au magasin\",\"Zum Shop\",\"A la tienda\",\"Vai al negozio\",\"Naar winkel\",\"Gå til butikk\",\"Dükkana Git\",\"ショップを開く\",\"상점으로 이동\",\"В магазин\",\"الانتقال إلى المتجر\",\"Ir para a loja\",\"进入商店\",\"進入商店\",\"برو به فروشگاه\",\"Kunjungi Toko\",\"Pergi ke Kedai\"\n\"TID_CONFIRM_GO_SHOP_TITLE\",\"Not enough gems!\",\"Pas assez de gemmes !\",\"Nicht genug Juwelen!\",\"Gemas insuficientes\",\"Gemme insufficienti!\",\"Niet genoeg edelstenen!\",\"Ikke nok juveler!\",\"Yeterli taş yok!\",\"エメラルドが足りません\",\"보석 부족!\",\"Мало кристаллов!\",\"لا توجد جواهر كافية!\",\"Gemas insuficientes!\",\"宝石不足！\",\"寶石不足！\",\"جواهر کافی نیست!\",\"Permata tidak cukup!\",\"Tidak cukup permata!\"\n\"TID_CONFIRM_GO_SHOP_TEXT\",\"You're out of gems. Visit the Shop to get some more!\",\"Vous n'avez plus de gemmes. Vous pouvez vous en procurer au magasin !\",\"Du hast keine Juwelen mehr. Besuche den Shop, um welche zu kaufen!\",\"No tienes gemas. ¡Ve a la tienda a comprar más!\",\"Hai finito le gemme. Vai al negozio per ottenerne altre!\",\"Je edelstenen zijn op. Bezoek de winkel om er meer te halen.\",\"Du er tom for juveler. Besøk butikken for å skaffe flere.\",\"Taşın kalmadı. Taş almak için Dükkanı ziyaret edebilirsin!\",\"エメラルドが足りません。\\nショップで買い足しましょう！\",\"보석이 부족합니다. 상점에서 더 구매하세요!\",\"Кристаллы закончились. Посети магазин, чтобы купить еще!\",\"نفدت الجواهر لديك. قم بزيارة المتجر للحصول على المزيد!\",\"Você precisa de mais gemas. Compre-as na loja.\",\"您的宝石用光啦。去商店买一些吧！\",\"您的寶石用光啦。去商店買一些吧！\",\"جواهراتت تموم شده. برای گرفتن جواهر بیشتر، به فروشگاه سر بزن!\",\"Permata habis. Kunjungi Toko untuk mendapatkan lagi!\",\"Anda kehabisan permata. Pergi ke kedai untuk mendapatkan lebih!\"\n\"TID_REGION_INT\",\"International\",\"Internationale\",\"International\",\"Internacional\",\"Internazionale\",\"Internationaal\",\"Internasjonalt\",\"Uluslararası\",\"インターナショナル\",\"전 세계\",\"Международное\",\"دولي\",\"Internacional\",\"全球\",\"全球\",\"بین‌المللی\",\"Internasional\",\"Antarabangsa\"\n\"TID_REGION_CUSTOM1\",,,,,,,,,,,,,,,,,,\n\"TID_REGION_CUSTOM2\",,,,,,,,,,,,,,,,,,\n\"TID_REGION_CUSTOM3\",,,,,,,,,,,,,,,,,,\n\"TID_REGION_CUSTOM4\",,,,,,,,,,,,,,,,,,\n\"TID_REGION_CUSTOM5\",,,,,,,,,,,,,,,,,,\n\"TID_SUNDAY_NOTIFICATION\",\"Epic Sunday: More cards are available in the Shop!\",\"Dimanche épique : plus de cartes disponibles dans le magasin !\",\"Epischer Sonntag: mehr Karten im Shop verfügbar!\",\"Domingo épico: ¡Más cartas disponibles en la tienda!\",\"Domenica epica: nel negozio sono disponibili più carte!\",\"Epische zondag: er zijn meer kaarten beschikbaar in de winkel.\",\"Episk søndag: Flere kort er tilgjengelige i butikken!\",\"Destansı Pazar: Dükkanda daha fazla kart var!\",\"サンデーマーケットの日は、ショップのカードの品ぞろえが増えます！\",\"보너스 일요일: 상점에서 더 많은 카드를 구매할 수 있습니다!\",\"Эпическое воскресенье: в магазине доступно больше карт!\",\"يوم أحد ممتاز: يتوفر المزيد من البطاقات في المتجر!\",\"Domingo épico: mais cartas disponíveis na loja!\",\"周日狂欢：更多卡牌可购买！\",\"超級星期天：更多卡牌可購買！\",\"یکشنبه حماسی: کارت‌های بیشتری در فروشگاه وجود داره!\",\"Minggu Epik: Kartu lainnya tersedia di Toko!\",\"Epik Hari Ahad: Lebih banyak kad tersedia di dalam Kedai!\"\n\"TID_PLAYER_ID\",\"Player ID: <HIGH>-<LOW>\",\"ID du joueur : <HIGH>-<LOW>\",\"Spieler-ID: <HIGH>-<LOW>\",\"Id. de jugador: <HIGH>-<LOW>\",\"ID giocatore: <HIGH>-<LOW>\",\"Speler-ID: <HIGH>-<LOW>\",\"Spiller-ID: <HIGH>-<LOW>\",\"Oyuncu Kimliği: <HIGH>-<LOW>\",\"プレイヤーID：<HIGH>-<LOW>\",\"플레이어 ID: <HIGH>-<LOW>\",\"ID игрока: <HIGH>-<LOW>\",\"هوية اللاعب: <HIGH>-<LOW>\",\"ID do jogador: <HIGH>-<LOW>\",\"玩家ID: <HIGH>-<LOW>\",\"玩家ID: <HIGH>-<LOW>\",\"شناسه بازیکن: <HIGH>-<LOW>\",\"ID Pemain: <HIGH>-<LOW>\",\"ID Pemain: <HIGH>-<LOW>\"\n\"TID_ANDROID_BILLING_PRODUCT_NOT_AVAILABLE_PRICE\",\"Tap for info\",\"En savoir plus\",\"Für Infos antippen\",\"Más información\",\"Tocca per info\",\"Tik voor info\",\"Trykk for info\",\"Bilgi için dokun\",\"タップで情報を表示\",\"탭하여 정보 보기\",\"Коснись, чтобы узнать больше\",\"انقر للحصول على المعلومات\",\"Toque para saber mais\",\"获取更多信息\",\"獲取更多資訊\",\"برای اطلاع ضربه بزن\",\"Ketuk untuk info\",\"Ketik untuk maklumat.\"\n\"TID_QUICK_TIP\",\"Quick Tip\",\"Petit conseil\",\"Schnelltipp\",\"Dato útil\",\"Suggerimento rapido\",\"Snelle tip\",\"Raskt tips\",\"Hızlı İpucu\",\"ヒント\",\"간편 팁\",\"Совет\",\"نصيحة سريعة\",\"Dica rápida\",\"小提示\",\"小提示\",\"راهنمایی سریع\",\"Kiat Kilat\",\"Petua Ringkas\"\n\"TID_DEPLOY_COST_ELIXIR\",\"Card deployment costs Elixir!\",\"Le déploiement de cartes coûte de l'élixir !\",\"Karteneinsatz kostet Elixier!\",\"Para jugar cartas se necesita elixir.\",\"Lo schieramento di carte costa elisir!\",\"Het gebruik van een kaart kost elixir!\",\"Det koster eliksir å utplassere kort!\",\"Kart mevzilendirmek için İksir gerekir!\",\"カードを使用すると\\nエリクサーを消費します\",\"카드를 배치하면 엘릭서가 소모됩니다!\",\"Использование карт стоит эликсира!\",\"نشر البطاقة يكلف إكسيرًا!\",\"O uso da carta custa elixir!\",\"部署卡牌需要耗费一定圣水！\",\"部署卡牌需要耗費一定聖水！\",\"برای اعزام کارت باید اکسیر خرج کرد!\",\"Pengerahan kartu perlu Eliksir!\",\"Penggunaan kad memerlukan Eliksir!\"\n\"TID_THIS_IS_YOUR_ELIXIR\",\"Your Elixir!\",\"Votre élixir !\",\"Dein Elixier!\",\"Tu elixir\",\"Il tuo elisir!\",\"Jouw elixir!\",\"Din eliksir!\",\"İksirin!\",\"これがエリクサーです\",\"사용할 수 있는 엘릭서입니다!\",\"Твой эликсир!\",\"الإكسير الخاص بك!\",\"Seu elixir!\",\"您的圣水！\",\"您的聖水！\",\"اکسیرت!\",\"Eliksirmu!\",\"Eliksir anda!\"\n\"TID_BUTTON_BEGIN\",\"Begin\",\"Débuter\",\"Beginnen\",\"Iniciar\",\"Inizia\",\"Starten\",\"Begynn\",\"Başla\",\"開始\",\"시작\",\"Начать\",\"بدء\",\"Começar\",\"开始\",\"開始\",\"شروع\",\"Mulai\",\"Mula\"\n\"TID_BUTTON_MESSAGE\",\"Message\",\"Message\",\"Nachricht\",\"Mensaje\",\"Messaggio!\",\"Bericht\",\"Melding\",\"Mesaj\",\"メッセージ\",\"메시지\",\"Сообщение\",\"رسالة\",\"Mensagem\",\"消息\",\"訊息\",\"پیام\",\"Pesan\",\"Mesej\"\n\"TID_NOT_FOUND\",\"Not found\",\"Pas encore\\ntrouvée\",\"Nicht gefunden\",\"No encontrada\",\"Non trovato\",\"Niet gevonden\",\"Ikke funnet\",\"Bulunamadı\",\"未入手\",\"찾지 못함\",\"Не найдено\",\"غير موجود\",\"Não encontrada\",\"尚未获得\",\"尚未獲得\",\"یافت نشد\",\"Tidak ditemukan\",\"Tidak ditemui\"\n\"TID_AVAILABLE_IN\",\"Released in\",\"Disponible dans\",\"Verfügbar in\",\"Disponible en...\",\"Rilasciato tra\",\"Beschikbaar in\",\"Slippes om\",\"Yayınlanmasına\",\"リリースまで\",\"남은 시간\",\"Появится через\",\"يتم الإصدار في\",\"Liberada em\",\"推出时间\",\"推出時間\",\"آزاد شده در\",\"Dirilis dalam\",\"Dilancarkan dalam\"\n\"TID_AVAILABLE_DAYS\",\"<days> days\",\"<days> jours\",\"<days> Tagen\",\"¡<days> días!\",\"<days> giorni\",\"<days> dagen\",\"<days> dager\",\"<days> gün\",\"<days>日\",\"<days>일\",\"<days> дн.\",\"<days> من الأيام\",\"<days> dias\",\"<days>天后\",\"<days>天後\",\"<days> روز\",\"<days> hari\",\"<days> hari\"\n\"TID_AVAILABLE_DAY\",\"1 day\",\"1 jour\",\"1 Tag\",\"¡1 día!\",\"1 giorno\",\"over 1 dag\",\"1 dag\",\"1 gün\",\"1日\",\"1일\",\"1 день\",\"يوم واحد\",\"1 dia\",\"1天后\",\"1天後\",\"1 روز\",\"1 hari\",\"1 hari\"\n\"TID_AVAILABLE\",\"Available\",\"Disponible\",\"Verfügbar:\",\"Disponible\",\"Disponibile\",\"Beschikbaar\",\"Tilgjengelig\",\"Mevcut\",\"利用可能\",\"이용 가능\",\"Доступно\",\"متاحة\",\"Disponível\",\"即将\",\"即將\",\"در دسترس\",\"Tersedia\",\"Ada\"\n\"TID_NOT_AVAILABLE\",\"Not Available\",\"Non disponible\",\"Nicht verfügbar\",\"No disponible\",\"Non disponibile\",\"Niet beschikbaar\",\"Ikke tilgjengelig\",\"Mevcut Değil\",\"利用できません\",\"이용 불가\",\"Недоступно\",\"غير متاح\",\"Não disponível\",\"不可用\",\"不可用\",\"در دسترس نیست\",\"Tidak Tersedia\",\"Tidak Tersedia\"\n\"TID_AVAILABLE_IN_ARENA\",\"Released in <days> days\",\"Disponible dans <days> jours\",\"In <days> Tagen verfügbar\",\"Disponible en <days> días\",\"Rilasciata tra <days> giorni\",\"Beschikbaar in <days> dagen\",\"Slippes om <days> dager\",\"Yayınlanmasına <days> gün kaldı\",\"あと<days>日で公開\",\"<days>일 후 공개\",\"Появится через <days> дн.\",\"يتم الإصدار في <days> من الأيام\",\"Liberada em <days> dias\",\"<days>天后推出\",\"<days>天後推出\",\"بعد از <days> روز منتشر می‌شود\",\"Dirilis dalam <days> hari\",\"Dilancarkan dalam <days> hari\"\n\"TID_AVAILABLE_IN_ARENA_TIME\",\"Released in <time>\",\"Disponible dans <time>\",\"In <time> verfügbar\",\"Disponible en <time>\",\"Rilasciata tra <time>\",\"Beschikbaar in <time>\",\"Slippes om <time>\",\"Yayınlanmasına <time> kaldı\",\"あと<time>で公開\",\"<time> 후 공개\",\"Появится через <time>\",\"يتم الإصدار في <time>\",\"Liberada em <time>\",\"<time>后推出\",\"<time>後推出\",\"پس از <time> منتشر می‌شود\",\"Dirilis dalam <time>\",\"Dilancarkan dalam <time>\"\n\"TID_SOON\",\"SOON\",\"BIENTÔT\",\"BALD\",\"EN BREVE\",\"A breve\",\"GAUW\",\"SNART\",\"YAKINDA\",\"近日中\",\"곧\",\"СКОРО\",\"قريبًا\",\"Em breve\",\"揭晓\",\"揭曉\",\"زود\",\"SEGERA\",\"HAMPIR\"\n\"TID_COMING_SOON\",\"Soon available\",\"Disponible prochainement\",\"Bald verfügbar\",\"Disponible próximamente\",\"Disponibile a breve\",\"Binnenkort beschikbaar\",\"Snart tilgjengelig\",\"Yakında\",\"間もなく利用可能\",\"곧 사용 가능\",\"Скоро появится\",\"متاح قريبًا\",\"Disponível em breve\",\"即将揭晓\",\"即將揭曉\",\"به زودی در دسترس هست\",\"Segera tersedia\",\"Akan ada tidak lama lagi\"\n\"TID_COMING_SOON_DIVIDER\",\"Coming soon\",\"Prochainement\",\"Demnächst verfügbar\",\"Próximamente\",\"Prossimamente\",\"Binnenkort verwacht\",\"Kommer snart\",\"Çok yakında\",\"近日登場\",\"곧 공개 예정\",\"Скоро...\",\"قريبًا\",\"Em breve\",\"敬请期待\",\"敬請期待\",\"به زودی\",\"Segera hadir\",\"Akan datang\"\n\"TID_COMING_SOON_CARD_PRESSED\",\"This card will be collectable soon!\",\"Cette carte sera bientôt à collectionner !\",\"Diese Karte kann bald gesammelt werden!\",\"¡Próximamente podrás conseguir esta carta!\",\"Presto potrai collezionare questa carta!\",\"Deze kaart kun je binnenkort verzamelen!\",\"Dette kortet blir snart tilgjengelig!\",\"Bu kart, yakında toplanabilecek!\",\"このカードは近日中に入手可能になります！\",\"이 카드는 곧 공개됩니다!\",\"Эту карту можно будет получить совсем скоро!\",\"سيكون من الممكن جمع هذه البطاقة قريبًا!\",\"Esta carta estará disponível em breve!\",\"不久后您就可以收集该卡牌了！\",\"不久後您就可以收集此張卡牌了！\",\"به زودی می‌توان این کارت رو به دست آورد!\",\"Kartu ini akan segera dapat dikumpulkan!\",\"Kad ini boleh dikumpul tidak lama lagi!\"\n\"TID_EVENTS_TAB_BATTLES\",\"Battles\",\"Combats\",\"Kämpfe\",\"Batallas\",\"Battaglie\",\"Gevechten\",\"Kamper\",\"Savaşlar\",\"バトル\",\"전투\",\"Бои\",\"معارك\",\"Batalhas\",\"对战\",\"對戰\",\"نبردها\",\"Pertempuran\",\"Pertempuran\"\n\"TID_EVENTS_TAB_ACHIEVEMENTS\",\"Achievements\",\"Succès\",\"Errungenschaften\",\"Logros\",\"Obiettivi\",\"Prestaties\",\"Utmerkelser\",\"Başarılar\",\"達成項目\",\"도전 과제\",\"Достижения\",\"إنجازات\",\"Conquistas\",\"成就\",\"成就\",\"دستاوردها\",\"Pencapaian\",\"Pencapaian\"\n\"TID_EVENTS_TAB_TOURNAMENTS\",\"Tournaments\",\"Tournois\",\"Turniere\",\"Torneos\",\"Tornei\",\"Toernooien\",\"Turneringer\",\"Turnuvalar\",\"大会\",\"토너먼트\",\"Турниры\",\"بطولات\",\"Torneios\",\"锦标赛\",\"聯賽\",\"مسابقه‌ها\",\"Turnamen\",\"Pertandingan\"\n\"TID_INBOX_EMPTY_TITLE\",\"No New Messages\",\"Aucun nouveau message\",\"Keine neuen Nachrichten\",\"No hay mensajes nuevos\",\"Nessun nuovo messaggio\",\"Geen nieuwe berichten\",\"Ingen nye meldinger\",\"Yeni Mesaj Yok\",\"新着メッセージなし\",\"새 메시지 없음\",\"Нет новых сообщений\",\"لا توجد رسائل جديدة\",\"Não há mensagens novas.\",\"没有新消息\",\"沒有新消息\",\"پیام جدید نیست\",\"Tidak Ada Pesan Baru\",\"Tiada Mesej Baharu\"\n\"TID_INBOX_EMPTY_MESSAGE\",\"Your inbox doesn't have any messages\",\"Votre boîte de réception ne contient aucun message.\",\"In deinem Posteingang sind keine Nachrichten.\",\"No hay ningún mensaje en tu buzón.\",\"Non ci sono messaggi in arrivo\",\"Er zijn geen nieuwe berichten in je Postvak In\",\"Du har ingen meldinger i innboksen\",\"Gelen kutunda hiç mesaj yok\",\"まだメッセージがありません\",\"수신된 메시지가 없습니다.\",\"В почтовом ящике нет сообщений\",\"لا يحتوي البريد الوارد على أي رسائل\",\"Não há mensagens em sua caixa de entrada.\",\"您的收件箱中没有任何消息\",\"您的收件匣中沒有任何消息\",\"در صندوق ورودی هیچ پیامی نیست\",\"Tidak ada pesan di kotak masukmu\",\"Peti masuk anda tidak mempunyai sebarang mesej\"\n\"TID_BATTLE_LOG_EMPTY_TITLE\",\"No battle events\",\"Aucun événement de combat\",\"Keine Kämpfe bestritten\",\"No hay eventos de batalla\",\"Nessun evento battaglia\",\"Geen gevechtsevenementen\",\"Ingen kamper\",\"Savaş etkinliği yok\",\"戦歴がありません\",\"전투 기록 없음\",\"Боев нет\",\"لا توجد أحداث معارك\",\"Não há eventos de batalha.\",\"无对战日志\",\"無對戰記錄\",\"هیچ رویداد نبردی نیست\",\"Tidak ada acara pertempuran\",\"Tiada peristiwa pertempuran\"\n\"TID_BATTLE_LOG_EMPTY_MESSAGE\",\"Play multiplayer matches to see your results and replays here.\",\"Participez à des combats multijoueur pour consulter vos résultats et revoir vos combats ici.\",\"Spiele Mehrspielerkämpfe, um hier deine Ergebnisse und Wiederholungen zu sehen.\",\"Juega partidas multijugador para ver aquí los resultados y las repeticiones.\",\"Qui vedrai i risultati e i replay dei tuoi scontri multigiocatore.\",\"Speel multiplayergevechten om hier je resultaten en herhalingen te bekijken.\",\"Spill flerspillerkamper for å se resultatene og reprisene dine her.\",\"Burada sonuçlarını görmek ve oyun tekrarlarını izlemek için çok oyunculu maç oyna.\",\"マルチプレイで対戦すると、ここで\\n結果とリプレイを見ることができます。\",\"여기서 결과와 리플레이를 보려면 멀티플레이 매치를 플레이하세요.\",\"Играй с другими игроками, чтобы увидеть здесь результаты и повторы.\",\"العب مباريات متعددة اللاعبين لرؤية النتائج وإعادات العرض هنا.\",\"Jogue partidas multijogador para ver os seus resultados e replays aqui.\",\"您可以在这里查看联机对战的成绩和回放。\",\"您可以在這裡查看連線對戰的成績和重播。\",\"بازی چندنفره انجام بده تا نتایج و بازپخش رو اینجا ببینی.\",\"Mainkan pertandingan multipemain untuk melihat hasil dan tayangan ulangmu di sini.\",\"Main perlawanan berbilang pemain untuk melihat keputusan anda dan main semula di sini.\"\n\"TID_TOURNAMENT_LOG_EMPTY_TITLE\",\"No tournament events\",\"Aucun événement de tournoi\",\"Keine Turnierergebnisse\",\"No hay eventos\",\"Nessun evento torneo\",\"Geen toernooi-evenementen\",\"Ingen turneringer\",\"Turnuva etkinliği yok\",\"大会イベント\",\"토너먼트 이벤트 없음\",\"Турниров нет\",\"لا توجد أحداث بطولة\",\"Sem eventos de torneio\",\"无锦标赛赛事\",\"無聯賽賽事\",\"هیچ رویداد مسابقه‌ای وجود نداره\",\"Tidak ada acara turnamen\",\"Tiada peristiwa pertandingan\"\n\"TID_TOURNAMENT_LOG_EMPTY_MESSAGE\",\"Play tournaments to see your results here.\",\"Participez aux tournois pour voir vos résultats ici.\",\"Die Ergebnisse deiner Turniere werden hier angezeigt.\",\"Juega en torneos para ver los resultados aquí.\",\"Partecipa a dei tornei e vedrai qui i tuoi risultati.\",\"Speel toernooien om hier je resultaten te bekijken.\",\"Spill turneringer og se resultatene dine her.\",\"Sonuçlarını burada görmek için turnuva oyna.\",\"大会をプレイすると、ここに結果が表示されます。\",\"토너먼트에 참가하면 여기에서 결과를 볼 수 있습니다.\",\"Здесь ты увидишь свои результаты в турнирах.\",\"العب البطولات لرؤية نتائجك هنا.\",\"Participe de torneios para ver seu resultado aqui.\",\"参加锦标赛后可在此处查看您的比赛结果\",\"參加聯賽後可在此處查看您的比賽結果\",\"مسابقه انجام بده تا نتایج رو اینجا ببینی\",\"Mainkan turnamen untuk melihat hasilmu di sini.\",\"Main pertandingan untuk melihat keputusan anda di sini.\"\n\"TID_SHARE_REPLAY\",\"Share Replay\",\"Partager la vidéo\",\"Wiederholung teilen\",\"Compartir repetición\",\"Condividi replay\",\"Herhaling delen\",\"Del reprise\",\"Oyun Tekrarını Paylaş\",\"リプレイを共有\",\"리플레이 공유\",\"Поделиться повтором\",\"مشاركة إعادة العرض\",\"Compartilhar replay\",\"分享回放\",\"分享重播\",\"اشتراک‌گذاری بازپخش\",\"Bagikan Tayangan Ulang\",\"Kongsi Main Semula\"\n\"TID_REPLAY_SHARED_SUCCESS\",\"Replay shared!\",\"Vidéo partagée !\",\"Wiederholung geteilt!\",\"¡Compartida!\",\"Replay condiviso!\",\"Herhaling gedeeld!\",\"Reprise delt!\",\"Oyun tekrarı paylaşıldı!\",\"リプレイを共有しました！\",\"공유 완료!\",\"Повтор опубликован!\",\"تمت مشاركة إعادة العرض!\",\"Replay compartilhado\",\"回放已分享！\",\"重播已分享！\",\"بازپخش اشتراک‌گذاری شد!\",\"Tayangan ulang telah dibagikan!\",\"Main semula dikongsi!\"\n\"TID_REPLAY_SHARED_FAIL\",\"You have already shared a replay. Share again in <time>.\",\"Vous avez déjà partagé une vidéo. Partage à nouveau disponible dans <time>.\",\"Du hast bereits eine Wiederholung geteilt. Teile die nächste in <time>.\",\"Ya has compartido una repetición. Tienes que esperar <time> para compartir otra.\",\"Hai già condiviso un replay. Condividi ancora tra <time>.\",\"Je hebt al een herhaling gedeeld. Je kunt opnieuw delen over <time>.\",\"Du har allerede delt en reprise. Du kan dele igjen om <time>.\",\"Zaten bir oyun tekrarı paylaştın. <time> içinde yeniden paylaşabilirsin.\",\"リプレイを共有したばかりです。\\n次の共有まで<time>お待ちください。\",\"이미 리플레이를 공유하셨습니다. <time> 후 다시 공유할 수 있습니다.\",\"Повтор уже опубликован. Снова публиковать можно через <time>.\",\"لقد شاركت إعادة عرض بالفعل. شارك ثانيةً خلال <time>.\",\"Você já compartilhou um replay. Precisará aguardar <time>.\",\"您已经分享了一个回放，<time>后您可以再次分享。\",\"您已經分享了一個重播，<time>後您可以再次分享。\",\"قبلاً یک بازپخش اشتراک‌گذاری کردی. بعد از <time> دوباره اشتراک‌گذاری کن.\",\"Kamu telah membagikan satu tayangan ulang. Bagikan lagi dalam <time>\",\"Anda sudah berkongsi main semula. Kongsi sekali lagi dalam <time>.\"\n\"TID_VIEW_PROFILE_BUTTON\",\"View\\nProfile\",\"Voir\\nle profil\",\"Profil\\nansehen\",\"Ver\\nperfil\",\"Visualizza\\nprofilo\",\"Profiel\\nbekijken\",\"Vis\\nprofil\",\"Profili\\nGörüntüle\",\"プロフィール\\nを表示\",\"프로필\\n보기\",\"Просмотр\\nпрофиля\",\"عرض\\nالملف الشخصي\",\"Ver\\nperfil\",\"查看玩家简介\",\"查看玩家簡介\",\"مشاهده\\nپروفایل\",\"Lihat\\nProfil\",\"Lihat\\nProfil\"\n\"TID_VIEW_CLAN_BUTTON_CONTEXT\",\"View\\nClan\",\"Voir\\nle clan\",\"Clan\\nansehen\",\"Ver\\nclan\",\"Visualizza\\nclan\",\"Clan\\nbekijken\",\"Vis\\nklan\",\"Klanı\\nGörüntüle\",\"クランを\\n見る\",\"클랜\\n보기\",\"Просмотр\\nклана\",\"عرض القبيلة\",\"Ver\\nclã\",\"查看部落\",\"查看部落\",\"مشاهده\\nقبیله\",\"Lihat\\nKlan\",\"Lihat\\nKlan\"\n\"TID_STREAM_REPLAY_TEXT\",\"Check this replay!\",\"Regardez cette vidéo !\",\"Schau dir diese Wiederholung an!\",\"¡Mira esta repetición!\",\"Occhio a questo replay!\",\"Moet je deze herhaling zien!\",\"Se denne reprisen!\",\"Bu oyun tekrarına göz at!\",\"おすすめのリプレイです！\",\"이 리플레이를 확인하세요!\",\"Посмотри этот повтор!\",\"مراجعة إعادة العرض هذه!\",\"Confira este replay!\",\"看看这个回放！\",\"看看這個重播！\",\"به این بازپخش یک نگاه بنداز!\",\"Lihat tayangan ulang ini!\",\"Semak main semula ini!\"\n\"TID_REPLAY_SHARED_FROM\",\"Shared a replay\",\"Vidéo partagée\",\"Hat eine Wiederholung geteilt\",\"ha compartido una repetición.\",\"Condiviso un replay\",\"Herhaling gedeeld\",\"Delte en reprise\",\"Bir oyun tekrarı paylaşıldı\",\"がリプレイを共有しました\",\"리플레이 공유 완료\",\"Опубликован повтор\",\"تمت مشاركة إعادة عرض\",\"compartilhou um replay\",\"分享了回放\",\"分享了重播\",\"یک بازپخش به اشتراک گذاشت\",\"Telah berbagi tayangan ulang\",\"Main semula dikongsi!\"\n\"TID_REPLAY_SHARED_FROM_TV\",\"Shared an <ARENA> TV Replay\",\"Vidéo dans <ARENA> partagée\",\"Hat eine <ARENA>-Wiederholung geteilt.\",\"Repetición de <ARENA> compartida\",\"Ha condiviso un replay TV di <ARENA>\",\"Een tv-herhaling van <ARENA> gedeeld\",\"Delte en TV-reprise fra <ARENA>\",\"Bir <ARENA> TV Tekrarı paylaşıldı\",\"<ARENA> TVリプレイを共有しました\",\"<ARENA> TV 리플레이를 공유했습니다\",\"<ARENA>: TV повтор опубликован\",\"تمت مشاركة إعادة عرض تليفزيونية لـ <ARENA>\",\"Compartilhou um replay da <ARENA>\",\"分享了一场<ARENA>的皇室TV回放\",\"分享了一場<ARENA>的皇室TV重播\",\"یک بازپخش <ARENA> TV به اشتراک گذاشت\",\"Telah berbagi Tayangan Ulang TV <ARENA>\",\"Telah berkongsi <ARENA> Main Semula TV\"\n\"TID_VIEWS\",\"Views\",\"Vues\",\"-mal angesehen\",\"Reproducciones\",\"Visualizzazioni\",\"Keer bekeken\",\"Visninger\",\"Görünümler\",\"Views\",\"조회수\",\"Просмотры\",\"مشاهدات\",\"Visualizações\",\"观看次数\",\"觀看次數\",\"مشاهده‌ها\",\"Tampilan\",\"Paparan\"\n\"TID_NEWS_UPDATE_TITLE\",\"UPDATE!\",\"MISE À JOUR !\",\"AKTUALISIERUNG!\",\"¡ACTUALIZACIÓN!\",\"AGGIORNAMENTO!\",\"UPDATE!\",\"OPPDATERING!\",\"GÜNCELLE!\",\"アップデート！\",\"업데이트!\",\"ОБНОВЛЕНИЕ!\",\"تحديث!\",\"ATUALIZAÇÃO!\",\"更新！\",\"更新！\",\"به‌روزرسانی!\",\"PEMBARUAN!\",\"KEMAS KINI!\"\n\"TID_NEWS_UPDATE_TEXT\",\"LEGENDARY ARENA & SEASONS\\n- Legendary Arena: Unlocks at 3000 Trophies\\n- Seasons: Every two weeks, players above 3000 Trophies will be reset to 3000 and all deducted Trophies will be awarded as Legend Trophies!\\n\\n​TOURNAMENT RULES\\n- Tournament Rules: Friendly Battles now use the all-new \\qTournament Standard\\q level caps for truly fair-play matches! The level caps are: King & Crown Towers 8, Common Cards 8, Rares 6, Epics 3 and overtime lasts for 3 minutes. Have fun organising your own tournaments!\\n\\n​BALANCE & OTHER CHANGES\\n- Battle Cost: We´ve removed the Gold cost for Battles and Friendly Battles\\n- Balance: We´ve re-balanced a bunch of cards, visit www.clashroyale.com to find out more\\n- Bugs: Stuck Witches, iMessage issues and many more fixes\",\"ARÈNE LÉGENDAIRE ET SAISONS\\n- Arène légendaire : accessible avec 3 000 trophées\\n- Saisons : toutes les deux semaines, les joueurs ayant plus de 3 000 trophées verront leur nombre de trophées redescendre à 3 000 et tous leurs trophées ainsi prélevés deviendront des trophées légendaires !\\n\\n​RÈGLEMENT DES TOURNOIS\\n- Règlement des tournois : les combats amicaux respectent désormais les toutes nouvelles limites de niveaux des \\qnormes des tournois\\q, pour des combats vraiment équitables ! Ces limites de niveaux sont les suivantes : 8 pour le roi et les tours couronnées, 8 pour les cartes communes, 6 pour les cartes rares, 3 pour les cartes épiques, avec un temps extra de 3 minutes. Amusez-vous bien en organisant vos propres tournois !\\n\\n​ÉQUILIBRAGE ET AUTRES CHANGEMENTS\\n- Coût des combats : les dépenses d'or pour les combats et combats amicaux, c'est fini !\\n- Équilibrage : nous avons rééquilibré certaines cartes. Consultez www.clashroyale.com pour en savoir plus.\\n- Résolution de nombreux bugs, y compris ceux liés aux sorcières bloquées et à iMessage.\",\"LEGENDÄRE ARENA UND SAISONS\\n- Legendäre Arena: Wird bei 3000 Trophäen freigeschaltet\\n- Saisons: Alle zwei Wochen werden Spieler mit über 3000 Trophäen auf 3000 Trophäen zurückgesetzt. Alle abgezogenen Trophäen werden als legendäre Trophäen vergeben!\\n\\n​TURNIERREGELN\\n- Turnierregeln: Für Testspiele gelten jetzt \\qTurnierstandards\\q mit Levellimits, um für gerechte Voraussetzungen zu sorgen! Es gelten folgende Levellimits: König und Kronentürme - 8, Gewöhnliche Karten - 8, Seltene Karten - 6, Epische Karten - 3. Die Verlängerung dauert 3 Minuten. Viel Spaß beim Organisieren eurer Turniere!\\n\\n​AUSGEWOGENHEIT UND ANDERE VERÄNDERUNGEN:\\n- Kampfkosten: Wir haben die Goldkosten für Kämpfe und Testspiele entfernt.\\n- Ausgewogenheit: Wir haben verschiedene Karten neu austariert (weitere Informationen findest du auf www.clashroyale.com).\\n- Fehler: Feststeckende Hexen, iMessage-Probleme und vieles mehr wurde behoben.\",\"ARENA LEGENDARIA Y TEMPORADAS\\n— Arena Legendaria: Se desbloquea con 3000 trofeos.\\n— Temporadas: Cada dos semanas, se reiniciará el número de trofeos a 3000 para aquellos jugadores que tengan más de esa cantidad, y los trofeos que se hayan restado se entregarán en forma de trofeos de leyenda.\\n\\nREGLAS DEL TORNEO\\n— Reglas: Las batallas amistosas se rigen en función de los nuevos límites de nivel del estándar del torneo para que las partidas sean justas. Los límites son los siguientes: nivel 8 para las torres del rey y de coronas, nivel 8 para las cartas comunes, nivel 6 para las cartas especiales, nivel 3 para las cartas épicas y tiempo extra de 3 minutos. ¡Disfruta organizando tus propios torneos!\\n\\n​AJUSTES DE EQUILIBRIO Y OTROS CAMBIOS\\n— Coste de las batallas: Las batallas normales y las amistosas ya no cuestan oro.\\n— Equilibrio: Hemos ajustado algunas cartas. Visita www.clashroyale.com para obtener más información.\\n— Errores arreglados: Las brujas ya no se quedan atascadas, hemos solucionado problemas con iMessage ¡y más cosas!\",\"ARENA LEGGENDARIA E STAGIONI\\n- Arena leggendaria: si sblocca a 3.000 trofei\\n- Stagioni: ogni due settimane, i giocatori con più di 3.000 trofei saranno riportati a 3.000 e i trofei sottratti saranno convertiti in trofei leggenda!\\n\\n​REGOLE DA TORNEO\\n- Regole da torneo: ora le battaglia amichevoli usano i nuovi limiti di livello \\qstandard da torneo\\q per partite all'insegna del fair-play! I limiti di livello sono: re e torri della corona 8, carte comuni 8, rare 6, epiche 3 e i supplementari durano 3 minuti. Divertitevi a organizzare i vostri tornei!\\n\\n​BILANCIAMENTO E ALTRI CAMBIAMENTI\\n- Costo delle battaglie: abbiamo tolto il costo in oro per battaglie e battaglie amichevoli\\n- Bilanciamento: abbiamo ribilanciato diverse carte, visita www.clashroyale.com per saperne di più\\n- Errori: streghe bloccate, problemi con iMessage e molte altre correzioni\",\"LEGENDARISCHE ARENA & SEIZOENEN\\n- Legendarische arena: wordt ontgrendeld bij 3000 trofeeën\\n- Seizoenen: elke twee weken worden spelers met meer dan 3000 trofeeën teruggezet naar 3000 en alle afgetrokken trofeeën worden toegekend als legendarische trofeeën!\\n\\n​TOERNOOIREGELS\\n- Toernooiregels: vriendelijke gevechten gebruiken nu de volledig nieuwe 'toernooistandaard' limieten op levels voor volledig eerlijke gevechten! De limieten voor de levels zijn: koning en kroontorens 8, gewone kaarten 8, zeldzame 6, epische 3 en de extra tijd duurt 3 minuten. Geniet van het organiseren van je eigen toernooien!\\n\\n​BALANS EN ANDERE WIJZIGINGEN\\n- Gevechtskosten: we hebben de goudkosten voor gevechten en vriendelijke gevechten verwijderd\\n- Balans: we hebben de balans van een heleboel kaarten aangepast, ga naar www.clashroyale.com voor meer informatie\\n- Opgeloste problemen: vastgelopen heksen, iMessage-problemen en nog veel meer opgeloste problemen\",\"LEGENDARISK ARENA & SESONGER\\n- Legendarisk arena: Låser opp på 3000 trofeer\\n- Sesonger: Annenhver uke tilbakestilles spillere med mer enn 3000 trofeer til 3000, og alle fratrukne trofeer gjøres om til legendetrofeer!\\n\\n​TURNERINGSREGLER\\n- Turneringsregler: Vennskapskamper bruker nå den helt nye \\qturneringsstandarden\\q, med nivågrenser som virkelig gir rettferdige kamper! Nivågrensene er: Konge og kronetårn - 8, vanlige kort - 8, sjeldne - 6, episke - 3, mens overtiden varer i tre minutter. Ha det gøy med å organisere dine egne turneringer!\\n\\n​BALANSE & ANDRE ENDRINGER\\n- Kampkostnad: Vi har fjernet gullkostnaden for kamper og vennskapskamper\\n- Balanse: Vi har gjort om balansen for en rekke kort. Besøk www.clashroyale.com for å finne ut mer\\n- Feilrettinger: Hekser som sitter fast, iMessage-problemer og mye annet\",\"EFSANEVİ ARENA VE SEZONLAR\\n- Efsanevi Arena: Kilidi 3000 Kupada açılır\\n- Sezonlar: Kupa sayısı 3000'den fazla olan oyuncuların kupaları iki haftada bir 3000'e sıfırlanır ve tüm kesilen Kupalar Efsane Kupalar olarak verilir!\\n\\nTURNUVA KURALLARI\\n- Turnuva Kuralları: Gerçekten adil oyun maçları için Dostluk Savaşları artık yepyeni \\qTurnuva Standardı\\q seviye kapasitelerini kullanacak! Seviye kapasiteleri şu şekilde: Kral ve Taç Kuleleri 8, Sıradan Kartlar 8, Enderler 6, Destansılar 3 ve uzatma seviyeleri 3 dakika sürecek. Kendi turnuvalarını organize etme keyfini yaşa!\\n\\nDENGE VE DİĞER DEĞİŞİKLİKLER\\n- Savaş Maliyeti: Savaş ve Dostluk Savaşlarının Altın maliyetini kaldırdık\\n- Denge: Bazı kartların dengesini ayarladık, daha fazlasını öğrenmek için www.clashroyale.com adresini ziyaret et\\n- Hatalar: Takılan Cadılar, iMessage sorunları ve daha pek çok düzeltme\",\"レジェンドアリーナ＆シーズン\\n-レジェンドアリーナ：3000トロフィーでアンロック\\n-シーズン：3000トロフィー以上を保持しているプレイヤーは2週間おきに3000トロフィーにリセットされ、差し引かれた分のトロフィーを「レジェンドトロフィー」として獲得します！\\n\\n大会ルール\\n-大会ルール： 真にフェアな戦いを実現するため、フレンドバトルには新しい\\q大会基準\\qに基づくレベル制限が適用されます！ レベル制限は以下の通りです：キングおよびクラウンタワー=8、ノーマルカード=8、レアカード=6、スー\",\"전설 아레나 & 시즌\\n- 전설 아레나: 트로피 3,000개에서 해제됩니다.\\n- 시즌: 2주에 한 번씩 3000개 이상 트로피를 획득한 플레이어의 트로피 수가 3,000개로 리셋되며 남은 트로피는 전설 트로피로 등록됩니다!\\n\\n토너먼트 규칙\\n- 토너먼트 규칙: 친선전에 이제부터 새로운 \\q토너먼트 기준\\q 레벨 제한이 적용되어 공평한 조건에서 경기를 할 수 있습니다! 레벨 제한은 다음과 같습니다. 킹스 타워 및 크라운 타워 8레벨, 일반 카드 8레벨, 희귀 카드 6레벨,영웅 카드 3레벨이며 오버타임 시간은 3분입니다. 자신만의 토너먼트를 만들어 보세요!\\n\\n밸런스 및 기타 변경 사항\\n- 전투 비용: 일반 전투 및 친선전에 이제 골드를 사용하지 않도록 변경했습니다.\\n- 밸런스: 일부 카드의 밸런스를 변경했습니다. www.clashroyale.com을 방문해 자세한 내용을 알아보세요.\\n- 버그 수정: 마녀가 멈춰버리는 현상, iMessage 버그 및 다양한 버그를 수정했습니다.\",\"ЛЕГЕНДАРНАЯ АРЕНА И СЕЗОНЫ\\n- Легендарная арена: открывается на 3 000 трофеев;\\n- Сезоны: каждые две недели трофеи игроков, набравших больше 3 000 трофеев, будут сброшены до 3 000. Сброшенные трофеи превратятся в легендарные!\\n\\n​ПРАВИЛА ТУРНИРА\\n- Турнирные поединки теперь проводятся по \\qТурнирным стандартам\\q, где уровни подгоняются для более честной игры! Уровни следующие: король и королевские башни получают уровень 8, обычные карты — 8, Редкие — 6, Эпические — 3, также дается 3 минуты доп. времени. Организуйте турниры на здоровье!\\n\\nБАЛАНС И ДРУГИЕ ПЕРЕМЕНЫ\\n- Стоимость сражений: мы убрали плату золотом за бои и дружеские поединки;\\n- Баланс: мы изменили несколько карт, подробнее можно узнать на www.clashroyale.com;\\n- Исправлены ошибки: застрявшие ведьмы, iMessage и многие другие.\",\"الساحة الأسطورية والمواسم\\n- الساحة الأسطورية: تُفتح عند 3000 كأس\\n- المواسم: كل أسبوعين، ستتم إعادة تعيين اللاعبين أعلى من 3000 كأس إلى 3000 وسيتم منح كل الكؤوس المخصومة ككؤوس أسطورة!\\n\\nقواعد البطولة\\n- قواعد البطولة: المعارك الودية الآن تستخدم مستويات قدرة \\qمعيار بطولة\\q جديدة تمامًا للوصول إلى مباريات عادلة حقًا! مستويات القدرة هي: الملك وأبراج التاج 8 والبطاقات العادية 8 والنادرة 6 والممتازة 3 ويدوم الوقت الإضافي لمدة 3 دقائق. تمتع بترتيب بطولاتك الخاصة!\\n\\nالتوازن والتغييرات الأخرى\\n- تكلفة المعركة: أزلنا تكلفة الذهب للمعارك والمعارك الودية\\n- التوازن: أعدنا موازنة مجموعة من البطاقات، قم بزيارة www.clashroyale.com لاكتشاف المزيد\\n- الأعطال: توقف الساحرات، مشاكل iMessage والمزيد من الإصلاحات.\",\"ARENA LENDÁRIA E TEMPORADAS\\n- Arena Lendária: Liberada ao alcançar 3000 troféus\\n- Temporadas: A cada duas semanas, jogadores com mais de 3000 troféus serão reduzidos a 3000 e todos os troféus subtraídos serão transformados em troféus lendários!\\n\\nREGRAS DE TORNEIO\\n- Regras de Torneio: batalhas amistosas agora usam as novas limitações do \\qpadrão de torneio\\q para partidas justas! As limitações são: Rei e Torres da Coroa 8, cartas comuns 8, cartas raras 6, épicas 3 e prorrogação de até 3 minutos. Divirta-se organizando seus próprios torneios!\\n\\nEQUILÍBRIO E OUTRAS ALTERAÇÕES\\n- Custo de batalhas: removemos o custo em ouro para batalhas e batalhas amigáveis\\n- Equilíbrio: rebalanceamos várias cartas, visite www.clashroyale.com para descobrir mais\\n- Erros: Bruxas travadas, problemas com iMessage e outros consertos\",\"传奇竞技场和赛季\\n- 传奇竞技场：在3000杯时解锁\\n- 赛季：每隔两周，杯数大于3000的玩家将重置为3000杯，所有扣除的奖杯将以传奇奖杯的形式发放！\\n\\n​锦标赛规则\\n- 锦标赛规则：为保证比赛公平，友谊战将采用全新的\\q锦标赛规则\\q等级上限：国王塔和皇家塔8级，普通卡牌8级，稀有卡牌6级，史诗卡牌3级，加时赛为3分钟。快来组织自己的锦标赛吧！\\n\\n​平衡性调整和其他改动\\n- 战斗花费：我们取消了对战和友谊战所需的金币花费\\n- 平衡性调整：我们对大量卡牌做了平衡性调整，请访问www.clashroyale.com查看更多信息\\n- 错误修复：卡女巫错误、iMessage问题和其他错误\",\"傳奇競技場和賽季\\n- 傳奇競技場：在3000杯時解鎖\\n- 賽季：每隔兩周，杯數大於3000的玩家將重置為3000杯，所有的扣除獎盃將以傳奇獎盃的形式發放！\\n\\n​聯賽規則\\n- 聯賽規則：為保證比賽公平，友誼戰將採用全新的\\q聯賽規則\\q等級上限：國王防禦塔和皇冠防禦塔8級，普通卡牌8級，稀有卡牌6級，史詩卡牌3級，加時賽為3分鐘。快來組織自己的聯賽吧！\\n\\n​平衡性調整和其他改動\\n- 戰鬥花費：我們取消了戰鬥和友誼戰所需的金幣花費\\n- 平衡性調整：我們對大量卡牌做了平衡性調整，請訪問www.clashroyale.com查看更多資訊\\n- 錯誤修復：卡女巫錯誤、iMessage問題和其他錯誤\",\"فصل‌ها و میدان نبرد افسانه‌ای\\n- میدان نبرد افسانه‌ای: با 3000 جام باز می‌شه\\n- فصل‌ها: هر دو هفته، بازیکنانی که بیش از 3000 جام دارن دوباره به 3000 جام برمی‌گردن و به جای هر جامی که از دست دادن یک جام افسانه‌ای دریافت می‌کنن!\\n\\n​قوانین مسابقه\\n- قوانین مسابقه: نبردهای دوستانه اکنون از کلاه‌های سطح کاملاً جدید برای \\qاستاندارد مسابقه\\q استفاده می‌کنن تا مسابقات کاملاً عادلانه انجام بشن! کلاه‌های سطح عبارتند از: برج‌های پادشاه و تاج 8، کارت‌های معمولی 8، موارد کمیاب 6، حماسی 3 و وقت اضافه 3 دقیقه‌ای. از درست کردن مسابقات شخصی لذت ببر!\\n\\n​موجودی حساب و سایر تغییرات\\n- هزینه نبرد: هزینه طلای مورد نیاز برای بردها و نبردهای دوستانه رو کاهش دادیم\\n- موجودی حساب: ما هزینه تعدای از کارت‌ها رو تغییر دادیم، برای اطلاعات بیشتر به www.clashroyale.com مراجعه کن\\n- اشکالات: گیر کردن ساحره‌ها، مشکلات iMessage و موارد بسیار دیگری رفع شدند.\",\"ARENA & MUSIM LEGENDARIS\\n- Arena Legendaris: Terbuka pada 3000 Trofi\\n- Musim: Setiap dua minggu, pemain dengan 3.000 Trofi ke atas akan diatur ulang menjadi 3.000 dan semua Trofi yang dipotong akan dihadiahkan sebagai Trofi Legenda!\\n\\n​ATURAN TURNAMEN\\n- Aturan Turnamen: Pertempuran Persahabatan kini menggunakan batas level\\qStandar Turnamen\\q baru demi pertandingan yang benar-benar adil! Batas levelnya: Benteng Raja & Mahkota 8, Kartu Umum 8, Langka 6, Epik 3 dan perpanjangan berlangsung selama 3 menit. Bersenang-senanglah mengatur turnamenmu sendiri!\\n\\nPENYEIMBANGAN & PERUBAHAN LAIN\\n- Biaya Pertempuran: Kami menghapus biaya Emas untuk Pertempuran dan Pertempuran Persahabatan\\n- Penyeimbangan: Banyak kartu telah kami seimbangkan ulang, kunjungi www.clashroyale.com untuk info lengkapnya\\n- Bug: Nenek Sihir tersangkut, masalah iMessage, dan banyak perbaikan lainnya\",\"ARENA & MUSIM LEGENDA\\n- Arena Legenda: Dibuka kunci pada 3000 Trofi\\n- Musim: Setiap dua minggu, pemain melebihi 3000 Trofi akan ditetapkan semula kepada 3000 dan semua Trofi yang dikurangkan akan diberikan sebagai Trofi Legenda!\\n\\nPERATURAN PERTANDINGAN\\n- Pertempuran Persahabatan kini menggunakan semua tukup tahap \\qStandard Pertandingan\\q baharu untuk perlawanan permainan yang betul-betul adil! Tukup tahap ialah: Menara Raja & Mahkota 8, Kad Biasa 8, Jarang 6, Epik 3 dan masa lebih selama 3 minit. Berseronok mengatur pertandingan anda sendiri!\\n\\nKESEIMBANGAN & PERUBAHAN LAIN\\n- Kos Pertempuran: Kami telah mengeluarkan kos Emas untuk Pertempuran dan Pertempuran Persahabatan\\n- Baki: Kami telah mengimbangi semula banyak kad, lawati www.clashroyale.com untuk mengetahui selanjutnya\\n- Pepijat: Sihir Perempuan Tersekat, isu iMessage dan banyak lagi pepijat\"\n\"TID_NEWS_ITEM_BUTTON\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\",\"ClashRoyale.com\"\n\"TID_SPELL_PRINCE\",\"Prince\",\"Prince\",\"Prinz\",\"Príncipe\",\"Principe\",\"Prins\",\"Prins\",\"Prens\",\"プリンス\",\"프린스\",\"Принц\",\"أمير\",\"Príncipe\",\"王子\",\"王子\",\"شاهزاده\",\"Pangeran\",\"Putera\"\n\"TID_SPELL_INFO_PRINCE\",\"Don't let the little pony fool you. Once the Prince gets a running start, you WILL be trampled. Deals double damage once he gets charging.\",\"Ne vous laissez pas berner par son petit poney. Une fois le prince lancé, vous risquez fort de vous faire piétiner. Les dégâts infligés doublent quand il charge.\",\"Lass dich von dem kleinen Pony nicht beirren. Hat der Prinz erst mal Tempo drauf, wirst du zertrampelt. Wenn er heranstürmt, richtet er doppelten Schaden an.\",\"Que no te despiste su encantador poni: cuando el príncipe lo espolee, ¡pasará por encima de ti sin piedad! Inflige el doble de daño una vez iniciada la carga.\",\"Il suo destriero sarà anche un semplice mini-pony, ma se comincia a galoppare, ti TRAVOLGERÀ. Infligge danno doppio dopo che inizia una carica.\",\"Laat je niet misleiden door die kleine pony. Als de prins hem op het juiste moment de sporen geeft, VERTRAPT hij je. Veroorzaakt dubbele schade als hij aanvalt.\",\"Ikke la den lille ponnien lure deg. Så snart prinsen får opp tempoet, blir du trampet ned. Påfører dobbel skade når han angriper.\",\"Küçük midillinin seni kandırmasına izin verme. Prens dört nala geldiğinde ÇİĞNENECEKSİN. Koşmaya başladığında iki kat hasar verir.\",\"かわいらしいポニーに乗っていても、彼を見くびってはなりません。プリンスが走り出したら相手はタダでは済まないでしょう...突撃中はダメージが2倍です！\",\"망아지를 타고 있다고 해서 속지 마세요. 일단 프린스가 뛰기 시작하면 장난이 아니니까요. 돌격하면 적에게 2배의 피해를 줍니다.\",\"Не смейся над крошкой-пони! Ты ОЧЕНЬ удивишься, когда принц вступит в бой. Наносит двойной урон при штурме.\",\"لا تدع المُهر يخدعك. بمجرد بداية ركض الأمير، سيتم دهسك. يسبب ضررًا مضاعفًا بمجرد شحنه.\",\"Não se engane com a carinha do pequeno pônei. Quando o Príncipe começar a correr, você será atropelado. Causa o dobro de dano ao atacar correndo.\",\"不要因为王子骑的是匹小马就小瞧他哦。一旦王子开始往前冲，你就知道他有多厉害了。王子冲锋时会造成双倍伤害。\",\"別被王子騎小馬的樣子騙了。一旦王子發起衝鋒，你就能知道他有多厲害了。他衝鋒時會對首個目標造成雙倍傷害。\",\"نذار این اسب کوچولو گولت بزنه. وقتی شاهزاده یک حرکت رو شروع کنه، داغون میشی. وقتی شارژ بشه آسیبش دو برابر میشه.\",\"Jangan tertipu dengan kuda kecilnya. Begitu Pangeran mulai berlari, kamu AKAN terinjak-injak. Menimbulkan kerusakan ganda begitu dia lari menyerbu.\",\"Jangan biarkan kuda padi kecil memperbodohkan anda. Sebaik sahaja Putera mendapatkan permulaan dijalankan, anda AKAN diganggu. Menyebabkan kerosakan berganda setelah dia dapat mengecas.\"\n\"TID_CHARACTER_PRINCE\",\"Prince\",\"Prince\",\"Prinz\",\"Príncipe\",\"Principe\",\"Prins\",\"Prins\",\"Prens\",\"プリンス\",\"프린스\",\"Принц\",\"أمير\",\"Príncipe\",\"王子\",\"王子\",\"شاهزاده\",\"Pangeran\",\"Putera\"\n\"TID_CHANGE_SETTINGS_TITLE\",\"Clan Settings\",\"Paramètres de clan\",\"Claneinstellungen\",\"Ajustes del clan\",\"Impostazioni del clan\",\"Claninstellingen\",\"Klaninnstillinger\",\"Klan Ayarları\",\"クランの設定\",\"클랜 설정\",\"Настройки клана\",\"إعدادات القبيلة\",\"Configurações do clã\",\"部落设置\",\"部落設定\",\"تنظیمات قبیله\",\"Setelan Klan\",\"Tetapan Klan\"\n\"TID_SELECT_REGION\",\"Select Region\",\"Sélectionner une région\",\"Region wählen\",\"Seleccionar región\",\"Seleziona regione\",\"Kies regio\",\"Velg region\",\"Bölge Seç\",\"地域を選択\",\"지역 선택\",\"Выбери регион\",\"اختيار المنطقة\",\"Selecionar região\",\"选择区域\",\"選擇區域\",\"انتخاب ناحیه\",\"Pilih Wilayah\",\"Pilih Rantau\"\n\"TID_REPLAY_NO_LONGER_AVAILABLE\",\"Replay no longer available!\",\"La vidéo n'est plus disponible !\",\"Wiederholung nicht mehr verfügbar!\",\"La repetición ya no está disponible.\",\"Replay non più disponibile!\",\"Herhaling niet langer beschikbaar!\",\"Reprisen er ikke lenger tilgjengelig.\",\"Oyun tekrarı artık mevcut değil!\",\"このリプレイは期限切れです！\",\"더 이상 리플레이를 볼 수 없습니다!\",\"Повтор больше не доступен!\",\"لم تعد إعادة العرض متوفرة!\",\"O replay não está mais disponível!\",\"抱歉，已无法回放！\",\"抱歉，已無法重播！\",\"بازپخش دیگه در دسترس نیست!\",\"Tayangan ulang sudah tidak tersedia!\",\"Main Semula tiada lagi!\"\n\"TID_CLAN_LEADER_MESSAGE\",\"Clan Leader Message\",\"Message du chef de clan\",\"Nachricht vom Clananführer\",\"Mensaje del líder del clan\",\"Messaggio dal capo del clan\",\"Bericht van clanleider\",\"Melding fra klanlederen\",\"Klan Liderinin Mesajı\",\"クランリーダーのメッセージ\",\"클랜 대표 메시지\",\"Сообщение главы клана\",\"رسالة قائد القبيلة\",\"Mensagem do líder do clã\",\"部落通知\",\"部落通知\",\"پیام رهبر قبیله\",\"Pesan Pemimpin Klan\",\"Mesej Ketua Klan\"\n\"TID_CLAN_LEADER_MSG_DEF_TITLE\",\"Enter message title here\",\"Saisissez l'objet du message ici.\",\"Gib hier den Nachrichtentitel ein.\",\"Escribe un título para el mensaje.\",\"Inserisci qui il titolo del messaggio\",\"Voer hier een titel voor je bericht in\",\"Skriv meldingens tittel her\",\"Mesaj başlığını buraya gir\",\"メッセージの件名を入力\",\"여기에 메시지 제목을 입력하세요.\",\"Введи заголовок сообщения\",\"أدخل عنوان الرسالة هنا\",\"Insira o título da mensagem aqui\",\"在此输入消息标题\",\"在此輸入消息標題\",\"عنوان پیام رو اینجا وارد کن\",\"Masukkan judul pesan di sini\",\"Masukkan tajuk mesej di sini\"\n\"TID_CLAN_LEADER_MSG_DEF_DESC\",\"Enter a message to your Clanmates here\",\"Saisissez ici un message pour les membres de votre clan\",\"Gib hier eine Nachricht an deine Clankameraden ein.\",\"Escribe un mensaje para tus aliados.\",\"Inserisci qui un messaggio per i membri del tuo clan\",\"Voer hier een bericht\\naan je clangenoten in.\",\"Skriv en melding til klanvennene dine her\",\"Buradan Klan arkadaşlarına mesaj yazabilirsin\",\"クランメンバーへのメッセージを入力\",\"클랜원에게 보내는 메시지를 입력하세요.\",\"Напиши сообщение для соклановцев\",\"أدخل رسالة لزملائك في القبيلة هنا\",\"Insira aqui uma mensagem para os membros do seu clã.\",\"在此输入发送给部落成员的消息\",\"在此輸入發送給部落成員的消息\",\"پیام ارسالی برای هم قبیله‌ای ها رو اینجا وارد کن\",\"Masukkan pesan ke Rekan Klan di sini\",\"Masukkan mesej kepada Rakan Klan anda di sini\"\n\"TID_ALLIANCE_MESSAGE_SUCCESS\",\"Message sent!\",\"Message envoyé !\",\"Nachricht gesendet!\",\"¡Mensaje enviado!\",\"Messaggio inviato!\",\"Bericht verzonden!\",\"Melding sendt!\",\"Mesaj gönderildi!\",\"送信完了！\",\"메시지 전송 완료!\",\"Сообщение отправлено!\",\"تم إرسال الرسالة!\",\"Mensagem enviada!\",\"消息已发送！\",\"消息已發送！\",\"پیام ارسال شد!\",\"Pesan terkirim!\",\"Mesej dihantar!\"\n\"TID_ALLIANCE_MESSAGE_FAIL\",\"You have already sent message. You can send again in <time>.\",\"Vous avez déjà envoyé un message. Vous pourrez en renvoyer un dans <time>.\",\"Du hast schon eine Nachricht gesendet. In <time> kannst du wieder eine senden.\",\"Ya has enviado un mensaje. Tienes que esperar <time> para enviar otro.\",\"Hai già inviato un messaggio. Puoi inviarne un altro tra <time>.\",\"Je hebt al een bericht verzonden. Verzend opnieuw iets over <time>.\",\"Du har allerede sendt en melding. Du kan sende en ny om <time>.\",\"Mesaj zaten gönderildi. <time> içinde tekrar gönderebilirsin.\",\"すでにメッセージを送信ずみです。次の送信まで<time>お待ちください。\",\"이미 메시지를 보냈습니다. <time> 후에 다시 보낼 수 있습니다.\",\"Сообщение уже отправлено. Снова отправить можно через <time>\",\"لقد أرسلت رسالة بالفعل. يمكنك إرسالها ثانية خلال <time>.\",\"Você já enviou uma mensagem e poderá enviar outra em <time>.\",\"您已经发送了消息，<time>后您可以再次发送。\",\"您已經發送了消息，<time>後您可以再次發送。\",\"قبلاً پیام فرستادی. می‌تونی بعد از <time> دوباره بفرستی.\",\"Kamu sudah mengirim pesan. Kamu dapat mengirim lagi dalam <time>.\",\"Anda telah menghantar mesej. Anda boleh menghantar lagi dalam <time>.\"\n\"TID_INVALID_NAME\",\"Invalid name! Please try another one.\",\"Nom incorrect ! Veuillez en choisir un autre.\",\"Ungültiger Name! Bitte probiere einen anderen.\",\"El nombre no es válido. Prueba con otro.\",\"Nome non valido! Prova con un altro.\",\"Ongeldige naam! Probeer een andere naam.\",\"Ugyldig navn! Prøv et annet.\",\"Geçersiz ad! Lütfen başka bir tane dene.\",\"この名前は使用できません！\\n別の名前にしてください。\",\"잘못된 이름입니다! 다른 이름을 사용해보세요.\",\"Не верное имя! Пожалуйста, попробуй другое\",\"اسم غير صالح! الرجاء استخدام اسم آخر.\",\"Nome inválido. Tente outro.\",\"此名称无效，换个试试吧！\",\"此名稱無效，換個試試吧！\",\"اسم نامعتبر! لطفاً یکی دیگه امتحان کن.\",\"Nama tidak valid! Coba yang lain.\",\"Nama tidak sah! Sila cuba yang lain.\"\n\"TID_NAME_TOO_SHORT\",\"Name is too short!\",\"Nom trop court !\",\"Name ist zu kurz!\",\"El nombre es demasiado corto.\",\"Il nome è troppo corto!\",\"De naam is te kort!\",\"Navnet er for kort!\",\"Ad çok kısa!\",\"名前が短すぎます！\",\"이름이 너무 짧습니다!\",\"Слишком короткое имя!\",\"الاسم قصير للغاية!\",\"Nome muito curto!\",\"名称太短啦！\",\"名稱太短啦！\",\"اسم خیلی کوتاهه!\",\"Nama terlalu pendek!\",\"Nama terlalu pendek!\"\n\"TID_INVALID_DESCRIPTION\",\"Invalid description! Please try another one.\",\"Description non valide ! Veuillez en choisir une autre.\",\"Ungültige Beschreibung! Bitte probiere eine andere.\",\"La descripción no es válida. Prueba con otra.\",\"Descrizione non valida! Provane un'altra.\",\"Ongeldige beschrijving! Probeer een andere beschrijving!\",\"Ugyldig beskrivelse! Prøv en annen.\",\"Geçersiz açıklama! Lütfen başka bir açıklama dene.\",\"説明が無効です！ 別のものを試してください。\",\"부적절한 설명입니다! 다른 내용을 입력하세요.\",\"Описание не подходит! Пожалуйста, попробуй другое.\",\"وصف غير صالح! الرجاء استخدام وصف آخر.\",\"Descrição inválida. Tente outra.\",\"此部落描述无效，请修改！\",\"此部落描述無效，請修改！\",\"توضیح نامعتبر! لطفاً یکی دیگه امتحان کن.\",\"Deskripsi tidak valid! Coba yang lain.\",\"Perihalan tidak sah! Sila cuba yang lain.\"\n\"TID_SELECT_BADGE\",\"Select badge\",\"Sélectionner un écusson\",\"Abzeichen wählen\",\"Seleccionar emblema\",\"Seleziona decorazione\",\"Kies badge\",\"Velg merke\",\"Rozet seç\",\"紋章を選択\",\"배지 선택\",\"Выбери символ\",\"اختيار الشارة\",\"Selecionar emblema\",\"选择徽章\",\"選擇徽章\",\"انتخاب نشان\",\"Pilih lencana\",\"Pilih lencana\"\n\"TID_SHARE_COUNT\",\"<num> shares\",\"<num> partages\",\"<num>-mal geteilt\",\"Veces compartido: <num>\",\"Condivisioni: <num>\",\"<num> keer gedeeld\",\"Delt <num> ganger\",\"<num> paylaşım\",\"<num>回共有\",\"<num>회 공유\",\"Публикации: <num>\",\"<num> من المشاركات\",\"<num> compartilhamentos\",\"<num>次分享\",\"<num>次分享\",\"<num> اشتراک‌گذاری\",\"<num>x dibagikan\",\"<num> kongsi\"\n\"TID_TV_ROYALE\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"クラロワTV\",\"로얄 TV\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"皇室TV\",\"皇室TV\",\"TV Royale\",\"TV Royale\",\"TV Diraja\"\n\"TID_TV_UNLOCKS\",\"TV Royale unlocks\",\"Accès à TV Royale\",\"TV Royale verfügbar\",\"TV Royale se desbloquea\",\"TV Royale si sblocca\",\"TV Royale ontgrendelt\",\"TV Royale låses opp\",\"TV Royale'ın Açılacağı Yer:\",\"クラロワTVは\",\"로얄 TV 잠금 해제\",\"TV Royale\",\"فتح TV Royale\",\"A TV Royale desbloqueia\",\"皇室TV\",\"皇室TV\",\"بازشدن قفل TV Royale\",\"TV Royale terbuka\",\"TV Diraja dibuka kunci\"\n\"TID_NO_TOP_REPLAYS\",\"No replays on TV Royale at the moment.\\n\\nCheck back later!\",\"Aucune vidéo sur TV Royale pour le moment.\\n\\nRevenez plus tard !\",\"Es gibt derzeit keine Wiederholungen bei TV Royale.\\n\\nBitte schau später noch mal vorbei!\",\"En estos momentos no hay ninguna repetición en TV Royale.\\n\\n¡Vuelve más tarde!\",\"Non ci sono replay in TV Royale al momento.\\n\\nRiprova più tardi!\",\"Er zijn momenteel geen herhalingen op TV Royale.\\n\\nNeem later weer een kijkje!\",\"Det er for øyeblikket ingen opptak på TV Royale.\\n\\nKom tilbake senere!\",\"Şu an TV Royale'de oyun tekrarı yok.\\n\\nDaha sonra tekrar kontrol et!\",\"現在クラロワTVには\\nリプレイがありません。\\n\\nまたあとで見に来てください！\",\"현재 로얄 TV에 시청 가능한 리플레이가 없습니다.\\n\\n나중에 다시 확인해 보세요!\",\"На TV Royale нет повторов.\\n\\nЗагляни позже!\",\"لا توجد إعادات عرض على TV Royale حاليًا.\\n\\nألقِ نظرة لاحقًا!\",\"Não há replays na TV Royale no momento.\\n\\nTente de novo mais tarde!\",\"皇室TV中暂无回放。\\n\\n请稍后查看！\",\"皇室TV中暫無重播。\\n\\n請稍後查看！\",\"در حال حاضر هیچ بازپخشی در TV Royale وجود نداره.\\n\\nبعدا سر بزن!\",\"Tidak ada tayangan ulang di TV Royale saat ini.\\n\\nPeriksa lagi nanti!\",\"Tiada main semula pada TV Diraja buat masa ini.\\n\\nSemak semula pada waktu lain!\"\n\"TID_TV_ROYALE_VIEWED\",\"Most Viewed Replays\",\"Vidéos les plus vues\",\"Am häufigsten angesehene Wiederholungen\",\"Repeticiones más vistas\",\"Replay più visti\",\"Meest bekeken herhalingen\",\"Mest sette repriser\",\"En Çok Görüntülenen Oyun Tekrarları\",\"最も見られたリプレイ\",\"가장 많이 본 리플레이\",\"Самые популярные повторы\",\"أكثر إعادات العرض مشاهدة\",\"Replays mais vistos\",\"观看最多的回放\",\"觀看最多的重播\",\"پربیننده‌ترین بازپخش‌ها\",\"Tayangan Ulang Terpopuler\",\"Main Semula Paling Banyak Dilihat\"\n\"TID_TV_ROYALE_SHARED\",\"Most Shared Replays\",\"Vidéos les plus partagées\",\"Am häufigsten geteilte Wiederholungen\",\"Repeticiones más compartidas\",\"Replay più condivisi\",\"Meeste gedeelde herhalingen\",\"Mest delte repriser\",\"En Çok Paylaşılan Oyun Tekrarları\",\"最も共有されたリプレイ\",\"가장 많이 공유된 리플레이\",\"Самые публикуемые повторы\",\"أكثر إعادات العرض مشاركة\",\"Replays mais compartilhados\",\"分享最多的回放\",\"分享最多的重播\",\"اشتراک‌گذاری‌شده‌ترین بازپخش‌ها\",\"Tayangan Ulang Paling Tersebar\",\"Main Semula Paling Banyak Dikongsi\"\n\"TID_CHALLENGE\",\"Friendly Battle\",\"Combat amical\",\"Testspiel\",\"Batalla amistosa\",\"Amichevole\",\"Vriendelijk gevecht\",\"Vennskapskamp\",\"Dostluk Savaşı\",\"フレンドバトル\",\"친선전\",\"Дружеский бой\",\"معركة ودية\",\"Batalha amistosa\",\"友谊战\",\"友誼戰\",\"نبرد دوستانه\",\"Pertempuran Persahabatan\",\"Pertempuran Persahabatan\"\n\"TID_CHALLENGE_DEFAULT_TEXT\",\"Can you beat me?\",\"Peux-tu me battre ?\",\"Kannst du mich schlagen?\",\"¿Podrás vencerme?\",\"Pensi di battermi?\",\"Kun jij me verslaan?\",\"Kan du slå meg?\",\"Beni yenebilir misin?\",\"対戦しましょう！\",\"나랑 한 판 붙죠!\",\"Сможешь победить?\",\"أيمكنك هزيمتي؟\",\"Será que você consegue me derrotar?\",\"可敢与我一战？\",\"可敢與我一戰？\",\"می‌تونی شکستم بدی؟\",\"Bisa mengalahkanku?\",\"Boleh awak kalahkan saya?\"\n\"TID_EXPLAIN_CHALLENGE\",\"Note: All cards are leveled up to Friendly Rules!\",\"Remarque : toutes les cartes sont ajustées suivant le règlement amical !\",\"Hinweis: Alle Karten werden auf das Level der Testspielregeln gebracht!\",\"Nota: Todas las cartas subirán hasta el nivel de las reglas amistosas.\",\"Nota: tutte le carte sono impostate al livello delle regole da amichevole!\",\"Opmerking: alle kaarten stijgen in level volgens de vriendelijke regels!\",\"Viktig: Alle kort tas opp til vennskapsreglenes nivåer!\",\"Not: Tüm kartların seviyesi Dostane Kurallara göre aynı seviyeye getirildi!\",\"注意： すべてのカードがフレンドルールのレベルまで強化されます！\",\"참고: 모든 카드는 친선 규칙에 따라 레벨이 상향 조정됩니다!\",\"Внимание: все карты улучшены по правилам дружеских испытаний!\",\"ملاحظة: تمت ترقية كل البطاقات لتناسب القواعد الودية!\",\"Obs.: Todas as cartas são ajustadas de acordo com as Regras Amistosas.\",\"注意：所有卡牌等级将调整至友谊战等级！\",\"注意：所有卡牌等級將調整至友誼戰等級！\",\"توجه: سطح تمام کارت‌ها بر اساس قوانین دوستانه ارتقا پیدا می‌کنه!\",\"Catatan: Semua kartu naik level ke Aturan Persahabatan!\",\"Nota: Semua kad dinaikkan tahap ke Peraturan Persahabatan!\"\n\"TID_MATCHMAKING_CHALLENGE_TEXT\",\"Waiting for Clanmate to accept\",\"En attente de la réponse de l'adversaire\",\"Warten, dass Clanmitglied akzeptiert\",\"Esperando a que el aliado acepte...\",\"In attesa che il membro del clan accetti\",\"Wachten tot clangenoot accepteert...\",\"Venter på at en klanvenn skal ta utfordringen\",\"Klan Arkadaşının kabul etmesi bekleniyor\",\"クランメンバーの承認を待っています\",\"클랜원의 수락을 기다리고 있습니다.\",\"Ждем подтверждения соклановца\",\"في انتظار قبول زميلك في القبيلة\",\"Esperando o colega aceitar\",\"等待部落成员接受\",\"等待部落成員接受\",\"منتظر تأیید هم قبیله‌ای\",\"Menunggu Rekan Klan menerima\",\"Menunggu Rakan Klan untuk terima\"\n\"TID_SPELL_COLLECTION_EMPTY\",\"Cards To Find\",\"Cartes à trouver\",\"Zu findende Karten\",\"Cartas por encontrar\",\"Carte da trovare\",\"Nog te vinden kaarten\",\"Kort å finne\",\"Bulunacak Kartlar\",\"未入手のカード\",\"찾아야 할 카드\",\"Предстоит найти карты\",\"البطاقات المراد العثور عليها\",\"Cartas a encontrar\",\"待收集的卡牌\",\"待收集的卡牌\",\"کارهایی که باید پیدا کرد\",\"Kartu untuk Ditemukan\",\"Kad Untuk Dicari\"\n\"TID_CARD_UNLOCK_COUNT\",\"Found: <VALUE>\",\"Trouvées : <VALUE>\",\"Gefunden: <VALUE>\",\"Encontradas: <VALUE>\",\"Trovato: <VALUE>\",\"Gevonden: <VALUE>\",\"Funnet: <VALUE>\",\"Bulunan: <VALUE>\",\"発見：<VALUE>\",\"찾음: <VALUE>\",\"Найдено: <VALUE>\",\"تم العثور عليها: <VALUE>\",\"Encontradas: <VALUE>\",\"已收集：<VALUE>\",\"已收集：<VALUE>\",\"پیدا شد: <VALUE>\",\"Ditemukan: <VALUE>\",\"Telah menemui: <VALUE>\"\n\"TID_EPIC_SUNDAY_TITLE\",\"EPIC SUNDAY\",\"DIMANCHE ÉPIQUE\",\"EPISCHER SONNTAG\",\"¡DOMINGO ÉPICO!\",\"DOMENICA EPICA\",\"EPISCHE ZONDAG\",\"EPISK SØNDAG\",\"DESTANSI PAZAR\",\"サンデーマーケット\",\"보너스 일요일\",\"ЭПИЧЕСКОЕ ВОСКРЕСЕНЬЕ\",\"يوم أحد ممتاز\",\"DOMINGO ÉPICO!\",\"周日狂欢！\",\"超級星期天！\",\"یکشنبه حماسی\",\"MINGGU EPIK\",\"AHAD EPIK\"\n\"TID_EPIC_SUNDAY_INFO\",\"More cards, more epic!\",\"Plus de cartes, plus épiques !\",\"Mehr Karten, noch epischer!\",\"Más cartas, ¡más epicidad!\",\"Più carte, più epica!\",\"Meer kaarten en epischer!\",\"Flere kort, mer episk!\",\"Ne kadar kart o kadar destansı oyun!\",\"カードも特典も盛りだくさん！\",\"더 많은 카드와 치열한 게임을 만나보세요!\",\"Новые карты, еще эпичнее!\",\"المزيد من البطاقات والمزيد من التميز!\",\"Mais cartas, mais épico!\",\"更多卡牌，更多精彩！\",\"更多卡牌，更多精彩！\",\"کارت بیشتر، حماسی‌تر!\",\"Lebih banyak kartu, lebih epik!\",\"Lebih kad, lebih epik!\"\n\"TID_STRING_WATCHED\",\"Watched\",\"Visionnée\",\"Angesehen\",\"¡Vista!\",\"Visti\",\"Bekeken\",\"Sett\",\"İzlendi\",\"チェックずみ\",\"시청함\",\"Просмотрено\",\"شوهد\",\"Assistido\",\"已观看\",\"已觀看\",\"تماشا شد\",\"Sudah Ditonton\",\"Ditonton\"\n\"TID_ACHIEMENTS\",\"Achievements\",\"Succès\",\"Errungenschaften\",\"Logros\",\"Obiettivi\",\"Prestaties\",\"Utmerkelser\",\"Başarılar\",\"達成項目\",\"도전 과제\",\"Достижения\",\"إنجازات\",\"Conquistas\",\"成就\",\"成就\",\"دستاوردها\",\"Pencapaian\",\"Pencapaian\"\n\"TID_LOOKING_FOR_CHALLENGE\",\"Looking for a <name>\",\"Recherche : <name>\",\"Sucht: <name>\",\"Buscando <name>...\",\"In cerca di: <name>\",\"Zoeken naar een <name>\",\"Se etter en <name>\",\"Bir <name> aranıyor\",\"<name>を探しています\",\"<name> 찾는 중\",\"Ждем: <name>\",\"يتم البحث عن <name>\",\"Procurando por <name>\",\"正在寻找<name>\",\"正在尋找<name>\",\"جستجوی یک <name>\",\"Mencari <name>\",\"Mencari <name>\"\n\"TID_LOOKING_FOR_2V2\",\"Looking for a 2v2 Battle\",\"Recherche un combat 2c2\",\"Sucht nach einem Duokampf\",\"Buscando batalla 2c2...\",\"In cerca di battaglia 2 vs 2\",\"Op zoek naar een 2-tegen-2-gevecht\",\"Ser etter en 2v2-kamp\",\"2'ye 2 Savaş Aranıyor\",\"協力バトルを探しています\",\"2v2 전투를 찾는 중\",\"хочет участвовать в бою 2 на 2\",\"البحث عن معركة 2 ضد 2\",\"Procurando uma batalha 2v2\",\"正在寻找2v2对战\",\"正在尋找2v2對戰\",\"در جستجوی نبرد 2 در مقابل 2\",\"Mencari Pertempuran 2v2\",\"Mencari Pertempuran 2 lwn 2\"\n\"TID_CHALLENGE_RESULTS\",\"Friendly Battle Result\",\"Résultat du combat amical\",\"Testspielresultat\",\"Resultado de la batalla amistosa\",\"Risultato battaglia amichevole\",\"Resultaat vriendelijk gevecht\",\"Resultat fra vennskapskamp\",\"Dostluk Savaşı Sonucu\",\"フレンドバトル結果\",\"친선전 결과\",\"Результат дружеского боя\",\"نتيحة المعركة الودية\",\"Resultado da batalha amistosa\",\"对战结果\",\"對戰結果\",\"نتیجه نبرد دوستانه\",\"Hasil Pertempuran Persahabatan\",\"Keputusan Pertempuran Persahabatan\"\n\"TID_CHALLENGE_EVENT_RESULTS\",\"<name> Result\",\"Résultat de <name>\",\"Ergebnis: <name>\",\"Resultado de <name>\",\"Risultato <name>\",\"Resultaat <name>\",\"<name> - resultat\",\"<name> Sonucu\",\"<name>の結果\",\"<name> 결과\",\"<name>: результат\",\"نتيجة <name>\",\"Resultado de <name>\",\"<name>结果\",\"<name>結果\",\"<name> نتیجه\",\"Hasil <name>\",\"Keputusan <name>\"\n\"TID_PLAYER_RANK\",\"Ranked #<num>\",\"Rang <num>\",\"Auf Rang <num>\",\"Puesto <num>\",\"Posizione N° <num>\",\"Positie: <num>\",\"Rangert #<num>\",\"<num>. sırada\",\"世界ランキング<num>位\",\"랭킹 #<num>\",\"Ранг № <num>\",\"مصنف #<num>\",\"Posição n° <num>\",\"第<num>名\",\"排名 <num>\",\"رتبه شماره <num>\",\"Peringkat Ke-<num>\",\"Kedudukan #<num>\"\n\"TID_NOT_ENOUGH_GOLD\",\"You do not have enough gold!\",\"Vous n'avez pas assez d'or !\",\"Du hast nicht genug Gold!\",\"¡Necesitas más oro!\",\"Non hai abbastanza oro!\",\"Je hebt niet genoeg goud!\",\"Du har ikke nok gull!\",\"Yeteri kadar altının yok!\",\"ゴールドが足りません\",\"골드가 부족합니다!\",\"Нужно больше золота!\",\"ليس لديك ذهب كاف!\",\"Seu estoque de ouro é insuficiente!\",\"您的金币不足！\",\"您的金幣不足！\",\"به اندازه کافی طلا نداری!\",\"Emasmu tidak cukup!\",\"Anda tidak mempunyai emas yang mencukupi!\"\n\"TID_CHALLENGE_CLOSED\",\"Someone has already accepted this challenge\",\"Quelqu'un a déjà accepté ce défi !\",\"Jemand hat diese Herausforderung schon angenommen.\",\"Este desafío ya ha sido aceptado por otro jugador.\",\"Qualcuno ha già accettato questa sfida\",\"Iemand heeft deze uitdaging al geaccepteerd\",\"Noen har allerede akseptert denne utfordringen\",\"Biri zaten bu mücadeleyi kabul etmiş\",\"この挑戦はすでに他の方が受けて立ちました\",\"누군가 이 도전을 이미 받아들였습니다.\",\"Кто-то уже принял этот вызов\",\"هناك شخص قبل هذا التحدي بالفعل\",\"Alguém já aceitou este desafio.\",\"有人接受了挑战\",\"有人接受了挑戰\",\"قبلاً یک نفر این نبرد رو قبول کرده\",\"Seseorang sudah menerima tantangan ini\",\"Seseorang telah menerima cabaran ini\"\n\"TID_ROYALTV_ADDED\",\"Congratulations! Your battle is now featured on TV Royale. (Arena <ARENA>)\",\"Félicitations ! Votre combat est diffusé sur TV Royale. (Arène <ARENA>)\",\"Glückwunsch! Dein Kampf ist jetzt auf TV Royale zu sehen. (Arena <ARENA>)\",\"¡Enhorabuena! Tu batalla se está retransmitiendo en TV Royale (Arena <ARENA>).\",\"Complimenti! La tua battaglia ora è visibile su TV Royale. (Arena <ARENA>)\",\"Gefeliciteerd! Je gevecht is nu te zien op TV Royale (Arena <ARENA>).\",\"Gratulerer! Kampen din vises nå på TV Royale! (Arena <ARENA>)\",\"Tebrikler! Savaşın şimdi TV Royale'de yayınlandı (<ARENA>).\",\"おめでとうございます！あなたのバトルがクラロワTVで紹介されました。（アリーナ<ARENA>）\",\"축하합니다! 도전자님의 전투가 로얄 TV에 올라갔습니다! (아레나<ARENA>)\",\"Поздравляем! Твое сражение попало на TV Royale! (Арена «<ARENA>»)\",\"تهانينا! يعرض TV Royale معركتك الآن. (ساحة <ARENA>)\",\"Parabéns! Sua batalha está na TV Royale (Arena <ARENA>).\",\"恭喜！您的对战已入选皇室TV。(<ARENA>竞技场 )\",\"恭喜！您的對戰已入選皇室TV。(<ARENA>競技場 )\",\"تبریک! نبرد شما الآن روی TV Royale پخش زنده میشه! (میدان نبرد <ARENA>)\",\"Selamat! Pertempuranmu kini ditampilkan di TV Royale! (Arena <ARENA>)\",\"Tahniah! Pertempuran anda kini dipaparkan pada TV Diraja! (Arena <ARENA>)\"\n\"TID_CHALLENGE_FAIL_SERVER\",\"Could not join the match!\",\"Impossible de rejoindre le combat !\",\"Teilnahme am Kampf nicht möglich!\",\"No has podido unirte a la partida.\",\"Impossibile partecipare allo scontro!\",\"Meedoen aan gevecht mislukt!\",\"Kunne ikke bli med i kampen!\",\"Maça katılamadın!\",\"対戦に参加できません\",\"매치에 참가하지 못했습니다!\",\"Не удалось присоединиться к матчу!\",\"تعذر الانضمام للمباراة!\",\"Não foi possível entrar na partida!\",\"无法加入对战！\",\"無法加入對戰！\",\"امکان پیوستن به بازی نبود!\",\"Tidak dapat ikut pertandingan!\",\"Tidak dapat menyertai perlawanan!\"\n\"TID_NO_CLAN\",\"No Clan\",\"Pas de clan\",\"Kein Clan\",\"Sin clan\",\"Nessun clan\",\"Geen clan\",\"Ingen klan\",\"Klan yok\",\"クランなし\",\"클랜 없음\",\"Нет клана\",\"لا توجد قبيلة\",\"Sem clã\",\"无部落\",\"無部落\",\"قبیله نیست\",\"Tidak ada Klan\",\"Tiada Klan\"\n\"TID_BUTTON_LINK_DEVICE\",\"Link Device\",\"Associer un appareil\",\"Gerät verbinden\",\"Enlazar dispositivo\",\"Collega dispositivo\",\"Apparaat koppelen\",\"Knytt til enhet\",\"Cihazı bağla\",\"デバイスを関連づける\",\"기기 연동\",\"Привязать устройство\",\"ربط الجهاز\",\"Vincular dispositivo\",\"关联设备\",\"關聯裝置\",\"اتصال دستگاه\",\"Tautkan Perangkat\",\"Pautkan Peranti\"\n\"TID_BIND_TO_NEW_GAMECENTER_ACCOUNT_TITLE\",\"New Game Center login\",\"Nouvelle connexion au Game Center\",\"Neue Game Center-Anmeldung\",\"Nueva conexión con Game Center\",\"Nuovo accesso Game Center\",\"Nieuwe Game Center-aanmelding\",\"Ny Game Center-pålogging\",\"Yeni Game Center oturumu\",\"Game Centerの新しいID\",\"새 Game Center 계정 로그인\",\"Новая учетная запись Game Center\",\"تسجيل دخول جديد إلى Game Center\",\"Novo login no Game Center\",\"登录新的Game Center账号\",\"登入新的Game Center帳號\",\"ورود به Game Center جدید\",\"Login Game Center baru\",\"Log Masuk Game Center Baharu\"\n\"TID_BIND_TO_NEW_GAMECENTER_ACCOUNT\",\"Do you want to save your current game on this Game Center account?\",\"Voulez-vous sauvegarder votre partie sur ce compte Game Center ?\",\"Möchtest du dein aktuelles Spiel auf diesem Game Center-Account speichern?\",\"¿Quieres guardar la partida actual en esta cuenta de Game Center?\",\"Vuoi salvare la tua partita su questo account Game Center?\",\"Wil je het huidige spel op dit Game Center-account opslaan?\",\"Vil du lagre det gjeldende spillet på denne Game Center-kontoen?\",\"Şu anki oyununu bu Game Center hesabına kaydetmek istiyor musun?\",\"現在プレイ中のゲームを、このGame Centerアカウントにセーブしますか？\",\"진행 중인 게임을 이 Game Center 계정에 저장할까요?\",\"Хотите сохранить текущую игру в этом профиле Game Center?\",\"هل ترغب في حفظ لعبتك الحالية بهذا الحساب على Game Center؟\",\"Quer salvar o jogo atual nesta conta do Game Center?\",\"您想将当前游戏进度保存到该Game Center账号中吗？\",\"您想將當前遊戲進度保存到該Game Center帳號嗎？\",\"می‌خوای بازی فعلی خودت رو روی این حساب Game Center ذخیره کنی؟\",\"Simpan game saat ini di akun Game Center ini?\",\"Anda ingin menyimpan permainan semasa anda dengan akaun Game Center ini?\"\n\"TID_GAMECENTER_BOUND_TO_OTHER_ACCOUNT_TITLE\",\"Game Center Alert\",\"Avertissement Game Center\",\"Game Center-Meldung\",\"Aviso de Game Center\",\"Avviso Game Center\",\"Game Center-melding\",\"Game Center-varsling\",\"Game Center Uyarısı\",\"Game Centerの警告\",\"Game Center 알림\",\"Предупреждение от Game Center\",\"تنبيه Game Center\",\"Alerta do Game Center\",\"Game Center警告\",\"Game Center警告\",\"هشدار Game Center\",\"Pemberitahuan Game Center\",\"Amaran Game Center\"\n\"TID_GAMECENTER_BOUND_TO_OTHER_ACCOUNT\",\"Do you want to load <c3366cc><name></c>'s progress with <c3366cc>XP level <number></c>? Warning: progress in the current game will be lost.\",\"Voulez-vous charger la progression de <c3366cc><name></c> dont <c3366cc>l'EXP est au niveau<number></c> ? Attention : toute progression dans la partie en cours sera perdue.\",\"Möchtest du den Fortschritt von <c3366cc><name></c> mit <c3366cc>EP-Level <number> laden</c>? Achtung: Der Fortschritt im aktuellen Spiel geht verloren.\",\"¿Quieres cargar el progreso de <c3366cc><name></c> con un <c3366cc>nivel <number> de XP</c>? Aviso: Se perderá el progreso de la partida actual.\",\"Vuoi caricare i progressi di <c3366cc><name></c> con il <c3366cc>livello XP <number></c>? Attenzione: i progressi della partita in corso andranno persi.\",\"Wil je de voortgang van <c3366cc><name></c>met <c3366cc>XP-level <number></c> laden? Waarschuwing: de voortgang in het huidige spel gaat dan verloren.\",\"Vil du laste inn <c3366cc><name></c> sin fremdrift med <c3366cc>XP-nivå <number></c>? Advarsel: Fremdriften i det gjeldende spillet vil gå tapt.\",\"<c3366cc><name></c> adlı kişinin <c3366cc><number></c> TP seviyesindeki ilerlemesini yüklemek istiyor musun? Uyarı: Mevcut oyundaki ilerleme kaybolur.\",\"<c3366cc><name></c>の進行状況(<c3366cc>経験値レベル<number></c>)をロードしますか？\\n警告： 現在プレイ中の進行状況は失われます。\",\"<c3366cc><name></c>의 진행 상황(<c3366cc>XP 레벨 <number></c>) 데이터를 불러오시겠습니까? 경고: 현재 게임의 진행 상황 데이터를 잃게 됩니다.\",\"Хочешь загрузить игру <c3366cc><name></c> с <c3366cc><number>уровнем опыта </c>? Внимание: прогресс в текущей игре будет утерян.\",\"هل تريد تحميل تقدم <c3366cc><name></c> مع <c3366cc>مستوى الخبرة<number></c>؟ تحذير: ستفقد التقدم في اللعبة الحالية.\",\"Quer carregar o progresso de <c3366cc><name></c> com <c3366cc>nível <number> de XP </c>? Atenção: o progresso do jogo atual será perdido.\",\"您要加载<c3366cc><name></c>的进度（<c3366cc><number>级</c>）吗？警告：当前游戏进度将丢失。\",\"您要載入<c3366cc><name></c>的進度（<c3366cc><number>級</c>）嗎？警告：當前遊戲進度將丟失。\",\"می‌خوای پیشرفت <c3366cc><name></c> رو با <c3366cc>سطح XP <number></c> بارگیری کنی؟ هشدار: پیشرفت بازی فعلی از دست میره.\",\"Ingin memuat kemajuan <c3366cc><name></c> dengan <c3366cc>XP level <number></c>? Peringatan: kemajuan game saat ini akan hilang.\",\"Anda ingin memuatkan perkembangan <c3366cc><name></c> dengan <c3366cc>tahap XP <number></c>? Amaran: perkembangan dalam permainan semasa akan hilang.\"\n\"TID_GOOGLE_SERVICE_BOUND_TO_OTHER_ACCOUNT_TITLE\",\"Google Account Alert\",\"Avertissement de compte Google\",\"Google-Konto-Meldung\",\"Aviso de Google\",\"Avviso account Google\",\"Waarschuwing Google-account\",\"Google-kontovarsel\",\"Google Hesabı Uyarısı\",\"Googleアカウントの警告\",\"Google 계정 경고\",\"Оповещение Google Аккаунт\",\"تنبيه حساب Google\",\"Alerta da conta do Google\",\"Google帐户提醒\",\"Google帳號提醒\",\"هشدار Google Account\",\"Pemberitahuan Akun Google\",\"Amaran Akaun Google\"\n\"TID_GOOGLE_SERVICE_BOUND_TO_OTHER_ACCOUNT\",\"Do you want to load <c3366cc><name></c>'s progress with <c3366cc>XP level <number></c>? Warning: progress in the current game will be lost.\",\"Voulez-vous charger la progression de <c3366cc><name></c> dont <c3366cc>l'EXP est au niveau<number></c> ? Attention : toute progression dans la partie en cours sera perdue.\",\"Möchtest du den Fortschritt von <c3366cc><name></c> mit <c3366cc>EP-Level <number> laden</c>? Achtung: Der Fortschritt im aktuellen Spiel geht verloren.\",\"¿Quieres cargar el progreso de <c3366cc><name></c> con un <c3366cc>nivel <number> de XP</c>? Aviso: Se perderá el progreso de la partida actual.\",\"Vuoi caricare i progressi di <c3366cc><name></c> con il <c3366cc>livello XP <number></c>? Attenzione: i progressi della partita in corso andranno persi.\",\"Wil je de voortgang van <c3366cc><name></c>met <c3366cc>XP-level <number></c> laden? Waarschuwing: de voortgang in het huidige spel gaat dan verloren.\",\"Vil du laste inn <c3366cc><name></c> sin fremdrift med <c3366cc>XP-nivå <number></c>? Advarsel: Fremdriften i det gjeldende spillet vil gå tapt.\",\"<c3366cc><name></c> adlı kişinin <c3366cc><number></c> TP seviyesindeki ilerlemesini yüklemek istiyor musun? Uyarı: Mevcut oyundaki ilerleme kaybolur.\",\"<c3366cc><name></c>の、<c3366cc>経験値レベル<number>の進行状況をロードしますか</c>？ 注意:現在のゲームの進行状況は失われます。\",\"<c3366cc><name></c>의 진행 상황(<c3366cc>XP 레벨<number></c>) 데이터를 불러오시겠습니까? 경고: 현재 게임의 진행 상황 데이터를 잃게 됩니다.\",\"Хочешь загрузить игру <c3366cc><name></c> с <c3366cc><number>уровнем опыта </c>? Внимание: прогресс в текущей игре будет утерян.\",\"هل تريد تحميل تقدم <c3366cc><name></c> مع <c3366cc>مستوى الخبرة<number></c>؟.\\n\\nتحذير: ستفقد التقدم في اللعبة الحالية.\",\"Quer carregar o progresso de <c3366cc><name></c> com <c3366cc>nível <number> de XP </c>? Atenção: o progresso do jogo atual será perdido.\",\"您要加载<c3366cc><name></c>的进度（<c3366cc><number>级</c>）吗？警告：当前游戏进度将丢失。\",\"您要載入<c3366cc><name></c>的進度（<c3366cc><number>級</c>）嗎？警告：當前遊戲進度將丟失。\",\"آیا می‌خوای پیشرفت <c3366cc><name></c> رو با تجربه <c3366cc> سطح <number></c> بارگیری کنی؟ هشدار: پیشرفت در بازی فعلی از دست خواهد رفت.\",\"Ingin memuat kemajuan <c3366cc><name></c> dengan <c3366cc>XP level <number></c>? Peringatan: kemajuan game saat ini akan hilang.\",\"Anda ingin memuatkan perkembangan <c3366cc><name></c> dengan <c3366cc>tahap XP <number></c>? Amaran: perkembangan dalam permainan semasa akan hilang.\"\n\"TID_JUPITER_BOUND_TO_OTHER_ACCOUNT_TITLE\",\"Account Alert\",\"Avertissement de compte\",\"Konto-Meldung\",\"Aviso de cuenta\",\"Avviso account\",\"Accountwaarschuwing\",\"Kontovarsel\",\"Hesap Alarmı\",\"アカウントの警告\",\"계정 경고\",\"Оповещение учетной записи\",\"تنبيه الحساب\",\"Alerta de conta\",\"账号提醒\",\"帳號提醒\",\"هشدار حساب\",\"Pemberitahuan Akun\",\"Amaran Akaun\"\n\"TID_JUPITER_BOUND_TO_OTHER_ACCOUNT\",\"Do you want to load <c3366cc><name></c>'s progress with <c3366cc>XP level <number></c>?\",\"Voulez-vous charger la progression de <c3366cc><name></c>, dont <c3366cc>l'EXP est au niveau<number></c> ?\",\"Möchtest du den Fortschritt von <c3366cc><name></c> mit <c3366cc>EP-Level<number> laden</c>?\",\"¿Quieres cargar el progreso de <c3366cc><name></c> con un <c3366cc>nivel <number> de XP</c>?\",\"Vuoi caricare i progressi di <c3366cc><name></c> con il <c3366cc>livello XP<number></c>?\",\"Wil je de voortgang van <c3366cc><name></c> met <c3366cc>XP-level <number></c> laden?\",\"Vil du laste inn fremdriften til <c3366cc><name></c> med <c3366cc>XP-nivå <number></c>?\",\"<c3366cc><name></c> adlı kişinin <c3366cc><number>. TP seviyesindeki</c> ilerlemesini yüklemek istiyor musun?\",\"<c3366cc><name></c>の進行状況(<c3366cc>経験値レベル<number></c>)をロードしますか？\",\"<c3366cc>XP 레벨이 <number></c>인 <c3366cc><name></c>의 진행 상황 데이터를 불러오시겠습니까?\",\"Хочешь загрузить игру <c3366cc><name></c> с <c3366cc>уровнем опыта <number></c>?\",\"هل تريد تحميل مستوى تقدم <c3366cc><name></c> بـ<c3366cc>مستوى الخبرة <number></c>؟\",\"Quer carregar o progresso de <c3366cc><name></c> com <c3366cc>nível <number> de XP </c>?\",\"您要加载<c3366cc><name></c>的进度（<c3366cc><number>级</c>）吗？\",\"您要載入<c3366cc><name></c>的進度（<c3366cc><number>級</c>）嗎？\",\"می‌خوای پیشرفت <c3366cc><name></c> رو با <c3366cc> سطحXP <number></c> بارگیری کنی؟\",\"Ingin memuat kemajuan <c3366cc><name></c> dengan <c3366cc>XP level <number></c>?\",\"Anda ingin memuatkan perkembangan <c3366cc><name></c> dengan <c3366cc>tahap XP <number></c>?\"\n\"TID_BOUND_TO_OTHER_ACCOUNT_WITHOUT_NAME\",\"Do you want to load another progress with <c3366cc>XP level <number></c>?\",\"Voulez-vous charger une autre progression, dont <c3366cc>l'EXP est au niveau<number></c> ?\",\"Möchtest du einen anderen Fortschritt mit <c3366cc>EP-Level<number> laden</c>?\",\"¿Quieres cargar otra partida con un <c3366cc>nivel <number> de XP</c>?\",\"Vuoi caricare altri progressi con il <c3366cc>livello XP <number></c>?\",\"Wil je een andere spelvoortgang met <c3366cc>XP-level <number></c> laden?\",\"Vil du laste inn en annen fremdrift med <c3366cc>XP-nivå <number></c>?\",\"<c3366cc>TP seviyesindeki <number></c> başka bir ilerlemeyi yüklemek istiyor musun?\",\"<c3366cc>経験値レベル<number></c>の進行状況をロードしますか？\",\"<c3366cc>XP 레벨이 <number></c>인 다른 진행 상황 데이터를 불러오시겠습니까?\",\"Хочешь загрузить другую игру с <c3366cc>уровнем опыта <number></c>?\",\"هل تريد تحميل مستوى تقدم آخر بـ<c3366cc>مستوى الخبرة <number></c>؟\",\"Quer carregar outro progresso com <c3366cc>nível <number> de XP </c>?\",\"您要加载另一个游戏进度吗（<c3366cc><number>级</c>）？\",\"您要載入另一個遊戲進度嗎（<c3366cc><number>級</c>）？\",\"می‌خوای یک پیشرفت دیگه رو با <c3366cc>سطح XP <number></c> بارگیری کنی؟\",\"Ingin memuat kemajuan lain dengan <c3366cc>XP level <number></c>?\",\"Anda ingin memuatkan perkembangan lain dengan <c3366cc>tahap XP <number></c>?\"\n\"TID_TENCENT_CREATE_NEW_ACCOUNT_CONFIRM_TITLE\",\"New Game Account\",\"Nouveau compte de jeu\",\"Neues Spielkonto\",\"Nueva cuenta de juego\",\"Nuovo account di gioco\",\"Nieuw spelaccount\",\"Ny spillkonto\",\"Yeni Game Center Hesabı\",\"新しいゲームアカウント\",\"새 게임 계정\",\"Новая учетная запись\",\"حساب لعبة جديد\",\"Nova conta\",\"新的游戏账号\",\"新的遊戲帳號\",\"حساب بازی جدید\",\"Akun Game Baru\",\"Akaun Permainan Baharu\"\n\"TID_TENCENT_CREATE_NEW_ACCOUNT_CONFIRM\",\"Your current progress is connected to another account. Are you sure you want to login and create a new game with this QQ/WeChat account?\",\"Votre progression actuelle est liée à un autre compte. Voulez-vous vraiment vous reconnecter et créer une nouvelle partie avec ce compte QQ/WeChat ?\",\"Dein aktueller Fortschritt ist mit einem anderen Konto verbunden. Möchtest du dich wirklich anmelden und ein neues Spiel mit diesem QQ/WeChat-Konto erstellen?\",\"Tus progresos actuales están vinculados a otra cuenta. ¿Seguro que quieres conectarte y crear una nueva partida con esta cuenta de QQ o WeChat?\",\"I tuoi progressi attuali sono collegati a un altro account. Sei sicuro di voler effettuare l'accesso e creare una nuova partita con questo account QQ/WeChat?\",\"Je huidige voortgang is gekoppeld aan een ander account. Weet je zeker dat je je wilt aanmelden en een nieuw spel wilt maken met dit QQ/WeChat-account?\",\"Den nåværende fremdriften din er tilknyttet en annen konto. Er du sikker på at du vil logge på og opprette et nytt spill med denne QQ- eller WeChat-kontoen?\",\"Şimdiki ilerlemen başka bir hesaba bağlı. Bu QQ/WeChat hesabıyla giriş yapıp yeni bir oyun oluşturmak istediğine emin misin?\",\"現在の進行状況は、別のアカウントに関連付けられています。こちらのQQ/WeChatアカウントにログインして、新たにセーブデータを作成しますか？\",\"현재 진행 상황이 다른 계정에 연결되어 있습니다. 이 QQ/WeChat 계정으로 로그인해 게임을 새로 시작하시겠습니까?\",\"Текущая игра привязана к другой учетной записи. Ты точно хочешь войти и создать новую игру с этой учетной записью QQ/WeChat?\",\"مسار تقدمك الحالي مرتبط بحساب آخر. هل أنت متأكد من رغبتك في تسجيل الدخول وإنشاء لعبة جديدة بهذا الحساب على QQ/WeChat؟\",\"Seu progresso atual está conectado a outra conta. Quer mesmo conectar-se e criar um novo jogo com esta conta QQ/WeChat?\",\"您目前的游戏进度已绑定了另一个账号。您确认要登录这个QQ/微信账号来创建新的游戏进度吗？\",\"您目前的遊戲進度已綁定了另一個帳號。您確認要登入這個QQ/微信帳號來創建新的遊戲進度嗎？\",\"پیشرفت فعلی به یک حساب دیگه متصل هست. واقعاً مطمئنی که می‌خوای وارد سیستم بشی و با این حساب QQ/WeChat یک بازی جدید ایجاد کنی؟\",\"Kemajuanmu saat ini tersambung ke akun lain. Yakin ingin masuk dan membuat game baru dengan akun QQ/WeChat ini?\",\"Perkembangan semasa anda dihubungkan ke akaun lain. Anda pasti ingin melog masuk dan mencipta permainan baharu dengan akaun QQ/WeChat ini?\"\n\"TID_ACHIEVEMENT_TITLE_DONATE\",\"Friend in Need\",\"Coup de pouce\",\"Freund in Not\",\"Amigos en apuros\",\"Un amico in difficoltà\",\"Vriend in nood\",\"Venn i nød\",\"Muhtaç Arkadaş\",\"助け合い精神\",\"친구 돕기\",\"Друг в беде\",\"الصديق وقت الضيق\",\"Ajude um amigo\",\"助人为乐\",\"助人為樂\",\"دوست نیازمند\",\"Teman Perlu Bantuan\",\"Rakan yang Memerlukan\"\n\"TID_ACHIEVEMENT_INFO_DONATE\",\"Donate <num> cards\",\"Donner <num> cartes\",\"Spende <num> Karten.\",\"Dona <num> cartas.\",\"Dona <num> carte\",\"Doneer <num> kaarten\",\"Gi bort <num> kort\",\"<num> kart bağışla\",\"カードを<num>枚寄付する\",\"카드 <num>장 지원\",\"Пожертвовать карты: <num>\",\"التبرع بعدد <num> من البطاقات\",\"Doar <num> cartas.\",\"卡牌捐赠总量达到<num>\",\"卡牌捐贈總量達到<num>\",\"<num> کارت اهدا کن\",\"Sumbang <num> kartu\",\"Derma <num> kad\"\n\"TID_ACHIEVEMENT_TITLE_CLAN\",\"Team Player\",\"Membre d'équipe\",\"Teamspieler\",\"Jugador en equipo\",\"Giocare di squadra\",\"Teamspeler\",\"Lagspiller\",\"Takım Oyuncusu\",\"チームプレイヤー\",\"팀 플레이어\",\"Командный игрок\",\"لاعب متعاون\",\"Bom companheiro\",\"团队精神\",\"團隊精神\",\"بازیکن تیم\",\"Pemain Tim\",\"Pemain Pasukan\"\n\"TID_ACHIEVEMENT_INFO_CLAN\",\"Join a Clan\",\"Rejoindre un clan\",\"Tritt einem Clan bei.\",\"Únete a un clan.\",\"Unisciti a un clan\",\"Sluit je aan bij een clan\",\"Bli med i en klan\",\"Bir Klana katıl\",\"クランに参加する\",\"클랜 가입\",\"Вступи в клан\",\"انضمام إلى قبيلة\",\"Entrar para um clã.\",\"加入一个部落\",\"加入一個部落\",\"پیوستن به یک قبیله\",\"Gabung ke Klan\",\"Sertai Klan\"\n\"TID_ACHIEVEMENT_TITLE_REACHARENA\",\"Road to Glory\",\"En route pour la gloire\",\"Weg zum Ruhm\",\"El camino a la gloria\",\"La strada per la gloria\",\"De weg naar de roem\",\"Veien til ære\",\"Zafere giden yol\",\"栄光への道\",\"영예의 길\",\"Путь к славе\",\"الطريق إلى المجد\",\"Estrada para a glória\",\"荣耀之路\",\"榮耀之路\",\"راه افتخار\",\"Jalan menuju Kejayaan\",\"Perjalanan ke Kegemilangan\"\n\"TID_ACHIEVEMENT_INFO_REACHARENA\",\"Reach Arena <num>\",\"Atteindre l'arène <num>\",\"Erreiche Arena <num>.\",\"Llega a la arena <num>.\",\"Raggiungi l'arena <num>\",\"Bereik arena <num>\",\"Nå arena <num>\",\"<num>. Arenaya eriş\",\"アリーナ<num>に到達する\",\"아레나 <num> 도달\",\"Доберись до арены <num>\",\"الوصول إلى الساحة <num>\",\"Chegar à arena <num>.\",\"进入<num>阶竞技场\",\"進入<num>階競技場\",\"به میدان نبرد <num> برس\",\"Capai Arena <num>\",\"Capai Arena <num>\"\n\"TID_ACHIEVEMENT_TITLE_CARDS\",\"Gatherer\",\"Collectionneur\",\"Sammler\",\"Coleccionista\",\"Raccoglitore\",\"Verzamelaar\",\"Samleren\",\"Toplayıcı\",\"カードコレクター\",\"수집가\",\"Коллекционер\",\"مجمع\",\"Acumulador\",\"大收藏家\",\"大收藏家\",\"جمع‌کننده\",\"Pengumpul\",\"Pengumpul\"\n\"TID_ACHIEVEMENT_INFO_CARDS\",\"Collect <num> cards\",\"Collectionner <num> cartes\",\"Sammle <num> Karten.\",\"Consigue <num> cartas.\",\"Colleziona <num> carte\",\"Verzamel <num> kaarten\",\"Samle <num> kort\",\"<num> kart topla\",\"カードを<num>枚集める\",\"카드 <num>장 수집\",\"Собери карты: <num>\",\"اجمع <num> من البطاقات\",\"Coletar <num> cartas.\",\"收集<num>种卡牌\",\"收集<num>種卡牌\",\"<num> کارت جمع کن\",\"Kumpulkan <num> kartu\",\"Kumpul <num> kad\"\n\"TID_ACHIEVEMENT_TITLE_TV\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"クラロワTV\",\"로얄 TV\",\"TV Royale\",\"TV Royale\",\"TV Royale\",\"皇室TV\",\"皇室TV\",\"TV Royale\",\"TV Royale\",\"TV Diraja\"\n\"TID_ACHIEVEMENT_INFO_TV\",\"Watch a TV Royale Replay\",\"Regarder une vidéo sur TV Royale\",\"Schau dir eine TV-Royale-Wiederholung an.\",\"Mira una repetición en TV Royale.\",\"Guarda un replay su TV Royale\",\"Bekijk een herhaling op TV Royale\",\"Se en reprise på TV Royale\",\"Bir TV Royale Tekrarı izle\",\"クラロワTVでリプレイを見る\",\"로얄 TV 리플레이 시청\",\"Посмотри повтор на TV Royale\",\"مشاهدة إعادة عرض TV Royale\",\"Assistir a um replay da TV Royale.\",\"观看一次皇室TV回放\",\"觀看一次皇室TV重播\",\"بازپخش یک TV Royale رو تماشا کن\",\"Tonton Tayangan Ulang TV Royale\",\"Tonton Main Semula TV Diraja\"\n\"TID_ACHIEVEMENT_TITLE_TOURNAMENT\",\"Tournament Rewards\",\"Récompenses du tournoi\",\"Turnierbelohnungen\",\"Recompensas del torneo\",\"Ricompense torneo\",\"Toernooibeloningen\",\"Turneringsbelønninger\",\"Turnuva Ödülleri\",\"大会報酬\",\"토너먼트 보상\",\"Турнирные награды\",\"مكافآت البطولة\",\"Recompensas do torneio\",\"锦标赛大赢家\",\"聯賽大贏家\",\"جوایز مسابقه\",\"Hadiah Turnamen\",\"Ganjaran Pertandingan\"\n\"TID_ACHIEVEMENT_INFO_TOURNAMENT\",\"Win <num> cards from tournaments\",\"Gagner <num> cartes dans les tournois\",\"Gewinne <num> Karten in Turnieren.\",\"Gana <num> cartas en torneos.\",\"Vinci <num> carte da tornei\",\"Win <num> kaarten via toernooien\",\"Vinn <num> kort fra turneringer\",\"Turnuvalardan <num> kart kazan\",\"大会で<num>枚のカードを獲得する\",\"토너먼트에서 카드 <num>장을 획득\",\"Выиграй карты в турнирах (<num>)\",\"اربح عدد <num> من البطاقات من البطولات\",\"Ganhar <num> cartas em torneios.\",\"在锦标赛中赢得<num>张卡牌\",\"在聯賽中贏得<num>張卡牌\",\"از مسابقات <num> کارت ببر\",\"Menangkan <num> kartu dari turnamen\",\"Menangi <num> kad daripada pertandingan\"\n\"TID_ACHIEVEMENT_TITLE_TOURNAMENT_CREATE\",\"Tournament Host\",\"Hôte du tournoi\",\"Turnierveranstalter\",\"Anfitrión de torneos\",\"Padrone di casa\",\"Toernooiorganisator\",\"Turneringsvert\",\"Turnuvanın Ev Sahibi\",\"大会ホスト\",\"토너먼트 호스트\",\"Распорядитель турнира\",\"مضيف البطولة\",\"Dono do Torneio\",\"锦标赛组织者\",\"聯賽主辦者\",\"میزبان مسابقه\",\"Tuan Rumah Turnamen\",\"Hos Pertandingan\"\n\"TID_ACHIEVEMENT_INFO_TOURNAMENT_CREATE_MULTIPLE\",\"Create and finish <num> tournaments\",\"Créer et terminer <num> tournois\",\"Erstelle und schließe <num> Turniere ab.\",\"Crea y termina <num> torneos.\",\"Crea e termina <num> tornei\",\"Organiseer <num> toernooien en voltooi ze\",\"Opprett og fullfør <num> turneringer\",\"<num> turnuva oluştur ve bitir\",\"大会を<num>回作成して完了する\",\"<num>개 토너먼트를 생성 및 완료\",\"Создай и проведи турниры: <num>\",\"قم بإنشاء وإنهاء <num> من البطولات\",\"Crie e encerre <num> torneios.\",\"创建并完成 <num> 次锦标赛\",\"創建並完成 <num> 次聯賽\",\"<num> مسابقه رو ایجاد و تموم کن\",\"Buat dan selesaikan <num> turnamen\",\"Cipta dan selesaikan <num> pertandingan\"\n\"TID_ACHIEVEMENT_INFO_TOURNAMENT_CREATE_ONE\",\"Create and finish one tournament\",\"Créer et terminer un tournoi\",\"Erstelle und schließe ein Turnier ab.\",\"Crea y termina un torneo.\",\"Crea e termina un torneo\",\"Organiseer een toernooi en voltooi het\",\"Opprett og fullfør én turnering\",\"Bir turnuva oluştur ve bitir\",\"大会を1回作成して完了する\",\"한 개 토너먼트를 생성 및 완료\",\"Создай и проведи один турнир\",\"قم بإنشاء وإنهاء بطولة واحدة\",\"Criar e encerrar um torneio.\",\"创建并完成一次锦标赛\",\"創建並完成一次聯賽\",\"یک مسابقه رو ایجاد و تموم کن\",\"Buat dan selesaikan satu turnamen\",\"Cipta dan selesaikan satu pertandingan\"\n\"TID_ACHIEVEMENT_TITLE_JOIN_TOURNAMENT\",\"Tournament Player\",\"Joueur de tournoi\",\"Turnierspieler\",\"Jugador de torneo\",\"Giocatore del torneo\",\"Toernooispeler\",\"Turneringsspiller\",\"Turnuva Oyuncusu\",\"大会プレイヤー\",\"토너먼트 플레이어\",\"Участник турнира\",\"لاعب بطولة\",\"Jogador do torneio\",\"锦标赛新秀\",\"聯賽新秀\",\"بازیکن مسابقه\",\"Pemain Turnamen\",\"Pemain Pertandingan\"\n\"TID_ACHIEVEMENT_INFO_JOIN_TOURNAMENT\",\"Join a tournament\",\"Rejoindre un tournoi\",\"Tritt einem Turnier bei.\",\"Únete a un torneo.\",\"Partecipa a un torneo\",\"Doe mee aan een toernooi\",\"Bli med i en turnering\",\"Bir turnuvaya katıl\",\"大会に参加\",\"토너먼트 참가\",\"Прими участие в турнире\",\"انضم إلى بطولة\",\"Participar de um torneio.\",\"参加一场锦标赛\",\"參加一場聯賽\",\"پیوستن به یک مسابقه\",\"Ikut turnamen\",\"Sertai pertandingan\"\n\"TID_ACHIEVEMENT_TITLE_WINSTREAK\",\"Challenge Streak\",\"Série de victoires\",\"Siegesserie\",\"Racha de desafío\",\"Serie di vittorie\",\"Uitdagingsreeks\",\"Utfordringsrekke\",\"Mücadele Serisi\",\"破竹の勢い\",\"도전 연승\",\"Ряд побед в испытаниях\",\"سلسلة تحدي\",\"Sequência de desafios\",\"英勇善战\",\"英勇善戰\",\"نوار چالش\",\"Rentetan Tantangan\",\"Jalur Cabaran\"\n\"TID_ACHIEVEMENT_INFO_WINSTREAK\",\"Get <num> wins in a single challenge\",\"Remporter <num> victoires en un seul défi\",\"Erreiche <num> Siege bei einer Herausforderung.\",\"Gana <num> veces en un mismo desafío.\",\"Ottieni <num> vittorie in una singola sfida\",\"Behaal <num> overwinningen in één uitdaging\",\"Sikre deg <num> seire i én utfordring\",\"Tek bir mücadelede <num> galibiyet al\",\"1度のチャレンジ中に<num>回勝利する\",\"도전 한 번에 <num>번 승리\",\"Победи в испытании <num> р.\",\"حقِقْ <num> من الانتصارات في التحدي الفردي\",\"Obter <num> vitórias em um único desafio.\",\"在单次挑战中获得<num>场胜利\",\"在單次挑戰中獲得<num>場勝利\",\"در یک چالش <num> پیروزی به دست بیار\",\"Menang <num> kali dalam satu tantangan\",\"Dapatkan <num> kemenangan dalam satu cabaran\"\n\"TID_REWARDS\",\"Rewards\",\"Récompense\",\"Belohnungen\",\"Recompensa\",\"Ricompense\",\"Beloningen\",\"Belønninger\",\"Ödüller\",\"報酬\",\"보상\",\"Награды\",\"جوائز\",\"Recompensa\",\"奖励\",\"獎勵\",\"جوایز\",\"Hadiah\",\"Ganjaran\"\n\"TID_ACHIEVEMENT_CLAIM\",\"Claim\",\"Récupérer\",\"Einfordern\",\"Recoger\",\"Richiedi\",\"Ophalen\",\"Innkasser\",\"Al\",\"受け取る\",\"받기\",\"Собрать\",\"مطالبة\",\"Resgatar\",\"领取\",\"領取\",\"مطالبه\",\"Klaim\",\"Tuntut\"\n\"TID_ACHIEVEMENT_COMPLETE\",\"Achievement Complete!\",\"Succès accompli !\",\"Errungenschaft erzielt!\",\"¡Logro conseguido!\",\"Obiettivo raggiunto!\",\"Prestatie voltooid!\",\"Utmerkelse tildelt!\",\"Başarı Tamamlandı!\",\"達成項目をクリア！\",\"도전 과제 완료!\",\"Достижение выполнено!\",\"اكتمل الإنجاز!\",\"Conquista concluída!\",\"已取得该成就！\",\"已取得該成就！\",\"دستاورد کامل شد!\",\"Pencapaian Selesai!\",\"Pencapaian Lengkap!\"\n\"TID_WINNER\",\"Winner!\",\"Victoire !\",\"Gewinner!\",\"¡Ganador!\",\"Vincitore!\",\"Winnaar!\",\"Vinner!\",\"Kazanan!\",\"勝利\",\"승리\",\"Победитель!\",\"فائز!\",\"Vencedor!\",\"获胜者！\",\"獲勝者！\",\"برنده!\",\"Pemenang!\",\"Pemenang!\"\n\"TID_NAME_NOT_SET\",\"Unnamed\",\"Anonyme\",\"Unbenannt\",\"Sin nombre\",\"Senza nome\",\"Naamloos\",\"Ikke navngitt\",\"İsimsiz\",\"名前なし\",\"이름 없음\",\"Без имени\",\"بلا اسم\",\"Sem nome\",\"未命名\",\"未命名\",\"بدون نام\",\"Tanpa Nama\",\"Tiada nama\"\n\"TID_REWARD\",\"Reward\",\"Récompense\",\"Belohnung\",\"Recompensa\",\"Ricompensa\",\"Beloning\",\"Belønning\",\"Ödül\",\"報酬\",\"보상\",\"Награда\",\"جائزة\",\"Recompensa\",\"奖励\",\"獎勵\",\"جایزه\",\"Hadiah\",\"Ganjaran\"\n\"TID_ALLIANCE_INVITATION_OK\",\"Invite sent successfully.\",\"L'invitation a été envoyée.\",\"Einladung erfolgreich gesendet.\",\"Se ha enviado la invitación.\",\"Invito spedito.\",\"Uitnodiging is verzonden.\",\"Invitasjon sendt.\",\"Davet başarıyla gönderildi.\",\"招待を送信しました。\",\"초대를 보냈습니다.\",\"Приглашение отправлено.\",\"تم إرسال الدعوة بنجاح.\",\"Convite enviado.\",\"已成功发送邀请。\",\"已成功發送邀請。\",\"دعوت با موفقیت فرستاده شد.\",\"Undangan berhasil terkirim.\",\"Jemputan berjaya dihantar.\"\n\"TID_ALLIANCE_INVITATION_FAILED_ALREADY_IN_ALLIANCE\",\"Player has already joined a Clan!\",\"Ce joueur a déjà rejoint un clan !\",\"Spieler ist bereits einem Clan beigetreten!\",\"Este jugador ya se ha unido a un clan.\",\"Il giocatore si è già unito a un clan!\",\"Deze speler heeft zich al aangesloten bij een clan.\",\"Spilleren er allerede med i en klan!\",\"Oyuncu zaten bir Klana katılmış!\",\"相手はすでに別クランに参加ずみです\",\"플레이어가 이미 다른 클랜에 가입했습니다!\",\"Этот игрок уже в клане!\",\"انضم اللاعب إلى قبيلة بالفعل!\",\"Já está em um clã.\",\"玩家已经加入了另一个部落！\",\"玩家已經加入了另一個部落！\",\"بازیکن قبلاً به یک قبیله ملحق شده!\",\"Pemain telah bergabung dengan satu Klan!\",\"Pemain sudah menyertai Klan!\"\n\"TID_ALLIANCE_INVITATION_FAILED_AVATAR_ALREADY_HAS_AN_INVITE\",\"You have already invited that player!\",\"Vous avez déjà invité ce joueur !\",\"Du hast diesen Spieler bereits eingeladen!\",\"Ya has invitado a este jugador.\",\"Hai già invitato questo giocatore!\",\"Je hebt deze speler al uitgenodigd!\",\"Du har allerede invitert den spilleren!\",\"Bu oyuncuyu zaten davet ettin!\",\"そのプレイヤーはすでに招待ずみです！\",\"이미 초대한 플레이어입니다!\",\"Этот игрок уже приглашен!\",\"لقد دعوت هذا اللاعب بالفعل!\",\"Você já convidou esse jogador!\",\"您已经邀请过该玩家了！\",\"您已經邀請過該玩家了！\",\"قبلاً این بازیکن رو دعوت کردی!\",\"Pemain itu telah diundang!\",\"Anda sudah menjemput pemain itu!\"\n\"TID_ALLIANCE_INVITATION_FAILED_AVATAR_HAS_TOO_MANY_INVITES\",\"Can't invite, player's inbox is full!\",\"Invitation impossible. La boîte aux lettres du joueur est pleine !\",\"Einladung nicht möglich - der Posteingang des Spielers ist voll!\",\"No puedes invitarle, su buzón está lleno.\",\"Impossibile invitare, la casella dei messaggi in arrivo del giocatore è piena!\",\"Uitnodigen mislukt. Het Postvak In van de speler is vol!\",\"Kan ikke invitere, spillerens innboks er full!\",\"Davet edilemiyor, oyuncunun gelen kutusu dolu!\",\"相手の受信トレイがいっぱいで招待できません！\",\"플레이어의 메시지함이 가득 차서 초대할 수 없습니다!\",\"Не удается пригласить, почта игрока переполнена!\",\"لا يمكن دعوة اللاعب لأن بريده الوارد ممتلئ!\",\"Impossível convidar: a caixa de entrada do jogador está cheia!\",\"玩家的收件箱已满，暂时无法邀请！\",\"玩家的收件匣已滿，暫時無法邀請！\",\"نمیشه دعوت کرد، صندوق ورودی بازیکن پر شده!\",\"Tidak dapat mengundang, kotak masuk pemain penuh!\",\"Tidak boleh menjemput, peti masuk pemain penuh!\"\n\"TID_ALLIANCE_INVITATION_FAILED_NO_RIGHTS\",\"Only Leader and Co-leader can invite new members\",\"Seuls le chef et le chef adjoint peuvent inviter de nouveaux membres.\",\"Nur Anführer und Vize-Anführer können neue Mitglieder einladen.\",\"Solo el líder y el colíder pueden invitar a más miembros.\",\"Solo il capo e i co-capi possono invitare nuovi membri\",\"Alleen leiders en co-leiders kunnen nieuwe leden uitnodigen\",\"Bare lederen og ass. lederen kan invitere nye medlemmer\",\"Sadece Lider ve Lider Yardımcısı yeni üye davet edebilir\",\"新メンバーを招待できるのはリーダーとサブリーダーだけです\",\"대표와 공동 대표만 새 클랜원을 초대할 수 있습니다.\",\"Лишь главы и соруководители могут приглашать новых игроков.\",\"يمكن للقائد والقائد المساعد فقط دعوة الأعضاء الجدد\",\"Só o líder e o colíder podem convidar novos membros.\",\"只有首领和副首领可以邀请新成员\",\"只有首領和副首領可以邀請新成員\",\"فقط رهبر و دستیار رهبر می‌تونن اعضای جدید رو دعوت کنن\",\"Hanya Pemimpin dan Wakil Pemimpin yang dapat mengundang anggota baru\",\"Hanya Ketua dan Pembantu Ketua boleh menjemput ahli baharu\"\n\"TID_ALLIANCE_INVITATION_FAILED_USER_BANNED\",\"Can't invite, player has been banned from your Clan!\",\"Invitation impossible. Ce joueur a été banni de votre clan !\",\"Einladung nicht möglich: Spieler wurde aus deinem Clan verbannt!\",\"No puedes invitarle, ha sido vetado.\",\"Impossibile invitare, il giocatore è stato bandito dal tuo clan!\",\"Uitnodigen is niet mogelijk omdat de speler uit je clan is verbannen.\",\"Kan ikke invitere, spilleren er utestengt fra klanen din!\",\"Davet edilemiyor; oyuncu senin Klanında engellenmiş!\",\"あなたのクランから追放されたプレイヤーは、招待できません！\",\"초대할 수 없습니다! 내 클랜에서 차단된 플레이어입니다!\",\"Невозможно пригласить: игрок был исключен из твоего клана!\",\"لا يمكن دعوة اللاعب لأنه تم حظره من الانضمام إلى قبيلتك!\",\"Não é possível convidar alguém que já foi banido do clã.\",\"无法邀请，该玩家已被禁止加入您的部落！\",\"無法邀請，該玩家已被禁止加入您的部落！\",\"نمیشه دعوت کرد، این بازیکن از قبیله شما محروم شده!\",\"Tidak dapat mengundang, pemain telah diblokir dari Klanmu!\",\"Tidak boleh menjemput, pemain telah disekat daripada Klan anda!\"\n\"TID_BUTTON_ACCEPT\",\"Accept\",\"Accepter\",\"Annehmen\",\"Aceptar\",\"Accetta\",\"Accepteer\",\"Godta\",\"Kabul Et\",\"承認\",\"수락\",\"Принять\",\"قبول\",\"Aceitar\",\"接受\",\"接受\",\"قبول\",\"Terima\",\"Terima\"\n\"TID_BUTTON_REJECT\",\"Reject\",\"Rejeter\",\"Ablehnen\",\"Rechazar\",\"Rifiuta\",\"Afwijzen\",\"Avvis\",\"Reddet\",\"拒否\",\"거절\",\"Отказать\",\"رفض\",\"Recusar\",\"拒绝\",\"拒絕\",\"رد\",\"Tolak\",\"Tolak\"\n\"TID_INVITE_POPUP_TITLE\",\"Invite to Clan?\",\"Inviter à rejoindre le clan ?\",\"In Clan einladen?\",\"Invitar al clan\",\"Invitare nel clan?\",\"Uitnodigen voor clan?\",\"Invitere til klan?\",\"Klana davet edelim mi?\",\"クランに招待しますか？\",\"클랜에 초대하시겠습니까?\",\"Пригласить в клан?\",\"هل تريد الدعوة إلى القبيلة؟\",\"Convidar para o clã?\",\"邀请加入部落吗？\",\"邀請加入部落嗎？\",\"دعوت به قبیله؟\",\"Undang ke Klan?\",\"Jemput ke Klan?\"\n\"TID_INVITE_POPUP_TEXT\",\"<name> is not member of any Clan. Send an invite to join your Clan?\",\"<name> n'est membre d'aucun clan. L'inviter à rejoindre votre clan ?\",\"<name> ist in keinem Clan Mitglied. Möchtest du eine Einladung in deinen Clan senden?\",\"<name> no forma parte de ningún clan. ¿Quieres invitarle a unirse al tuyo?\",\"<name> non è membro di alcun clan. Vuoi inviare un invito perché si unisca al tuo clan?\",\"<name> is nog geen lid van een clan. Hem of haar een uitnodiging sturen voor jouw clan?\",\"<name> er ikke medlem av en klan. Vil du sende en invitasjon?\",\"<name> herhangi bir Klanın üyesi değil. Klanına katılması için davet gönderelim mi?\",\"<name>はどのクランにも所属していません。招待を送ってあなたのクランにさそいますか？\",\"<name> 님은 소속된 클랜이 없습니다. 클랜 가입 초대를 보내시겠습니까?\",\"<name> не в клане. Отправить приглашение в твой клан?\",\"<name> ليس عضوًا في أي قبيلة. هل تريد إرسال دعوة للانضمام إلى قبيلتك؟\",\"<name> não faz parte de nenhum clã. Envie um convite para entrar no seu!\",\"<name>还未加入任何部落，邀请他加入您的部落吗？\",\"<name>還未加入任何部落，邀請他加入您的部落嗎？\",\"<name> عضو هیچ قبیله‌ای نیست. دعوتش می‌کنی به قبیله شما بیاد؟\",\"<name> bukan anggota Klan mana pun. Kirim undangan untuk bergabung dengan Klanmu?\",\"<name> bukan ahli mana-mana Klan. Hantar jemputan untuk menyertai Klan anda?\"\n\"TID_TEAM_INVITE_ACCEPT_TITLE\",\"Join request accepted\",\"Demande acceptée\",\"Beitrittsanfrage angenommen\",\"Solicitud de unión aceptada\",\"Richiesta accettata\",\"Aansluitverzoek geaccepteerd\",\"Forespørsel godtatt\",\"Katılma isteği kabul edildi\",\"招待が承認されました\",\"가입 요청 수락\",\"Приглашение принято\",\"تم قبول طلب الانضمام\",\"Pedido de participação aceito.\",\"加入申请已通过\",\"加入申請已通過\",\"درخواست پیوستن قبول شد\",\"Permintaan untuk bergabung diterima\",\"Permintaan untuk menyertai diterima\"\n\"TID_TEAM_INVITE_REJECT_TITLE\",\"Join request rejected\",\"Demande rejetée\",\"Beitrittsanfrage abgelehnt\",\"Solicitud de unión rechazada\",\"Richiesta rifiutata\",\"Aansluitverzoek afgewezen\",\"Forespørsel avslått\",\"Katılma isteği reddedildi\",\"招待が拒否されました\",\"가입 신청 거절됨\",\"Приглашение отклонено\",\"تم رفض طلب الانضمام\",\"Pedido de participação negado.\",\"加入申请被拒绝\",\"加入申請被拒絕\",\"درخواست پیوستن رد شد\",\"Permintaan untuk bergabung ditolak\",\"Permintaan untuk menyertai ditolak\"\n\"TID_TEAM_INVITE_ACCEPT_MESSAGE\",\"<name> has accepted your join request\",\"<name> a accepté votre demande.\",\"<name> hat deine Beitrittsanfrage angenommen.\",\"<name> ha aceptado tu solicitud de unión.\",\"<name> ha accettato la tua richiesta\",\"<name> heeft je aansluitverzoek geaccepteerd\",\"<name> har godtatt forespørselen din\",\"<name> katılma isteğini kabul etti\",\"<name>が招待を承認しました\",\"<name> 님이 가입 신청을 수락했습니다.\",\"Игрок <name> принимает приглашение\",\"<name> قبل طلب الانضمام\",\"<name> aceitou seu pedido.\",\"<name> 接受了您的加入申请\",\"<name> 已接受您的加入申請\",\"<name> درخواست پیوستن شما رو قبول کرد\",\"<name> menerima permintaan bergabungmu\",\"<name> telah menerima permintaan untuk menyertai daripada anda\"\n\"TID_TEAM_INVITE_REJECT_MESSAGE\",\"<name> has rejected your join request\",\"<name> a rejeté votre demande.\",\"<name> hat deine Beitrittsanfrage abgelehnt.\",\"<name> ha rechazado tu solicitud de unión.\",\"<name> ha rifiutato la tua richiesta\",\"<name> heeft je aansluitverzoek afgewezen\",\"<name> har avslått forespørselen din\",\"<name> katılma isteğini reddetti\",\"<name>が招待を拒否しました\",\"<name> 님이 가입 신청을 거절했습니다.\",\"Игрок <name> отклоняет приглашение\",\"<name> رفض طلب الانضمام\",\"<name> negou seu pedido.\",\"<name> 拒绝了您的加入申请\",\"<name> 拒絕了您的加入申請\",\"<name> درخواست پیوستن شما رو رد کرد\",\"<name> menolak permintaan bergabungmu\",\"<name> telah menolak permintaan anda untuk menyertai\"\n\"TID_INVITE_TO_TEAM_MESSAGE\",\"You've been invited to join a Clan\",\"Invitation à rejoindre un clan\",\"Clan-Einladung erhalten!\",\"Te han invitado a unirte a un clan.\",\"Sei stato invitato a unirti a un clan\",\"Uitnodiging clan ontvangen\",\"Klaninvitasjon mottatt\",\"Bir Klana katılmak için davet edildin\",\"クランから参加の招待が届きました\",\"클랜의 초대를 받았습니다.\",\"Тебя пригласили в клан\",\"تمت دعوتك للانضمام إلى قبيلة\",\"Você foi convidado para entrar num clã.\",\"有人邀请您加入部落\",\"有人邀請您加入部落\",\"دعوتت کردن که به یک قبیله ملحق بشی\",\"Kamu diundang untuk bergabung dengan Klan\",\"Anda telah dijemput untuk menyertai Klan\"\n\"TID_INVITE_BY\",\"By: <name>\",\"De : <name>\",\"Von: <name>\",\"De: <name>\",\"Da: <name>\",\"Door: <name>\",\"Av: <name>\",\"<name> tarafından\",\"送信主：<name>\",\"보낸 사람: <name>\",\"Игрок: <name>\",\"بواسطة: <name>\",\"Por: <name>\",\"邀请人：<name>\",\"邀請人：<name>\",\"توسط: <name>\",\"Oleh: <name>\",\"Oleh: <name>\"\n\"TID_MEMBERS_ONLINE\",\"Online: <count>/<total>\",\"En ligne : <count>/<total>\",\"Online: <count>/<total>\",\"En línea: <count>/<total>\",\"Online: <count>/<total>\",\"Online: <count>/<total>\",\"Pålogget: <count>/<total>\",\"Çevrimiçi: <count>/<total>\",\"オンライン：<count>/<total>\",\"온라인: <count>/<total>\",\"Онлайн: <count>/<total>\",\"عبر الإنترنت: <count>/<total>\",\"On-line: <count>/<total>\",\"在线：<count>/<total>\",\"線上：<count>/<total>\",\"آنلاین: <count>/<total>\",\"Online: <count>/<total>\",\"Dalam talian: <count>/<total>\"\n\"TID_LANDSCAPE_ON\",\"Landscape: ON\",\"Paysage : oui\",\"Querformat: EIN\",\"Paisaje: SÍ\",\"Orizzontale: SÌ\",\"Liggend: Aan\",\"Landskap: PÅ\",\"Manzara: AÇIK\",\"横置きモード：ON\",\"가로 모드: 켬\",\"Включить пейзаж\",\"وضع المشهد: تشغيل\",\"Paisagem: LIGADO\",\"横屏回放：开\",\"橫屏重播：開\",\"نمای عرضی: روشن\",\"Lanskap: AKTIF\",\"Landskap: HIDUP\"\n\"TID_LANDSCAPE_OFF\",\"Landscape: OFF\",\"Paysage : non\",\"Querformat: AUS\",\"Paisaje: NO\",\"Orizzontale: NO\",\"Liggend: Uit\",\"Landskap: AV\",\"Manzara: KAPALI\",\"横置きモード：OFF\",\"가로 모드: 끔\",\"Выключить пейзаж\",\"وضع المشهد: إيقاف التشغيل\",\"Paisagem: DESLIGADO\",\"横屏回放：关\",\"橫屏重播：關\",\"نمای عرضی: خاموش\",\"Lanskap: MATI\",\"Landskap: MATI\"\n\"TID_PLEASE_TYPE_CONFIRM_ACCOUNT\",\"Please type in \\q<CONFIRM>\\q and press the Confirm button to complete the action\",\"Veuillez taper \\q<CONFIRM>\\q et appuyer sur le bouton de confirmation pour valider le processus.\",\"Bitte gib \\q<CONFIRM>\\q ein und drücke auf \\qBestätigen\\q, um diese Aktion abzuschließen.\",\"Introduce <CONFIRM> y pulsa el botón de confirmación para completar la acción.\",\"Digita \\q<CONFIRM>\\q e premi il pulsante CONFERMA per completare l'azione\",\"Typ '<CONFIRM>' en tik op de knop Bevestigen om de actie te voltooien\",\"Skriv i \\q<CONFIRM>\\q og trykk på Bekreft-knappen for å fullføre handlingen\",\"Lütfen \\q<CONFIRM>\\q yaz ve Tamam düğmesine basarak eylemi tamamla\",\"「<CONFIRM>」と入力して決定ボタンを押すと、処理を完了します。\",\"\\q<CONFIRM>\\q을 입력하고 확인 버튼을 눌러 작업을 완료하세요.\",\"Пожалуйста, введи «<CONFIRM>» и нажми «Подтвердить», чтобы выполнить действие.\",\"الرجاء كتابة \\q<CONFIRM>\\q والضغط على زر تأكيد لإكمال الإجراء\",\"Digite \\q<CONFIRM>\\q e pressione o botão \\qConfirmar\\q para concluir a ação.\",\"请输入\\q<CONFIRM>\\q，并点击\\q确认\\q按钮来完成此操作\",\"請輸入\\q<CONFIRM>\\q，並點擊\\q確認\\q按鈕來完成此操作\",\"لطفاً \\q<CONFIRM>\\q رو تایپ کن و دکمه تایید رو فشار بده تا عملیات کامل بشه\",\"Ketik \\q<CONFIRM>\\q dan tekan tombol Konfirmasi untuk menyelesaikan tindakan\",\"Sila taipkan \\q<CONFIRM>\\q dan tekan butang Sah untuk melengkapkan tindakan\"\n\"TID_YOU_SURE_TO_DELETE\",\"Are you absolutely sure you want to delete the current progress and replace it\",\"Voulez-vous vraiment supprimer votre progression et la remplacer ?\",\"Möchtest du den aktuellen Fortschritt wirklich löschen und ersetzen?\",\"¿Seguro que quieres eliminar el progreso actual y sustituirlo?\",\"Vuoi davvero eliminare i progressi attuali e sostituirli con la partita:\",\"Weet je absoluut zeker dat je de huidige voortgang wilt verwijderen en vervangen\",\"Er du sikker på at du vil slette den nåværende fremdriften og erstatte den\",\"Mevcut ilerlemeyi silip değiştirmek istediğinden kesinlikle emin misin\",\"現在のセーブデータを削除して、次のセーブデータに置き換えます。よろしいですか？\",\"정말로 현재 진행 상황을 삭제하고 교체할까요?\",\"Ты точно хочешь удалить сохраненную игру и заменить ее\",\"هل تريد بالتأكيد حذف التقدم الحالي واستبداله\",\"Tem certeza de que quer excluir o progresso atual e substituí-lo?\",\"您真的要删除当前进度并替换它\",\"您真的要刪除當前進度並替換它\",\"واقعاً مطمئنی که می‌خوای پیشرفت فعلی رو حذف و جایگزینش کنی\",\"Yakinkah ingin menghapus kemajuan saat ini dan menggantinya\",\"Anda benar-benar pasti ingin memadamkan perkembangan semasa anda dan menggantikannya\"\n\"TID_BUTTON_CONFIRM_ACCOUNT\",\"Confirm\",\"Confirmer\",\"Bestätigen\",\"Confirmar\",\"Conferma\",\"Bevestigen\",\"Bekreft\",\"Onayla\",\"決定\",\"확인\",\"Подтвердить\",\"تأكيد\",\"Confirmar\",\"确认\",\"確認\",\"تایید\",\"Konfirmasi\",\"Sah\"\n\"TID_ACCOUNT_SWITCH_TITLE\",\"Are you sure?\",\"Confirmer ?\",\"Bist du sicher?\",\"¿Seguro?\",\"Confermi?\",\"Weet je het zeker?\",\"Er du sikker?\",\"Emin misin?\",\"よろしいですか？\",\"확실한가요?\",\"Точно?\",\"أأنت واثق؟\",\"Tem certeza?\",\"您确定吗？\",\"您確定嗎？\",\"مطمئنی؟\",\"Yakin?\",\"Anda pasti?\"\n\"TID_REQUEST_ARENA_INFO\",\"Request capacity in <arena>:\",\"<arena> limite les demandes à :\",\"Anfragekapazität in <arena>:\",\"Capacidad de peticiones en <arena>:\",\"Puoi richiedere in <arena>:\",\"Aantal te vragen kaarten in <arena>:\",\"Forespørselkapasitet i <arena>:\",\"<arena> içindeki istek kapasitesi:\",\"<arena>でのリクエスト可能量：\",\"<arena> 요청 한도:\",\"Опубликовать запрос в <arena>\",\"طلب السعة في <arena>:\",\"Capacidade de pedidos na <arena>:\",\"<arena>可请求捐赠卡牌数：\",\"<arena>可請求捐贈卡牌數：\",\"ظرفیت درخواست در <arena>:\",\"Minta kapasitas di <arena>:\",\"Minta kapasiti dalam <arena>:\"\n\"TID_REQUEST_ARENA_CARD_AMOUNTS\",\"<c99CCFF><common> commons</c>, or <cFFCC66><rare> rare(s)</c>\",\"<c99CCFF><common> communes</c> ou <cFFCC66><rare> rare(s)</c>\",\"<c99CCFF><common> gewöhnliche</c> oder <cFFCC66><rare> seltene</c>\",\"<c99CCFF><common> comunes</c> o <cFFCC66><rare> especial(es)</c>.\",\"<c99CCFF>comuni: <common></c>, o <cFFCC66>rare: <rare></c>\",\"<c99CCFF><common> gewone</c> of <cFFCC66><rare> zeldzame</c>\",\"<c99CCFF><common> vanlige</c>, eller <cFFCC66><rare> sjeldent/sjeldne</c>\",\"<c99CCFF><common> sıradan</c> ya da <cFFCC66><rare> ender</c>\",\"<c99CCFF>ノーマル<common>枚</c>または<cFFCC66>レア<rare>枚</c>\",\"<c99CCFF>일반 카드 <common>장</c> 또는 <cFFCC66>희귀 카드 <rare>장</c>\",\"Обычные: <c99CCFF><common></c> или редкие: <cFFCC66><rare>.</c>\",\"<c99CCFF><common> عادية</c>، أو <cFFCC66><rare> نادرة</c>\",\"<c99CCFF><common> comuns</c> ou <cFFCC66><rare> rara(s)</c>\",\"<c99CCFF><common>张普通卡</c>，或<cFFCC66><rare>张稀有卡</c>\",\"<c99CCFF><common>張普通卡</c>，或<cFFCC66><rare>張稀有卡</c>\",\"<c99CCFF><common> موارد عادی</c>، یا <cFFCC66><rare> کمیاب</c>\",\"<c99CCFF><common> umum</c>, atau <cFFCC66><rare> langka</c>\",\"<c99CCFF><common> biasa</c> atau <cFFCC66><rare> jarang</c>\"\n\"TID_REQUEST_ARENA_CARD_AMOUNTS_EPIC\",\"<c99CCFF><common> commons</c>, <cFFCC66><rare> rare(s)</c>, or <cFF99FF><epic> epic(s)</c>\",\"<c99CCFF><common> communes</c>, <cFFCC66><rare> rare(s)</c>, ou <cFF99FF><epic> épique(s)</c>\",\"<c99CCFF><common> gewöhnliche</c>, <cFFCC66><rare> seltene</c> oder <cFF99FF><epic> epische</c>\",\"<c99CCFF><common> comunes</c>, <cFFCC66><rare> especial(es)</c> o <cFF99FF><epic> épica(s)</c>.\",\"<c99CCFF>comuni: <common></c>, <cFFCC66>rare: <rare></c> o <cFF99FF>epiche: <epic></c>\",\"<c99CCFF><common> gewone</c>, <cFFCC66><rare> zeldzame</c> of <cFF99FF><epic> epische</c>\",\"<c99CCFF><common> vanlige</c>, <cFFCC66><rare> sjeldent/sjeldne</c> eller <cFF99FF><epic> episk(e)</c>\",\"<c99CCFF><common> sıradan</c>, <cFFCC66><rare> ender</c> ya da <cFF99FF><epic> destansı</c>\",\"<c99CCFF>ノーマル<common>枚</c>、<cFFCC66>レア<rare>枚</c>、または<cFF99FF>スーパーレア<epic>枚</c>\",\"<c99CCFF>일반 카드 <common>장</c>, <cFFCC66>희귀 카드 <rare>장</c>, 또는 <cFF99FF>영웅 카드 <epic>장</c>\",\"Обычные: <c99CCFF><common></c>, редкие: <cFFCC66><rare></c> или эпические: <cFF99FF><epic>.</c>\",\"<c99CCFF><common> عادية</c> أو <cFFCC66><rare> نادرة</c> أو <cFF99FF><epic> ممتازة</c>\",\"<c99CCFF><common> comuns</c>, <cFFCC66><rare> rara(s)</c> ou <cFF99FF><epic> épica(s)</c>\",\"<c99CCFF><common>张普通卡</c>, <cFFCC66><rare>张稀有卡</c>，或<cFF99FF><epic>张史诗卡</c>\",\"<c99CCFF><common>張普通卡</c>, <cFFCC66><rare>張稀有卡</c>，或<cFF99FF><epic>張史詩卡</c>\",\"<c99CCFF><common> مورد عادی</c>، <cFFCC66><rare> کمیاب</c>، یا <cFF99FF><epic> حماسی</c>\",\"<c99CCFF><common> umum</c>, <cFFCC66><rare> langka</c>, atau <cFF99FF><epic> epik</c>\",\"<c99CCFF><common> biasa</c>, <cFFCC66><rare> jarang</c> atau <cFF99FF><epic> epik</c>\"\n\"TID_REQUEST_EPIC_SUNDAY_ENDED\",\"Epic Sunday ended!\",\"Dimanche épique terminé !\",\"Epischer Sonntag ist zu Ende!\",\"¡Fin del domingo épico!\",\"Domenica epica terminata!\",\"Epische zondag voorbij!\",\"Episk søndag er avsluttet!\",\"Destansı Pazar sona erdi!\",\"サンデーマーケットは終了しました！\",\"보너스 일요일 종료!\",\"Закончилось эпическое воскресенье!\",\"انتهى يوم الأحد الممتاز\",\"Terminou o Domingo Épico!\",\"周日狂欢已结束！\",\"超級星期天已結束！\",\"یکشنبه حماسی تموم شد!\",\"Minggu Epik berakhir!\",\"Ahad Epik telah tamat!\"\n\"TID_REQUEST_EPIC_SUNDAY\",\"Epic Sunday!\",\"Dimanche épique !\",\"Epischer Sonntag!\",\"¡Domingo épico!\",\"Domenica epica!\",\"Epische zondag!\",\"Episk søndag!\",\"Destansı Pazar!\",\"サンデーマーケット！\",\"보너스 일요일!\",\"Эпическое воскресенье!\",\"يوم أحد ممتاز!\",\"Domingo Épico!\",\"周日狂欢！\",\"超級星期天！\",\"یکشنبه حماسی!\",\"Minggu Epik!\",\"Ahad Epik!\"\n\"TID_REQUEST_EPIC_SUNDAY_ENDS\",\"Epic Sunday ends in: <time>\",\"Fin du dimanche épique : <time>\",\"Epischer Sonntag endet in: <time>\",\"El domingo épico termina en <time>.\",\"La domenica epica termina tra: <time>\",\"Epische zondag eindigt over: <time>\",\"Episk søndag avsluttes om: <time>\",\"Destansı Pazarın bitmesine: <time>\",\"サンデーマーケット終了まで： <time>\",\"보너스 일요일 종료까지: <time>\",\"Конец эпического воскресенья: <time>\",\"ينتهي يوم الأحد الممتاز خلال: <time>\",\"O Domingo Épico termina em: <time>.\",\"离周日狂欢结束还有：<time>\",\"離超級星期天結束還有：<time>\",\"یکشنبه حماسی تموم میشه در: <time>\",\"Minggu Epik berakhir dalam: <time>\",\"Ahad Epik tamat dalam: <time>\"\n\"TID_DONATE_COOLDOWN_INFO\",\"Daily Donations\\n\\nValue donated: <capacity>/<maxcapacity>\\nResets in: <timestamp>\",\"Dons quotidiens\\n\\nValeur donnée : <capacity>/<maxcapacity>\\nRéinitialisation dans : <timestamp>\",\"Tägliche Spenden\\n\\nGespendeter Wert: <capacity>/<maxcapacity>\\nWird zurückgesetzt in: <timestamp>\",\"Donaciones diarias\\n\\nValor donado: <capacity>/<maxcapacity>\\nSe restablece en <timestamp>.\",\"Donazioni giornaliere\\n\\nValore donato: <capacity>/<maxcapacity>\\nSi azzera tra: <timestamp>\",\"Dagelijkse donaties\\n\\nGedoneerde waarde: <capacity>/<maxcapacity>\\nReset over: <timestamp>\",\"Daglige donasjoner\\n\\nVerdi gitt bort: <capacity>/<maxcapacity>\\nNullstilles om: <timestamp>\",\"Günlük Bağışlar\\n\\nBağışlanan değer: <capacity>/<maxcapacity>\\nSıfırlanmasına: <timestamp>\",\"本日の寄付\\n\\n寄付数：<capacity>/<maxcapacity>\\nリセットまで：<timestamp>\",\"일일 지원\\n\\n지원한 값: <capacity>/<maxcapacity>\\n초기화까지: <timestamp>\",\"Ежедневная помощь\\n\\nКоличество пожертвований: <capacity>/<maxcapacity>\\nСброс через: <timestamp>\",\"التبرعات اليومية\\n\\nالقيمة المتبرع بها: <capacity>/<maxcapacity>\\nإعادة التعيين خلال: <timestamp>\",\"Doações diárias\\n\\nValor doado: <capacity>/<maxcapacity>\\nReinicia em: <timestamp>.\",\"每日捐赠\\n\\n已捐赠：<capacity>/<maxcapacity>\\n重置倒计时：<timestamp>\",\"每日捐贈\\n\\n已捐贈：<capacity>/<maxcapacity>\\n重置倒數計時：<timestamp>\",\"اهدای روزانه\\n\\nارزش اهدا شده: <capacity>/<maxcapacity>\\nبازیابی در مدت: <timestamp>\",\"Sumbangan Harian\\n\\nNilai sumbangan: <capacity>/<maxcapacity>\\nDiatur ulang dalam: <timestamp>\",\"Derma Harian\\n\\nNilai didermakan: <capacity>/<maxcapacity>\\nDitetapkan semula dalam: <timestamp>\"\n\"TID_DONATE_ERROR_MATERIAL_ZERO\",\"You don't have any spare cards\",\"Vous n'avez pas de cartes à donner.\",\"Du hast keine überschüssigen Karten.\",\"No tienes ninguna carta de sobra.\",\"Non hai carte in più\",\"Je hebt geen reservekaarten\",\"Du har ingen kort til overs\",\"Yedek kartın yok\",\"余分なカードがありません\",\"지원할 카드가 없습니다.\",\"У тебя нет свободных карт\",\"ليست لديك أي بطاقات احتياطية\",\"Você não tem mais cartas.\",\"您没有多余卡牌\",\"您沒有多餘卡牌\",\"هیچ کارت یدکی نداری\",\"Tidak ada kartu cadangan\",\"Anda tidak mempunyai kad berlebihan yang mencukupi\"\n\"TID_DONATE_ERROR_CANNOT_DONATE_YOURSELF\",\"You cannot donate to yourself\",\"Vous ne pouvez pas faire de don à vous-même.\",\"Du kannst nicht an dich selbst spenden.\",\"No puedes donarte cartas a ti.\",\"Non puoi donare a te stesso\",\"Je kunt niet aan jezelf doneren\",\"Du kan ikke gi bort til deg selv\",\"Kendine bağış yapamazsın\",\"自分には寄付できません\",\"자기 자신에게 지원할 수 없습니다.\",\"Нельзя жертвовать себе же\",\"لا يمكنك التبرع لنفسك\",\"Você não pode doar para si mesmo.\",\"您无法向自己捐赠卡牌\",\"您無法向自己捐贈卡牌\",\"نمی‌تونی به خودت اهدا کنی\",\"Tidak dapat menyumbang diri sendiri\",\"Anda tidak boleh menderma kepada diri sendiri\"\n\"TID_DONATE_ERROR_CANNOT_DONATE_ANYTHING\",\"You can only donate <amount> cards\",\"Vous pouvez donner <amount> cartes seulement.\",\"Du kannst nur <amount> Karten spenden.\",\"Solo puedes donar <amount> cartas.\",\"Puoi donare solo <amount> carte\",\"Je kunt maar <amount> kaarten doneren\",\"Du kan bare gi bort <amount> kort\",\"Yalnızca <amount> kart bağışlayabilirsin\",\"寄付できるカードは<amount>枚までです\",\"카드는 <amount>장만 지원 가능합니다.\",\"Ты можешь пожертвовать не больше (<amount>) карт\",\"يمكنك التبرع بـ <amount> من البطاقات فقط\",\"Você só pode doar <amount> cartas.\",\"您只能捐赠<amount>张卡牌\",\"您只能捐贈<amount>張卡牌\",\"فقط می‌تونی <amount> کارت اهدا کنی\",\"Hanya dapat menyumbangkan <amount> kartu\",\"Anda hanya boleh menderma <amount> kad\"\n\"TID_DONATE_ERROR_CANNOT_DONATE_ANYTHING_SINGLE\",\"You can only donate 1 card\",\"Vous pouvez donner 1 carte seulement.\",\"Du kannst nur 1 Karte spenden.\",\"Solo puedes donar 1 carta.\",\"Puoi donare solo 1 carta\",\"Je kunt maar 1 kaart doneren\",\"Du kan bare gi bort 1 kort\",\"Yalnızca 1 kart bağışlayabilirsin\",\"寄付できるカードは1枚だけです\",\"카드는 1장만 지원 가능합니다.\",\"Ты можешь пожертвовать 1 карту\",\"يمكنك التبرع ببطاقة واحدة فقط\",\"Você só pode doar 1 carta.\",\"您只能捐赠1张卡牌\",\"您只能捐贈1張卡牌\",\"فقط می‌تونی 1 کارت اهدا کنی\",\"Hanya dapat menyumbangkan 1 kartu\",\"Anda hanya boleh menderma 1 kad\"\n\"TID_DONATE_ERROR_COOLDOWN\",\"Your daily donation limit has been reached\",\"Vous avez atteint la limite quotidienne de dons.\",\"Dein tägliches Spendenlimit wurde erreicht.\",\"Has alcanzado el límite diario de donación.\",\"Hai raggiunto il limite giornaliero di donazioni\",\"Je dagelijkse donatielimiet is bereikt\",\"Du har nådd den daglige donasjonsgrensen\",\"Günlük bağış limitini doldurdun\",\"1日の寄付数の上限に達しました\",\"일일 지원 한도에 도달했습니다.\",\"Превышен лимит ежедневной помощи\",\"وصلت إلى حدود التبرع اليومي الخاصة بك\",\"Seu limite diário de doações foi atingido.\",\"您已达到每日捐赠上限\",\"您已達到每日捐贈上限\",\"به محدودیت اهدای روزانه رسیدی\",\"Batas sumbangan harian telah tercapai\",\"Had derma harian anda telah dicapai\"\n\"TID_DONATE_ERROR_NOT_ENOUGH_DAILY_CAPACITY\",\"Your daily donation limit allows only commons\",\"Votre limite quotidienne de dons n'autorise que les cartes communes.\",\"Dein tägliches Spendenlimit erlaubt nur gewöhnliche Karten.\",\"Solo puedes donar cartas comunes.\",\"Il tuo limite giornaliero di donazioni permette solo comuni\",\"Je dagelijkse donatielimiet staat alleen gewone kaarten toe\",\"Den daglige donasjonsgrensen din tillater bare vanlige kort\",\"Günlük bağış limitin yalnızca sıradan kartlara izin veriyor\",\"1日の寄付数の制限によりノーマルしか選べません\",\"일일 지원은 일반 카드만 가능합니다.\",\"Ежедневный лимит помощи позволяет жертвовать только обычные\",\"حدود التبرع اليومي الخاصة بك تسمح بالبطاقات العادية فقط\",\"Seu limite diário de doações permite apenas cartas comuns.\",\"您的每日捐赠仅限普通卡\",\"您的每日捐贈僅限普通卡\",\"فقط موارد عادی در محدودیت اهدای روزانه مجاز هستن\",\"Batas sumbangan harian hanya mengizinkan umum\",\"Had derma harian anda hanya membenarkan yang biasa\"\n\"TID_DONATE_ERROR_JOIN_COOLDOWN\",\"New members have limited donations\",\"Les nouveaux membres ont un nombre de dons limité.\",\"Neue Mitglieder können nur begrenzt spenden.\",\"Los miembros nuevos tienen un límite de donación.\",\"I nuovi membri hanno un limite alle donazioni\",\"Nieuwe leden beschikken over beperkte donaties\",\"Nye medlemmer har begrenset med donasjoner\",\"Yeni üyelerin bağışları sınırlıdır\",\"新メンバーは寄付できる枚数が制限されます\",\"신규 클랜원에게는 지원 한도가 적용됩니다.\",\"Помощь от новых игроков ограничена\",\"الأعضاء الجدد لهم تبرعات محدودة\",\"Novos membros têm limite de doações.\",\"新成员暂时不能捐赠卡牌\",\"新成員暫時不能捐贈卡牌\",\"اعضای جدید اهدای محدودی دارن\",\"Sumbangan anggota baru jumlahnya terbatas\",\"Ahli baharu mempunyai derma terhad\"\n\"TID_MAX_LVL_REACHED\",\"Card is at max level\",\"La carte est au niveau maximum.\",\"Karte hat das Höchstlevel erreicht.\",\"¡Carta al máximo nivel!\",\"Carta al livello massimo\",\"Kaart is op max. level\",\"Kortet er på maksimalt nivå\",\"Kart maksimum seviyede\",\"カードは最大レベルです\",\"카드가 최고 레벨입니다.\",\"Карта на максимальном уровне\",\"البطاقة في أقصى مستوى\",\"A carta está no nível máximo.\",\"卡牌已升至最高等级\",\"卡牌已升至最高等級\",\"کارت در سطح حداکثر قرار داره\",\"Level kartu sudah maks\",\"Kad berada pada tahap maks\"\n\"TID_GLOBAL\",\"Global\",\"Général\",\"Global\",\"General\",\"Globale\",\"Wereldwijd\",\"Global\",\"Küresel\",\"グローバル\",\"전체\",\"Глобальные\",\"عالمي\",\"Global\",\"全球\",\"全球\",\"جهانی\",\"Global\",\"Global\"\n\"TID_LOCAL\",\"Local\",\"Local\",\"Lokal\",\"Local\",\"Locale\",\"Lokaal\",\"Lokal\",\"Yerel\",\"ローカル\",\"지역\",\"Местные\",\"محلي\",\"Local\",\"本地\",\"本地\",\"محلی\",\"Lokal\",\"Setempat\"\n\"TID_HINT_WELCOME\",\"Welcome, Challenger! Complete the Training Camp to unlock the multiplayer Arena.\",\"Bienvenue ! Terminez le camp d'entraînement pour débloquer l'arène multijoueur.\",\"Willkommen, Herausforderer! Absolviere das Ausbildungslager, um die Mehrspielerarena freizuschalten.\",\"¡Hola! Termina el entrenamiento en el campamento para desbloquear la arena multijugador.\",\"Benvenuto, sfidante! Completa il campo di prova per sbloccare l'arena multigiocatore.\",\"Welkom, uitdager! Voltooi het trainingskamp om de multiplayerarena te ontgrendelen.\",\"Velkommen, utfordrer! Fullfør treningsleiren for å låse opp flerspillerarenaen.\",\"Hoş geldin Mücadeleci! Çok oyunculu Arenanın kilidini açmak için Eğitim Kampını tamamla.\",\"訓練キャンプにようこそ！ 訓練をすべて\\nクリアすれば、マルチプレイのアリーナで\\n遊べるようになります。\",\"어서 오세요, 도전자님! 이 훈련 캠프에서 훈련을 마치면 멀티플레이 아레나가 해제됩니다.\",\"Добро пожаловать, искатель! Пройди обучение в учебном лагере, чтобы открыть многопользовательскую арену.\",\"مرحبًا أيها المتحدي! أكمل معسكر التدريب لفتح الساحة متعددة اللاعبين.\",\"Bem-vindo, Desafiante! Complete o campo de treino para desbloquear a arena multijogador.\",\"欢迎你，挑战者！完成训练营即可解锁联机竞技场。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"你好，挑戰者！完成訓練營即可解鎖連線競技場。\",\"خوش آمدی، چالشی! کمپ تمرینی رو کامل کن تا میدان نبرد چند نفره باز بشه.\",\"Selamat datang, Penantang! Selesaikan Kamp Latihan untuk membuka Arena multipemain.\",\"Selamat datang, Pencabar! Lengkapkan Kem Latihan untuk membuka kunci Arena berbilang pemain.\"\n\"TID_HINT_WINNING_CONDITION1\",\"Destroy more Crown Towers than your opponent to win!\",\"Détruisez plus de tours couronnées que votre adversaire pour gagner !\",\"Zerstöre mehr Kronentürme als dein Gegner, um zu gewinnen!\",\"Para ganar, destruye más torres de coronas que tu rival.\",\"Distruggi più torri della corona del tuo avversario per vincere!\",\"Vernietig meer kroontorens dan je tegenstander om te winnen!\",\"Ødelegg flere kronetårn enn motstanderen for å vinne!\",\"Kazanmak için rakibinden fazla Taç Kulesi yok et!\",\"相手より多くのクラウンタワーを壊せば\\nあなたの勝利です！\",\"상대방보다 많은 크라운 타워를 부수면 승리합니다!\",\"Ты победишь, если уничтожишь больше королевских башен, чем противник!\",\"دمّر أبراج تاج أكثر من خصمك لتحقيق الفوز!\",\"Destrua mais torres da coroa do que seu adversário para vencer!\",\"您摧毁的皇家塔比对方多则获得对战胜利！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您摧毀的皇家塔比對方多則獲得對戰勝利！\",\"برای برنده شدن بیشتر حریفت برج تاج نابود کن!\",\"Hancurkan lebih banyak Benteng Mahkota daripada lawanmu untuk menang!\",\"Hapuskan lebih banyak Menara Mahkota daripada pihak lawan untuk menang!\"\n\"TID_HINT_WINNING_CONDITION2\",\"Destroy the enemy King's tower to get an instant victory!\",\"Détruisez la tour du roi ennemi pour remporter la victoire instantanément !\",\"Zerstöre den feindlichen Königsturm, um sofort den Sieg davonzutragen!\",\"Destruye la torre del rey rival para hacerte con la victoria al instante.\",\"Distruggi la torre del re del nemico per ottenere una vittoria istantanea!\",\"Vernietig de koningstoren van de vijand om onmiddellijk te winnen!\",\"Ødelegg fiendens kongetårn for å ta seieren øyeblikkelig!\",\"Anında zafer kazanmak için düşman Kral kulesini yok et!\",\"敵のキングタワーを壊せば\\nその時点であなたの勝利です！\",\"킹스 타워를 부수면 바로 승리합니다!\",\"Уничтожь вражескую башню короля, чтобы победить!\",\"دمّر برج الملك لتحقيق النصر الفوري!\",\"Destrua a torre do Rei do seu adversário para vencer instantaneamente.\",\"摧毁敌方的国王塔可立即获胜！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"摧毀敵方的國王塔，您將立即獲勝！\",\"برج پادشاهی دشمن رو نابود کن تا فوراً به پیروزی برسی!\",\"Hancurkan benteng Raja musuh agar menang seketika!\",\"Hapuskan menara Raja musuh untuk mendapat kemenangan segera!\"\n\"TID_HINT_ELIXIR_BASICS1\",\"Elixir generates automatically during battle. Playing a card costs Elixir.\",\"L'élixir est généré automatiquement pendant le combat. Jouer une carte coûte de l'élixir.\",\"Elixier wird im Kampf automatisch generiert. Das Ausspielen einer Karte kostet Elixier.\",\"El elixir, necesario para jugar las cartas, se regenera automáticamente durante la batalla.\",\"L'elisir viene generato automaticamente durante la battaglia. Giocare una carta costa elisir.\",\"Elixir wordt automatisch aangevuld tijdens een gevecht. Het spelen van een kaart kost elixir.\",\"Eliksir genereres automatisk under kamp. Det koster eliksir å bruke et kort.\",\"Savaş sırasında iksir otomatik olarak devreye girer. Bir kartı oynamak için İksir gerekir.\",\"エリクサーはバトル中にゆっくりと補充されますが\\nカードを使うと消費します。\",\"엘릭서는 전투 중에 자동으로 생성됩니다. 카드를 내면 엘릭서를 소모합니다.\",\"Эликсир автоматически вырабатывается во время боя. Разыгрывание карты стоит эликсира.\",\"الإكسير يتولد تلقائيًا أثناء المعركة. ولعب بطاقة يكلف إكسيرًا.\",\"O elixir é gerado automaticamente durante a batalha. Jogar uma carta custa elixir.\",\"对战中会自动生成圣水。使用卡牌将消耗圣水。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"對戰中會自動生成聖水。使用卡牌將消耗聖水。\",\"در طول مسابقه به شکل خودکار اکسیر تولید میشه. برای بازی با یک کارت باید اکسیر خرج کرد.\",\"Eliksir dihasilkan secara otomatis selama pertempuran. Memainkan kartu perlu Eliksir.\",\"Eliksir dijana secara automatik sewaktu pertempuran. Perlu menggunakan Eliksir untuk bermain kad.\"\n\"TID_HINT_ELIXIR_BASICS2\",\"Save your Elixir to play multiple cards at once.\",\"Économisez votre élixir pour jouer plusieurs cartes en même temps.\",\"Bewahre dein Elixier auf, um mehrere Karten auf einmal auszuspielen.\",\"Reserva un poco de elixir para usar varias cartas a la vez.\",\"Risparmia il tuo elisir per giocare più carte alla volta.\",\"Bewaar je elixir om meerdere kaarten tegelijkertijd te spelen.\",\"Spar eliksiren for å bruke flere kort på en gang.\",\"Tek seferde birden fazla kart oynamak için İksirini dikkatli kullan.\",\"エリクサーがたまるまで待てば\\n一度に複数のカードを出せます。\",\"카드 여러 장을 동시에 사용할 수 있도록 엘릭서를 아껴두세요.\",\"Сохрани эликсир, чтобы разыграть несколько карт одновременно.\",\"احفظ الإكسير الخاص بك للعب بطاقات متعددة في نفس الوقت.\",\"Economize elixir para jogar várias cartas de uma vez só.\",\"积累您的圣水以便一次使用多张卡牌。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"積累您的聖水以便一次使用多張卡牌。\",\"اکسیر رو ذخیره کن تا بتونی یک دفعه چندتا کارت بازی کنی.\",\"Hemat Eliksirmu untuk bermain banyak kartu sekaligus.\",\"Simpan Eliksir anda untuk bermain beberapa kad sekaligus.\"\n\"TID_HINT_ELIXIR_BASICS3\",\"Play multiple cards together to create a stronger push.\",\"Jouez plusieurs cartes en même temps pour une offensive plus puissante.\",\"Spiele für einen stärkeren Angriff mehrere Karten zusammen aus.\",\"Al jugar varias cartas a la vez, conseguirás un ataque más potente.\",\"Gioca più carte insieme per effettuare una mossa più potente.\",\"Speel meerdere kaarten samen voor een sterker effect.\",\"Bruk flere kort sammen for å gjøre et kraftigere fremstøt.\",\"Daha güçlü bir saldırı için birden fazla kartı birlikte oyna.\",\"複数のカードを同時に使うと\\n一気に攻勢をかけることができます。\",\"카드 여러 장을 동시에 사용해 적을 강하게 밀어붙이세요.\",\"Разыграй несколько, чтобы провести более сильную атаку.\",\"العب بطاقات متعددة معًا لإنشاء دفعة أقوى.\",\"Jogue várias cartas juntas para criar um impacto maior.\",\"搭配使用多种卡牌可以快速推进。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"搭配使用多種卡牌可以快速推進。\",\"همزمان چند کارت بازی کن تا پیشروی قوی‌تری داشته باشی.\",\"Mainkan banyak kartu sekaligus untuk menciptakan dorongan yang lebih kuat.\",\"Main berbilang kad bersama untuk mencipta tolakan yang lebih kuat.\"\n\"TID_HINT_EXP_LEVEL1\",\"Your experience level indicates the strength of your King and Crown Towers.\",\"Votre niveau d'expérience indique la force de votre tour du roi et de vos tours couronnées.\",\"Dein Erfahrungslevel zeigt die Stärke deines Königs und deiner Kronentürme an.\",\"Tu nivel de experiencia indica la fuerza de tu rey y tus torres de coronas.\",\"Il tuo livello di esperienza indica la forza del tuo re e delle tue torri della corona.\",\"Je ervaringslevel weerspiegelt de kracht van je koning en koningstorens.\",\"Erfaringsnivået indikerer styrken til kongetårnet og kronetårnene dine.\",\"Deneyim seviyen Kral ve Taç Kulelerinin gücünü belirler.\",\"経験値レベルはキングとクラウンタワーの\\n強さを表します。\",\"경험치 레벨은 왕과 크라운 타워의 강력함을 보여주는 수치입니다.\",\"Уровень опыта показывает, насколько силен твой король и башня.\",\"مستوى الخبرة لديك يشير إلى قوة أبراج الملك والتاج الخاصة بك.\",\"Seu nível de experiência indica a força do seu rei e de suas torres.\",\"您的经验等级表明了您的国王和皇家塔的战斗力。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"經驗等級越高，您的國王和皇家塔越強大。\",\"سطح تجربت مقدار قدرت برج‌های پادشاه و تاج رو نشون میده.\",\"Level pengalaman menandakan kekuatan Benteng Raja dan Mahkotamu.\",\"Tahap pengalaman anda menunjukkan kekuatan Menara Raja dan Mahkota anda.\"\n\"TID_HINT_EXP_LEVEL2\",\"Gain experience by upgrading your cards.\",\"Améliorez vos cartes pour gagner de l'expérience.\",\"Gewinne Erfahrung, indem du deine Karten verbesserst.\",\"Mejora tus cartas para ganar experiencia.\",\"Guadagna esperienza migliorando le tue carte.\",\"Verwerf ervaring door je kaarten te upgraden.\",\"Oppgrader kortene for å skaffe deg erfaring.\",\"Kartlarını yükselterek deneyim kazan.\",\"カードをアップグレードして\\n経験値をかせぎましょう。\",\"카드를 업그레이드해 경험치를 얻습니다.\",\"Зарабатывай опыт, улучшая карты.\",\"اكتسب الخبرة بترقية بطاقاتك.\",\"Ganhe experiência melhorando as suas cartas.\",\"升级您的卡牌可以获得经验值。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"升級您的卡牌可以獲得經驗值。\",\"با ارتقا کارت تجربه به دست بیار\",\"Raih pengalaman dengan meningkatkan kartumu.\",\"Dapatkan pengalaman dengan menaik taraf kad anda.\"\n\"TID_HINT_BATTLE_BASICS1\",\"Big troops are vulnerable to groups of small troops.\",\"Les combattants imposants sont vulnérables face à des groupes de petits combattants.\",\"Große Einheiten sind verwundbar gegenüber Gruppen kleiner Einheiten.\",\"Las unidades grandes son vulnerables a los grupos de unidades pequeñas.\",\"Le truppe di grandi dimensioni sono vulnerabili a gruppi di truppe più piccole.\",\"Grote eenheden zijn kwetsbaar voor groepen kleinere eenheden.\",\"Store tropper er sårbare i møte med grupper med små tropper.\",\"Büyük birlikler, küçük birlik gruplarına karşı dayanıksızdır.\",\"大型ユニットは、小型ユニットの\\n集団には脆弱です。\",\"큰 유닛은 다수의 작은 유닛에 취약합니다.\",\"Более крупные солдаты слабее групп маленьких.\",\"القوات الكبيرة غير محصنة أمام القوات الصغيرة.\",\"Grandes tropas são vulneráveis a grupos de pequenas tropas.\",\"双拳难敌四手，强敌也难挡一大波小兵。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"雙拳難敵四手，強敵也難擋一大波小兵。\",\"نیروهای بزرگ در مقابل گروه‌های نیروی کوچیک آسیب‌پذیرن.\",\"Peleton besar lemah melawan kelompok peleton kecil.\",\"Askar yang banyak terdedah dikalahkan sekumpulan askar kecil.\"\n\"TID_HINT_BATTLE_BASICS2\",\"Groups of small troops are vulnerable to area damage.\",\"Les dégâts de zone sont efficaces contre les groupes de petits combattants.\",\"Gruppen kleiner Einheiten sind verwundbar gegenüber Flächenschaden.\",\"Los grupos de unidades pequeñas son vulnerables al daño de área.\",\"I gruppi di truppe più piccole sono vulnerabili al danno ad area.\",\"Groepen kleinere eenheden zijn kwetsbaar voor gebiedsschade.\",\"Små tropper er sårbare for områdeskade.\",\"Küçük birlik grupları, alan hasarına karşı dayanıksızdır.\",\"小型ユニットの集団は\\n範囲ダメージに脆弱です。\",\"다수의 작은 유닛은 광역 공격에 취약합니다.\",\"Группы маленьких воинов подвержены урону по зоне.\",\"مجموعات القوات الصغيرة غير محصنة ضد الضرر في المنطقة.\",\"Grupos de pequenas tropas são vulneráveis a dano em área.\",\"成群的小型部队最忌惮范围性伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"成群的小型部隊最怕範圍傷害。\",\"گروه نیروهای کوچیک در مقابل آسیب ناحیه آسیب‌پذیرن.\",\"Kelompok peleton kecil lemah terhadap kerusakan area.\",\"Sekumpulan askar kecil mudah menyebabkan kerosakan kawasan.\"\n\"TID_HINT_JOIN_CLAN\",\"Join a Clan and receive 100 gems for completing the achievement.\",\"Rejoignez un clan et recevez 100 gemmes pour le succès correspondant.\",\"Tritt einem Clan bei und erhalte 100 Juwelen für die Errungenschaft.\",\"Únete a un clan y recibirás 100 gemas por completar el logro.\",\"Unisciti a un clan e ricevi 100 gemme per aver raggiunto l'obiettivo.\",\"Sluit je aan bij een clan en ontvang 100 edelstenen voor het voltooien van de prestatie.\",\"Bli med i en klan, og få 100 juveler for å ha fullført utmerkelsen.\",\"Bir Klana katıl ve başarıyı tamamlayarak 100 taş kazan.\",\"クランに参加すると達成項目をクリアした際に\\nエメラルドを100個もらえます。\",\"클랜에 가입하고 도전 과제를 완료해서 보석 100개를 받으세요.\",\"Вступи в клан и получи 100 кристаллов за выполнение достижения.\",\"انضم إلى قبيلة واحصل على 100 جوهرة مكافأةً على إكمال الإنجاز.\",\"Entre para um clã e receba 100 gemas por completar a conquista.\",\"加入部落，完成成就，您将获得100颗宝石。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"加入部落，完成成就，您將獲得100顆寶石。\",\"به یک قبیله ملحق شو و برای تکمیل این دستاورد 100 جواهر جایزه بگیر.\",\"Gabung ke Klan dan terima 100 permata saat menyelesaikan pencapaian.\",\"Sertai Klan dan terima 100 permata kerana melengkapkan pencapaian.\"\n\"TID_HINT_TV_ROYALE\",\"TV Royale contains some of the best games played recently. Watch and learn!\",\"TV Royale diffuse certains des meilleurs combats récents. Regardez-les pour progresser !\",\"TV Royale enthält einige der besten in letzter Zeit gespielten Spiele. Schau zu und lerne was!\",\"En TV Royale encontrarás algunas de las mejores partidas más recientes. ¡Aprende de ellas!\",\"TV Royale contiene alcune delle migliori partite giocate di recente. Guarda e impara!\",\"Op TV Royale kun je een aantal van de beste gevechten bekijken die recent zijn gespeeld. Kijk en leer!\",\"TV Royale inneholder noen av de beste kampene som er spilt nylig. Se og lær!\",\"TV Royale'da son oynanan en iyi oyunlardan bazıları bulunur. İzle ve öğren!\",\"クラロワTVでは、最新の名勝負を紹介します。\\nよく見て学びましょう！\",\"로얄 TV에서는 최근 있었던 멋진 전투를 보여줍니다. 참고하세요!\",\"На TV Royale можно посмотреть лучшие игры. Смотри и учись!\",\"يحتوي TV Royale على بعض من أفضل الألعاب التي لُعبت مؤخرًا. شاهد وتعلم!\",\"A TV Royale tem algumas das melhores partidas jogadas recentemente. Assista e aprenda!\",\"在皇室TV中您可以看到近期最佳对战，不妨来学习一下吧！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在皇室TV中您可以看到近期最佳對戰，不妨來學習一下吧！\",\"بعضی از بهترین بازی‌هایی که تا حالا انجام شدن روی TV Royale قرار دارن. ببین و یاد بگیر!\",\"TV Royale berisi beberapa permainan terbaik baru-baru ini. Tonton dan pelajari!\",\"TV Diraja mengandungi beberapa permainan terbaik yang baharu dimainkan. Tonton dan belajar!\"\n\"TID_HINT_ARROWS\",\"Use Arrows to stop a group of small troops.\",\"Tirez des flèches pour arrêter un groupe de petits combattants.\",\"Verwende Pfeile, um eine Gruppe kleiner Einheiten aufzuhalten.\",\"Las flechas detienen a los grupos de unidades pequeñas.\",\"Usa Frecce per fermare un gruppo di truppe di piccole dimensioni.\",\"Gebruik pijlen om groepen kleinere eenheden tegen te houden.\",\"Bruk piler for å stoppe en gruppe med små tropper.\",\"Küçük bir birlik grubunu durdurmak için Okları kullan.\",\"小型ユニットの集団を阻止するには\\n矢の雨が有効です。\",\"작은 유닛들을 막는 데는 화살 공격이 효과적입니다.\",\"Используй стрелы, чтобы остановить группы небольших воинов.\",\"استخدم السهام لإيقاف مجموعة من القوات الصغيرة.\",\"Use flechas para deter um grupo de pequenas tropas.\",\"使用万箭齐发来阻挡成群的小型军队。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"使用萬箭齊發來阻擋成群的小型軍隊。\",\"از تیرها برای متوقف کردن گروه نیروهای کوچیک استفاده کن.\",\"Gunakan Panah untuk menghentikan sekelompok kecil peleton.\",\"Gunakan Anak Panah untuk menghentikan sekumpulan askar kecil.\"\n\"TID_HINT_GIANT\",\"Giants target buildings and ignore enemy troops.\",\"Les géants ciblent les bâtiments et ignorent les combattants ennemis.\",\"Riesen haben es auf Gebäude abgesehen und ignorieren feindliche Einheiten.\",\"Los gigantes atacan las estructuras e ignoran a las tropas enemigas.\",\"I giganti bersagliano gli edifici e ignorano le truppe nemiche.\",\"Reuzen vallen gebouwen aan en negeren vijandelijke eenheden.\",\"Kjemper går etter bygninger, men ignorerer fiendens tropper.\",\"Devler, binaları hedef alır ve düşman birliklerini görmezden gelir.\",\"ジャイアントは敵ユニットを無視し\\n建物だけを攻撃します。\",\"자이언트는 적 유닛은 무시하고 건물만 공격합니다.\",\"Гиганты атакуют здания и игнорируют вражеские войска.\",\"العمالقة يستهدفون المباني ويتجاهلون القوات الصغيرة.\",\"Gigantes atacam construções e ignoram tropas inimigas.\",\"巨人只会攻击建筑，而不会攻击军队。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"巨人只會攻擊建築，而不會攻擊軍隊。\",\"غول‌ها به سمت ساختمون‌ها میرن و نیروهای دشمن رو نادیده می‌گیرن.\",\"Raksasa menarget bangunan dan mengabaikan peleton musuh.\",\"Gergasi menyasarkan bangunan dan mengabaikan askar musuh.\"\n\"TID_HINT_KIGHT_AND_ARCHERS\",\"The Knight followed by Archers is a simple and effective strategy.\",\"Un chevalier suivi par des archers, c'est une stratégie simple mais efficace.\",\"Ein Ritter gefolgt von Bogenschützen ist eine einfache und effektive Strategie.\",\"Desplegar el caballero y después a las arqueras es una estrategia sencilla y efectiva.\",\"Un cavaliere accompagnato da arcieri è una strategia semplice ed efficace.\",\"Een ridder gevolgd door boogschutters is een simpele en effectieve strategie.\",\"Ridder etterfulgt av bueskyttere er en enkel og effektiv strategi.\",\"Okçular tarafından takip edilen Şövalye basit ve etkili bir stratejidir.\",\"ナイトの後ろにアーチャーを配置するのは\\nシンプルですが効果的な戦術です。\",\"기사를 먼저 보내고 아처를 뒤따르게 하는 것은 단순하면서도 효과적인 전술입니다.\",\"Рыцарь, которого прикрывают лучницы, — простая и эффективная стратегия.\",\"إستراتيجية الفارس ويتبعه رماة السهام هي إستراتيجية بسيطة وفعّالة.\",\"Mobilizar Cavaleiros e depois Arqueiras é uma estratégia simples e eficiente.\",\"先派出骑士，弓箭手紧随其后，这是一种简单有效的战术。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"先派出騎士，弓箭手緊隨其後，這是一種簡單有效的戰術。\",\"یک هستراتژی ساده و موثر فرستادن یک شوالیه هست که تیراندازها پشت سرش قرار دارن.\",\"Kesatria dilanjutkan Pemanah adalah strategi yang sederhana dan efektif.\",\"Kesatria diikuti oleh Pemanah ialah strategi ringkas dan berkesan.\"\n\"TID_HINT_AREA_DAMAGE\",\"Some troops deal area damage, hitting multiple units at once.\",\"Certains combattants infligent des dégâts de zone qui frappent plusieurs unités à la fois.\",\"Einige Einheiten teilen Flächenschaden aus und treffen mehrere Gegner gleichzeitig.\",\"Algunas tropas infligen daño de área que afecta a varias unidades a la vez.\",\"Alcune truppe infliggono danno ad area, colpendo più unità alla volta.\",\"Sommige eenheden delen gebiedsschade uit, waardoor meerdere eenheden tegelijkertijd worden getroffen.\",\"Noen tropper påfører områdeskade, og da treffer de flere enheter samtidig.\",\"Bazı birlikler alan hasarı vererek tek seferde birden fazla birime vurur.\",\"ユニットの中には、範囲ダメージを発生させて\\n複数ユニットをまとめて攻撃できるものもいます。\",\"일부 유닛은 광역 공격으로 동시에 여럿의 적을 공격할 수 있습니다.\",\"Некоторые войска наносят урон по зоне, задевая несколько воинов одновременно.\",\"بعض القوات تسبب ضررًا في المنطقة، وتصيب وحدات متعددة في الوقت نفسه.\",\"Algumas tropas causam dano em área, atingindo várias unidades de uma vez só.\",\"有的卡牌能造成范围伤害，一次攻击多个目标。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"有的卡牌能造成範圍傷害，一次攻擊多個目標。\",\"بعضی از نیروها به ناحیه آسیب میزنن، ناگهان به چند نیرو ضربه وارد میکنن.\",\"Beberapa peleton menimbulkan kerusakan area, menghantam banyak unit sekaligus.\",\"Beberapa askar menyebabkan kerosakan kawasan, mengenakan berbilang unit sekaligus.\"\n\"TID_HINT_FREE_CHEST\",\"You get one Free Chest every four hours. You can store two of them.\",\"Vous obtenez un coffre gratuit toutes les quatre heures. Vous pouvez en stocker deux.\",\"Alle vier Stunden bekommst du eine Gratistruhe. Du kannst höchstens zwei davon lagern.\",\"Recibirás un cofre gratis cada cuatro horas y podrás almacenar hasta dos.\",\"Ottieni un baule omaggio ogni quattro ore. Puoi conservarne due.\",\"Je krijgt om de vier uur een gratis kist. Je kunt er twee opslaan.\",\"Du får én gratiskiste hver fjerde time. Du kan lagre to av dem.\",\"Her dört saatte bir Ücretsiz Sandık kazanırsın. Bunların ikisini saklayabilirsin.\",\"おまけの宝箱は4時間に1つ入手でき\\n2つまで貯めておけます。\",\"네 시간에 하나씩 무료 상자를 받게 됩니다. 이 중 두 개를 저장할 수 있습니다.\",\"Каждые четыре часа ты получаешь один сундук. Одновременно их может быть два.\",\"تحصل على صندوق مجاني كل أربع ساعات. يمكنك تخزين اثنين منهم.\",\"Você receberá um baú grátis a cada 4 horas e poderá armazenar até dois deles.\",\"您每四个小时可以获得一个免费宝箱，最多可以存放两个免费宝箱。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您每隔四個小時可獲得一個免費寶箱，最多可以存放兩個免費寶箱。\",\"هر چهار ساعت یک صندوق رایگان می‌گیری. می‌تونی دوتا ذخیره کنی.\",\"Kamu mendapatkan Peti Gratis setiap empat jam. Dua peti bisa disimpan.\",\"Anda mendapat satu Peti Percuma setiap empat jam. Anda boleh menyimpan dua daripadanya.\"\n\"TID_HINT_MATCH_DURATION\",\"Each battle can last three minutes, possibly extended by a minute of sudden death tiebreaker.\",\"Chaque combat peut durer trois minutes, éventuellement prolongées par une minute de mort subite en cas d'égalité.\",\"Jeder Kampf kann drei Minuten dauern und eventuell um eine Minute verlängert werden, um durch Kronen-K.-o eine Entscheidung herbeizuführen.\",\"El tiempo máximo para cada batalla son tres minutos, pero se puede alargar uno más si es necesaria una muerte súbita de desempate.\",\"Ogni battaglia può durare tre minuti, con un eventuale minuto aggiuntivo di spareggio sudden death.\",\"Elk gevecht kan drie minuten duren. Een verlenging van een minuut is mogelijk in het geval van een gelijkspel waarbij een sudden death de uitslag bepaalt.\",\"Hver kamp kan vare i tre minutter, og forlenges med ett minutt i tilfelle sudden death.\",\"Her savaş ani ölüm uzatmasıyla bir dakika daha uzayabilir ve üç dakikaya kadar sürer.\",\"バトルは1回3分ですが、同点なら\\n1分間のサドンデスでの延長戦が\\nあります。\",\"전투는 3분 동안 진행되며, 서든 데스 연장전을 통해 최대 1분까지 추가로 싸울 수 있습니다.\",\"Каждая битва длится три минуты. Возможно продление на минуту когда ничья решается внезапной смертью.\",\"يمكن لكل معركة أن تدوم ثلاث دقائق، مع احتمالية تمديدها لمدة دقيقة بهدف الصدمة للجولة الفاصلة.\",\"Cada batalha pode durar três minutos e talvez ser estendida por mais um minuto para desempate por morte súbita.\",\"每场对战持续3分钟，如果未分出胜负，则进入突然死亡模式，可能加时1分钟。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"每場對戰持續3分鐘，如果未分出勝負，則進入驟死賽模式，可能加時1分鐘。\",\"هر نبرد ممکنه تا سه دقیقه طول بکشه، احتمالاً یک دقیقه در حالت مرگ ناگهان ادامه پیدا کنه.\",\"Setiap pertempuran dapat berlangsung tiga menit, mungkin diperpanjang satu menit untuk fase penentuan.\",\"Setiap pertempuran bertahan tiga minit, mungkin dilanjutkan seminit bagi penentuan kalah mati.\"\n\"TID_HINT_OVERTIME\",\"During sudden death, the first player to get a Crown wins.\",\"En cas de mort subite, le premier joueur qui obtient une couronne remporte la victoire.\",\"Beim Kronen-K.-o gewinnt der Spieler, der zuerst eine Krone erhält.\",\"En la muerte súbita gana el primer jugador que consiga una corona.\",\"Durante la sudden death, il primo giocatore che ottiene una corona vince.\",\"Tijdens een sudden death wint de eerste speler die een kroon verovert.\",\"Under sudden death vinner spilleren som tar en krone først.\",\"Ani ölüm sırasında Taç kazanan ilk oyuncu kazanır.\",\"サドンデスに入ると、先にクラウンを取った\\nプレイヤーが勝利となります。\",\"서든 데스 중에는 먼저 크라운을 획득한 플레이어가 승리합니다.\",\"При внезапной смерти побеждает первый игрок, получивший корону.\",\"أثناء هدف الصدمة، فإن اللاعب الذي يحصل على تاج أولاً سيحقق الفوز.\",\"Durante a morte súbita, o primeiro jogador que destruir a coroa vence.\",\"在突然死亡模式中，率先获得皇冠的一方获胜。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在驟死賽模式中，率先獲得皇冠的一方獲勝。\",\"در زمان مرگ ناگهانی، اولین بازیکنی که یک تاج بگیره برنده میشه.\",\"Selama fase penentuan, pemain pertama yang mendapatkan Mahkota akan menang.\",\"Sewaktu kalah mati, pemain pertama akan memenangi Mahkota.\"\n\"TID_HINT_CARD_TYPES\",\"There are three types of card: Troops, Buildings and Spells.\",\"Il existe trois types de cartes : les combattants, les bâtiments et les sorts.\",\"Es gibt drei Kartentypen: Einheiten, Gebäude und Zauber.\",\"Las cartas pueden ser de tropas, estructuras o hechizos.\",\"Esistono tre tipi di carta: truppe, edifici e incantesimi.\",\"Er zijn drie soorten kaarten: eenheden, gebouwen en spreuken.\",\"Det finnes tre typer kort: tropper, bygninger og formler.\",\"Üç tür kart vardır: Birlikler, Binalar ve Büyüler.\",\"カードには、ユニット、建物、呪文という\\n3つの種類あります。\",\"카드는 유닛, 건물, 마법의 세 가지가 있습니다.\",\"Есть три вида карт: войска, строения и заклинания.\",\"هناك ثلاثة أنواع من البطاقات: القوات والمباني والتعويذات.\",\"Há três tipos de cartas: de tropas, construções e feitiços.\",\"卡牌有三种类型：军队类，建筑类和法术类。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"卡牌有三種類型：軍隊類，建築類和法術類。\",\"سه نوع کارت وجود داره: نیروها، ساختمون‌ها و طلسم‌ها.\",\"Ada tiga tipe kartu: Peleton, Bangunan, dan Mantra.\",\"Terdapat tiga jenis kad: Askar, Bangunan dan Sihir.\"\n\"TID_HINT_CARD_RARITIES\",\"Cards come in four levels of rarity: Common, Rare, Epic and Legendary.\",\"Les cartes ont quatre niveaux de rareté : commune, rare, épique et légendaire.\",\"Karten gibt es in vier Seltenheitsgraden: gewöhnlich, selten, episch und legendär.\",\"Las cartas pueden ser de cuatro tipos según su calidad: comunes, especiales, épicas y legendarias.\",\"Le carte hanno quattro livelli di rarità: comune, raro, epico e leggendario.\",\"De zeldzaamheid van de kaarten is als volgt: gewoon, zeldzaam, episch en legendarisch.\",\"Kort klassifiseres i fire nivåer etter forekomst: vanlig, sjeldent, episk og legendarisk.\",\"Kartlar dört enderlik seviyesine sahiptir: Sıradan, Ender, Destansı ve Efsanevi.\",\"カードには、ノーマル、レア、スーパーレア、ウルトラレアという4段階のレア度があります。\",\"카드는 일반, 희귀, 영웅, 전설의 4가지 희귀도로 구분됩니다.\",\"Карты бывают четырех видов: обычные, редкие, эпические и легендарные.\",\"تأتي البطاقات بأربعة مستويات من الندرة، عادية ونادرة وممتازة وأسطورية.\",\"As cartas são classificadas de acordo com sua raridade: comuns, raras, épicas e lendárias.\",\"根据稀有度，卡牌可分为四个级别：普通卡、稀有卡、史诗卡和传奇卡。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"根據稀有度，卡牌可分為四個級別：普通卡、稀有卡、史詩卡和傳奇卡。\",\"کارت‌ها از نظر کمیابی در چهار سطح هستن: عادی، کمیاب، حماسی و افسانه‌ای\",\"Ada empat level kelangkaan kartu: Umum, Langka, Epik, dan Legendaris.\",\"Kad terdapat dalam empat tahap kelangkaan: Biasa, Jarang, Epik dan Legenda.\"\n\"TID_HINT_DECK_BASICS1\",\"Balance your Battle Deck with cards that can target both ground and air.\",\"Pour équilibrer vos cartes, choisissez-en certaines pouvant cibler à la fois les unités terrestres et aériennes.\",\"Sorge für ein ausgewogenes Kampfdeck mit Karten, die sowohl Ziele in der Luft als auch am Boden angreifen können.\",\"Equilibra tu baraja bélica con cartas que puedan atacar a tropas tanto aéreas como terrestres.\",\"Bilancia il tuo mazzo da battaglia includendo carte in grado di bersagliare sia le unità di terra, sia quelle volanti.\",\"Stel een evenwichtige set gevechtskaarten samen waarmee je zowel grond- als luchtdoelen kunnen aanvallen.\",\"Sørg for å ha god balanse i kampkortene dine, slik at du både kan angripe mål på bakken og i lufta.\",\"Savaş Desteni hem karayı hem de havayı hedef alabilecek kartlarla dengele.\",\"地上だけでなく空中の敵も攻撃できるよう\\nバトルデッキに入れるカードはよく選びましょう！\",\"공중과 지상을 모두 견제할 수 있도록 전투 덱을 균형 있게 짜세요.\",\"Сбалансируй свою колоду, собирая карты, бьющие по наземным и воздушным противникам.\",\"قم بموازنة مجموعة المعركة مع البطاقات التي يمكنها استهداف القوات الجوية والأرضية.\",\"Equilibre o seu deck de batalha com cartas que podem atingir unidades terrestres e aéreas.\",\"调整您的出战卡组，确保卡组中既有对地又有对空的卡牌。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"調整您的出戰牌組，確保牌組中既有對地又有對空的卡牌。\",\"دست نبرد خودت رو با کارت‌هایی متعادل کن که هم به هوا و هم به زمین حمله می‌کنن.\",\"Seimbangkan Dek Tempurmu dengan kartu yang bisa menarget unit darat dan udara.\",\"Seimbangkan Dek Pertempuran anda dengan kad yang boleh menyasarkan darat dan juga udara.\"\n\"TID_HINT_DECK_BASICS2\",\"You can take eight cards from your collection into battle. This is your Battle Deck.\",\"Vous pouvez utiliser huit cartes de votre collection pendant un combat. Ce sont vos cartes de combat.\",\"Du kannst mit acht Karten deiner Sammlung in den Kampf ziehen - das ist dein Kampfdeck.\",\"Puedes llevar a la batalla ocho cartas de tu colección: esa será tu baraja bélica.\",\"Puoi portare in battaglia otto carte dalla tua collezione. Questo è il tuo mazzo da battaglia.\",\"Je kunt maximaal 8 kaarten uit je verzameling kiezen voor elk gevecht. Dit worden je gevechtskaarten genoemd.\",\"Du kan ta med deg åtte kort fra samlingen inn i kamp. Dette er kampkortene dine.\",\"Savaşa koleksiyonundan sekiz kart götürebilirsin. Bu senin Savaş Desten.\",\"バトルにはコレクションのカードを8枚まで\\n持ち込めます。これをバトルデッキといいます。\",\"모은 카드 중에서 여덟 장을 뽑아 전투에 나갈 수 있습니다. 이 여덟 장을 전투 덱이라고 합니다.\",\"В бой можно взять восемь карт. Это и будет твоя боевая колода.\",\"يمكنك أخذ ثماني بطاقات من مجموعتك إلى المعركة. هذه هي مجموعة المعركة الخاصة بك.\",\"Você pode levar oito cartas para a batalha. Este é o seu deck de batalha.\",\"您可以从牌库中选择8张卡牌用于对战，这就是您的出战卡组。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您可以從收集的卡牌中選擇8張用於對戰，這就是您的出戰牌組。\",\"می‌تونی از مجموعه‌ای که داری هشت کارت وارد نبرد کنی. به این هشت تا دست نبرد گفته میشه.\",\"Kamu bisa membawa delapan kartu dari koleksimu ke pertempuran. Inilah Dek Tempurmu.\",\"Anda boleh membawa lapan kad daripada koleksi anda ke dalam pertempuran. Ini ialah Dek Pertempuran anda.\"\n\"TID_HINT_ACHIEVEMENT_GEMS\",\"Complete achievements to earn gems!\",\"Accomplissez des succès pour gagner des gemmes gratuites !\",\"Schließe Errungenschaften ab, um Gratisjuwelen zu verdienen!\",\"¡Completa logros para ganar gemas!\",\"Raggiungi gli obiettivi per ottenere delle gemme gratis!\",\"Voltooi prestaties om gratis edelstenen te verdienen.\",\"Fullfør utmerkelser for å få juveler!\",\"Taş kazanmak için başarıları tamamla!\",\"達成項目をクリアして、報酬の\\nエメラルドをもらいましょう！\",\"도전 과제를 완료해서 보석을 획득하세요!\",\"Получай кристаллы за достижения!\",\"أكمل الإنجازات لربح الجواهر!\",\"Conclua conquistas para ganhar gemas grátis!\",\"取得成就可以获得免费宝石！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"取得成就可以獲得免費寶石！\",\"دستاوردها رو تکمیل کن تا جواهر بگیری!\",\"Selesaikan pencapaian untuk meraih permata!\",\"Lengkapkan pencapaian untuk memperoleh permata!\"\n\"TID_HINT_DONATE_REWARDS\",\"Donating cards to your Clan gives experience and gold, and makes you feel all warm and fuzzy inside.\",\"Le don de cartes à votre clan vous rapporte de l'expérience et de l'or, et vous emplit de joie et de chaleur.\",\"Wenn du deinem Clan Karten spendest, bekommst du Erfahrung und Gold - und kannst dich richtig gut fühlen.\",\"Al donar cartas a tu clan conseguirás experiencia y oro, además de un sentimiento de bienestar interior.\",\"Donare carte al tuo clan procura esperienza e oro. Inoltre ti fa sentire una persona generosa.\",\"Als je kaarten doneert aan je clan krijg je ervaring en goud. Bovendien geeft het je een warm en goed gevoel.\",\"Når du gir bort kort til klanen din, får du erfaring og gull, og du føler deg varm og lykkelig etterpå.\",\"Klanına kart bağışlayarak deneyim ve altın kazanır, kendini iyi hissedersin.\",\"クランにカードを寄付すると、経験値と\\nゴールドをもらえます。人助けにもなって\\n心がほっこりしますよ！\",\"클랜에 카드를 지원하면 경험치와 골드를 받습니다. 덤으로 마음까지 따뜻해집니다.\",\"Пожертвование карт соклановцам дает золото и опыт, а еще от этого становится теплее внутри.\",\"التبرع بالبطاقات لقبيلتك يمنحك الخبرة والذهب، ويشعرك بالدفء والسعادة.\",\"Doar cartas ao seu clã dá pontos de experiência e ouro, e o seu coração fica do tamanho do mundo!\",\"向部落成员捐赠卡牌，您将获得经验值和金币，同时还可以感受到家一般的温暖。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"向部落成員捐贈卡牌，您將獲得經驗值和金幣，同時還可以感受到家一般的溫暖。\",\"اهدای کارت به قبیله‌ات باعث میشه تجربه و طلا به دست بیاری و البته از اینکه با جمع هستی هم دلگرم میشی.\",\"Menyumbangkan kartu ke Klan akan menghasilkan pengalaman dan emas, dan membuatmu merasa hangat dan nyaman di hati.\",\"Menderma kad kepada klan anda akan memberikan anda pengalaman dan emas, serta perasaan mesra.\"\n\"TID_HINT_KING_ACTIVATION\",\"The King only joins the fight after taking damage or losing a Crown Tower.\",\"Le roi rejoint le combat seulement après avoir subi des dégâts ou perdu une tour couronnée.\",\"Der König greift erst in den Kampf ein, wenn er Schaden erlitten hat oder ein Kronenturm verloren wurde.\",\"El rey solo participa en la batalla cuando ha sufrido daño o tras perder una torre de coronas.\",\"Il re si unisce al combattimento solo dopo aver subito danno o aver perso una torre della corona.\",\"De koning stort zich pas in de strijd nadat hij schade heeft opgelopen of een kroontoren is kwijtgeraakt.\",\"Kongen blir bare med i kampen når han er blitt påført skade eller har mistet et kronetårn.\",\"Kral yalnızca hasar aldıktan ya da bir Taç Kulesini kaybettikten sonra savaşa katılır.\",\"キングは自分がダメージを受けるか\\nクラウンタワーを1つ失わないかぎり\\n戦闘に参加しません。\",\"왕은 크라운 타워가 공격을 받거나 무너진 경우에만 전투에 참가합니다.\",\"Король вступает в бой только после потери или повреждения королевской башни.\",\"لا ينضم الملك للقتال إلا بعد تلقي الضرر أو بعد فقدان برج تاج.\",\"O Rei só entra na luta depois de sofrer dano ou perder uma torre da coroa.\",\"国王只有在受到伤害或失去护卫塔后才会加入战斗。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"國王只有在受到傷害或失去護衛塔後才會加入戰鬥。\",\"شاه فقط بعد از اسیب دیدن یا از دست دادن یک برج تاج وارد بازی میشه.\",\"Raja hanya ikut bertarung setelah menderita kerusakan atau kehilangan Benteng Mahkota.\",\"Raja hanya menyertai perlawanan selepas mengalami kerosakan atau kehilangan Menara Mahkota.\"\n\"TID_HINT_KING_DAUGHTERS\",\"The Princesses protect the King from atop their Crown Towers.\",\"Du sommet de leurs tours couronnées, les princesses protègent le roi.\",\"Die Prinzessinnen schützen den König von ihren Kronentürmen aus.\",\"Las princesas protegen al rey desde la parte superior de sus torres de coronas.\",\"Le principesse proteggono il re dall'alto delle loro torri della corona.\",\"De prinsessen beschermen de koning vanaf de top van hun kroontorens.\",\"Prinsessene beskytter kongen fra toppen av kronetårnene sine.\",\"Prensesler, Kralı Taç Kulelerinin üstünden korur.\",\"プリンセスたちはクラウンタワーの上で\\n王を守っています。\",\"프린세스들은 각자의 크라운 타워에서 왕을 보호합니다.\",\"Принцессы защищают короля со своих башен.\",\"الأميرة تحمي الملك من فوق أبراج التاج.\",\"As Princesas protegem o Rei de cima das suas torres da coroa.\",\"公主们会在皇家塔上保护国王。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"公主會在皇家塔上保護國王。\",\"شاهزاده خانم‌ها از بالای برج‌های تاج از شاه محافظت می‌کنن.\",\"Para Putri melindungi Raja dari atas Benteng Mahkota mereka.\",\"Puteri-puteri melindungi Raja dari atas Menara Mahkota.\"\n\"TID_HINT_STORY1\",\"Goblins only joined the Arena after their union signed a lucrative contract with the Royales.\",\"Les gobelins n'ont rejoint l'arène qu'après la signature d'un contrat lucratif entre leur syndicat et la royauté.\",\"Kobolde sind der Arena erst beigetreten, nachdem ihre Gewerkschaft einen lukrativen Vertrag mit den Royales abgeschlossen hat.\",\"Los duendes empezaron a luchar en la arena después de que su unión firmara un acuerdo lucrativo con los nobles.\",\"I goblin hanno iniziato a partecipare all'arena solo dopo che il loro sindacato ha firmato un redditizio accordo con i Royale.\",\"De kobolden betraden de arena pas nadat hun vakbond een lucratief contract had getekend met de aristocraten.\",\"Nissene ble først med i arenakampene da fagforeningen deres signerte en lukrativ avtale med de kongelige.\",\"Goblinler arenaya ancak Asillerle kârlı bir sözleşme imzaladıktan sonra katılır.\",\"ゴブリンがアリーナに出てくるのは、キングたちが高い金を払ってゴブリン組合と契約を結んだからです。\",\"고블린은 고블린 노조가 귀족들과 높은 보수로 계약을 맺은 후 비로소 참전을 결정했습니다.\",\"Гоблины выступили на арену только после того, как гоблинский союз подписал выгодный контракт с короной.\",\"انضمت الغيلان إلى الساحة بعد توقيع اتحادهم عقدًا مربحًا مع الملكيين.\",\"Os Goblins só entraram na arena depois que o sindicato assinou um contrato lucrativo com os Royales.\",\"只有丰厚的佣金才能让贪婪的哥布林在竞技场中为您卖命。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"只有豐厚的傭金才能說服貪婪的哥布林在競技場中為您賣命。\",\"گابلین‌ها فقط بعد از اینکه اتحادیه‌شون یک قرار داد چرب و چیلی با سلطنتی‌ها امضاء کرد حاضر شدن وارد میدان نبرد بشن.\",\"Goblin hanya bergabung ke Arena setelah serikat mereka menandatangani kontrak menggiurkan dengan para Royale.\",\"Goblin hanya menyertai Arena selepas kesatuan mereka menandatangani kontrak yang menguntungkan dengan Royale.\"\n\"TID_HINT_BUILDING_LIFETIME\",\"All buildings slowly lose hitpoints, expiring after a set amount of time.\",\"Tous les bâtiments perdent peu à peu leurs points de vie et disparaissent au bout d'un certain temps.\",\"Alle Gebäude verlieren nach und nach Trefferpunkte und laufen nach einer bestimmten Zeit ab.\",\"Todas las estructuras pierden puntos de vida paulatinamente y desaparecen tras un tiempo.\",\"Tutti gli edifici perdono lentamente punti ferita e dopo un certo tempo scadono.\",\"Alle gebouwen verliezen langzaam levenspunten. Na een bepaalde tijd verlopen ze.\",\"Bygninger mister langsomt treffpoeng, og de utløper etter en viss tid.\",\"Tüm binalar yavaş yavaş can kaybederek belli bir süre sonra yok olur.\",\"すべての建物は、一定時間が経つと\\n少しずつヒットポイントが減りはじめます。\",\"모든 건물은 조금씩 HP가 줄어들어 일정 시간이 지나면 사라집니다.\",\"Все строения медленно теряют здоровье, которое кончается через определенное время.\",\"كل المباني تفقد نقاط الإصابة ببطء، وتنتهي صلاحيتها بعد فترة محددة من الوقت.\",\"Todas as construções perdem pontos de vida lentamente e são destruídas após um certo período.\",\"所有建筑类卡牌都会逐渐失去生命值，在一段时间后失效。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"所有建築類卡牌都會逐漸失去生命值，在一段時間後失效。\",\"تمام ساختمون‌ها به تدریج تحمل ضربشون کم میشه و بعد از یک مدت زمان مشخص باطل میشن.\",\"Semua bangunan perlahan kehilangan nyawa, lalu lenyap setelah waktu yang ditentukan.\",\"Semua bangunan perlahan-lahan kehilangan nilai nyawa, tamat tempoh selepas satu tempoh masa.\"\n\"TID_HINT_TOWER_TARGETING\",\"All Crown Towers target both ground and air troops.\",\"Toutes les tours couronnées ciblent à la fois les combattants terrestres et aériens.\",\"Alle Kronentürme nehmen Boden- und Lufteinheiten ins Visier.\",\"Las torres de coronas atacan a tropas tanto aéreas como terrestres.\",\"Tutte le torri della corona bersagliano sia le unità di terra, sia quelle volanti.\",\"Alle kroontorens vallen zowel grond- als luchteenheden aan.\",\"Kronetårn angriper mål både på bakken og i lufta.\",\"Tüm Taç Kuleleri hem kara hem de hava birimlerini hedef alabilir.\",\"クラウンタワーは、地上の敵も\\n空中の敵も攻撃できます。\",\"크라운 타워는 지상 및 공중 모두를 공격할 수 있습니다.\",\"Все королевские башни стреляют по наземным и воздушным мишеням.\",\"كل أبراج التاج تستهدف القوات الأرضية والجوية.\",\"Todas as torres da coroa podem atingir unidades terrestres e aéreas.\",\"所有的皇家塔都可以攻击地面和空中军队。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"所有的皇家塔都可以攻擊地面和空中軍隊。\",\"تمام برج‌های تاج هر دو نیروهای زمینی و هوایی رو هدف قرار میدن.\",\"Semua Benteng Mahkota dapat menarget unit darat dan udara.\",\"Semua Menara Mahkota menyasarkan unit darat dan udara.\"\n\"TID_HINT_BUILDINGS\",\"Some defensive buildings only target ground troops, while others target both ground and air.\",\"Certains bâtiments défensifs ne visent que les combattants au sol, tandis que d'autres ciblent aussi bien les unités terrestres que les unités aériennes.\",\"Einige Verteidigungsbauten zielen nur auf Bodeneinheiten, andere zielen auf Boden- und Lufteinheiten.\",\"Algunas estructuras defensivas solo atacan a las tropas terrestres, mientras que otras atacan también a las aéreas.\",\"Alcuni edifici difensivi bersagliano solo truppe di terra, mentre altri bersagliano sia terra sia aria.\",\"Sommige verdedigingsgebouwen kunnen alleen grondeenheden aanvallen, terwijl andere zich zowel op grond- als luchteenheden richten.\",\"Noen forsvarsbygninger angriper bare bakketropper, mens andre angriper mål både på bakken og i lufta.\",\"Bazı savunma binaları yalnızca kara birliklerini hedef alırken bazıları hem kara hem hava birliklerini hedef alır.\",\"防衛設備の中には地上ユニットしか攻撃できないものや、地上も空中も攻撃できるものがあります。\",\"방어 시설은 지상과 공중을 모두 공격할 수 있지만, 일부 시설은 지상만 공격 가능합니다.\",\"Одни защитные сооружения атакуют только наземные войска, а другие — и наземные, и воздушные.\",\"بعض المباني الدفاعية لا تستهدف سوى القوات الأرضية، بينما تستهدف أخرى القوات الأرضية والجوية.\",\"Algumas construções defensivas só atacam tropas terrestres, enquanto outras atacam tanto unidades terrestres como aéreas.\",\"有的防御建筑只会攻击地面目标，而有的建筑可以攻击地面目标和空中目标。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"有的防禦建築只會攻擊地面目標，而有的建築可以攻擊空中目標和地面目標。\",\"بعضی از ساختمون‌های دفاعی فقط نیروهای زمینی رو هدف قرار میدن، ولی بقیه به هر دو نیروی زمینی و هوایی حمله می‌کنن.\",\"Sebagian bangunan pertahanan hanya menarget peleton darat, sebagian lagi menarget peleton darat dan udara.\",\"Beberapa bangunan pertahanan hanya menyasarkan askar darat, manakala yang lain menyasarkan darat dan juga udara.\"\n\"TID_HINT_COMMON_MAX_LEVEL\",\"Common Cards can be upgraded to level 13.\",\"Les cartes communes peuvent être améliorées jusqu'au niveau 13.\",\"Gewöhnliche Karten können bis Level 13 verbessert werden.\",\"Las cartas comunes se pueden mejorar hasta el nivel 13.\",\"Le carte comuni possono essere migliorate fino al livello 13.\",\"Je kunt gewone kaarten upgraden tot level 13.\",\"Vanlige kort kan oppgraderes til nivå 13.\",\"Sıradan Kartlar 13. seviyeye kadar yükseltilebilir.\",\"ノーマルカードはレベル13まで\\nアップグレード可能です。\",\"일반 카드는 13레벨까지 업그레이드 가능합니다.\",\"Обычные карты можно улучшить до 13 уровня.\",\"يمكن ترقية البطاقات العادية إلى المستوى 13.\",\"Cartas comuns podem ser melhoradas até o nível 13.\",\"普通卡可以升级到13级。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"普通卡可升級至13級。\",\"کارت‌های عادی رو میشه تا سطح 13 ارتقا داد.\",\"Kartu Umum dapat ditingkatkan ke level 13.\",\"Kad Biasa boleh dinaik taraf ke tahap 13.\"\n\"TID_HINT_RARE_MAX_LEVEL\",\"Rare Cards can be upgraded to level 11.\",\"Les cartes rares peuvent être améliorées jusqu'au niveau 11.\",\"Seltene Karten können bis Level 11 verbessert werden.\",\"Las cartas especiales se pueden mejorar hasta el nivel 11.\",\"Le carte rare possono essere migliorate fino al livello 11.\",\"Je kunt zeldzame kaarten upgraden tot level 11.\",\"Sjeldne kort kan oppgraderes til nivå 11.\",\"Ender Kartlar 11. seviyeye kadar yükseltilebilir.\",\"レアカードはレベル11まで\\nアップグレード可能です。\",\"희귀 카드는 11레벨까지 업그레이드 가능합니다.\",\"Редкие карты можно улучшить до 11 уровня.\",\"يمكن ترقية البطاقات النادرة إلى المستوى 11.\",\"Cartas raras podem ser melhoradas até o nível 11.\",\"稀有卡可以升级到11级。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"稀有卡可升至11級。\",\"کارت‌های کمیاب رو میشه تا سطح 11 ارتقا داد.\",\"Kartu Langka dapat ditingkatkan ke level 11.\",\"Kad Jarang boleh dinaik taraf ke tahap 11.\"\n\"TID_HINT_EPIC_MAX_LEVEL\",\"Epic Cards can be upgraded to level 8.\",\"Les cartes épiques peuvent être améliorées jusqu'au niveau 8.\",\"Epische Karten können bis Level 8 verbessert werden.\",\"Las cartas épicas se pueden mejorar hasta el nivel 8.\",\"Le carte epiche possono essere migliorate fino al livello 8.\",\"Je kunt epische kaarten upgraden tot level 8.\",\"Episke kort kan oppgraderes til nivå 8.\",\"Destansı Kartlar 8. seviyeye kadar yükseltilebilir.\",\"スーパーレアカードはレベル8まで\\nアップグレード可能です。\",\"영웅 카드는 8레벨까지 업그레이드 가능합니다.\",\"Эпические карты можно улучшить до 8 уровня.\",\"يمكن ترقية البطاقات الممتازة إلى المستوى 8.\",\"Cartas épicas podem ser melhoradas até o nível 8.\",\"史诗卡可以升级到8级。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"史詩卡可升級至8級。\",\"کارت‌های حماسی رو میشه تا سطح 8 ارتقا داد.\",\"Kartu Epik dapat ditingkatkan ke level 8.\",\"Kad Epik boleh dinaik taraf ke tahap 8.\"\n\"TID_HINT_CARD_UPGRADES\",\"Upgrading cards makes them more powerful, but their Elixir cost remains the same.\",\"L'amélioration des cartes les rend plus puissantes, mais leur coût en élixir reste le même.\",\"Verbesserte Karten sind mächtiger, ihre Elixierkosten bleiben aber gleich.\",\"Las cartas se fortalecen al mejorarlas, pero su coste de elixir seguirá siendo el mismo.\",\"Il miglioramento delle carte le rende più potenti, ma il loro costo di elisir resta lo stesso.\",\"Door kaarten te upgraden, worden ze krachtiger. Hun elixirkosten blijven hetzelfde.\",\"Kortene blir kraftigere når de oppgraderes, men eliksirkostnaden forblir den samme.\",\"Kartları yükselterek daha güçlü hale getirebilirsin ancak İksir maliyeti aynı kalır.\",\"カードをアップグレードすると以前より\\n強力になりますが、エリクサーコストは\\n変わりません。\",\"카드를 업그레이드하면 더 강력해지지만 엘릭서 비용은 그대로 유지됩니다.\",\"Улучшение карт делает их сильнее, но стоимость в эликсире остается такой же.\",\"ترقية البطاقات يجعلها أكثر قوة، ولكن تكلفة الإكسير تظل كما هي.\",\"Melhorar as cartas as torna mais potentes, mas o custo em elixir permanece o mesmo.\",\"卡牌升级后会变得更强大，但其圣水消耗保持不变。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"卡牌升級後會變得更強大，但其聖水消耗保持不變。\",\"ارتقا کارت باعث میشه قدرتشون بیشتر بشه، اما هزینه اکسیر تغییر نمیکنه.\",\"Meningkatkan kartu membuatnya lebih kuat, tetapi biaya Eliksirnya tetap sama.\",\"Menaik taraf kad membuatkan mereka lebih berkuasa, tetapi kos Eliksir mereka kekal sama.\"\n\"TID_HINT_CARD_UNLOCKS\",\"Gain Trophies to access new Arenas, which unlock more cards.\",\"Remportez des trophées pour accéder à de nouvelles arènes, qui débloquent d'autres cartes.\",\"Gewinne Trophäen, um Zugang zu neuen Arenen zu erhalten (die mehr Karten freischalten).\",\"Consigue trofeos para acceder a otras arenas y desbloquear más cartas.\",\"Guadagna trofei per accedere a nuove arene, che permettono di sbloccare nuove carte.\",\"Verdien trofeeën om toegang te krijgen tot nieuwe arena's waardoor je meer kaarten ontgrendelt.\",\"Vinn trofeer for å få tilgang til nye arenaer, hvor det låses opp flere kort.\",\"Yeni Alanlara erişmek için Kupa kazanarak daha fazla kartın kilidini aç.\",\"トロフィーを集めると新アリーナが開放され\\n新しいカードがアンロックされるようになります。\",\"트로피를 획득해 새 아레나로 진입하면 더 많은 카드가 잠금 해제됩니다.\",\"Зарабатывай трофеи, чтобы получить доступ к новым аренам, и тебе откроется больше карт.\",\"اكتسب الكؤوس لتتمكن من الوصول إلى الساحات الجديدة، وهذا يفتح المزيد من البطاقات.\",\"Ganhe troféus para acessar novas arenas, que desbloqueiam mais cartas.\",\"赢取奖杯，进入新的竞技场，可解锁更多卡牌。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"贏取獎盃，進入新的競技場，可解鎖更多卡牌。\",\"جام ببر تا به میدان‌های نبرد جدید دسترسی پیدا کنی، که کارت‌های بیشتری رو باز می‌کنن.\",\"Dapatkan Trofi untuk mengakses Arena baru, yang membuka lebih banyak kartu.\",\"Dapatkan Trofi untuk mengakses Arena baharu, yang membuka kunci lebih banyak kad.\"\n\"TID_HINT_SHOP_CYCLE\",\"The selection of cards available in the Shop refreshes every 24 hours.\",\"La sélection de cartes disponibles au magasin est renouvelée toutes les 24 heures.\",\"Die Auswahl der im Shop verfügbaren Karten wird alle 24 Stunden aktualisiert.\",\"La selección de cartas disponibles en la tienda cambia cada 24 horas.\",\"La selezione di carte disponibili nel negozio si aggiorna ogni 24 ore.\",\"Er zijn om de 24 uur andere kaarten beschikbaar in de winkel.\",\"Utvalget av kort i butikken oppdateres hver 24. time.\",\"Dükkanda mevcut olan kartlar her 24 saatte bir yenilenir.\",\"ショップで販売されるカードの品ぞろえは\\n24時間ごとに変わります。\",\"상점에서 구매 가능한 카드는 24시간마다 바뀝니다.\",\"Подборка карт, доступных в магазине, обновляется каждые 24 часа.\",\"اختيار البطاقات المتاحة في المتجر يتم تحديثه كل 24 ساعة.\",\"A seleção de cartas disponível na loja é renovada a cada 24 horas.\",\"商店中的卡牌精选每24小时刷新一次。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"商店中的精選卡牌每24小時更新一次。\",\"کارت‌های انتخابی در دسترس داخل فروشگاه هر 24 ساعت جدید میشن.\",\"Pilihan kartu yang tersedia di Toko disegarkan setiap 24 jam.\",\"Pilihan kad yang disediakan dalam Kedai disegarkan semula setiap 24 jam.\"\n\"TID_HINT_CHEST_BASICS1\",\"Rarer chests contain more cards and gold.\",\"Plus un coffre est rare, plus il contient de cartes et d'or.\",\"Seltenere Truhen enthalten mehr Karten und Gold.\",\"Los cofres especiales contienen más cartas y oro.\",\"I bauli più rari contengono più carte e oro.\",\"Zeldzamere kisten bevatten meer kaarten en goud.\",\"Sjeldne kister inneholder flere kort og mer gull.\",\"Daha ender sandıklar daha fazla kart ve altın içerir.\",\"レア度の高いチェストほど、カードやゴールドが\\nたくさん入っています。\",\"상자가 희귀할수록 더 많은 카드와 골드가 들어있습니다.\",\"В редких сундуках больше карт и золота.\",\"تحتوي الصناديق النادرة على المزيد من البطاقات والذهب.\",\"Os baús mais raros contêm mais cartas e ouro.\",\"宝箱越稀有，其中包含的卡牌和金币就越多。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"寶箱越稀有，其中包含的卡牌和金幣就越多。\",\"صندوق‌های کمیاب‌تر، کارت و طلای بیشتری دارن.\",\"Peti lebih langka berisi lebih banyak kartu dan emas.\",\"Peti yang lebih jarang mengandungi lebih banyak kad dan emas.\"\n\"TID_HINT_CHEST_BASICS2\",\"Higher Arena chests contain more cards and gold.\",\"Plus l'arène dont provient un coffre est élevée, plus il contient de cartes et d'or.\",\"Truhen aus höheren Arenen enthalten mehr Karten und Gold.\",\"Los cofres de las arenas superiores contienen más cartas y oro.\",\"I bauli dell'arena di livello più alto contengono più carte e oro.\",\"Kisten van hogere arena's bevatten meer kaarten en goud.\",\"Kister i høyere arenaer inneholder flere kort og mer gull.\",\"Daha yüksek Arenalarda kazanılan sandıklar daha fazla kart ve altın içerir.\",\"アリーナレベルの高いチェストほど\\nカードやゴールドがたくさん入っています。\",\"상위 아레나 상자에는 더 많은 카드와 골드가 들어있습니다.\",\"В сундуках более сложных арен больше карт и золота.\",\"تحتوي صناديق الساحة الأعلى على المزيد من البطاقات والذهب.\",\"Baús de arenas avançadas contêm mais cartas e ouro.\",\"竞技场等级越高，宝箱中包含的卡牌和金币就越多。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"競技場等級越高，寶箱中包含的卡牌和金幣就越多。\",\"صندوق‌های میدان‌های نبرد بالاتر، کارت و طلای بیشتری دارن.\",\"Peti Arena yang lebih tinggi berisi lebih banyak kartu dan emas.\",\"Peti dari arena lebih tinggi mengandungi lebih banyak kad dan emas.\"\n\"TID_HINT_CHEST_BASICS3\",\"Gold Chests always contain at least one Rare Card.\",\"Les coffres en or contiennent au moins une carte rare.\",\"Goldtruhen enthalten immer mindestens eine seltene Karte.\",\"Los cofres de oro siempre contienen una carta especial como mínimo.\",\"I bauli d'oro contengono sempre almeno una carta rara.\",\"Gouden kisten bevatten altijd op zijn minst één zeldzame kaart.\",\"Gullkister inneholder alltid minst ett sjeldent kort.\",\"Altın Sandıklar her zaman en az bir Ender Kart içerir.\",\"金の宝箱には、レアカードが\\n必ず1枚入っています。\",\"골드 상자에는 항상 희귀 카드가 최소 1장이 들어있습니다.\",\"В золотых сундуках есть минимум одна редкая карта.\",\"تحتوي الصناديق الذهبية على بطاقة نادرة واحدة على الأقل.\",\"Baús de ouro sempre contêm pelo menos uma carta rara.\",\"在黄金宝箱中至少可以找到一张稀有卡。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在黃金寶箱中至少可以找到一張稀有卡。\",\"صندوق‌های طلا همیشه حداقل یک کارت کمیاب دارن.\",\"Peti Emas selalu berisi setidaknya satu Kartu Langka.\",\"Peti Emas sentiasa mengandungi sekurang-kurangnya satu Kad Jarang.\"\n\"TID_HINT_CHEST_BASICS4\",\"Magical Chests always contain at least one Epic Card.\",\"Les coffres magiques contiennent au moins une carte épique.\",\"Magietruhen enthalten immer mindestens eine epische Karte.\",\"Los cofres mágicos siempre contienen una carta épica como mínimo.\",\"I bauli magici contengono sempre almeno una carta epica.\",\"Magische kisten bevatten altijd op zijn minst één epische kaart.\",\"Magiske kister inneholder alltid minst ett episk kort.\",\"Büyülü Sandıklar her zaman en az bir Destansı Kart içerir.\",\"魔法の宝箱にはスーパーレアカードが\\n最低1枚は入っています。\",\"마법 상자에는 항상 영웅 카드가 최소 1장이 들어있습니다.\",\"В магических сундуках есть минимум одна эпическая карта.\",\"تحتوي الصناديق السحرية دائمًا على بطاقة ممتازة واحدة على الأقل.\",\"Baús mágicos sempre contêm pelo menos uma carta épica.\",\"在神奇宝箱中至少可以找到一张史诗卡。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在神奇寶箱中至少可以找到一張史詩卡。\",\"صندوق‌های جادویی همیشه حداقل یک کارت حماسی دارن/\",\"Peti Magis selalu berisi setidaknya satu Kartu Epik.\",\"Peti Ajaib sentiasa mengandungi sekurang-kurangnya satu Kad Epik.\"\n\"TID_HINT_MATCHMAKING\",\"Your opponents are selected based on your Trophy count.\",\"Vos adversaires sont choisis en fonction de votre nombre de trophées.\",\"Deine Gegner werden auf Grundlage deiner Trophäenzahl ausgesucht.\",\"Se te asignarán rivales en función de tu número de trofeos.\",\"I tuoi avversari vengono selezionati in base al conteggio dei tuoi trofei.\",\"Je tegenstanders worden gekozen op basis van je aantal trofeeën.\",\"Motstanderne dine velges basert på antallet trofeer du har.\",\"Rakiplerin Kupa sayına göre seçilir.\",\"対戦相手は、あなたのトロフィー数に\\n応じて選ばれます。\",\"매치 상대방은 트로피 수에 따라 결정됩니다.\",\"Противники подбираются в зависимости от количества трофеев.\",\"يتم اختيار خصومك بناءً على عدد كؤوسك.\",\"Seus adversários são selecionados de acordo com a sua contagem de troféus.\",\"系统会根据您的奖杯数量为您挑选对手。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"系統會根據您的獎盃數量來配對對手。\",\"حریف‌های شما با توجه به تعداد جام‌ها انتخاب میشن.\",\"Lawanmu dipilih berdasarkan jumlah Trofimu.\",\"Pihak lawan anda dipilih berdasarkan kiraan Trofi anda.\"\n\"TID_HINT_BOMB_TOWER\",\"Bomb Towers are good against groups of small troops.\",\"Les tours à bombes sont efficaces contre les groupes de petits combattants.\",\"Bombentürme sind effektiv gegen Gruppen kleiner Einheiten.\",\"Las torres bombarderas son efectivas contra los grupos de unidades pequeñas.\",\"Le torri bombardiere sono ottime contro gruppi di truppe più piccole.\",\"Bomtorens zijn effectief tegen groepen kleinere eenheden.\",\"Bombetårn er effektive mot grupper med små tropper.\",\"Bomba Kulesileri küçük birlik gruplarına karşı etkilidir.\",\"ボムタワーは、小型ユニットの集団に有効です。\",\"폭탄 타워는 작은 유닛 무리를 상대로 효과적입니다.\",\"Башни-бомбешки отлично справляются с группами небольших солдат.\",\"أبراج القنبلة مفيدة ضد مجموعات القوات الصغيرة.\",\"A Torre de Bombas é boa contra grupos de pequenas tropas.\",\"炸弹塔可以有效抵御成群小型军队的进攻。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"炸彈塔可以有效抵禦成群小型軍隊的進攻。\",\"برج‌های بمب در مقابل گروه‌هایی از نیروهای کوچک خوب هستن.\",\"Benteng Bom bagus untuk melawan kelompok peleton kecil.\",\"Menara Bom bagus terhadap sekumpulan askar kecil.\"\n\"TID_HINT_TANK1\",\"Support durable troops by deploying ranged troops behind them.\",\"Pour protéger vos combattants résistants, déployez des attaquants à distance derrière eux.\",\"Unterstütze robuste Einheiten, indem du Fernkampfeinheiten hinter ihnen einsetzt.\",\"Proporciona apoyo a las unidades resistentes desplegando tropas de alcance detrás de ellas.\",\"Sostieni le truppe resistenti schierando dietro di loro delle truppe da combattimento a distanza.\",\"Ondersteun duurzame eenheden door erachter afstandseenheden op te stellen.\",\"Gi robuste tropper støtte ved å utplassere avstandstropper bak dem.\",\"Dayanıklı birlikleri desteklemek için arkalarına menzilli birlik mevzilendir.\",\"頑丈なユニットの後ろには、遠隔攻撃\\nユニットをつけて支援しましょう。\",\"튼튼한 유닛 뒤에 원거리 유닛을 배치해 지원하세요.\",\"Прикрывай стойких солдат, развернув за ними отряды дальнего боя.\",\"ادعم قوات التحمل وذلك بنشر قوات المدى البعيد خلفهم.\",\"Ajude as tropas resistentes colocando tropas que atacam à distância atrás delas.\",\"派出肉盾后别忘了跟上远程攻击部队提供支援。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"派出肉盾後別忘了跟上遠程攻擊部隊提供支援。\",\"با استقرار نیروهای دامنه‌دار در پشت سر نیروهای مقاوم ازشون پشتیبانی کن.\",\"Dukung peleton kokoh dengan mengerahkan peleton jarak jauh di belakang mereka.\",\"Sokong askar tahan lasak dengan mengerahkan askar pemanah di belakangnya.\"\n\"TID_HINT_TANK2\",\"Protect squishy troops by deploying durable troops in front of them.\",\"Protégez les combattants les plus fragiles en déployant des unités résistantes devant eux.\",\"Beschütze empfindliche Einheiten, indem du robuste Einheiten vor ihnen einsetzt.\",\"Protege a las unidades más débiles desplegando tropas resistentes delante de ellas.\",\"Proteggi le truppe vulnerabili schierando truppe resistenti davanti a loro.\",\"Bescherm zwakke eenheden door ervoor duurzame eenheden op te stellen.\",\"Beskytt svakere tropper ved å utplassere robuste tropper foran dem.\",\"Önlerine dayanıklı birlikler mevzilendirerek hassas birliklerini koru.\",\"打たれ弱いユニットの前には\\n頑丈なユニットを置いて盾にしましょう。\",\"약한 유닛 앞에는 튼튼한 유닛을 배치해 보호하세요.\",\"Защищай более слабых воинов, выпустив перед ними сильных.\",\"احمِ القوات الساحقة وذلك بنشر قوات التحمل أمامهم.\",\"Proteja as tropas fracas colocando tropas resistentes na frente delas.\",\"在较脆弱的兵种前先派出肉盾，可以形成很好的保护。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在較脆弱的兵種前先派出肉盾，可以形成很好的保護。\",\"با استقرار نیروهای مقاوم در جلوی نیروهای کم جون ازشون محافظت کن.\",\"Lindungi peleton lemah dengan mengerahkan peleton kokoh di depan mereka.\",\"Lindungi askar yang lembik dengan mengerahkan askar tahan lasak di hadapannya.\"\n\"TID_HINT_PRINCE\",\"Prince deals double damage to the first target he strikes while charging.\",\"Les dégâts infligés par le prince doublent pour la première cible qu'il charge.\",\"Der Prinz fügt dem ersten Ziel, das er beim Ansturm trifft, doppelten Schaden zu.\",\"El príncipe inflige el doble de daño al primer objetivo contra el que carga.\",\"Il principe infligge danno doppio al primo bersaglio che colpisce durante la sua carica.\",\"De prins deelt dubbele schade uit aan het eerste doel dat hij raakt als hij aanvalt.\",\"Prinsen påfører det første målet han angriper, dobbel skade.\",\"Prens şarj olurken saldırdığı ilk hedefe iki kat hasar verir.\",\"プリンスは、突撃中に接触した\\n最初のユニットに2倍のダメージを与えます。\",\"프린스는 돌진 시 첫 공격 상대에게 두 배의 피해를 줍니다.\",\"Принц наносит двойной урон первой цели, которую поражает.\",\"يسبب الأمير ضررًا مضاعفًا لأول هدف يهاجمه أثناء الشحن.\",\"O Príncipe causa o dobro de dano ao primeiro alvo enquanto ataca correndo.\",\"王子在冲锋时会对第一个接触到的目标造成双倍伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"王子在衝鋒時可對第一個接觸到的目標造成雙倍傷害。\",\"شاهزاده در زمان شارژ شدن به اولین هدیفی که ضربه بزنه دو برابر آسیب می‌رسونه.\",\"Pangeran menimbulkan kerusakan ganda pada target pertama yang dihantamnya saat berlari menyerbu.\",\"Putera menyebabkan kerosakan berganda kepada sasaran pertama apabila dia menyerang semasa mengecas.\"\n\"TID_HINT_BATTLE_TESLA\",\"Tesla cannot be damaged while underground, and only pops up when enemy troops are in range.\",\"Sous terre, les tours Tesla ne subissent aucun dégât. Elles jaillissent uniquement quand les combattants ennemis sont à leur portée.\",\"Der Tesla kann unter der Erde nicht beschädigt werden und taucht nur auf, wenn feindliche Einheiten in der Nähe sind.\",\"La torre Tesla no sufre ningún daño cuando está bajo tierra y solo emerge cuando las tropas enemigas entran en su radio de alcance.\",\"La Tesla non può essere danneggiata mentre è sottoterra ed emerge solo quando le truppe nemiche sono a portata.\",\"Tesla's kunnen geen schade oplopen terwijl ze ondergronds zijn. Ze verschijnen alleen als de vijandelijke eenheden binnen bereik zijn.\",\"Tesla kan ikke bli skadet under bakken, og viser seg bare når fiendtlige tropper er innenfor rekkevidde.\",\"Tesla yer altındayken hasar görmez ve yalnızca düşman birlikler menzile girince ortaya çıkar.\",\"テスラは地面にもぐっている間はダメージを\\n受けず、敵ユニットが射程内に入った時だけ\\n飛び出します。\",\"뇌전탑은 땅속에 있을 때는 공격을 받지 않으며, 사정거리 내에 적이 들어왔을 때만 튀어나옵니다.\",\"Теслу нельзя повредить, пока она скрыта под землей. Она появится, когда враги подойдут близко.\",\"لا يمكن تعرض تيسلا للضرر تحت الأرض، وينبثق فقط عندما تكون قوات العدو خلفه مباشرةً.\",\"A Tesla não pode ser danificada enquanto estiver no subsolo e só se revela quando as tropas inimigas estão ao seu alcance.\",\"特斯拉电磁塔在未升起时不会受到伤害，它仅会在敌军进入攻击范围后升起。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"特斯拉電磁塔在未升起時不會受到傷害，它僅會在敵軍進入攻擊範圍後升起。\",\"وقتی تسلا زیر زمین باشه هیچ آسیبی بهش نمی‌رسه و فقط وقتی از زمین بیرون میاد که نیروهای دشمن در محدودش قرار بگیرن.\",\"Tesla tidak dapat dirusak saat berada di bawah tanah, dan hanya muncul saat peleton musuh ada dalam jangkauan.\",\"Tesla tidak boleh dirosakkan semasa di bawah tanah, dan hanya timbul apabila askar musuh berada jauh.\"\n\"TID_HINT_DEPLOY_AREA\",\"You can deploy on your opponent's side of the Arena after destroying one of their Crown Towers.\",\"Vous pouvez déployer des troupes du côté de l'arène attribué à votre adversaire après avoir détruit l'une de ses tours couronnées.\",\"Du kannst Einheiten auf der gegnerischen Arenaseite entsenden, nachdem du einen der Kronentürme zerstört hast.\",\"Podrás desplegar unidades en el lado del rival después de destruir una de sus torres de coronas.\",\"Nell'arena puoi schierare sul lato del tuo avversario dopo aver distrutto una delle sue torri della corona.\",\"Je kunt eenheden inzetten aan de arenakant van de tegenstander nadat je een van de kroontorens hebt vernietigd.\",\"Du kan utplassere på den andre siden av arenaen når du har ødelagt en av motstanderens kronetårn.\",\"Rakibin Taç Kulelerinden birini yok ettikten sonra Arenasına mevzilendirme yapabilirsin.\",\"クラウンタワーを1つでも壊すと、ユニットを\\n敵陣側に直接投入できるようになります。\",\"상대의 크라운 타워 중 하나를 파괴하면 상대방 쪽 아레나에도 유닛을 배치할 수 있습니다.\",\"После уничтожения одной из королевских башен ты сможешь вводить войска на вражеской части арены.\",\"يمكنك النشر على جانب خصومك في الساحة بعد تدمير أحد أبراج التاج الخاصة بهم.\",\"Você pode mobilizar recursos no lado da arena do seu adversário depois de destruir uma das torres da coroa dele.\",\"摧毁对方一个皇家塔后，您就可以在对方的区域部署军队或建筑。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"摧毀對方的一個皇家塔後，您就可以在對方的區域部署軍隊與建築。\",\"بعد از نابود کردن یکی از برج‌های تاج می‌تونی از سمت حریفت در میدان نبرد برای استقرار نیرو استفاده کنی.\",\"Kamu dapat mengerahkan peleton di paruh Arena milik lawan setelah menghancurkan satu Benteng Mahkota mereka.\",\"Anda boleh mengerah pihak lawan anda bagi Arena selepas menghapuskan salah satu Menara Mahkota mereka.\"\n\"TID_HINT_TAUNTS\",\"Use taunts to show your opponent you're a good sport. Or not.\",\"Utilisez des railleries pour montrer à votre adversaire que vous êtes beau joueur. Ou pas.\",\"Verspotte deinen Gegner, um zu zeigen, wie nett du bist ... oder auch nicht.\",\"Envíales reacciones a tus rivales para demostrarles que tienes buen perder, o no.\",\"Usa le provocazioni per mostrare all'avversario quanto sei simpatico. O no.\",\"Daag je tegenstander uit om te laten zien dat je een sportieve tegenstander bent. Of niet.\",\"Hån motstanderen for å vise at du har god sportsånd. Eller mangler det.\",\"Rakibine iyi bir oyuncu olduğunu göstermek için onunla alay et. Ya da etme.\",\"スタンプを使えば、対戦相手に\\n自分の潔さをアピールできます。\\nしなくても問題はありませんが...\",\"도발 이모티콘을 사용해서 상대에게 당신이 누군지 보여주세요.\",\"Возбуди в противнике спортивный дух, используй насмешки! Или нет.\",\"استخدم التهكمات لإظهار ما إذا كنت تتمتع بروح رياضية أمام خصمك أم لا.\",\"Use emotes para mostrar ao adversário que você tem espírito esportivo. Ou não.\",\"善用表情功能展示您的竞技风度。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"善用表情功能來展現您的比賽風度。\",\"از متلک‌ها استفاده کن تا به حریفت نشون بدی چقدر آدم باحالی هستی. یا نیستی.\",\"Gunakan ejekan untuk menunjukkan kamu asyik. Atau tidak asyik.\",\"Gunakan cemuhan untuk menunjukkan kepada pihak lawan bahawa anda bermain dengan baik. Atau tidak.\"\n\"TID_HINT_THREE_CROWNS\",\"Sometimes it's worth pushing for a three-Crown victory. Sometimes securing two Crowns is the smarter play.\",\"Ce n'est pas toujours la peine de viser une victoire à trois couronnes. Parfois, la meilleure stratégie est de se contenter de deux couronnes.\",\"Manchmal lohnt es sich, nach drei Kronen zu drängen. Manchmal ist es klüger, sich zwei Kronen zu sichern.\",\"A veces merece la pena intentar conseguir una victoria de tres coronas; otras, es mejor conformarse con solo dos.\",\"A volte vale la pena di spingere per una vittoria a tre corone. In altri casi è più intelligente accontentarsi di due.\",\"Soms loont het de moeite om voor een overwinning met drie kronen te gaan. Soms is het ook slimmer om twee kronen in de wacht te slepen.\",\"Noen ganger lønner det seg å gå for en seier med tre kroner. Noen ganger er det smartere å sikre seg to kroner.\",\"Bazen üç Taçlık zafer için uğraşmaya değer. Bazen ise iki Tacı garantilemek akıllıca bir seçimdir.\",\"全面攻勢をかけて3クラウン勝利をねらうべき時もあれば、2クラウンを確実に手に入れるほうが賢明な場合もあります。\",\"강하게 밀어붙여 크라운 세 개를 얻는 것이 좋을 때도 있고, 두 개 정도로 만족하는 것이 현명할 때도 있습니다.\",\"Иногда стоит поднажать и добиться победы с тремя коронами. А иногда получение двух корон наверняка — самая разумная стратегия.\",\"أحيانًا يستحق الأمر محاولة الوصول لانتصار ثلاثي التيجان. أحيانًا ضمان تاجين يكون الاختيار الذكي.\",\"Às vezes, vale a pena buscar uma vitória de três coroas. Outras vezes, garantir duas é a melhor estratégia.\",\"全取三皇冠固然好，但是有时候拿到两个皇冠也足以确保胜利。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"全取三皇冠固然最好，但是有時候拿到兩個皇冠也足以確保勝利。\",\"بعضی اوقات ارزش داره که برای یک پیروزی با سه تاج سعی کنی. بعضی وقت‌ها هم بهترین بازی اینه که با دو تاج از پیروزیت مطمئن بشی.\",\"Ada kalanya mengejar kemenangan tiga Mahkota itu bagus. Ada kalanya mengamankan dua Mahkota adalah permainan yang lebih cerdas.\",\"Kadangkala, berbaloi berusaha untuk kemenangan tiga-Mahkota. Kadangkala, mendapatkan dua Mahkota adalah lebih bijak.\"\n\"TID_HINT_BALLOON\",\"The Balloon drops a bomb when destroyed. Don't stand still.\",\"Le ballon lance une bombe quand il est détruit. Tous aux abris !\",\"Der Ballon wirft eine Bombe ab, wenn er zerstört wird. Nicht stehen bleiben!\",\"El globo bombástico deja caer una bomba al ser destruido, así que procura no andar cerca cuando ocurra.\",\"Le mongolfiere sganciano una bomba quando vengono distrutte. Non restare lì impalato.\",\"De ballon laat een bom vallen als deze wordt vernietigd. Blijf niet op één plek staan.\",\"Ballongen slipper en bombe når den ødelegges. Ikke stå i ro.\",\"Balon yok edildiğinde bir bomba atar. Olduğun yerde bekleme.\",\"エアバルーンは撃墜されると爆弾を落とします。\\n近くにいると危険ですよ！\",\"해골 비행선은 파괴되면 폭탄을 떨어뜨리니, 밑에 멍하니 있지 마세요.\",\"Шар взрывается при уничтожении. Не стой рядом.\",\"تسقط البالونات قنبلة عند تدميرها. لا تقف ثابتًا.\",\"O Balão solta uma bomba quando é destruído. Não fique parado.\",\"气球兵在被击落时会释放一个炸弹，小心，可别傻站在那！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"氣球兵在被擊落時會釋放一個炸彈，小心，可別傻站在那！\",\"وقتی بالن نابود بشه یک بمب زمین میندازه. بی‌حرکت نایست.\",\"Balon menjatuhkan bom saat hancur. Jangan diam saja.\",\"Belon menjatuhkan bom apabila dihapuskan. Jangan berdiri sahaja di situ.\"\n\"TID_HINT_DOUBLE_ELIXIR\",\"Elixir production is doubled during the final 60 seconds.\",\"La production d'élixir double durant les dernières 60 secondes.\",\"Die Elixierproduktion wird in den letzten 60 Sekunden verdoppelt.\",\"La producción de elixir se duplica durante los últimos 60 segundos.\",\"La produzione di elisir è raddoppiata negli ultimi 60 secondi.\",\"De laatste 60 seconden verdubbelt de elixirproductie.\",\"Produksjonen av eliksir fordobles de siste 60 sekundene.\",\"Son 60 saniye içinde İksir üretimi ikiye katlanır.\",\"残り60秒を切ると、エリクサーの\\n供給量が2倍になります。\",\"엘릭서 생산량은 마지막 60초 동안 두 배가 됩니다.\",\"В последние 60 секунд производство эликсира удваивается.\",\"إنتاج الإكسير يكون مضاعفًا أثناء آخر 60 ثانية.\",\"A produção de elixir é dobrada nos últimos 60 segundos.\",\"在对战最后的60秒内，圣水产量将翻倍。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在對戰最後的60秒內，聖水產量將加倍。\",\"توی 60 ثانیه آخر تولید اکسیر دو برابر میشه.\",\"Produksi eliksir berlipat dua selama 60 detik terakhir.\",\"Pengeluaran Eliksir berganda sewaktu 60 saat akhir.\"\n\"TID_HINT_HUTS\",\"The Goblin Hut and Barbarian Hut spawn troops periodically.\",\"Les cabanes de gobelins et de barbares génèrent des combattants à intervalles réguliers.\",\"Die Koboldhütte und die Barbarenhütte stoßen regelmäßig Einheiten aus.\",\"La choza de duendes y la de bárbaros generan tropas cada cierto tiempo.\",\"Le capanne dei goblin e dei barbari generano truppe periodicamente.\",\"De koboldenhut en barbarenhut brengen periodiek troepen voort.\",\"Nissehytter og barbarhytter spawner tropper jevnlig.\",\"Goblin Kulübesi ve Barbar Kulübesi aralıklarla birlikler gönderir.\",\"ゴブリンの小屋やバーバリアンの小屋は\\n一定間隔でユニットを出撃させます。\",\"고블린 오두막과 바바리안 오두막은 주기적으로 유닛을 생성합니다.\",\"Хижины варваров и гоблинов периодически выпускают войска.\",\"كوخ الغول وكوخ البربري يفرّخ القوات بشكل دوري.\",\"A Cabana de Goblins e a de Bárbaros geram tropas de tempos em tempos.\",\"哥布林小屋和野蛮人小屋每隔一会儿就会派出军队。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"哥布林小屋和野蠻人小屋每隔一定時間就會派出軍隊。\",\"کلبه گابلین و کلبه بربرها به شکل مرتب نیرو تکثیر می‌کنه.\",\"Pondok Goblin dan Pondok Barbar menghasilkan peleton secara periodik.\",\"Pondok Goblin dan Pondok Orang Gasar mewujudkan askar secara berkala.\"\n\"TID_HINT_TOMBSTONE\",\"The Tombstone releases a group of Skeletons when destroyed.\",\"La pierre tombale libère un groupe de squelettes quand elle est détruite.\",\"Der Grabstein setzt eine Gruppe Skelette frei, wenn er zerstört wird.\",\"La lápida libera un grupo de esqueletos al ser destruida.\",\"La lapide genera un gruppo di scheletri quando viene distrutta.\",\"De grafsteen spuugt een groep skeletten uit als deze wordt vernietigd.\",\"Gravsteinen slipper ut en gruppe skjeletter når den ødelegges.\",\"Mezar Taşı yok edildiğinde bir grup İskelet çıkarır.\",\"墓石が破壊されると、\\nスケルトンの群れが発生します。\",\"해골 무덤은 파괴되면 해골 병사를 풀어놓습니다.\",\"Надгробие выпускает группу скелетов, если его уничтожить.\",\"شواهد القبور تطلق مجموعة من الهياكل العظمية عند تدميرها.\",\"A Lápide libera um grupo de Esqueletos quando é destruída.\",\"骷髅墓碑被摧毁后将释放出一群骷髅兵。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"骷髏墓碑被摧毀後將釋放出一群骷髏兵。\",\"وقتی سنگ‌قبر نابود بشه یک گروه اسکلت آزاد میشن.\",\"Batu Nisan mengeluarkan sekelompok Jerangkong saat hancur.\",\"Batu Nisan mengeluarkan sekumpulan Rangka apabila dihapuskan.\"\n\"TID_HINT_RAGE\",\"The Rage Spell increases movement and attack speed.\",\"Le sort de rage accélère la vitesse d'attaque et de déplacement.\",\"Der Wutzauber steigert die Bewegungs- und Angriffsgeschwindigkeit.\",\"El hechizo de furia hace que aumente la velocidad de movimiento y de ataque.\",\"L'incantesimo Furia aumenta movimento e velocità di attacco.\",\"De woedespreuk verhoogt de verplaatsings- en aanvalssnelheid.\",\"Raseriformelen øker hastigheten på bevegelse og angrep.\",\"Öfke Büyüsü, hareket ve saldırı hızını artırır.\",\"レイジの呪文は移動速度と\\n攻撃速度をアップさせます。\",\"분노 마법은 이동 및 공격 속도를 높여줍니다.\",\"Яростное заклинание увеличивает скорость движения и атаки.\",\"تعويذة الغضب تزيد سرعة الحركة والهجوم.\",\"O Feitiço de Fúria aumenta a velocidade de movimento e de ataque.\",\"狂暴法术可以提高移动和攻击速度。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"狂暴法術可以提高移動和攻擊速度。\",\"طلسم خشم حرکت و سرعت حمله رو افزایش میده.\",\"Mantra Amarah menambah kecepatan gerakan dan serangan.\",\"Sihir Kemarahan menambah pergerakan dan kelajuan serangan.\"\n\"TID_HINT_DIRECT_DAMAGE\",\"Damage spells like the Fireball deal half damage to Crown Towers.\",\"Les sorts d'attaque comme la boule de feu infligent deux fois moins de dégâts aux tours couronnées.\",\"Schadenzauber (wie der Feuerball) fügen Kronentürmen halben Schaden zu.\",\"Los hechizos que infligen daño, como la bola de fuego, causan la mitad de estragos en las torres de coronas.\",\"Gli incantesimi di danno come la Sfera infuocata infliggono la metà del danno alle torri della corona.\",\"Schadespreuken zoals de vuurbalspreuk veroorzaken half zo veel schade aan kroontorens.\",\"Skadeformler, slik som ildkulen, påfører kronetårnene halv skade.\",\"Alev Topu gibi hasar büyüleri Taç Kulelerine yarı oranda hasar verir.\",\"ファイアボールなどのダメージ呪文は\\nクラウンタワーには半分のダメージしか\\n与えられません。\",\"파이어 볼과 같은 공격 마법은 크라운 타워에 절반의 피해만 줍니다.\",\"Заклинания, вроде огненного шара, наносят только половину урона королевской башне.\",\"تعويذات الضرر مثل الكرات النارية تسبب نصف الضرر لأبراج التاج.\",\"Feitiços de dano, como a Bola de Fogo, causam a metade do dano às torres da coroa.\",\"火球等伤害法术对皇家塔造成的伤害会减半。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"火球等傷害法術對皇家塔造成的傷害會減半。\",\"آسیب طلسم‌های آسیب مثل توپ‌آتشین به برج‌های تاج نصفه هست.\",\"Mantra kerusakan seperti Bola Api menimbulkan separuh kerusakan pada Benteng Mahkota.\",\"Sihir kerosakan seperti Bebola Api yang menyebabkan kerosakan separuh kepada Menara Mahkota.\"\n\"TID_HINT_MAX_ELIXIR\",\"10 Elixir is the maximum you can hold.\",\"Vous pouvez posséder 10 élixirs au maximum.\",\"Du kannst maximal 10 Elixier besitzen.\",\"La cantidad máxima de elixir que puedes tener es de 10 unidades.\",\"10 elisir è il massimo che puoi raggiungere.\",\"Je kunt maximaal 10 elixir bewaren.\",\"Du kan ha maksimalt 10 eliksirer.\",\"Maksimum 10 İksir depolayabilirsin.\",\"エリクサーは10まで貯められます。\",\"엘릭서 최대 소지량은 10입니다.\",\"10 единиц эликсира — максимум, который можно иметь.\",\"الإكسير 10 هو أقصى ما يمكنك حمله.\",\"Você pode ter, no máximo, 10 unidades de elixir.\",\"您最多可积攒10滴圣水。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您最多可存儲10點聖水。\",\"10 اکسیر حداکثل تعدادی هست که می‌تونی نگه داری.\",\"Jumlah Eliksir maksimum yang bisa kamu tampung adalah 10.\",\"Anda boleh mempunyai maksimum 10 Eliksir.\"\n\"TID_HINT_STARTING_HAND\",\"During battle, your starting cards are randomly selected from your Battle Deck.\",\"Lors d'un combat, vos premières cartes sont choisies de façon aléatoire parmi vos cartes de combat.\",\"Im Kampf werden deine Startkarten zufällig aus deinem Kampfdeck ausgewählt.\",\"En las batallas, las cartas iniciales se seleccionan al azar de entre todas las de la baraja bélica.\",\"Durante la battaglia, le tue carte iniziali vengono selezionate casualmente dal tuo mazzo da battaglia.\",\"Tijdens een gevecht worden je beginkaarten willekeurig geselecteerd uit je set gevechtskaarten.\",\"I en kamp velges startkortene dine tilfeldig fra kampkortene.\",\"Savaş sırasında başlangıç kartların Savaş Destenden rastgele olarak seçilir.\",\"バトルでは、バトルデッキからランダムに\\n選ばれたカードが手札に補充されます。\",\"전투에 돌입하여 처음 받는 카드는 전투 덱에서 무작위로 선택됩니다.\",\"Во время боя первая карта случайно выбирается из колоды.\",\"أثناء المعركة، يتم اختيار بطاقات البدء الخاصة بك عشوائيًا من مجموعة المعركة.\",\"Durante a batalha, suas cartas iniciais são selecionadas aleatoriamente do seu deck de batalha.\",\"对战时，您的初始卡牌会从出战卡组中随机抽取。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"對戰中，您的初始卡牌會從出戰牌組中隨機抽取。\",\"در طول نبرد، کارت‌های شروع بازی به صورت تصادفی از بین دسته نبرد انتخاب میشن.\",\"Selama pertempuran, kartu awalmu dipilih secara acak dari Dek Tempur.\",\"Sewaktu pertempuran, kad permulaan anda dipilih secara rawak daripada Dek Pertempuran anda.\"\n\"TID_HINT_CROWN_CHEST\",\"Every 24 hours you can collect 10 Crowns to unlock the Crown Chest.\",\"Toutes les 24 heures, vous pouvez récupérer 10 couronnes pour débloquer le coffre à couronne.\",\"Alle 24 Stunden kannst du 10 Kronen sammeln, um die Kronentruhe freizuschalten.\",\"Cada 24 horas podrás recoger 10 coronas para desbloquear el cofre de coronas.\",\"Ogni 24 ore puoi raccogliere 10 corone per sbloccare il baule della corona.\",\"Om de 24 uur kun je 10 kronen ophalen om je kroonkist te ontgrendelen.\",\"Hver 24. time kan du samle 10 kroner for å låse opp kronekisten.\",\"Her 24 saatte bir Taç Sandığının kilidini açarak 10 Taç toplayabilirsin.\",\"クラウンを10個集めると、24時間に1つ\\nクラウン宝箱をアンロックできます。\",\"24시간마다 크라운을 10개 모아 크라운 상자를 열 수 있습니다.\",\"Каждые 24 часа можно собирать 10 корон, чтобы открыть королевский сундук.\",\"يمكنك جمع 10 تيجان في كل 24 ساعة لفتح صندوق تاج.\",\"A cada 24 horas, você pode coletar 10 coroas para desbloquear o baú da coroa.\",\"您每隔24小时可以收集10个皇冠来解锁皇冠宝箱。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您每隔24小時可以收集10個皇冠來解鎖皇冠寶箱。\",\"هر 24 ساعت می‌تونی برای باز کردن قفل صندوق تاج 10 تاج جمع کنی.\",\"Setiap 24 jam, kamu dapat mengumpulkan 10 Mahkota untuk membuka Peti Mahkota.\",\"Setiap 24 jam, anda boleh mengumpul 10 Mahkota untuk membuka kunci Peti Mahkota.\"\n\"TID_HINT_BATTLE_PRO1\",\"Lure troops to your side of the Arena to engage them with your Crown Towers.\",\"Attirez les combattants de votre côté de l'arène pour les attaquer avec vos tours couronnées.\",\"Locke Einheiten auf deine Seite der Arena, um sie mit deinen Kronentürmen zu bekämpfen.\",\"Atrae a las tropas enemigas hasta tu lado de la arena para atacarlas con las torres de coronas.\",\"Attira le truppe sul tuo lato dell'arena per attaccarle con le tue torri della corona.\",\"Lok eenheden naar jouw kant van de arena om ze met jouw kroontorens aan te vallen.\",\"Lokk tropper til din side av arenaen og angrip dem med kronetårnene dine.\",\"Taç Kulelerinle meşgul etmek için birlikleri Arenanın kendi tarafına çek.\",\"ユニットをアリーナの自陣側まで引きつけて\\nクラウンタワーで迎え撃ちましょう。\",\"적들을 자신의 아레나 쪽으로 유도해 크라운 타워로 공격하세요.\",\"Перемани войска на свою половину арены, чтобы за дело взялись королевские башни.\",\"أغوِ القوات للانضمام إلى جانبك في الساحة لإشراكهم في أبراج التاج الخاصة بك.\",\"Atraia as tropas para o seu lado da arena para atacá-las com as suas torres da coroa.\",\"引诱敌军深入我方半场，再配合皇家塔形成有力反击。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"誘敵深入，到我方陣地再配合皇家塔形成強力反擊。\",\"نیروهای دشمن رو به طرف میدان نبرد خودت جذب کن تا با برج‌های تاجت درگیر بشن.\",\"Pancing peleton ke paruh Arena milikmu agar bertarung dengan Benteng Mahkotamu.\",\"Pikat askar ke bahagian Arena anda untuk libatkan mereka dengan Menara Mahkota anda.\"\n\"TID_HINT_BATTLE_PRO2\",\"Using Elixir efficiently is the key to victory.\",\"L'utilisation réfléchie de l'élixir est la clé de la victoire.\",\"Die effiziente Verwendung von Elixier ist der Schlüssel zum Sieg.\",\"La clave de la victoria está en saber usar el elixir de forma inteligente.\",\"Usare elisir con efficienza è fondamentale per vincere.\",\"Een efficiënt gebruik van elixir is de sleutel tot succes.\",\"Nøkkelen til seier er effektiv bruk av eliksir.\",\"İksiri verimli bir şekilde kullanarak zafer kazanmayı garantileyebilirsin.\",\"エリクサーを効率的に使うことが\\n勝利へのカギです。\",\"엘릭서를 효율적으로 사용해야 승리할 수 있습니다.\",\"Правильное использование эликсира — ключ к победе.\",\"استخدام الإكسير بفعالية هو مفتاح الانتصار.\",\"Usar o elixir de forma eficiente é a chave para a vitória.\",\"有效利用圣水是制胜关键。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"有效利用聖水是制勝關鍵。\",\"استفاده بهینه از اکسیر کلید پیروزی هست.\",\"Menggunakan Eliksir secara efisien adalah kunci kemenangan.\",\"Kunci kemenangan ialah menggunakan Eliksir dengan berkesan.\"\n\"TID_HINT_BATTLE_PRO3\",\"X-Bows and Mortars can directly damage your opponent's Crown Towers if positioned near the middle.\",\"Les arcs-X et le mortier peuvent infliger des dégâts directs aux tours couronnées de votre adversaire s'ils sont positionnés près du centre de l'arène.\",\"X-Bogen und Minenwerfer können gegnerischen Kronentürmen direkt schaden, wenn sie nahe der Mitte positioniert werden.\",\"Las ballestas y los morteros pueden dañar directamente las torres de coronas enemigas si los colocas cerca del centro de la arena.\",\"Archi-X e mortai possono danneggiare direttamente le torri della corona del tuo avversario se posizionati vicino al centro.\",\"X-bogen en mortieren kunnen rechtstreeks schade toebrengen aan de kroontorens van je tegenstander als je ze in het midden plaatst.\",\"X-buer og mortere kan skade motstanderens kronetårn direkte hvis de plasseres nær midten.\",\"X-Yayı ve Havanlar ortaya yakınsa doğrudan rakibinin Taç Kulelerine hasar verir.\",\"巨大クロスボウや迫撃砲は、中央付近に\\n配置すると対戦相手のクラウンタワーを\\n直接攻撃できます。\",\"대형 석궁이나 박격포는 중간 지점에 배치하면 상대방의 크라운 타워를 직접 공격할 수 있습니다.\",\"Арбалеты и мортиры могут навредить королевским башням, если поставить их в середине.\",\"يمكن للأقواس ومدافع الهاون التسبب في ضرر مباشر على أبراج التاج الخاصة بخصمك إن تم وضعها قرب الوسط.\",\"As X-Bestas e os Morteiros podem danificar diretamente as torres da coroa do adversário se forem posicionados perto do centro.\",\"将X连弩和迫击炮部署在竞技场中间，它们可以直接对敌军的皇家塔造成伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"將X連弩和迫擊炮部署在競技場中間，它們可以直接對敵軍的皇家塔造成傷害。\",\"اگر کمان X و خمپاره‌اندازه‌ها رو نزدیک وسط میدان نبرد قرار بدی می‌تونن مستقیم برج‌های تاج حریف رو هدف بگیرند.\",\"Busur X dan Mortir dapat langsung merusak Benteng Mahkota lawanmu jika diposisikan di tengah-tengah.\",\"Busur-X dan Mortar boleh merosakkan Menara Mahkota pihak lawan anda secara terus jika diletakkan berhampiran bahagian tengah.\"\n\"TID_HINT_BATTLE_PRO4\",\"Giants can be effective on defense, too.\",\"Les géants sont aussi de bons défenseurs.\",\"Riesen können auch in der Verteidigung Wirkung zeigen.\",\"Los gigantes también son eficientes en la defensa.\",\"I giganti possono essere efficaci anche in difesa.\",\"Reuzen kunnen ook helpen bij de verdediging.\",\"Kjemper kan være effektive også i forsvar.\",\"Devler savunmada da etkili olabilir.\",\"ジャイアントは盾としても効果的です。\",\"자이언트는 방어에도 효과적입니다.\",\"Гиганты могут быть хорошей защитой.\",\"يمكن للعمالقة أن يكونوا فعّالين في الدفاع أيضًا.\",\"Gigantes também podem ser eficazes na defesa.\",\"用巨人来进行防御，也是极好的。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"巨人也能構成有效防禦。\",\"غول‌ها می‌تونن در زمان دفاع هم مؤثر باشن.\",\"Raksasa juga bisa efektif dalam pertahanan.\",\"Gergasi juga berkesan untuk pertahanan.\"\n\"TID_HINT_BATTLE_PRO5\",\"Sometimes holding on to a card is the best play to make.\",\"Parfois, conserver une certaine carte est la meilleure chose à faire.\",\"Manchmal ist es am klügsten, eine Karte zu behalten.\",\"A veces, guardarse una carta para después es la mejor jugada posible.\",\"A volte tenere in serbo una carta è la giocata migliore.\",\"Soms is het verstandig om een kaart nog even te houden.\",\"Å holde på et kort er noen ganger det smarteste du kan gjøre.\",\"Bazen bir karta bel bağlayarak iyi bir hamle yapmış olursun.\",\"ときには、特定のカードを\\n温存しておくことも重要です。\",\"때로는 카드를 아껴두는 것도 방법일 수 있습니다.\",\"Иногда стоит попридержать карту...\",\"أحيانًا يكون التمسك ببطاقة هو أفضل خطوة يمكن القيام بها.\",\"Às vezes, segurar uma carta é a melhor estratégia.\",\"有时候，保留一张卡牌也是非常有效的战术。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"有時候，扣住一張卡牌也是非常有效的策略。\",\"بعضی وقت‌ها نگه داشتن یک کارت بهترین بازی ممکنه.\",\"Terkadang menahan satu kartu adalah pilihan permainan terbaik.\",\"Kadangkala menyimpan kad ialah cara permainan terbaik.\"\n\"TID_HINT_TARGETING\",\"When deployed, all troops march towards the enemy King, attacking their preferred targets along the way.\",\"Une fois déployés, tous les combattants marchent vers le roi ennemi, attaquant en chemin leurs cibles de prédilection.\",\"Alle entsendeten Truppen marschieren in Richtung des feindlichen Königs und greifen unterwegs ihre Lieblingsziele an.\",\"Al ser desplegadas, las tropas marchan hacia el rey enemigo atacando a sus objetivos por el camino.\",\"Una volta schierate, tutte le truppe marciano in direzione del re nemico, attaccando i loro bersagli preferiti lungo la strada.\",\"Indien ingezet, marcheren alle eenheden richting de vijandelijke koning. Onderweg vallen ze hun voorkeursdoelen aan.\",\"Når troppene utplasseres, marsjerer de mot fiendens konge mens de angriper foretrukne mål på veien.\",\"Tüm birlikler mevzilendirildiğinde düşman Krala doğru ilerleyerek yol boyunca tercih ettikleri hedeflere saldırır.\",\"いずれのユニットも、配置されると敵の\\nキングに向かって前進し、その途中で\\n優先目標に出会うと攻撃します。\",\"일단 배치되면 모든 유닛은 상대의 왕을 향해 움직이며 선호하는 대상들을 공격합니다.\",\"Развернутые войска двинутся к вражескому королю, по пути атакуя любимые цели.\",\"عند نشر القوات، فإنها تزحف تجاه ملك العدو، وتهاجم أهدافه المفضلة عبر الطريق.\",\"Ao serem mobilizadas, todas as tropas marcham em direção ao Rei inimigo, atacando seus alvos preferidos no caminho.\",\"您派出的军队会向敌方国王塔进军，沿路袭击他们各自的优先攻击目标。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您派出的軍隊會向敵方國王塔進軍，沿路襲擊他們各自的優先攻擊目標。\",\"تمام نیروها پس از استقرار به سمت پادشاه دشمن حرکت می‌کنن و در مسیر به اهدافی که ترجیح میدن حمله می‌کنن.\",\"Saat dikerahkan, semua peleton bergerak menuju Raja musuh, sambil menyerang target pilihan mereka di sepanjang jalan.\",\"Apabila dikerahkan, semua askar berkawad ke arah Raja musuh, menyerang sasaran yang mereka pilih sepanjang perjalanan.\"\n\"TID_HINT_INFERNO\",\"The Inferno Tower's damage increases over time while attacking the same target.\",\"Les dégâts infligés par la tour de l'enfer à une même cible augmentent au fil du temps.\",\"Der Schaden des Infernoturms steigt mit der Zeit, wenn er dasselbe Ziel angreift.\",\"El daño que inflige la torre infernal sobre un mismo objetivo aumenta con el tiempo.\",\"Il danno della torre infernale aumenta nel tempo man mano che attacca lo stesso bersaglio.\",\"De schade van de infernotoren neemt gaandeweg toe als hetzelfde doel wordt aangevallen.\",\"Infernotårnets skade øker over tid mens det angriper det samme målet.\",\"Felaket Kulesinin hasarı aynı hedefe saldırırken zamanla artar.\",\"インフェルノタワーは、同じ敵を連続して\\n攻撃するとダメージが徐々に増加します。\",\"인페르노 타워는 같은 타깃을 계속 공격하는 동안 피해량이 점점 높아집니다.\",\"Сила адской башни постепенно увеличивается, если атаковать одну цель.\",\"يزداد ضرر البرج الناري بمرور الوقت عند مهاجمة نفس الهدف.\",\"O dano da Torre Inferno aumenta gradualmente enquanto ela estiver atacando o mesmo alvo.\",\"地狱之塔会持续攻击同一目标，并且它造成的伤害会随着时间而递增。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"地獄之塔會持續攻擊同一目標，而且它造成的傷害會隨著時間遞增。\",\"آسیب برج جهنی با گذشت زمان و حمله به یک هدف یکسان افزایش پیدا می‌کنه.\",\"Kerusakan yang ditimbulkan Benteng Inferno bertambah seiring waktu saat menyerang target yang sama.\",\"Kerosakan Menara Neraka semakin bertambah semasa menyerang sasaran yang sama.\"\n\"TID_HINT_GIANT_SKELETON\",\"The Giant Skeleton carries a large bomb, which he carelessly drops when destroyed. Oops!\",\"Le squelette géant transporte une grosse bombe, qu'il laisse tomber quand il est détruit. Aïe !\",\"Das Riesenskelett trägt eine große Bombe, die es fallen lässt, wenn es zerstört wird. Huch!\",\"El esqueleto gigante transporta una gran bomba que deja caer sin ningún cuidado al ser destruido. ¡Uy, vaya!\",\"Lo scheletro gigante porta con sé una potente bomba e quando viene distrutto, distrattamente la lascia cadere. Ops!\",\"Het reuzenskelet draagt een grote bom die hij achteloos laat vallen als hij wordt vernietigd. Oeps!\",\"Kjempeskjeletter bærer med seg en stor bombe som de skjødesløst slipper når de ødelegges. Ops!\",\"Dev İskelet, yok edildiğinde umarsızca bıraktığı büyük bir bomba taşır. Eyvah!\",\"巨大スケルトンは大きな爆弾を持っており、\\nやられるとその場に落とします。あわわわ...\",\"자이언트 해골은 큰 폭탄을 들고 다니며, 파괴되면 폭탄을 떨어트립니다. 아이고, 손이 미끄러졌네!\",\"Гигантский скелет тащит бомбу, которую он, конечно же, уронит, если его убить. Берегись!\",\"يحمل الهيكل العظمي العملاق قنبلة ضخمة، والتي يسقطها بإهمال عند تدميره. ويحي!\",\"O Esqueleto Gigante carrega uma bomba grande e a derruba descuidadamente ao ser destruído. Oops!\",\"骷髅巨人扛着巨型炸弹，他被摧毁时会将炸弹扔下，小心了！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"骷髏巨人扛著巨型炸彈，他被摧毀時會將炸彈扔下，小心了！\",\"اسکلت بزرگ یک بمب بزرگ حمل می‌کنه، که وقتی نابود بشه از دستش میوفته. آخ!\",\"Jerangkong Raksasa membawa bom besar, yang dijatuhkan dengan sembrono saat hancur. Ups!\",\"Rangka Gergasi membawa bom besar, yang secara cuai dia jatuhkan apabila dihapuskan. Alamak!\"\n\"TID_HINT_EPIC_SUNDAY\",\"Each Sunday the Shop contains twice as many cards!\",\"Le dimanche, le magasin vous propose deux fois plus de cartes !\",\"Jeden Sonntag enthält der Shop doppelt so viele Karten!\",\"Cada domingo encontrarás en la tienda el doble de cartas.\",\"Ogni domenica il negozio contiene il doppio delle carte!\",\"Elke zondag zijn er dubbel zoveel kaarten in de winkel!\",\"Hver søndag er det dobbelt så mange kort i butikken!\",\"Her Pazar günü Dükkan iki kat fazla kart içerir!\",\"日曜には、ショップで売り出すカードが2倍に増えます！\",\"매주 일요일에는 상점에 구비된 카드가 2배로 늘어납니다!\",\"Каждое воскресенье в магазине вдвое больше карт!\",\"في كل يوم أحد يحتوي المتجر على ضعف البطاقات!\",\"Aos domingos, a loja traz o dobro de opções de cartas!\",\"每个周日，商店的卡牌会翻倍！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"每個周日，商店可購買卡牌會加倍！\",\"هر یکشنه تعداد کارت‌های فروشگاه دو برابر میشه!\",\"Setiap hari Minggu, Toko berisi kartu dua kali lebih banyak!\",\"Setiap Ahad, Kedai mengandungi dua kali ganda kad!\"\n\"TID_HINT_GEMS_FROM_CHESTS\",\"Free Chests and Crown Chests are the only chests which can contain gems.\",\"Les coffres gratuits et les coffres à couronne sont les seuls coffres qui contiennent des gemmes.\",\"Gratistruhen und Kronentruhen sind die einzigen Truhen, die Juwelen enthalten können.\",\"Los cofres gratis y los de coronas son los únicos que contienen gemas.\",\"I bauli omaggio e i bauli della corona sono gli unici bauli che possono contenere gemme.\",\"Gratis kisten en kroonkisten zijn de enige kisten die edelstenen bevatten.\",\"Gratiskister og kronekister er de eneste kistene som kan inneholde juveler.\",\"Ücretsiz Sandıklar ve Taç Sandıkları, taş içeren tek sandıklardır.\",\"エメラルドが入手できる宝箱は\\nおまけの宝箱とクラウン宝箱だけです。\",\"무료 상자와 크라운 상자에만 보석이 들어있습니다.\",\"Кристаллы могут быть только в бесплатных и королевских сундуках.\",\"صناديق التاج والصناديق المجانية هي الصناديق الوحيدة التي يمكن أن تحتوي على جواهر.\",\"Baús grátis e baús da coroa são os únicos que podem conter gemas.\",\"只有免费宝箱和皇冠宝箱里面才有宝石。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"只有免費寶箱和皇冠寶箱裡面才有寶石。\",\"صندوق‌های رایگان و صندوق‌های تاج تنها صندوق‌هایی هستن که ممکنه حاوی جواهر باشن.\",\"Hanya Peti Gratis dan Peti Mahkota yang berisi permata.\",\"Hanya Peti Percuma dan Peti Mahkota yang mengandungi permata.\"\n\"TID_HINT_HOG_RIDER\",\"Hog Riders can jump over the river.\",\"Les chevaucheurs de cochon peuvent sauter par-dessus la rivière.\",\"Schweinereiter können über den Fluss springen.\",\"Los montapuercos pueden saltar el río.\",\"I domatori di cinghiali possono saltare oltre il fiume.\",\"Varkensruiters kunnen over de rivier springen.\",\"Villsvinryttere kan hoppe over elven.\",\"Domuz Binicileri nehrin üzerinden atlayabilir.\",\"ホグライダーは川を飛び越えることができます。\",\"호그 라이더는 강을 뛰어넘을 수 있습니다.\",\"Всадники на кабанах могут перепрыгнуть через реку.\",\"يمكن لراكبي الخنازير القفز عبر النهر.\",\"Corredores podem pular sobre o rio.\",\"野猪骑士能够跳过河流。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"野豬騎士能夠跳過河流。\",\"خوک سوارها می‌تونن از روی رودخانه بپرن.\",\"Penunggang Babi dapat melompati sungai.\",\"Penunggang Khinzir boleh melompat merentasi sungai.\"\n\"TID_HINT_GOLEM1\",\"Golems target buildings and ignore troops.\",\"Les golems ciblent les bâtiments et ignorent les combattants ennemis.\",\"Golems haben es auf Gebäude abgesehen und ignorieren Einheiten.\",\"Los gólems atacan las estructuras e ignoran a las tropas enemigas.\",\"I golem bersagliano gli edifici e ignorano le truppe.\",\"Golems richten zich op gebouwen en negeren eenheden.\",\"Golemer går etter bygninger, men ignorerer tropper.\",\"Golemler binaları hedef alır ve birlikleri görmezden gelir.\",\"ゴーレムは建物だけを攻撃し\\n敵のユニットを無視します。\",\"골렘은 유닛은 무시하고 건물만 공격합니다.\",\"Големы атакуют здания и игнорируют солдат.\",\"كائنات الغولم تستهدف المباني وتتجاهل القوات.\",\"Golems atacam construções, mas ignoram tropas.\",\"戈仑石人只会攻击建筑，而不会攻击军队。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"戈侖石人只會攻擊建築，而不會攻擊軍隊。\",\"گالم‌ها به ساختمون‌ها حمله می‌کنن و نیروها رو نادیده می‌گیرن.\",\"Golem menarget bangunan dan mengabaikan peleton.\",\"Golem menyasarkan bangunan dan mengabaikan askar.\"\n\"TID_HINT_GOLEM2\",\"The Golem explodes when destroyed and splits into two smaller Golemites.\",\"Le golem explose quand il est détruit et se divise en deux golemites plus petits.\",\"Der Golem explodiert, wenn er zerstört wird, und teilt sich in zwei kleinere Minigolems.\",\"El gólem explota al ser destruido y se divide en dos golemitas más pequeños.\",\"I golem esplodono quando vengono distrutti e si dividono in due golemiti più piccoli.\",\"Een golem explodeert als hij wordt vernietigd en splitst zich in twee kleinere golempjes.\",\"Golemer eksploderer når de ødelegges, og blir til to mindre golemitter.\",\"Golem yok edildiği zaman patlayarak iki küçük Golemit haline gelir.\",\"ゴーレムは破壊されると爆発し、\\n2体の小型ゴーレムに分裂します。\",\"골렘이 파괴되면 폭발하면서 베이비 골렘 두 마리로 쪼개집니다.\",\"Если уничтожить голема, он взорвется, превратившись в двух големчиков.\",\"ينفجر الغولم عند تدميره وينقسم إلى اثنين من كائنات الغولم الصغيرة.\",\"O Golem explode quando é destruído e parte-se em dois Golemitas menores.\",\"戈仑石人被摧毁时，会爆炸并分裂成两个小戈仑石人。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"戈侖石人被摧毀時，會爆炸並分裂成兩個小戈侖石人。\",\"گالم وقتی نابود بشه منفجر میشه و به دوتا گالم کوچک‌تر تبدیل میشه.\",\"Golem meledak saat hancur dan terbelah menjadi dua Golemite yang lebih kecil.\",\"Golem meletup apabila dimusnahkan dan berpisah menjadi dua Golemite yang lebih kecil.\"\n\"TID_HINT_GOLEM3\",\"Golem has a heart made of stone.\",\"Le golem a un cœur de pierre.\",\"Golem hat ein Herz aus Stein.\",\"El gólem tiene un corazón de piedra.\",\"Il golem ha un cuore fatto di pietra.\",\"Golem heeft een hart van steen.\",\"Golemer har et hjerte av stein.\",\"Golem'in taştan bir kalbi var.\",\"ゴーレムには、石でできた心臓があります。\",\"골렘은 심장이 바위로 되어 있습니다.\",\"У голема каменное сердце.\",\"الغول لديه قلب مصنوع من الحجر.\",\"O Golem tem um coração de pedra.\",\"戈仑石人铁石心肠，冷酷无情。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"戈侖石人鐵石心腸，冷酷無情。\",\"قلب گالم از جنس سنگه.\",\"Golem memiliki hati yang terbuat dari batu.\",\"Golem mempunyai hati diperbuat daripada batu.\"\n\"TID_HINT_PEKKAS\",\"The P.E.K.K.A and Mini P.E.K.K.A are easily distracted, but they hit like a truck.\",\"Les P.E.K.K.A et les mini P.E.K.K.A se laissent facilement distraire, mais ce sont de vrais démolisseurs.\",\"P.E.K.K.A und Mini-P.E.K.K.A lassen sich leicht ablenken, schlagen aber mit großer Wucht zu.\",\"El P.E.K.K.A. y el mini P.E.K.K.A. se distraen con facilidad, pero golpean con la fuerza de un huracán.\",\"P.E.K.K.A e mini P.E.K.K.A si distraggono facilmente, ma pestano come dei fabbri.\",\"P.E.K.K.A. en mini-P.E.K.K.A. worden makkelijk afgeleid, maar hebben de kracht van een monstertruck.\",\"P.E.K.K.A og Mini-P.E.K.K.A blir lett distrahert, men de slår godt fra seg.\",\"P.E.K.K.A ve Mini P.E.K.K.A'nın dikkati kolay dağılır ancak bir kamyon gibi çarparlar.\",\"P.E.K.K.AやミニP.E.K.K.Aはちょっと\\n気が散りやすいのが難点ですが、\\nダンプカーなみの破壊力を発揮します。\",\"P.E.K.K.A와 미니 P.E.K.K.A는 적에게 쉽게 낚이지만, 트럭이 들이받는 것과 맞먹는 공격력을 자랑합니다.\",\"П.Е.К.К.А и мини П.Е.К.К.А легко отвлекаются, но бьют как танки.\",\"يسهل إلهاء بيكا وبيكا الصغيرة، لكنهما يصيبانك كالشاحنة.\",\"A P.E.K.K.A e a Mini P.E.K.K.A são distraídas facilmente, mas têm o impacto de um caminhão.\",\"皮卡超人和迷你皮卡很容易分心，但他们的攻击力非常高。\",\"皮卡超人和迷你皮卡很容易分心，但他們的攻擊力非常高。\",\"حواس P.E.K.K.A و مینی P.E.K.K.A به راحتی پر میشه، اما مثل یک کامیون ضربه می‌زنن.\",\"P.E.K.K.A dan P.E.K.K.A Mini mudah dialihkan perhatiannya, tapi mereka menghantam bagaikan truk.\",\"P.E.K.K.A dan P.E.K.K.A Mini mudah diganggu, tetapi pukulan mereka seperti dilanggar trak.\"\n\"TID_HINT_PEKKA\",\"P.E.K.K.A: No-one knows what's behind that mask. Maybe even another mask.\",\"P.E.K.K.A : nul ne sait ce qui se cache derrière ce masque. Peut-être un autre masque.\",\"P.E.K.K.A. - niemand weiß, was sich hinter der Maske verbirgt. Vielleicht sogar noch eine Maske?\",\"P.E.K.K.A: Nadie sabe qué se esconde tras esa máscara. Es posible que otra máscara...\",\"P.E.K.K.A: nessuno sa cosa si cela dietro quella maschera. Forse un'altra maschera.\",\"P.E.K.K.A.: niemand weet wat er achter het masker zit. Misschien nog wel een masker.\",\"P.E.K.K.A: Ingen vet hva som skjuler seg bak masken. Kanskje enda en maske.\",\"P.E.K.K.A: Maskenin ardında kim olduğunu kimse bilmiyor. Belki başka bir maske daha vardır.\",\"P.E.K.K.Aの仮面の下に何があるのかは\\n誰も知りません。もしかすると、もう一枚の\\nマスクがあるのかもしれません。\",\"P.E.K.K.A: 누구도 그 가면 뒤에 무엇이 있는지 모릅니다. 가면이 하나 더 있을지도요.\",\"П.Е.К.К.А: никто не знает, что под маской. Возможно, другая маска.\",\"بيكا: لا أحد يعرف ما وراء هذا القناع. ربما قناع آخر.\",\"P.E.K.K.A: ninguém sabe o que há por trás da máscara. Talvez outra máscara.\",\"皮卡超人：没人知道那张面具后藏着什么，搞不好还是面具。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"皮卡超人：沒人知道那張面具後藏著什麼，搞不好還是面具。\",\"P.E.K.K.A: هیچکس نمی‌دونه پشت اون ماسک چه خبره. شاید حتی یک ماسک دیگه باشه.\",\"P.E.K.K.A: Tidak ada yang tahu ada apa di balik topeng itu. Bisa jadi topeng lainnya.\",\"P.E.K.K.A: Tiada siapa tahu siapa di sebalik topeng itu. Malahan, mungkin satu lagi topeng.\"\n\"TID_HINT_TROPHY_COUNT\",\"Trophies that you win are deducted from your opponent's Trophies!\",\"Les trophées que vous gagnez sont déduits des trophées de vos opposants !\",\"Gewonnene Trophäen werden von denen des Gegners abgezogen!\",\"Los trofeos que ganas se restan del total de trofeos de tu rival.\",\"I trofei vinti vengono sottratti dai trofei dei tuoi avversari!\",\"De trofeeën die jij wint, raakt je tegenstander kwijt!\",\"Trofeer som du vinner, blir trukket fra motstanderens trofeer.\",\"Kazandığın kupalar, rakiplerinin kupalarından eksilir!\",\"バトルで獲得するトロフィーは、対戦相手が\\n所持するトロフィーから差し引かれます！\",\"획득한 만큼의 트로피가 상대방의 트로피 개수에서 차감됩니다!\",\"Выигранные вами трофеи списываются со счета противника!\",\"يتم خصم الكؤوس التي تفوز بها من كؤوس خصمك!\",\"Os troféus ganhos serão deduzidos dos troféus de seus adversários!\",\"您所赢得的奖杯都来自对手！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您所贏得的獎盃都來自對手！\",\"جام‌هایی که می‌بری از جام‌هایی حریفت کم میشن!\",\"Trofi yang kamu menangkan diambil dari Trofi lawan!\",\"Trofi yang anda menang dikurangkan daripada Trofi pihak lawan anda!\"\n\"TID_HINT_LIGHTNING\",\"Experts have long believed that lightning is attracted to tall objects, however, new research indicates that lightning is, in fact, attracted to high hitpoints.\",\"Longtemps, les spécialistes ont cru que la foudre était attirée par les objets élevés. Mais de nouvelles recherches ont démontré qu'en fait, la foudre est attirée par les points de vie élevés.\",\"Experten gingen lange davon aus, dass Blitze von hohen Objekten angezogen würden. Neue Studien legen nahe, dass Blitze tatsächlich von hohen Trefferpunkten angezogen werden.\",\"Los expertos siempre han creído que los objetos altos atraen los rayos. Sin embargo, las últimas investigaciones indican que lo que los atrae en realidad es la cantidad alta de puntos de vida.\",\"Gli esperti hanno a lungo creduto che il Fulmine fosse attratto da oggetti di una certa altezza. Nuove ricerche tuttavia suggeriscono che il Fulmine è in realtà attratto da un elevato numero di punti ferita.\",\"Deskundigen hebben lang beweerd dat hoge objecten de bliksem aantrekken, maar nieuw onderzoek wijst uit dat hoge levenspunten de bliksem aantrekken.\",\"Eksperter har lenge trodd at lyn søker mot høye gjenstander, men ny forskning antyder at lyn faktisk søker mot mange treffpoeng.\",\"Uzmanlar, yıldırımın yüksek şeyleri vurduğuna inanır fakat yeni araştırmalar, yıldırımı asıl çeken şeyin yüksek can olduğunu ortaya koyuyor.\",\"雷は高いものに落ちると信じられていましたが\\n最近の研究によると、実はヒットポイントが\\n高いものに落ちるのだそうです。\",\"전문가들은 오랫동안 번개가 높은 곳에 떨어진다고 믿었습니다. 하지만 새로운 연구에 따르면 사실은 HP가 높은 쪽에 떨어진다는군요.\",\"Ученые полагают, что молния бьет по более высоким объектам. Но последние исследования доказали, что молнию притягивает... высокое здоровье.\",\"كان الخبراء يعتقدون طويلاً أن البرق ينجذب إلى الكائنات الطويلة، ولكن يشير بحث جديد إلى أن البرق، في الحقيقة، ينجذب إلى نقاط الإصابة الأعلى.\",\"Há muito tempo os especialistas acreditam que o relâmpago é atraído por objetos altos, mas uma nova pesquisa indica que, na verdade, ele é atraído por grandes quantidades de pontos de vida.\",\"长久以来，专家认为较高的建筑更容易受闪电攻击，但最新研究表明，生命值越高的物体越容易受到闪电的伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"長久以來，專家們認為越高的建築越容易受到閃電攻擊，但最新研究表明，生命值越高的東西更容易受到閃電的傷害。\",\"مدت زیادی هست که متخصصین اعتقاد دارن که صاعقه به سمت اشیاء بلند جذب میشه، اما، تحقیقات جدید نشون داده که صاعقه، در حقیقت، به سمت بالاترین ضربه‌ها جذب میشن.\",\"Para ahli telah lama percaya bahwa kilat tertarik pada benda tinggi, namun riset baru menunjukkan bahwa kilat ternyata tertarik pada nyawa tinggi.\",\"Sudah lama pakar percaya bahawa kilat tertarik dengan objek yang tinggi, walau bagaimanapun, penyelidikan baharu menunjukkan bahawa kilat sebaliknya tertarik pada nilai nyawa yang tinggi.\"\n\"TID_HINT_BOMBER\",\"One day, Wall Breakers realized that they could do a lot more damage if they THREW the bomb instead of sat beside it. Imagine that...\",\"Un jour, les sapeurs ont compris qu'ils pouvaient faire beaucoup plus de dégâts en lançant leur bombe plutôt qu'en restant assis à côté. Pas bête...\",\"Eines Tages wurde den Mauerbrechern klar, dass es viel mehr Schaden anrichtet, wenn man eine Bombe wirft, anstatt daneben zu sitzen. Wer hätte das gedacht?\",\"Un día, los rompemuros se dieron cuenta de que podían infligir mucho más daño si lanzaban la bomba en lugar de sentarse sobre ella. ¡Quién lo habría imaginado!\",\"Un giorno, gli spaccamuro capirono di poter fare molti più danni SCAGLIANDO la bomba invece di sedersi accanto ad essa. Immagina le conseguenze...\",\"Op een dag kwamen muurbrekers erachter dat ze veel meer schade konden veroorzaken door de bom te GOOIEN dan ernaast te blijven zitten. Wat een inzicht...\",\"En dag innså murbrekkerne at de kunne gjøre mye mer skade hvis de KASTET bomben i stedet for å sitte ved siden av den. Kan du tenke deg ...\",\"Duvar Yıkıcılar bir gün yanında oturmak yerine bombayı FIRLATMAYI akıl etse ne olur. Bir düşünsene...\",\"ウォールブレイカー達はある時、気づきました。\\n爆弾は、抱えて突っ込むよりも、投げたほうが\\n効果的なのだと。あとはお分かりですね...\",\"어느 날 문득, 폭탄병들은 폭탄을 옆구리에 낀 채 들이대는 것보다 집어 던지는 쪽이 더 위력적이라는 사실을 깨달았습니다. 깨달았으니 다행이지...\",\"Однажды стенобои поняли, что могут нанести больше урона, если будут БРОСАТЬ бомбы вместо того, чтобы бежать с ними. Только представьте...\",\"ذات يوم، لاحظ محطمو الجدران أن في استطاعتهم التسبب بضرر أكثر بكثير إن ألقوا القنبلة بدلاً من الجلوس بجوارها. تخيّل ذلك...\",\"Um dia, os Destruidores de Muros perceberam que podiam causar muito mais dano se LANÇASSEM a bomba em vez do sentar ao lado dela. Imagine só...\",\"有那么一天，炸弹人突然意识到如果他们把炸弹扔出去，而不是傻坐在旁边的话，能造成更多伤害。想想那个画面吧......\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"有一天，炸彈人突然意識到如果他們把炸彈扔出去，而不是抱著炸彈傻坐在旁邊的話，能造成更多傷害。想想看吧......\",\"یک روز، دیوار شکن‌ها فهمیدن که اگر بمب رو پرتاب کنند آسیبش کمتر از وقتی هست که موقع انفجار کنار بمب بشینن. تصور کن که...\",\"Suatu hari, Pendobrak Tembok menyadari mereka bisa jauh lebih merusak jika MELEMPAR bom dan bukan hanya duduk di sebelahnya. Bayangkan...\",\"Pada satu hari, Pemecah Benteng menyedari bahawa mereka boleh melakukan lebih banyak kerosakan jika mereka MEMBALING bom berbanding duduk di sebelahnya. Bayangkannya...\"\n\"TID_HINT_WIZARD\",\"The Wizard can control all elements, except his hair.\",\"Le sorcier peut contrôler tous les éléments, sauf ses cheveux.\",\"Der Magier kann alle Elemente kontrollieren - nur nicht sein Haar.\",\"El mago controla todos los elementos menos su pelo.\",\"Lo stregone ha il controllo di tutti gli elementi, eccetto i suoi capelli.\",\"De tovenaar kan alle elementen zijn wil opleggen, behalve zijn haar.\",\"Trollmannen kan kontrollere alle elementene, bortsett fra håret sitt.\",\"Büyücü saçı hariç tüm elementleri yönetebilir.\",\"ウィザードは森羅万象を自在にあやつることが\\nできます！ 自分の髪の毛をのぞいては...\",\"마법사는 모든 원소를 조종할 수 있습니다. 자기 머리카락만 빼고요.\",\"Колдун может управлять всеми элементами, кроме своих волос.\",\"يمكن للساحر التحكم في كل العناصر، عدا شعره.\",\"O Mago pode controlar todos os elementos, menos seu cabelo.\",\"法师对一切掌控自如，却无法驾驭自己的那一头秀发！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"法師可以掌控一切，但他的頭髮可不受控制。\",\"جادوگر می‌تونه تمام عناصر رو کنترل کنه، البته به جز موهای خودش.\",\"Penyihir dapat mengontrol semua unsur, kecuali rambutnya.\",\"Ahli Sihir boleh mengawal semua elemen, kecuali rambutnya.\"\n\"TID_CARDS_RECEIVED\",\"Cards received:\",\"Cartes reçues :\",\"Erhaltene Karten:\",\"Cartas recibidas:\",\"Carte ricevute:\",\"Ontvangen kaarten:\",\"Kort mottatt:\",\"Alınan Kartlar:\",\"カードを入手：\",\"받은 카드\",\"Получены карты:\",\"البطاقات المتلقاة:\",\"Cartas recebidas:\",\"收到的卡牌：\",\"收到的卡牌：\",\"کارت‌های دریافت شده:\",\"Kartu diterima:\",\"Kad diterima:\"\n\"TID_GAME_CENTER_FB_LOGIN\",\"Game Center and Facebook friends appear when you're logged into services.\",\"Vos amis du Game Center et de Facebook apparaissent ici lorsque vous êtes connecté(e) à ces réseaux.\",\"Game Center- und Facebook-Freunde erscheinen, wenn du bei diesen Diensten angemeldet bist.\",\"Tus amigos de Facebook y de Game Center aparecerán cuando conectes con estos servicios.\",\"Gli amici del Game Center e di Facebook appaiono quando hai effettuato l'accesso ai servizi.\",\"Game Center- en Facebook-vrienden verschijnen als je bent aangemeld bij deze diensten.\",\"Vennene dine på Game Center og Facebook vises når du er logget på tjenestene.\",\"Game Center ve Facebook arkadaşları, bu hizmetlerde oturum açtığında görünür.\",\"Game CenterやFacebookにログインすると\\n各サービスでの友達が表示されます。\",\"Facebook과 Game Center에 로그인하면 친구들이 표시됩니다.\",\"Друзья из Game Center и Facebook появляются при подключении.\",\"يظهر الأصدقاء على Game Center وFacebook عند تسجيل الدخول إلى الخدمات.\",\"Os amigos do Game Center e do Facebook aparecem quando você se conecta a esses serviços.\",\"登录Game Center或Facebook后，您的好友就会显示在这里。\",\"登入Game Center或Facebook後，您的好友就會顯示在這裡。\",\"وقتی وارد خدمات بشی دوستان مرکز بازی و Facebook پیداشون میشه.\",\"Teman Game Center dan Facebook muncul saat kamu masuk ke layanan tersebut.\",\"Rakan Game Center dan Facebook kelihatan apabila anda melog masuk ke perkhidmatan.\"\n\"TID_GAME_CENTER_FB_LOGIN_ANDROID\",\"Facebook friends appear when you're logged into the service.\",\"Vos amis de Facebook apparaissent ici lorsque vous êtes connecté(e) à ce réseau.\",\"Facebook-Freunde erscheinen, wenn du bei dem Dienst angemeldet bist.\",\"Tus amigos de Facebook aparecerán cuando conectes con esta red social.\",\"Gli amici di Facebook appaiono quando hai effettuato l'accesso al servizio.\",\"Facebook-vrienden verschijnen als je bent aangemeld bij deze dienst.\",\"Vennene dine på Facebook vises når du er logget på tjenesten.\",\"Facebook arkadaşları, hizmette oturum açtığında görünür.\",\"ログインすると、Facebookのお友達が表示されます。\",\"Facebook에 로그인 하면 Facebook 친구들이 표시됩니다.\",\"Друзья из Facebook появляются при подключении.\",\"يظهر الأصدقاء على Facebook عند تسجيل الدخول إلى الخدمة.\",\"Os amigos do Facebook aparecem quando você se conecta ao serviço.\",\"登录Facebook后，您的好友就会显示在这里。\",\"登入Facebook後，您的好友就會顯示在這裡。\",\"وقتی وارد خدمات بشی دوستان Facebook پیداشون میشه.\",\"Teman Facebook muncul saat kamu masuk ke Facebook.\",\"Rakan Facebook kelihatan apabila anda melog masuk ke perkhidmatan.\"\n\"TID_CONNECT\",\"Connect\",\"Se connecter\",\"Verb.\",\"Conectar\",\"Connetti\",\"Verbind\",\"Koble til\",\"Bağlan\",\"接続\",\"연결\",\"Подключить\",\"اتصال\",\"Conectar\",\"连接\",\"連線\",\"اتصال\",\"Sambungkan\",\"Sambung\"\n\"TID_REPLAY_VIEW\",\"Replay View\",\"Affichage des vidéos\",\"Wiederholungsansicht\",\"Gráficos de las repeticiones\",\"Visuale replay\",\"Weergave herhalingen\",\"Visning av reprise\",\"Oyun Tekrarı Görünümü\",\"リプレイビュー\",\"리플레이 보기\",\"Просмотр повтора\",\"عرض إعادة العرض\",\"Visualização de replay\",\"回放模式\",\"重播模式\",\"نمای بازپخش\",\"Tampilan Tayangan Ulang\",\"Paparan Main Semula\"\n\"TID_CONFIRM_UNLOCK_ACCOUNT_TITLE\",\"Account locked\",\"Compte verrouillé\",\"Konto gesperrt\",\"Cuenta bloqueada\",\"Account bloccato\",\"Account vergrendeld\",\"Konto låst\",\"Hesap kilitli\",\"アカウントがロックされました\",\"계정 잠금\",\"Уч. запись заблокирована\",\"تم قفل الحساب\",\"Conta bloqueada\",\"账号已锁定\",\"帳號已鎖定\",\"حساب قفل‌شده\",\"Akun terkunci\",\"Akaun dikunci\"\n\"TID_ENTER_UNLOCK_CODE\",\"Enter unlock code here\",\"Saisissez le code de déverrouillage ici.\",\"Gib hier den Freischaltcode ein.\",\"Introduce el código de desbloqueo:\",\"Inserisci qui il codice di sblocco\",\"Voer hier de ontgrendelcode in:\",\"Skriv inn opplåsingskoden her\",\"Kilit açma kodunu buraya gir\",\"アンロックコードを入力してください\",\"여기에 잠금 해제 코드 입력\",\"Введите код разблокировки\",\"أدخل رمز إلغاء القفل هنا\",\"Insira o código de desbloqueio aqui\",\"请在此输入解锁代码\",\"請在此輸入解鎖代碼\",\"کد بازکردن قفل رو اینجا وارد کن\",\"Masukkan kode pembuka di sini\",\"Masukkan kod buka kunci di sini\"\n\"TID_ACCOUNT_LOCK_INFO\",\"Your account has been locked for security reasons. Enter the unlock code to recover your account.\",\"Votre compte a été verrouillé pour des raisons de sécurité. Saisissez le code de déverrouillage pour le récupérer.\",\"Dein Konto wurde aus Sicherheitsgründen gesperrt. Gib den Freischaltcode ein, um dein Konto wiederherzustellen.\",\"Tu cuenta ha sido bloqueada por motivos de seguridad. Introduce el código de desbloqueo para recuperarla.\",\"Il tuo account è stato bloccato per motivi di sicurezza. Inserisci il codice di sblocco per riattivare l'account.\",\"Je account is om veiligheidsredenen vergrendeld. Voer de ontgrendelcode in om je account te herstellen.\",\"Kontoen din har blitt låst av sikkerhetsårsaker. Skriv inn opplåsingskoden for å få tilgang til kontoen igjen.\",\"Hesabın güvenlik sebeplerinden ötürü kilitlendi. Hesabını geri almak için kilit açma kodunu gir.\",\"セキュリティ上の理由により、お使いのアカウントはロックされています。アンロックコードを入力し、再度アカウントを有効にしてください。\",\"보안 문제로 인해 계정이 잠겼습니다. 잠금 해제 코드를 입력해서 계정을 복구하세요.\",\"Ваша учетная запись заблокирована из соображений безопасности. Введите код разблокировки для ее восстановления.\",\"تم قفل حسابك لأسباب تتعلق بالأمان. أدخل رمز إلغاء القفل لاسترداد حسابك.\",\"Sua conta foi bloqueada por segurança. Insira o código de desbloqueio para recuperar a conta.\",\"出于安全原因，您的账号已被锁定。请输入解锁代码恢复您的账号。\",\"出於安全原因，您的帳號已被鎖定。請輸入解鎖代碼恢復您的帳號。\",\"حساب شما به دلایل امنیتی قفل شده. برای بازیابی حساب کد بازکردن قفل رو وارد کن.\",\"Akunmu telah dikunci karena alasan keamanan. Masukkan kode pembuka untuk memulihkan akun.\",\"Akaun anda telah dikunci atas sebab keselamatan. Masukkan kod buka kunci untuk memulihkan akaun anda.\"\n\"TID_INVAILD_UNLOCK_CODE\",\"Invalid unlock code!\",\"Code de déverrouillage non valide !\",\"Ungültiger Freischaltcode!\",\"Código incorrecto\",\"Codice di sblocco non valido!\",\"Ongeldige ontgrendelcode!\",\"Ugyldig opplåsingskode!\",\"Geçersiz kilit açma kodu!\",\"アンロックコードが無効です！\",\"잠금 해제 코드가 잘못되었습니다!\",\"Неверный код разблокировки!\",\"رمز إلغاء القفل غير صالح!\",\"Código de desbloqueio inválido!\",\"解锁代码无效！\",\"解鎖代碼無效！\",\"کد قفل بازکردن نامعتبر!\",\"Kode pembuka tidak valid!\",\"Kod buka kunci tidak sah!\"\n\"TID_CHARGE\",\"Charge!\",\"Chargez !\",\"Zum Angriff!\",\"¡A la carga!\",\"Carica!\",\"Aanvallen!\",\"Angrip!\",\"Hücum!\",\"突撃！\",\"돌격!\",\"Заряжай!\",\"شحن!\",\"Atacaaaaar!\",\"冲锋！\",\"衝鋒！\",\"شارژ کن!\",\"Serbu!\",\"Serang!\"\n\"TID_LINK_DEVICE_HAVE_CODE_BUTTON\",\"Enter Link Code\",\"Saisie du code d'association\",\"Verbindungscode eingeben\",\"Introducir código de enlace\",\"Inserisci codice di collegamento\",\"Voer koppelcode in\",\"Skriv inn tilknyttingskoden\",\"Bağlantı Kodunu gir\",\"関連づけコードを入力\",\"연동 코드 입력\",\"Введи код привязки\",\"أدخل رمز الربط\",\"Inserir código de vinculação\",\"输入关联代码\",\"輸入關聯代碼\",\"کد اتصال رو وارد کن\",\"Masukkan Kode Tautan\",\"Masukkan Kod Pautan\"\n\"TID_ENTER_LINK_CODE_TITLE\",\"Enter Link Code\",\"Saisie du code d'association\",\"Verbindungscode eingeben\",\"Introducir código de enlace\",\"Inserisci codice di collegamento\",\"Voer koppelcode in\",\"Skriv inn tilknyttingskoden\",\"Bağlantı Kodunu gir\",\"関連づけコードを入力\",\"연동 코드 입력\",\"Введи код привязки\",\"أدخل رمز الربط\",\"Inserir código de vinculação\",\"输入关联代码\",\"輸入關聯代碼\",\"کد اتصال رو وارد کن\",\"Masukkan Kode Tautan\",\"Masukkan Kod Pautan\"\n\"TID_ENTER_LINK_CODE\",\"If you have received a Link Code. You can enter it here\",\"Si vous avez reçu un code d'association, vous pouvez le saisir ici.\",\"Wenn du einen Verbindungscode hast, kannst du ihn hier eingeben.\",\"Si has recibido un código de enlace, introdúcelo aquí:\",\"Se hai ricevuto un codice di collegamento, puoi inserirlo qui\",\"Als je een koppelcode hebt ontvangen, kun je deze hier invoeren:\",\"Hvis du har mottatt en tilknyttingskode, kan du skrive den inn her.\",\"Bağlantı Kodu aldıysan buraya gir\",\"関連づけコードをお持ちの場合はここに入力してください\",\"연동 코드를 받으셨다면 여기에 입력하세요.\",\"Если у тебя есть код привязки, введи его здесь.\",\"إن كنت قد تلقيت رمز الربط، يمكنك إدخاله هنا\",\"Se você recebeu um código de vinculação, pode digitá-lo aqui.\",\"获得关联代码后，请在下方输入该代码\",\"獲得關聯代碼後，請在下方輸入該代碼\",\"اگر یک کد اتصال دریافت کردی. می‌تونی اینجا وارد کنی\",\"Jika kamu sudah menerima Kode Tautan, masukkanlah di sini\",\"Jika anda telah menerima Kod Pautan. Anda boleh memasukkannya di sini\"\n\"TID_CONFIRM_END_BATTLE_TITLE\",\"Confirmation\",\"Confirmation\",\"Bestätigung\",\"Confirmación\",\"Conferma\",\"Bevestiging\",\"Bekreftelse\",\"Onay\",\"再生中止\",\"확인\",\"Подтверждение\",\"تأكيد\",\"Confirmação\",\"确认\",\"確認\",\"تأیید\",\"Konfirmasi\",\"Pengesahan\"\n\"TID_CONFIRM_END_BATTLE_TEXT\",\"Return to the main menu?\",\"Retour au menu principal ?\",\"Zurück zum Hauptmenü?\",\"¿Volver al menú principal?\",\"Tornare al menu principale?\",\"Terug naar het hoofdmenu?\",\"Gå tilbake til hovedmenyen?\",\"Ana menüye dön?\",\"メインメニューに戻りますか？\",\"메인 메뉴로 돌아갈까요?\",\"Вернуться в меню?\",\"هل تريد العودة إلى القائمة الرئيسية؟\",\"Voltar ao menu principal?\",\"要返回上一界面吗？\",\"要返回主選單嗎？\",\"بر می‌گردی به منوی اصلی؟\",\"Kembali ke menu utama?\",\"Kembali ke menu utama?\"\n\"TID_GOLD_CAP_FULL\",\"Maximum gold is 1000000!\",\"Vous ne pouvez pas dépasser 1 000 000 de pièces d'or !\",\"Maximale Goldmenge: 1.000.000!\",\"¡El máximo de oro es de 1 000 000!\",\"Oro massimo: 1.000.000!\",\"De goudlimiet is 1.000.000!\",\"Maksimalt gull er 1 000 000!\",\"Maksimum altın 1.000.000!\",\"上限は1000000ゴールドです！\",\"골드 한도는 1,000,000입니다!\",\"Максимум 1 000 000 золотых!\",\"الحد الأقصى للذهب 1000000!\",\"O limite de ouro é de 1.000.000!\",\"金币最大储量为1000000！\",\"金幣最大容量為1000000！\",\"حداکثر طلا 1000000 هست!\",\"Emas maksimum adalah 1.000.000!\",\"Emas maksimum ialah 1,000,000!\"\n\"TID_BIND_TO_NEW_FACEBOOK_ACCOUNT_TITLE\",\"New Facebook login\",\"Nouvelle connexion Facebook\",\"Neue Facebook-Anmeldung\",\"Nueva conexión con Facebook\",\"Nuovo accesso Facebook\",\"Nieuwe Facebook-aanmelding\",\"Ny Facebook-pålogging\",\"Yeni Facebook oturumu\",\"Facebookの新しいID\",\"새 Facebook 계정 로그인\",\"Новый логин Facebook\",\"تسجيل دخول جديد إلى Facebook\",\"Novo login do Facebook\",\"登录新的Facebook账号\",\"登入新的Facebook帳號\",\"ورود به Facebook جدید\",\"Login Facebook baru\",\"Log Masuk Facebook Baharu\"\n\"TID_BIND_TO_NEW_FACEBOOK_ACCOUNT\",\"Do you want to link your current game to this Facebook account?\",\"Voulez-vous associer votre partie à ce compte Facebook ?\",\"Möchtest du dein aktuelles Spiel mit diesem Facebook-Konto verbinden?\",\"¿Quieres enlazar la partida actual con esta cuenta de Facebook?\",\"Vuoi collegare la tua partita a questo account Facebook?\",\"Wil je het huidige spel aan dit Facebook-account koppelen?\",\"Vil du koble det gjeldende spillet til denne Facebook-kontoen?\",\"Şu anki oyununu bu Facebook hesabına bağlamak istiyor musun?\",\"今プレイ中のゲームをこのFacebookアカウントに関連づけますか？\",\"진행 중인 게임을 이 Facebook 계정과 연동할까요?\",\"Хотите привязать текущую игру к этому профилю Facebook?\",\"هل ترغب في ربط لعبتك الحالية بهذا الحساب على Facebook؟\",\"Quer vincular o jogo atual a esta conta do Facebook?\",\"您要将当前游戏连接到该Facebook账号吗？\",\"您要將當前遊戲連結到該Facebook帳號嗎？\",\"واقعاً می‌خوای بازی فعلی خودت رو به این حساب Facebook متصل کنی؟\",\"Sambungkan game saat ini ke akun Facebook ini?\",\"Anda ingin memautkan permainan semasa anda dengan akaun Facebook ini?\"\n\"TID_BIND_TO_NEW_GOOGLE_SERVICE_ACCOUNT_TITLE\",\"New Google Play Sign-In\",\"Nouvelle connexion Google Play\",\"Neue Google Play-Anmeldung\",\"Nueva conexión con Google Play\",\"Nuovo accesso Google Play\",\"Nieuwe Google Play Sign-In\",\"Ny pålogging til Google Play\",\"Yeni Google Play ile Giriş\",\"新しいGoogle Playログイン\",\"신규 Google Play 계정 로그인\",\"Вход в новую учетная запись Google Play\",\"تسجيل دخول جديد إلى Google Play\",\"Novo login do Google Play\",\"登录新的Google Play账号\",\"登入新的Google Play帳號\",\"ورود به سیستم جدید Google Play\",\"Google Play Sign-In baru\",\"Daftar Masuk Google Play Baharu\"\n\"TID_BIND_TO_NEW_GOOGLE_SERVICE_ACCOUNT\",\"Do you want to save your current game on this Google account?\",\"Voulez-vous sauvegarder votre partie sur ce compte Google ?\",\"Willst du dein aktuelles Spiel auf diesem Google-Konto speichern?\",\"¿Quieres guardar la partida actual en esta cuenta de Google?\",\"Vuoi salvare la tua partita su questo account Google?\",\"Wil je het huidige spel op dit Google-account opslaan?\",\"Vil du lagre det gjeldende spillet på denne Google-kontoen?\",\"Mevcut oyununu bu Google hesabına kaydetmek istiyor musun?\",\"ここまでのゲームをGoogleアカウントに保存しますか？\",\"현재 게임 정보를 Google 계정에 저장할까요?\",\"Хотите сохранить текущую игру в этом профиле Google?\",\"هل ترغب في حفظ لعبتك الحالية على حساب Google هذا؟\",\"Quer salvar o jogo atual nesta conta do Google?\",\"您想将当前游戏进度保存到该Google账号中吗？\",\"您想將當前遊戲進度保存到該Google帳號嗎？\",\"واقعاً می‌خوای بازی فعلی خودت رو روی این حساب Google ذخیره کنی؟\",\"Simpan game saat ini di akun Google ini?\",\"Anda ingin menyimpan permainan semasa anda pada akaun Google ini?\"\n\"TID_LINK_NEW_DEVICE_TITLE\",\"Link a device\",\"Associer un appareil\",\"Gerät verbinden\",\"Enlazar dispositivo\",\"Collega un dispositivo\",\"Koppel een apparaat\",\"Knytt til en enhet\",\"Bir cihazı bağla\",\"デバイスを関連づける\",\"새 기기 연동\",\"Привязать устройство\",\"ربط جهاز\",\"Vincular um dispositivo\",\"关联另一设备\",\"關聯另外一台裝置\",\"اتصال یک دستگاه\",\"Tautkan perangkat\",\"Pautkan peranti\"\n\"TID_LINK_NEW_DEVICE_TEXT\",\"If you want to play on two devices or would like to transfer your account to a new device, you can do it here.\",\"Si vous voulez jouer sur deux appareils ou transférer votre compte vers un nouvel appareil, vous pouvez le faire ici.\",\"Wenn du auf zwei Geräten spielen oder dein Konto auf ein neues Gerät übertragen willst, kannst du das hier tun.\",\"Tanto si quieres jugar en dos dispositivos diferentes como transferir tu cuenta a uno nuevo, puedes hacerlo desde aquí.\",\"Se desideri giocare su due dispositivi, o se vuoi trasferire il tuo account su un nuovo dispositivo, puoi farlo qui.\",\"Als je op twee apparaten wilt spelen of je account naar een nieuw apparaat wilt overzetten, kun je dat hier doen.\",\"Hvis du vil spille på to enheter, eller vil overføre kontoen din til en ny enhet, kan du gjøre det her.\",\"İki cihaz üstünde oynamak istersen veya hesabını başka bir cihaza aktarmak istersen, buradan yapabilirsin.\",\"2台のデバイスでプレイしたい場合や、アカウントを新しいデバイスに移行したい場合は、ここで設定できます。\",\"두 개의 기기에서 게임을 즐기고 싶거나 기존의 계정을 새로운 기기로 옮기고자 하는 경우 이곳에서 진행할 수 있습니다.\",\"Если вы хотите играть на двух устройствах или хотите перенести свою учетную запись на новое, вы можете сделать это здесь.\",\"إذا أردت اللعب على جهازين أو كنت ترغب في نقل حسابك إلى جهاز جديد، فيمكنك القيام بذلك هنا.\",\"Se você quiser jogar em 2 dispositivos ou transferir sua conta para outro dispositivo, poderá fazê-lo aqui.\",\"如果您想在两台设备上玩本游戏或者想将自己的游戏帐号转移到新的设备，您可以在这里操作。\",\"如果您想在兩台裝置上玩本遊戲或者想將自己的遊戲帳號轉移到新的裝置，您可以在這裡操作。\",\"اگر بخوای روی دو دستگاه بازی کنی یا بخوی حسابت رو به یک دستگاه جدید منتقل کنی، می‌تونی اینجا انجامش بدی.\",\"Jika ingin bermain di dua perangkat atau ingin mentransfer akun ke perangkat baru, lakukanlah di sini.\",\"Jika anda ingin bermain pada dua peranti atau ingin memindahkan akaun anda ke peranti baharu, anda boleh melakukannya di sini.\"\n\"TID_LINK_NEW_DEVICE_TEXT2\",\"To start, tap one:\",\"Pour commencer, choisissez l'option adéquate :\",\"Zum Starten eine Option antippen:\",\"Elige una de las opciones:\",\"Per iniziare, toccane uno:\",\"Om te beginnen, tik je op:\",\"Du starter ved å trykke på en:\",\"Başlamak için birine dokun:\",\"あてはまる方をタップしてください：\",\"시작할 기기\",\"Чтобы начать, выберите:\",\"للبدء انقر على الرقم 'واحد':\",\"Para iniciar, toque em uma opção:\",\"如要开始，点击一项：\",\"如要開始，點擊一項：\",\"برای شروع، یک بار ضربه بزن:\",\"Untuk memulai, ketuk salah satu:\",\"Untuk mulakan, ketik satu:\"\n\"TID_LINK_NEW_DEVICE_OLD_BUTTON\",\"This is the\\nOLD DEVICE\",\"Ceci est\\nl'ANCIEN APPAREIL.\",\"Dies ist das\\nALTE GERÄT.\",\"Este es el\\nANTIGUO DISPOSITIVO\",\"Questo è il\\nVECCHIO DISPOSITIVO\",\"Dit is het\\nOUDE APPARAAT\",\"Dette er den\\nGAMLE ENHETEN\",\"Bu\\nESKİ CİHAZ\",\"これは古いデバイスです\",\"\\n사용하던 기기입니다.\",\"Это\\nСТАРОЕ УСТРОЙСТВО\",\"هذا هو\\nالجهاز القديم\",\"Este é o\\nDISPOSITIVO ANTIGO\",\"这是\\n原有设备\",\"這是\\n原有裝置\",\"این\\nدستگاه قدیمی هست\",\"Ini\\nPERANGKAT LAMA\",\"Ini ialah\\nPERANTI LAMA\"\n\"TID_LINK_NEW_DEVICE_NEW_BUTTON\",\"This is the\\nNEW DEVICE\",\"Ceci est\\nle NOUVEL APPAREIL.\",\"Dies ist das\\nNEUE GERÄT.\",\"Este es el\\nNUEVO DISPOSITIVO\",\"Questo è il\\nNUOVO DISPOSITIVO\",\"Dit is het\\nNIEUWE APPARAAT\",\"Dette er den\\nNYE ENHETEN\",\"Bu\\nYENİ CİHAZ\",\"これは新しいデバイスです\",\"\\n새 기기 입니다.\",\"Это\\nНОВОЕ УСТРОЙСТВО\",\"هذا هو\\nالجهاز الجديد\",\"Este é o\\nNOVO DISPOSITIVO\",\"这是\\n新添设备\",\"這是\\n新的裝置\",\"این\\nدستگاه جدید هست\",\"Ini\\nPERANGKAT BARU\",\"Ini ialah\\nPERANTI BAHARU\"\n\"TID_LINK_CODE_TITLE\",\"Link code\",\"Code d'association\",\"Verbindungscode\",\"Código de enlace\",\"Codice di collegamento\",\"Koppelcode\",\"Tilknyttingskode\",\"Bağlantı kodu\",\"関連づけコード\",\"연동 코드\",\"Код привязки\",\"رمز الربط\",\"Código de vinculação\",\"关联代码\",\"關聯代碼\",\"کد اتصال\",\"Kode tautan\",\"Kod pautan\"\n\"TID_LINK_CODE_TEXT\",\"Now, leave this screen open. On the other device, go to the linking screen and tap the \\qThis is the NEW device\\q button.\",\"Maintenant, gardez cet écran ouvert. Sur l'autre appareil, accédez à l'écran d'association et touchez le bouton \\qCeci est le NOUVEL APPAREIL\\q.\",\"Lass dieses Menü jetzt offen. Tippe auf dem anderen Gerät im Verbindungsmenü auf die Schaltfläche \\qDas ist das NEUE Gerät\\q.\",\"Deja abierta esta ventana. En el otro dispositivo, ve a la pantalla de enlace y toca el botón Este es el nuevo dispositivo.\",\"Adesso lascia aperta questa schermata. Sull'altro dispositivo, vai alla schermata di collegamento e tocca il pulsante \\qQuesto è il NUOVO dispositivo\\q.\",\"Laat dit scherm nu open. Ga op het andere apparaat naar het koppelscherm en tik op 'Dit is het NIEUWE apparaat'.\",\"La denne skjermen være åpen. På den andre enheten går du til skjermen for tilknytting og trykker på \\qDette er den NYE enheten\\q-knappen.\",\"Şimdi bu ekranı açık bırak. Diğer cihazda bağlantı ekranına git ve \\qBu YENİ cihaz\\q düğmesine dokun.\",\"次に、この画面を開いたままにします。もう一つのデバイスで関連づけの画面に移動して、「これは新しいデバイスです」 ボタンをタップします。\",\"이제 이 페이지를 유지하시고 다른 기기에서 연동 화면으로 간 후 \\q새 기기\\q 버튼을 탭하세요.\",\"Не закрывайте этот экран. На другом устройстве войдите в экран привязки и коснитесь кнопки «Это НОВОЕ УСТРОЙСТВО».\",\"والآن اترك هذه الشاشة مفتوحة. وفي الجهاز الآخر، انتقل إلى شاشة الربط وانقر على الزر \\qهذا هو الجهاز الجديد\\q.\",\"Deixe esta tela aberta. No outro dispositivo, vá até a tela de vinculação e toque no botão\\qEste é o NOVO dispositivo\\q.\",\"现在，请勿关闭这个界面。在另一台设备上，转到关联界面，单击\\q这是新添设备\\q按钮。\",\"現在，請勿關閉這個介面。在另一台裝置上，轉到關聯介面，按一下\\q這是新的裝置\\q按鈕。\",\"حالا، این صفحه رو باز نگه دار. روی دستگاه دیگه، به صفحه اتصال برو و روی دکمه \\qاین دستگاه جدید هست\\q ضربه بزن.\",\"Sekarang, tinggalkan layar ini dalam kondisi terbuka. Di perangkat lain, buka layar penautan dan ketuk tombol \\qIni perangkat BARU\\q.\",\"Sekarang, biarkan skrin ini terbuka. Pada peranti lain, pergi ke skrin pautan dan ketik butang \\qIni ialah peranti BAHARU\\q.\"\n\"TID_LINK_CODE_TEXT2\",\"Enter this code in your new device:\",\"Saisissez ce code sur le nouvel appareil :\",\"Gib auf deinem neuen Gerät diesen Code ein:\",\"Introduce este código en el nuevo dispositivo:\",\"Inserisci questo codice nel nuovo dispositivo:\",\"Voer deze code op je nieuwe apparaat in:\",\"Skriv inn denne koden på den nye enheten:\",\"Yeni cihazında bu kodu gir:\",\"新しいデバイスで次のコードを入力してください：\",\"새 기기에 다음 코드를 입력하세요.\",\"Введите этот код на новом устройстве:\",\"أدخل هذا الرمز في جهازك الجديد:\",\"Insira este código no novo dispositivo:\",\"在您的新添设备上输入这个代码：\",\"在您的新裝置上輸入這個代碼：\",\"این کد رو داخل دستگاه خودت وارد کن:\",\"Masukkan kode ini di perangkat barumu:\",\"Masukkan kod ini dalam peranti baharu anda:\"\n\"TID_DEVICE_LINK_CODE_VALID_TIME\",\"Code valid:\",\"Durée de validité du code :\",\"Code ist gültig für:\",\"Validez del código:\",\"Codice valido:\",\"Code is geldig voor:\",\"Kode gyldig:\",\"Kodun geçerlilik süresi:\",\"コードが有効です：\",\"코드 유효 기간:\",\"Код действителен:\",\"رمز صالح:\",\"Validade do código:\",\"代码有效时间：\",\"代碼有效時間：\",\"کد نامعتبر:\",\"Kode berlaku\",\"Kod sah:\"\n\"TID_LINK_CODE_WARNING_TEXT\",\"WARNING: Never give out this code to anyone else! It is for personal use only. Note that the link will be permanent.\",\"ATTENTION : ne communiquez jamais ce code à qui que ce soit ! Il est réservé à votre usage personnel. Notez que le lien sera permanent.\",\"ACHTUNG: Gib diesen Code niemals an andere Personen weiter! Er ist nur für dich persönlich bestimmt. Beachte, dass die Verbindung dauerhaft sein wird.\",\"AVISO: ¡Nunca des este código a nadie! Es únicamente para uso personal. Ten en cuenta que el enlace es permanente.\",\"ATTENZIONE: non comunicare mai a nessuno questo codice! È esclusivamente per uso personale. Ricorda che il collegamento è permanente.\",\"WAARSCHUWING: geef deze code nooit aan iemand anders! De code is uitsluitend bedoeld voor persoonlijk gebruik. Let op: het koppelen is permanent.\",\"ADVARSEL: Du må aldri gi denne koden til noen andre! Den er kun til personlig bruk. Merk at tilknytting er permanent.\",\"UYARI: Bu kodu asla başkasına verme! Sadece kişisel kullanım içindir. Bağlantı kalıcı olacaktır.\",\"警告： このコードは絶対に他人に教えないでください、個人専用です。関連づけは恒久的ですのでご注意ください。\",\"경고: 누구에게도 이 코드를 알려주지 마세요! 개인용입니다. 영구적으로 연동된다는 점을 명심하세요.\",\"ВНИМАНИЕ: не сообщайте этот код никому! Он только для личного пользования. Помните, что привязка — это навсегда.\",\"تحذير: لا تعطي هذا الرمز لأي شخصٍ آخر أبدًا! لأنه للاستخدام الشخصي فقط. لاحظ أن هذا الربط سيكون دائمًا.\",\"ATENÇÃO: Nunca forneça este código a ninguém. Ele serve exclusivamente para uso pessoal. Observe que a vinculação será permanente.\",\"警告：此代码仅供个人使用，切勿透露给任何人！并且此关联为永久关联。\",\"警告：此代碼僅供個人使用，切勿透露給任何人！並且此關聯為永久關聯。\",\"هشدار: هیچوقت این کد رو به کسی نده! این کد فقط برای استفاده شخصی هست. یادت باشه که این اتصال دائمی خواهد بود.\",\"PERINGATAN: Jangan pernah berikan kode ini ke siapa pun! Ini hanya untuk penggunaan pribadi. Harap diingat, tautan akan permanen.\",\"AMARAN: Jangan berikan kod ini kepada orang lain! Kod ini untuk kegunaan peribadi sahaja. Sila ambil perhatian bahawa pautan akan kekal.\"\n\"TID_CONFIRM_DEVICE_LINKING\",\"Confirm linking\",\"Confirmer l'association\",\"Verbinden bestätigen\",\"Confirmar enlace\",\"Conferma collegamento\",\"Koppelen bevestigen\",\"Bekreft tilknytting\",\"Bağlantıyı onayla.\",\"関連づけの確認\",\"연동 확인\",\"Подтвердить связь\",\"تأكيد الربط\",\"Confirmar vinculação\",\"确认关联\",\"確認關聯\",\"تأیید اتصال\",\"Konfirmasi penautan\",\"Sahkan pautan\"\n\"TID_CONFIRM_DEVICE_LINK_TEXT\",\"Are you absolutely sure you want to delete the current game and replace it with:\",\"Voulez-vous vraiment supprimer la partie actuelle et la remplacer par :\",\"Willst du den aktuellen Spielstand wirklich löschen und ihn hierdurch ersetzen:\",\"Piensa bien si quieres eliminar la partida actual y reemplazarla por esta otra:\",\"Vuoi davvero eliminare la partita attuale e sostituirla con:\",\"Weet je zeker dat je het huidige spel wilt verwijderen en wilt vervangen door:\",\"Er du sikker på at du vil slette det nåværende spillet og erstatte det med:\",\"Mevcut oyunu silip şununla değiştirmek istediğinden kesinlikle emin misin?\",\"現在のデータを削除して、次のデータに変更しますか？ ：\",\"정말로 현재의 게임 정보를 삭제하고 다음 정보와 교체할까요?\",\"Вы уверены, что хотите удалить деревню и заменить ее:\",\"هل تريد بالتأكيد حذف اللعبة الحالية واستبدالها بـ:\",\"Tem certeza de que quer excluir a conta atual e substituí-la por:\",\"您确定要删除当前游戏进度并替换为：\",\"您確定要刪除當前遊戲進度並替換為：\",\"وقعاً مطمئنی که می‌خوای بازی فعلی رو پاک کنی تا تعویض بشه با:\",\"Yakin ingin menghapus game saat ini dan menggantinya dengan:\",\"Anda benar-benar pasti ingin memadam permainan semasa anda dan menggantikannya dengan:\"\n\"TID_LINK_DEVICES_ENTER_CODE_TITLE\",\"Enter link code\",\"Saisie du code d'association\",\"Verbindungscode eingeben\",\"Introducir código de enlace\",\"Inserisci codice di collegamento\",\"Voer koppelcode in\",\"Skriv inn tilknyttingskoden\",\"Bağlantı kodunu gir\",\"関連づけコードを入力\",\"연동 코드 입력\",\"Ввести код привязки\",\"أدخل رمز الربط\",\"Inserir código de vinculação\",\"输入关联代码\",\"輸入關聯代碼\",\"کد اتصال رو وارد کن\",\"Masukkan kode tautan\",\"Masukkan kod pautan\"\n\"TID_LINK_DEVICES_ENTER_CODE_TEXT\",\"(To get a link code: on the old device, go to the link screen and tap the \\qThis is the OLD device\\q button.)\",\"(Pour obtenir un code d'association : sur l'ancien appareil, accédez à l'écran d'association, puis touchez le bouton \\qCeci est l'ANCIEN APPAREIL\\q.)\",\"(So erhältst du einen Verbindungscode: Tippe auf dem alten Gerät im Verbindungsmenü auf die Schaltfläche \\qDas ist das ALTE Gerät\\q.)\",\"(Para obtener el código de enlace, ve a la pantalla de enlace en el antiguo dispositivo y toca Este es el antiguo dispositivo).\",\"(Per ottenere un codice di collegamento: sul vecchio dispositivo, vai alla schermata del collegamento e tocca il pulsante \\qQuesto è il VECCHIO dispositivo\\q.)\",\"(Zo krijg je een koppelcode: ga op het oude apparaat naar het koppelscherm en tik op 'Dit is het OUDE apparaat'.)\",\"(Slik får du en tilknyttingskode: På den gamle enheten går du til skjermen for tilknytting og trykker på knappen \\qDette er den GAMLE enheten\\q.)\",\"(Bağlantı kodunu almak için: Eski cihazda bağlantı ekranına git ve \\qBu ESKİ cihaz\\q düğmesine dokun.)\",\"(関連づけコードを入手するには、古いデバイスで関連づけ画面に移動し、「これは古いデバイスです」ボタンをタップします。)\",\"(연동 코드를 받으려면 이전 기기에서 연동 화면으로 간 후 \\q이전 기기\\q 버튼을 탭하세요.)\",\"(Чтобы получить код привязки: на старом устройстве перейдите в экран связи и коснитесь кнопки «Это СТАРОЕ УСТРОЙСТВО».)\",\"(للحصول على رمز الربط: في الجهاز الآخر، انتقل إلى شاشة الربط وانقر على الزر \\qهذا هو الجهاز القديم\\q.)\",\"(Para obter um código de vinculação: no dispositivo antigo, vá até a tela de vinculação e toque no botão \\qEste é o dispositivo ANTIGO\\q).\",\"（如要获取关联代码：在原有设备上，转到关联设备操作界面，单击\\q这是原有设备\\q按钮。）\",\"（如要獲取關聯代碼：在原有裝置上，轉到關聯裝置操作介面，按一下\\q這是原有裝置\\q按鈕。）\",\"(برای گرفتن کد اتصال: روی دستگاه قدیمی، به صفحه اتصال برو و روی دکمه \\qاین دستگاه قدیمی هست\\q ضربه بزن.)\",\"(Untuk mendapatkan kode tautan: di perangkat lama, buka layar tautan, dan ketuk tombol \\qIni perangkat LAMA\\q).\",\"(Untuk mendapatkan kod pautan: pada peranti lama, pergi ke skrin dan ketik butang \\qIni ialah peranti LAMA\\q.\"\n\"TID_LINK_DEVICES_ENTER_CODE_TEXT2\",\"Enter the link code here:\",\"Saisissez le code d'association ici :\",\"Verbindungscode hier eingeben:\",\"Introduce el código de enlace:\",\"Inserisci qui il codice di collegamento:\",\"Voer hier de koppelcode in:\",\"Skriv inn tilknyttingskoden her:\",\"Bağlantı kodunu buraya gir:\",\"ここでリンクコードを入力してください：\",\"연동 코드를 입력하세요.\",\"Введите код привязки:\",\"أدخل رمز الربط هنا:\",\"Insira o código de vinculação aqui:\",\"在此输入关联代码：\",\"在此輸入關聯代碼：\",\"کد اتصال رو اینجا وارد کن:\",\"Masukkan kode tautan di sini:\",\"Masukkan kod pautan di sini:\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER\",\"Not logged into Game Center\",\"Pas de connexion au Game Center\",\"Nicht bei Game Center angemeldet\",\"Sin conexión con Game Center\",\"Non hai effettuato l'accesso al Game Center\",\"Niet aangemeld bij Game Center\",\"Ikke logget på Game Center\",\"Game Center'da oturum açılmadı\",\"Game Centerにログインしていません\",\"Game Center에 로그인하지 않았습니다.\",\"Вы не подключены к Game Center\",\"لم يتم تسجيل الدخول إلى Game Center\",\"Não conectado ao Game Center\",\"未登录Game Center\",\"未登入Game Center\",\"وارد Game Center نشدی\",\"Belum masuk ke Game Center\",\"Tidak dilog masuk ke Game Center\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER_TEXT\",\"Please log into Game Center to perform the device link. To do this, launch the Game Center app and log in from there. Then try again.\",\"Connectez-vous au Game Center pour procéder à l'association. Lancez l'application Game Center et connectez-vous, puis réessayez.\",\"Bitte bei Game Center anmelden, um die Geräteverbindung durchzuführen. Starte hierzu die Game Center-App und melde dich von dort aus an. Versuche es dann erneut.\",\"Inicia sesión en Game Center para poder enlazar dispositivos. Para ello, entra en la aplicación Game Center e inicia sesión desde ahí. Luego vuelve a intentarlo.\",\"Effettua l'accesso al Game Center per collegare il dispositivo: avvia l'applicazione del Game Center, effettua l'accesso con essa, quindi riprova.\",\"Meld je aan bij Game Center om het apparaat te koppelen. Dit doe je door de Game Center-app te openen en je daar aan te melden. Probeer het dan opnieuw.\",\"Logg deg inn på Game Center for å knytte til enheten. Åpne Game Center-appen, og logg deg inn derfra. Prøv deretter på nytt.\",\"Lütfen cihaz bağlantısı için Game Center'a giriş yap. Bunu yapmak için Game Center uygulamasını çalıştır ve oradan giriş yap. Ardından tekrar dene.\",\"デバイスの関連づけを実行するには、Game Centerにログインしてください。ログインするにはGame Centerアプリを起動します。\",\"기기를 연동하려면 Game Center에 로그인해야 합니다. Game Center를 실행한 후 로그인하세요. 그 후 다시 시도해주세요.\",\"Пожалуйста, войдите в Game Center, чтобы привязать устройство. Для этого запустите приложение Game Center и войдите в вашу учетную запись. Затем попробуйте снова.\",\"يُرجى تسجيل الدخول إلى Game Center لإجراء الربط بالجهاز. للقيام بذلك، شغّل تطبيق Game Center وسجّل الدخول منه. ثم حاول مرة أخرى.\",\"Faça login no Game Center para vincular o dispositivo. Para isso, inicie o aplicativo do Game Center e faça login. A seguir, tente novamente.\",\"请登录苹果Game Center以执行设备关联操作。要这样做，请启动Game Center应用程序，然后从该程序登录。然后请重新尝试设备关联操作！\",\"請登入蘋果遊戲中心(Game Center)以執行裝置關聯操作。要這樣做，請啟動蘋果遊戲中心應用程式，然後從該程式登入。退出並重新進入關聯介面即可獲取新代碼。\",\"لطفاً برای انجام اتصال دستگاه وارد Game Center بشید. برای این کار، برنامه Game Center رو فعال کن و از اونجا وارد سیسم شو. بعد دوباره امتحان کن.\",\"Masuklah ke Game Center untuk melakukan penautan perangkat. Buka aplikasi Game Center dan masuk dari sana. Lalu coba lagi.\",\"Sila log masuk ke Game Center untuk melakukan pautan peranti. Untuk melakukannya, lancarkan aplikasi Game Center dan log masuk dari situ. Kemudian, cuba lagi.\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER_TENCENT_IOS\",\"Not logged in\",\"Pas de connexion\",\"Nicht angemeldet\",\"Sesión no iniciada\",\"Accesso non effettuato\",\"Niet aangemeld\",\"Ikke pålogget\",\"Giriş yapılmadı\",\"ログインしていません\",\"로그인되지 않음\",\"Нет подключения\",\"غير مسجل الدخول\",\"Não logado\",\"未登录\",\"未登入\",\"وارد نشدی\",\"Belum masuk\",\"Tidak dilog masuk\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER_TEXT_TENCENT_IOS\",\"Please log into WeChat or QQ to perform the device link. Then try again.\",\"Veuillez vous connecter à WeChat ou QQ pour lier les appareils, puis réessayez.\",\"Bitte melde dich bei WeChat oder QQ an, um das Gerät zu verbinden und versuche es dann erneut.\",\"Inicia sesión en WeChat o QQ para vincular el dispositivo y vuelve intentarlo.\",\"Effettua l'accesso a WeChat o QQ per collegare il dispositivo, quindi riprova.\",\"Meld je aan bij WeChat of QQ om het apparaat te koppelen. Probeer het vervolgens opnieuw.\",\"Logg på WeChat eller QQ for å knytte til enheten. Prøv deretter en gang til.\",\"Cihaz bağlama için lütfen WeChat ya da QQ'ya giriş yap. Ardından tekrar dene.\",\"デバイスの関連づけを実行するには、WeChatまたはQQにログインしてから再度操作してください。\",\"기기를 연동하려면 WeChat 또는 QQ에 로그인한 뒤 다시 시도해 주세요.\",\"Пожалуйста, войдите в учетную запись WeChat или QQ, чтобы привязать устройство. Попробуйте снова.\",\"يرجى تسجيل الدخول إلى WeChat أو QQ لإجراء ربط الجهاز. ثم حاول ثانية.\",\"Faça login no WeChat ou QQ e tente novamente.\",\"请先登录微信或QQ，然后再次尝试关联操作。\",\"請先登入微信或QQ，然後再次嘗試關聯操作。\",\"برای اتصال دستگاه لطفاً وارد WeChat یا QQ شو. بعد دوباره امتحان کن.\",\"Masuklah ke WeChat atau QQ untuk melakukan penautan perangkat. Lalu coba lagi.\",\"Sila log masuk ke WeChat atau QQ untuk melakukan pautan peranti. Kemudian, cuba lagi.\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER_ANDROID\",\"Not signed in to Google Play\",\"Pas de connexion à Google Play\",\"Nicht bei Google Play angemeldet\",\"Sin conexión con Google Play\",\"Non hai effettuato l'accesso a Google Play\",\"Niet aangemeld bij Google Play\",\"Ikke logget på Google Play\",\"Google Play girişi yapılmadı\",\"Google Playにログインしていません\",\"Google Play에 로그인하지 않았습니다.\",\"Вы не вошли в Google Play\",\"لم يتم تسجيل الدخول إلى Google Play\",\"Não conectado ao Google Play\",\"未登录Google Play\",\"未登入Google Play\",\"وارد Google Play نشده\",\"Belum masuk ke Google Play\",\"Tidak didaftar masuk ke Google Play\"\n\"TID_DEVICE_LINK_ERROR_GAME_CENTER_TEXT_ANDROID\",\"Please sign into Google Play to perform the device link. To do this, tap the Google Play Sign-In button in the settings screen. Then try again.\",\"Connectez-vous à Google Play pour procéder à l'association. Pour ce faire, touchez le bouton de connexion Google Play sur l'écran des paramètres, puis réessayez.\",\"Bitte bei Google Play anmelden, um die Geräteverbindung durchzuführen. Tippe hierzu in den Einstellungen auf die Anmeldeschaltfläche von Google Play. Versuche es dann erneut.\",\"Conecta con Google Play para poder enlazar dispositivos. Para ello, toca el botón para conectar con Google Play en la pantalla de ajustes. Luego vuelve a intentarlo.\",\"Effettua l'accesso a Google Play per collegare il dispositivo: tocca il pulsante di accesso a Google Play nella schermata delle impostazioni, quindi riprova.\",\"Meld je aan bij Google Play om het apparaat te koppelen. Dit doe je door op de knop Google Play Sign-In in het scherm Instellingen te tikken. Probeer het daarna opnieuw.\",\"Logg deg inn på Google Play for å knytte til enheten. Trykk på Logg på Google Play-knappen i innstillingsskjermen. Prøv deretter på nytt.\",\"Lütfen cihaz bağlantısı için Google Play girişi yap. Bunun için ayarlar ekranındaki Google Play ile Giriş düğmesine dokun. Daha sonra tekrar dene.\",\"デバイスの関連づけを実行するにはGoogle Playにログインしてください。設定画面にあるGoogle Playのサインインボタンをタップしてから、再度実行してください。\",\"기기를 연동하려면 Google Play에 로그인해주세요. 설정 화면에서 Google Play 계정 로그인 버튼을 누른 후 다시 시도해주세요.\",\"Пожалуйста, войдите в учетную запись Google Play для привязки устройства. Для этого коснитесь кнопки Google Play Вход в настройках. Затем попробуйте снова.\",\"يُرجى تسجيل الدخول إلى Google Play لإجراء الربط بالجهاز. للقيام بذلك، انقر فوق زر تسجيل الدخول إلى Google Play في شاشة الإعدادات. ثم حاول مرة أخرى.\",\"Faça login no Google Play para vincular o dispositivo. Para isso, toque no botão Login no Google Play na tela de configurações. A seguir, tente novamente.\",\"请登录Google Play以进行此设备关联操作。在设置界面上点击\\qGoogle Play 登录\\q按钮。尝试再次登录。\",\"請登入Google Play以進行裝置關聯操作。在設定介面上點擊\\qGoogle Play 登入\\q按鈕。嘗試再次登入。\",\"لطفاً برای انجام اتصال دستگاه وارد Google Play بشید. برای این کار، روی دکمه ورود به سیستم Google Play روی صفحه تنظیمات ضربه بزن. بعد دوباره امتحان کن.\",\"Masuklah ke Google Play untuk melakukan penautan perangkat. Ketuk tombol Google Play Sign-In di layar setelan. Lalu coba lagi.\",\"Sila daftar masuk ke Google Play untuk melakukan pautan peranti. Untuk melakukannya, ketik butang Google Play Sign-In dalam skrin tetapan. Kemudian, cuba lagi.\"\n\"TID_DEVICE_LINK_ERROR_TIMEOUT\",\"Link code expired\",\"Code d'association expiré\",\"Verbindungscode abgelaufen\",\"Código de enlace caducado\",\"Codice di collegamento scaduto\",\"Koppelcode verlopen\",\"Tilknyttingskode utløpt\",\"Bağlantı kodunun süresi geçti\",\"関連づけコードの期限切れ\",\"만료된 연동 코드\",\"Время действия кода привязки истекло\",\"انتهت صلاحية رمز الربط\",\"Código de vinculação expirado\",\"关联代码失效\",\"關聯代碼失效\",\"کد اتصال منقضی شده\",\"Kode tautan kedaluwarsa\",\"Kod pautan telah tamat tempoh\"\n\"TID_DEVICE_LINK_ERROR_TIMEOUT_TEXT\",\"The link code has expired. The code must be entered into the new device within <time>.\\n\\nYou can get a new code easily just by re-entering the link code screen.\",\"Le code d'association a expiré. Vous disposiez de <time> pour entrer le code sur le nouvel appareil.\\n\\nVous pouvez récupérer un nouveau code facilement en revenant sur l'écran de code d'association.\",\"Der Verbindungscode ist abgelaufen. Der Code muss auf dem neuen Gerät innerhalb von <time> eingegeben werden.\\n\\nDu kannst dir einfach einen neuen Code holen, indem du erneut den Bereich \\qVerbindungscode\\q aufrufst.\",\"El código de enlace ha caducado. Disponías de <time> para introducirlo.\\n\\nVe a la pantalla del código de enlace para conseguir otro.\",\"Il codice di collegamento è scaduto. Devi inserire il codice sul nuovo dispositivo entro <time>.\\n\\nPuoi ottenere un nuovo codice facilmente accedendo nuovamente alla schermata del codice di collegamento.\",\"Deze koppelcode is verlopen. De code moeten binnen <time> op het nieuwe apparaat worden ingevoerd.\\n\\nJe kunt een nieuwe code opvragen door het scherm met de koppelcode opnieuw te openen.\",\"Tilknyttingskoden har utløpt. Koden må skrives inn på den nye enheten innen <time>.\\n\\nDu kan enkelt få en ny kode ved å gå tilbake til skjermen med tilknyttingskoder.\",\"Bağlantı kodunun süresi geçti. Kod, yeni cihaza <time> içinde girilmeli.\\n\\nBağlantı kodu ekranına yeniden girerek rahatça yeni bir kod alabilirsin.\",\"この関連づけコードの期限が切れています。コードは新しいデバイスに<time>以内に入力する必要があります。\\n\\n関連づけコード画面に再び入ることですぐに新しいコードが入手できます。\",\"만료된 연동 코드입니다. 연동 코드는 새로운 기기에 <time> 내로 입력해야 합니다.\\n\\n연동 코드 화면을 다시 찾아가면 손쉽게 새 코드를 받을 수 있습니다.\",\"Время действия кода привязки истекло. Код необходимо ввести на новом устройстве в течение <time>.\\n\\nПолучить новый код легко: нужно снова войти в экран кода привязки.\",\"انتهت صلاحية رمز الربط. يجب إدخال الرمز إلى الجهاز الجديد خلال <time>.\\n\\nيمكنك الحصول على رمز جديد بسهولة عن طريق إعادة الدخول إلى شاشة رمز الربط.\",\"O código de vinculação expirou. O código deve ser inserido no novo dispositivo em <time>.\\n\\nVocê pode obter facilmente um novo código voltando para a tela do código de vinculação.\",\"关联代码已经失效。您必须在<time>内将代码输入新添设备。\\n\\n重新进入关联代码窗口，您即可得到一个新的代码。\",\"關聯代碼已經失效。您必須在<time>內將代碼輸入新的裝置。\\n\\n重新進入關聯代碼視窗，您即可得到一個新的代碼。\",\"کد اتصال منقضی شده. باید در مدت <time> کد توی دستگاه جدید وارد بشه.\\n\\nخیلی راحت می‌تونی با ورود دوباره به صفحه کد اتصال دوباره کد جدید بگیری.\",\"Kode tautan telah kedaluwarsa. Kode harus dimasukkan ke dalam perangkat baru dalam <time>.\\n\\nDapatkan kode baru dengan mudah hanya dengan masuk lagi ke layar kode tautan.\",\"Kod pautan telah tamat tempoh. Kod mesti dimasukkan ke peranti baharu dalam <time>.\\n\\nAnda boleh mendapat kod baharu dengan mudah hanya memasuki semula skrin kod pautan.\"\n\"TID_DEVICE_LINK_ERROR_TOO_MANY_DEVICES\",\"Too many linked devices\",\"Trop d'appareils associés\",\"Zu viele verbundene Geräte\",\"Demasiados dispositivos enlazados\",\"Troppi dispositivi collegati\",\"Te veel gekoppelde apparaten\",\"For mange tilknyttede enheter\",\"Çok fazla cihaz bağlanmış\",\"関連づけされたデバイスが多過ぎます\",\"연동된 기기가 너무 많습니다.\",\"Связано слишком много устройств\",\"يوجد عدد كبير من الأجهزة المرتبطة\",\"Excedeu o nº de dispositivos vinculados\",\"关联的设备太多\",\"關聯的裝置太多\",\"بیش از اندازه دستگاه متصل شده\",\"Terlalu banyak perangkat yang tertaut\",\"Terlalu banyak peranti yang dipautkan\"\n\"TID_DEVICE_LINK_ERROR_TOO_MANY_DEVICES_TEXT\",\"You have already linked 10 devices, which is the maximum allowed.\\n\\nIf you want to remove some of the old devices, please contact us through the Help and Support page.\",\"Vous avez déjà associé le maximum autorisé de 10 appareils.\\n\\nSi vous souhaitez supprimer certains des anciens appareils, contactez-nous via la rubrique Aide et assistance.\",\"Du hast bereits die erlaubte Höchstzahl von 10 Geräten verbunden.\\n\\nWenn du einige alte Geräte entfernen willst, kontaktiere uns bitte über die Seite \\qHilfe und Kundendienst\\q.\",\"Ya has enlazado 10 dispositivos, que es el máximo permitido.\\n\\nPara eliminar algún dispositivo, ponte en contacto con nosotros a través de Ayuda y asistencia.\",\"Hai già collegato 10 dispositivi, raggiungendo il numero massimo consentito.\\n\\nSe desideri eliminare alcuni dei vecchi dispositivi, contattaci tramite la pagina Guida e assistenza.\",\"Je hebt al 10 apparaten gekoppeld en dat is het maximale aantal.\\n\\nAls je een van de oude apparaten wilt verwijderen, neem dan contact met ons op via de pagina Hulp en ondersteuning.\",\"Du har allerede knyttet sammen 10 enheter, som er det maksimale antallet.\\n\\nHvis du vil fjerne noen av de gamle enhetene, kan du kontakte oss gjennom Hjelp og støtte-siden.\",\"Maksimum izin verilen 10 cihazı zaten bağladın.\\n\\nEski cihazlarından bazılarını kaldırmak istersen lütfen Yardım ve Destek sayfa aracılığı ile bizimle bağlantıya geç.\",\"既に最大数である10台のデバイスが関連づけられています。\\n\\n一部の古いデバイスの削除を希望する場合、ヘルプとサポートページからお問合せください。\",\"이미 연동할 수 있는 최대 개수인 10개의 기기에 연동했습니다.\\n\\n만약 이전 기기 중 일부를 제거하고 싶으면 도움말 및 지원 페이지를 통해 문의해주세요.\",\"Вы уже связали 10 устройств, это разрешенный максимум.\\n\\nЕсли вы хотите удалить какие-либо из старых устройств, пожалуйста, свяжитесь с нами через меню «Помощь и поддержка».\",\"لقد قمت بالفعل بربط 10 أجهزة، وهذا هو أقصى عدد مسموح به.\\n\\nإذا أردت حذف بعض الأجهزة القديمة، يُرجى الاتصال بنا من خلال صفحة التعليمات والدعم.\",\"Você atingiu o limite de 10 dispositivos vinculados.\\n\\nPara remover dispositivos antigos, entre em contato por meio da página Ajuda e Suporte.\",\"您已关联了 10 台设备，这是允许的最大关联数量。\\n\\n如要移除某些原有设备，请通过帮助和支持中心页面联系我们。\",\"您已關聯了 10 台裝置，已達到了最大關聯數量。\\n\\n如要移除某些舊裝置，請通過幫助與支援中心頁面聯繫我們。\",\"قبلاً 10 دستگاه متصل کردی، که حداکثر تعداد مجاز هست.\\n\\nاگر می‌خوای بعضی از دستگاه‌های قدیمی رو حذف کنی، لطفاً از طریق صفحه کمک و پشتیبانی با ما تماس بگیر.\",\"Sepuluh perangkat sudah tertaut, yaitu jumlah maksimum yang diizinkan.\\n\\nJika kamu ingin menghapus beberapa perangkat lama, hubungi kami melalui halaman Bantuan dan Dukungan.\",\"Anda telah memautkan 10 peranti, iaitu maksimum yang dibenarkan.\\n\\nJika anda ingin mengeluarkan beberapa peranti lama, sila hubungi kami melalui halaman Bantuan dan Sokongan.\"\n\"TID_DEVICE_LINK_ERROR_INVALID_LINK_CODE\",\"Invalid link code\",\"Code d'association non valide\",\"Verbindungscode ungültig\",\"Código de enlace incorrecto\",\"Codice di collegamento non valido\",\"Ongeldige koppelcode\",\"Ugyldig tilknyttingskode\",\"Geçersiz bağlantı kodu\",\"コードが無効です\",\"잘못된 연동 코드\",\"Неверный код привязки\",\"رمز ربط غير صالح\",\"Código de vinculação inválido\",\"无效的关联代码\",\"無效的關聯代碼\",\"کد اتصال نامعتبر\",\"Kode tautan tidak valid\",\"Kod pautan tidak sah\"\n\"TID_DEVICE_LINK_ERROR_INVALID_LINK_CODE_TEXT\",\"The code you entered is wrong, or it has expired. Carefully make sure you enter the code exactly as it is shown on the other device.\\n\\nPlease tap the back arrow to try again.\\n\\nNote: A code can be used only once and it will expire in <time>. You can always get a new code by exiting and entering the Link screen again.\",\"Le code d'association entré est incorrect, ou a expiré. Vérifiez soigneusement que le code a été saisi exactement tel qu'il est affiché sur l'autre appareil.\\n\\nTouchez la flèche de retour pour réessayer.\\n\\nRemarque : les codes sont à usage unique et expirent après <time>. Vous pouvez récupérer un nouveau code en revenant sur l'écran de code d'association.\",\"Der von dir eingegebene Code ist falsch oder bereits abgelaufen. Überprüfe bitte, ob du den Code genau so eingegeben hast, wie er auf dem anderen Gerät angezeigt wird.\\n\\nTippe auf den Zurück-Pfeil und versuche es erneut.\\n\\nHinweis: Ein Code kann nur einmal verwendet werden und verfällt nach <time>. Du kannst dir jederzeit einen neuen Code holen, indem du den Bereich \\qVerbinden\\q erneut aufrufst.\",\"El código que has introducido es erróneo o ha expirado. Asegúrate de introducir el código exactamente como se muestra en el otro dispositivo.\\n\\nToca la flecha para volver atrás e intentarlo de nuevo.\\n\\nAviso: Solo puedes usar un código una vez y expirará en <time>. Siempre puedes conseguir un código nuevo saliendo y volviendo de nuevo a la pantalla de enlace.\",\"Il codice inserito è errato o scaduto. Assicurati di inserire il codice esattamente come è mostrato sull'altro dispositivo.\\n\\nTocca la freccia indietro per riprovare.\\n\\nNota: puoi usare un codice solo una volta. Il codice è valido per <time>. Puoi sempre ottenere un nuovo codice uscendo dalla schermata dei collegamenti e accedendovi nuovamente.\",\"De code die je hebt ingevoerd, is fout of is verlopen. Controleer of je de code hebt ingevoerd zoals deze op het andere apparaat wordt getoond.\\n\\nTik op de pijl om het opnieuw te proberen.\\n\\nLet op: een code kan slechts één keer worden gebruikt en verloopt na <time>. Je kunt altijd een nieuwe code opvragen door het koppelscherm te verlaten en opnieuw te openen.\",\"Koden du skrev inn, er feil eller har utløpt. Pass på at du skriver inn koden nøyaktig som den vises på den andre enheten.\\n\\nTrykk på tilbakepilen for å prøve igjen.\\n\\nMerk: En kode kan bare brukes én gang, og utløper etter <time>. Du kan få en ny kode ved å lukke og gå til skjermen for tilknytting igjen.\",\"Girdiğin kod yanlış veya süresi geçmiş. Kodu diğer cihazda göründüğü şekliyle birebir girdiğinden emin ol.\\n\\nTekrar denemek için lütfen geri okuna dokun.\\n\\nUyarı: Bir kod sadece bir kez kullanılabilir ve <time> sonra geçersiz kalır. Bu ekrandan çıkıp Bağlantı ekranına tekrar girerek yeni bir kod alabilirsin.\",\"入力したコードが間違っているか、期限切れになっています。もう一つのデバイスに表示されているコードを確認してください。\\n\\n戻る矢印をタップして再試行してください。\\n\\n注意：コードは一度しか使えず、<time>で期限が切れます。関連づけ画面を出てから入り直すことで新しいコードが入手できます。\",\"입력하신 연동 코드는 만료되었거나 잘못 입력하신 코드입니다. 다른 기기에 표시된 코드를 정확히 입력하세요.\\n\\n뒤로 가기 화살표를 탭하여 다시 시도하세요.\\n\\n주의: 코드는 단 한 번만 사용할 수 있으며 <time> 이후에는 만료됩니다. 언제든지 연동 코드 화면을 다시 찾아가면 손쉽게 새 코드를 받을 수 있습니다.\",\"Введенный вами код неверен, или срок его действия истек. Убедитесь в том, что вы ввели тот же код, который показан на другом устройстве.\\n\\nПожалуйста, коснитесь кнопки «Назад» и попробуйте снова.\\n\\nЗапомните: код можно ввести лишь однажды, и срок его действия истекает через <time>. Вы всегда можете получить новый код, вновь войдя в экран привязки устройства.\",\"الرمز الذي أدخلته غير صحيح أو انتهت صلاحيته. تأكد بحرص من إدخال الرمز بدقة كما هو معروض على الجهاز الآخر.\\n\\nيُرجى النقر فوق سهم العودة للمحاولة مرة أخرى.\\n\\nملاحظة: لا يمكن استخدام الرمز سوى مرة واحدة وستنتهي صلاحيته خلال <time>. يمكنك دائمًا الحصول على رمز جديد عن طريق الخروج والدخول إلى شاشة الربط مرة أخرى.\",\"O código que você inseriu está errado ou expirou. Certifique-se de inserir o código exatamente como aparece no outro dispositivo.\\n\\nToque na seta para voltar e tente novamente.\\n\\nObservação: o código só pode ser usado uma vez e expira em <time>. É possível obter um novo código a qualquer momento saindo e entrando novamente na tela Vincular.\",\"您输入的代码错误，或已经失效。请确保您输入的代码与原有设备上显示的完全相同。\\n\\n请点击后退箭头，重试一次。\\n\\n注意：一个代码只能使用一次，并且会在<time>内失效。退出并重新进入关联界面即可获取新代码。\",\"您輸入的代碼錯誤，或已經失效。請確保您輸入的代碼與原有裝置上顯示的完全相同。\\n\\n請點擊後退箭頭，重試一次。\\n\\n注意：一個代碼只能使用一次，並且會在<time>內失效。退出並重新進入關聯介面即可獲取新代碼。\",\"کدی که وارد کردی نادرست هست، یا منقضی شده. بادقت مطمئن شو که دقیقاً همون کدی که روی دستگاه دیگه نشون داده شده رو وارد کردی.\\n\\nلطفاً برای امتحان دوباره روی فلش عقب ضربه بزن.\\n\\nتوجه: فقط یک بار میشه از یک کد استفاده کرد و بعد از <time> منقضی میشه. همیشه می‌تونی با خروج و ورود دوباره به صفحه اتصال یک کد جدید بگیری.\",\"Kode yang dimasukkan salah, atau sudah kedaluwarsa. Hati-hati, pastikan kode yang dimasukkan sama persis dengan yang ditampilkan di perangkat satunya.\\n\\nKetuk panah Kembali untuk mencoba lagi.\\n\\nCatatan: Kode hanya dapat digunakan satu kali dan akan kedaluwarsa dalam <time>. Dapatkan kode baru dengan keluar dan masuk lagi ke layar Tautan.\",\"Kod yang anda masukkan salah, atau telah tamat tempoh. Dengan berhati-hati, pastikan anda memasukkan kod seperti yang ditunjukkan pada peranti lain.\\n\\nSila ketik anak panah undur untuk mencuba lagi.\\n\\nNota: Kod boleh digunakan hanya sekali dan akan tamat tempoh dalam <time>. Anda sentiasa boleh mendapatkan kod baharu dengan keluar dan memasuki skrin Pautan sekali lagi.\"\n\"TID_DEVICE_LINK_ERROR_OLD_DEVICE_NOT_ACTIVE\",\"Old device not active\",\"Ancien appareil inactif\",\"Altes Gerät nicht aktiv\",\"Antiguo dispositivo no activo\",\"Dispositivo precedente non attivo\",\"Oud apparaat niet actief\",\"Gammel enhet ikke aktiv\",\"Eski cihaz aktif değil\",\"古いデバイスがアクティブになっていません\",\"이전 기기의 비활성화 상태\",\"Старое устройство неактивно\",\"الجهاز القديم غير نشط\",\"Dispositivo antigo inativo\",\"原有设备没有打开\",\"原有裝置沒有打開\",\"دستگاه قدیمی فعال نیست\",\"Perangkat lama tidak aktif\",\"Peranti lama tidak aktif\"\n\"TID_DEVICE_LINK_ERROR_OLD_DEVICE_NOT_ACTIVE_TEXT\",\"To successfully link your devices, the old device needs to be active and displaying the link code screen.\",\"Pour permettre l'association, l'ancien appareil doit être actif et afficher l'écran de code d'association.\",\"Um deine Geräte erfolgreich verbinden zu können, muss das alte Gerät aktiv sein und den Verbindungscode anzeigen.\",\"Para poder enlazar tus dispositivos, el dispositivo antiguo necesita estar activado y mostrando la pantalla de código de enlace.\",\"Per collegare i tuoi dispositivi, il dispositivo precedente deve essere attivo e mostrare la schermata del codice di collegamento.\",\"Als je apparaten wilt koppelen, moet het oude apparaat geactiveerd zijn en moet het scherm met de koppelcode worden weergeven.\",\"Hvis du skal knytte sammen enhetene, må den gamle enheten være aktiv og vise skjermen med tilknyttingskoden.\",\"Cihazlarını başarılı bir şekilde bağlaman için eski cihazın aktif olması ve bağlantı kodu ekranını görüntülemesi gerekir.\",\"関連付けを完了させるには古いデバイスがアクティブになっており、関連づけ画面が表示されている必要があります。\",\"기기들을 성공적으로 연동하려면 이전 기기가 연동 코드를 화면에 표시한 채로 활성화 상태를 유지해야 합니다.\",\"Чтобы связать устройства, старое устройство должно быть активно, и на экране должен быть код показан привязки.\",\"لربط أجهزتك بنجاح، يجب تنشيط الجهاز القديم، وعرض شاشة رمز الربط.\",\"Para vincular seus dispositivos, o dispositivo antigo deve estar ativo e exibindo a tela de código de vinculação.\",\"为了成功地关联您的设备，请打开原有设备并进入关联代码窗口。\",\"為了成功地關聯您的裝置，請打開原有裝置並進入關聯代碼視窗。\",\"برای اتصال موفق دستگاه‌ها، دستگاه قدیمی باید فعال باشه و صفحه کد اتصال نمایش داده بشه.\",\"Agar sukses menyambungkan perangkat, perangkat lama harus aktif dan menampilkan layar kode tautan.\",\"Untuk berjaya memautkan peranti anda, peranti lama perlu aktif dan memaparkan skrin kod pautan.\"\n\"TID_ERROR_POP_UP_LOGGED_FROM_ANOTHER_DEVICE_TITLE\",\"Connection lost\",\"Connexion perdue\",\"Verbindung unterbrochen\",\"Conexión perdida\",\"Connessione persa\",\"Verbinding verbroken\",\"Forbindelse brutt\",\"Bağlantı koptu\",\"接続が切断されました\",\"연결 실패\",\"Связь потеряна\",\"انقطع الاتصال\",\"Conexão perdida\",\"连接断开\",\"失去連線\",\"اتصال قطع شد\",\"Sambungan terputus\",\"Sambungan hilang\"\n\"TID_ERROR_POP_UP_LOGGED_FROM_ANOTHER_DEVICE\",\"Another device is connecting to this game.\",\"Un autre appareil se connecte à cette partie.\",\"Ein anderes Gerät verbindet sich gerade mit diesem Spiel.\",\"Hay otro dispositivo conectándose a esta partida.\",\"Un altro dispositivo si sta collegando a questa partita.\",\"Een ander apparaat maakt verbinding met dit spel.\",\"En annen enhet er knyttet til dette spillet.\",\"Bu oyuna başka bir cihaz bağlanıyor.\",\"他のデバイスがこのセーブデータに接続しようとしています。\",\"이미 다른 기기에서 접속 중입니다.\",\"Другое устройство подключается к этой деревне.\",\"هناك جهاز آخر يتصل بهذه اللعبة.\",\"Outro dispositivo está conectado a esse jogo.\",\"另一个设备正在连接到这个游戏账号。\",\"另一個裝置正在連線到這個遊戲帳號。\",\"یک دستگاه دیگه به این بازی متصل شده.\",\"Perangkat lain tersambung ke game ini.\",\"Peranti lain menyambung ke permainan ini.\"\n\"TID_ERROR_POP_UP_LOGGED_FROM_ANOTHER_DEVICE_BUTTON\",\"Reload\",\"Recharger\",\"Neu laden\",\"Recargar\",\"Ricarica\",\"Herladen\",\"Last inn på nytt\",\"Yeniden yükle\",\"リロード\",\"다시 불러오기\",\"Перезапустить\",\"إعادة التحميل\",\"Recarregar\",\"重新加载\",\"重新載入\",\"بارگیری مجدد\",\"Muat ulang\",\"Muat semula\"\n\"TID_OPEN_GAMECENTER_BUTTON\",\"Open Game Center\",\"Ouvrir le Game Center\",\"Game Center öffnen\",\"Abrir Game Center\",\"Apri Game Center\",\"Open Game Center\",\"Åpne Game Center\",\"Game Center'ı aç\",\"Game Centerを開く\",\"Game Center 실행\",\"Открыть Game Center\",\"فتح Game Center\",\"Abrir o Game Center\",\"打开苹果游戏中心(Game Center)\",\"打開蘋果遊戲中心(Game Center)\",\"باز کردن Game Center\",\"Buka Game Center\",\"Buka Game Center\"\n\"TID_OPEN_GAMECENTER_BUTTON_ANDROID\",\"Sign in to Google\",\"Se connecter à Google\",\"Bei Google anmelden\",\"Conectar con Google\",\"Accedi a Google\",\"Meld je aan bij Google\",\"Logg på Google\",\"Google'a giriş yap\",\"Googleにサインイン\",\"Google 계정 로그인\",\"Войти в Google\",\"تسجيل الدخول إلى Google\",\"Fazer login com o Google\",\"登录Google\",\"登入 Google\",\"ورود به سیستم Google\",\"Masuk ke Google\",\"Daftar masuk ke Google\"\n\"TID_LINK_TARGET_IOS_BUTTON\",\"I want to link to\\nan iPhone, iPad or iPod\",\"Associer à un\\niPhone, iPad ou iPod\",\"Verbinden mit\\neinem iPhone, iPad oder iPod\",\"Dispositivo iOS\",\"Voglio collegare\\nun iPhone, iPad o iPod\",\"Ik wil met een\\niPhone, iPad of iPod koppelen\",\"Jeg vil knytte til\\nen iPhone, iPad eller iPod\",\"Bir iPhone, iPad veya iPod'a\\nbağlanmak istiyorum.\",\"iPhone、iPad、またはiPodに\\n関連づける\",\"iPhone, iPad 혹은 iPod\\n연동하기\",\"Получить код привязки к\\niPhone, iPad или iPod\",\"أرغب في الربط\\nبجهاز iPhone، أو iPad أو iPod\",\"Quero vincular um\\niPhone, iPad ou iPod\",\"我想关联\\niPhone, iPad或iPod\",\"我想關聯\\niPhone, iPad或iPod\",\"می‌خوام به\\nیک iPhone، iPad یا iPod متصل بشم\",\"Saya ingin menautkan ke\\niPhone, iPad, atau iPod\",\"Saya ingin pautkan ke\\niPhone, iPad atau iPod\"\n\"TID_LINK_TARGET_IOS_BUTTON_ANDROID\",\"I want to link to\\nan Android device\",\"Associer à un\\nappareil Android\",\"Verbinden mit\\neinem Android-Gerät\",\"Dispositivo Android\",\"Voglio collegare\\nun dispositivo Android\",\"Ik wil met een\\nAndroid-apparaat koppelen\",\"Jeg vil knytte til\\nen Android-enhet\",\"Bir Android cihazına\\nbağlanmak istiyorum\",\"Androidデバイスと\\n関連づける\",\"Android 기기에\\n연동하고 싶어요.\",\"Привязка к\\nустройству Android\",\"أرغب في الربط\\nبجهاز Android\",\"Quero vincular um\\ndispositivo Android\",\"我想关联一台安卓设备\",\"我想關聯一台安卓裝置\",\"می‌خوام به\\nیک دستگاه Android متصل بشم\",\"Saya ingin menautkan ke\\nperangkat Android\",\"Saya ingin pautkan ke\\nperanti Android\"\n\"TID_LINK_TARGET_OTHER_BUTTON\",\"I want to link to\\nanother device\",\"Associer à un\\nautre appareil\",\"Verbinden mit\\nanderem Gerät\",\"Otro dispositivo\",\"Voglio collegare\\nun altro dispositivo\",\"Ik wil met een\\nander apparaat koppelen\",\"Jeg vil knytte til\\nen annen enhet\",\"Başka bir cihaza\\nbağlanmak istiyorum\",\"他のデバイスに\\n関連づける\",\"다른 기기에\\n연동하고 싶어요.\",\"Привязка к\\nдругому устройству\",\"أرغب في الربط\\nبجهاز آخر\",\"Quero vincular\\noutro dispositivo\",\"我想关联另一种设备\",\"我想關聯另一種裝置\",\"می‌خوام به\\nیک دستگاه دیگه متصل بشم\",\"Saya ingin menautkan ke\\nperangkat lain\",\"Saya ingin pautkan ke\\nperanti lain\"\n\"TID_LINK_TARGET_DEVICE_TYPE\",\"Target Device\",\"Appareil cible\",\"Zielgerät\",\"Dispositivo de destino\",\"Dispositivo obiettivo\",\"Doelapparaat\",\"Målenhet\",\"Hedef Cihaz\",\"ターゲット デバイス\",\"대상 기기\",\"Целевое устройство\",\"الجهاز الهدف\",\"Dispositivo-alvo\",\"目标设备\",\"目標裝置\",\"دستگاه هدف\",\"Perangkat Target\",\"Peranti Sasaran\"\n\"TID_LINK_TARGET_DEVICE_TEXT\",\"Choose the type of the device you want to link to:\",\"Choisissez le type d'appareil voulu pour l'association :\",\"Wähle die Geräteart, die du verbinden willst:\",\"Escoge el tipo de dispositivo que quieres enlazar:\",\"Scegli il tipo di dispositivo che desideri collegare:\",\"Kies het type apparaat dat je wilt koppelen:\",\"Velg typen enhet du vil knytte til:\",\"Bağlamak istediğin cihazın türünü seç:\",\"関連づけるデバイスの種類を選択してください：\",\"연동하고자 하는 기기의 유형을 선택하세요.\",\"Выберите вид устройства, к которому вы хотите привязать игру:\",\"اختر نوع الحساب الذي ترغب ربطه بـ:\",\"Escolha o tipo de dispositivo que deseja vincular:\",\"请选择您要关联的设备类型：\",\"請選擇您要關聯的裝置類型：\",\"نوع دستگاهی که می‌خوای بهش متصل بشی رو انتخاب کن:\",\"Pilih jenis perangkat yang ingin disambungkan:\",\"Pilih jenis peranti yang ingin anda pautkan:\"\n\"TID_LINK_DEVICE_BUTTON\",\"Link a device\",\"Associer un appareil\",\"Gerät verbinden\",\"Enlazar dispositivo\",\"Collega un dispositivo\",\"Koppel een apparaat\",\"Knytt til en enhet\",\"Bir cihazı bağla\",\"デバイスを関連づける\",\"기기 연동\",\"Привязать устройство\",\"ربط جهاز\",\"Vincular um dispositivo\",\"关联另外一台设备\",\"關聯另外一台裝置\",\"اتصال یک دستگاه\",\"Tautkan perangkat\",\"Pautkan peranti\"\n\"TID_GOOGLE_SERVICE_CONNECT_TITLE\",\"Google Play Sign-In recommended\",\"Connexion Google Play recommandée\",\"Google Play-Anmeldung empfohlen\",\"Conectar con Google Play\",\"Accesso a Google Play consigliato\",\"Google Play Sign-In aanbevolen\",\"Det anbefales med Google Play Sign-In\",\"Google Play ile Giriş tavsiye edilir\",\"Google Playログインを推奨\",\"Google Play 계정 로그인 추천\",\"Рекомендуем войти в Google Play\",\"يُنصح بتسجيل الدخول إلى Google Play\",\"Login no Google Play recomendado\",\"建议用 Google Play 登录\",\"建議用 Google Play 登入\",\"ورود به سیستم Google Play توصیه می‌شود\",\"Google Play Sign-In disarankan\",\"Google Play Sign-In disyorkan\"\n\"TID_GOOGLE_SERVICE_CONNECT_TEXT\",\"Chief!\\n<c2>Safeguard your progress now</c> by signing in using your Google Play account.\\n\\nAfterward, <c2>you will always be able to restore your game on any Android device</c> whenever you sign in again using the same Google Play account.\",\"Chef !\\n<c2>Sauvegardez votre progression</c> en vous connectant à Google Play.\\n\\nCela vous permettra de <c2>restaurer votre partie sur n'importe quel appareil Android</c> quand vous utiliserez ce compte Google Play pour vous connecter.\",\"Häuptling!\\n<c2>Sichere jetzt deinen Fortschritt</c>, indem du dich mit deinem Google Play-Konto anmeldest.\\n\\nDanach <c2>kannst du dein Spiel jederzeit auf jedem Android-Gerät wiederherstellen</c>, indem du dich mit demselben Konto bei Google Play anmeldest.\",\"¡Jefe!\\n<c2>Para guardar tu progreso,</c> conecta tu partida con tu cuenta de Google Play.\\n\\nSi lo haces, <c2>podrás restablecer tu aldea en cualquier dispositivo Android</c> siempre que inicies sesión con esa misma cuenta de Google Play.\",\"Capo!\\n<c2>Salvaguarda i tuoi progressi</c> accedendo con il tuo account Google Play.\\n\\nIn seguito, <c2>potrai ripristinare la tua partita su qualsiasi dispositivo Android</c> effettuando di nuovo l'accesso con il medesimo account Google Play.\",\"\\n<c2>Sla je voortgang nu op</c> door je aan te melden met je Google Play-account.\\n\\nDaarna <c2>kun je je spel altijd herstellen wanneer je je opnieuw aanmeldt met hetzelfde Google Play-account op een ander Android-apparaat</c>.\",\"Høvding!\\n<c2>Beskytt fremdriften nå</c> ved å logge inn med Google Play-kontoen din.\\n\\nDa <c2>vil du kunne gjenopprette spillet på en annen Android-enhet</c> når du logger inn igjen med samme Google Play-konto.\",\"Şef!\\nGoogle Play hesabını kullanıp giriş yaparak <c2>ilerlemeni hemen güvence altına al</c>.\\n\\nSonra, aynı Google Play hesabını kullanıp giriş yaparak <c2>oyununa herhangi bir Android cihazından istediğin zaman ulaşabilirsin.</c>\",\"チーフ！\\nGoogle Playのアカウントにログインして<c2>ゲームの進行情報を保存しましょう</c>。\\n保存後は、Google Playアカウントでログインすれば\\nいつでも<c2>好きな時に好きなAndroidデバイスで、同じセーブデータを読み込める</c>ようになります。\",\"도전자님!\\n<c2>Google Play 계정에 로그인하여</c> 진행 내용을 안전하게 보존하세요.\\n\\n그런 다음엔 <c2>같은 Google Play 계정으로 </c> 어떤 Android 기기에서든 로그인하여 계정을 복원할 수 있습니다.\",\"Вождь!\\n<c2>Защити свою деревню:</c> войди в сеть через Google Play.\\n\\nТогда<c2> ты всегда сможешь восстановить деревню на любом устройстве Android,</c> если войдешь с той же учетной записью.\",\"أيها الزعيم!\\n<c2>قم بحماية تقدمك الآن</c> بتسجيل الدخول باستخدام حساب Google Play.\\n\\nبعد ذلك، <c2>ستكون قادرًا دائمًا على استعادة لعبتك على أي جهاز يعمل بنظام Android<c2>في أي وقت تسجل الدخول فيه ثانية باستخدام نفس حساب Google Play.\",\"Chefe!\\n<c2>Salve seu progresso agora</c> fazendo login com sua conta do Google Play.\\n\\nMais tarde, <c2>você poderá restaurar a conta em qualquer dispositivo Android</c> sempre que entrar novamente usando a mesma conta do Google Play.\",\"国王！\\n<c2>现在，使用您的</c>Google Play账户登录可保证游戏进度安全。\\n\\n之后，<c2>只要使用同一Google Play帐户登录游戏，</c>您便可以在任一台Android设备上恢复自己的游戏进度。\",\"國王！\\n<c2>現在，使用您的</c> Google Play帳戶登入可保證遊戲進度安全。\\n\\n之後，<c2>只要使用同一Google Play帳戶登入遊戲，</c>您便可以在任一台Android裝置上恢復自己的遊戲進度。\",\"رئیس!\\n<c2>الآن برای حفاظت از پیشرفتی که داشتی</c> با استفاده از حساب Google Play وارد شو.\\n\\nبعد،<c2>همیشه می‌تونی بازی خودت رو روی هر دستگاه Android</c>در هر زمان که دوباره با استفاده از حساب Google Play یکسان وارد شدی استفاده کنی.\",\"Ketua!\\n<c2>Amankan kemajuanmu sekarang</c> dengan masuk menggunakan akun Google Play.\\n\\nSetelahnya, <c2>kamu akan selalu bisa memulihkan game di perangkat Android mana pun</c> setiap kali masuk menggunakan akun Google Play yang sama.\",\"Ketua!\\n<c2>Lindungi perkembangan anda sekarang</c> dengan mendaftar masuk menggunakan akaun Google Play.\\n\\nSelepas itu, <c2>anda akan sentiasa boleh menyimpan semula permainan anda pada sebarang peranti Android</c> pada bila-bila masa anda mendaftar masuk sekali lagi menggunakan akaun Google Play yang sama.\"\n\"TID_GOOGLE_SERVICE_CONNECT_BUTTON\",\"Connect\",\"Se connecter\",\"Verbinden\",\"Conectar\",\"Connetti\",\"Verbind\",\"Koble til\",\"Bağlan\",\"接続\",\"연결\",\"Подключить\",\"اتصال\",\"Conectar\",\"连接\",\"連線\",\"اتصال\",\"Sambungkan\",\"Sambung\"\n\"TID_ACCOUNT\",\"Devices\",\"Appareils\",\"Geräte\",\"Dispositivos\",\"Dispositivi\",\"Apparaten\",\"Enheter\",\"Cihazlar\",\"デバイス\",\"기기\",\"Устройства\",\"أجهزة\",\"Dispositivos\",\"设备\",\"裝置\",\"دستگاه‌ها\",\"Perangkat\",\"Peranti\"\n\"TID_LINK_SAME_PLATFORM_TITLE\",\"Sync with Game Center\",\"Synchronisation avec le Game Center\",\"Mit Game Center synchronisieren\",\"Sincronizar con Game Center\",\"Sincronizza con Game Center\",\"Synchroniseer met Game Center\",\"Synkroniser med Game Center\",\"Game Center ile senkronize et\",\"Game Centerと同期\",\"Game Center 동기화\",\"Синхронизация с Game Center\",\"المزامنة مع Game Center\",\"Sincronizar com o Game Center\",\"与Game Center同步\",\"與Game Center同步\",\"همگام‌سازی با Game Center\",\"Sinkronkan dengan Game Center\",\"Segerak dengan Game Center\"\n\"TID_LINK_SAME_PLATFORM_TITLE_TENCENT_IOS\",\"Sync with your account\",\"Synchronisation avec votre compte\",\"Mit deinem Konto synchronisieren\",\"Sincronizar con la cuenta\",\"Sincronizza al tuo account\",\"Synchroniseer met je account\",\"Synkroniser med kontoen din\",\"Hesabınla senkronize et\",\"アカウントの同期\",\"계정 동기화\",\"Синхронизация с учетной записью\",\"المزامنة مع حسابك\",\"Sincronizar com a sua conta\",\"同步您的游戏进度\",\"同步您的遊戲進度\",\"همگام‌سازی با حساب شما\",\"Sinkronkan dengan akunmu\",\"Segerak dengan akaun anda\"\n\"TID_LINK_SAME_PLATFORM_TITLE_ANDROID\",\"Sync with a Google account\",\"Synchronisation avec un compte Google\",\"Mit einem Google-Konto synchronisieren\",\"Sincronizar con cuenta de Google\",\"Sincronizza con un account Google\",\"Synchroniseer met een Google-account\",\"Synkroniser med Google-konto\",\"Google hesabı ile senkronize et\",\"Googleアカウントと同期\",\"Google 계정 동기화\",\"Синхронизация с учетной записью Google\",\"المزامنة مع حساب Google\",\"Sincronizar com uma conta do Google\",\"与Google账号同步\",\"與Google帳號同步\",\"همگام‌سازی با حساب Google\",\"Sinkronkan dengan akun Google\",\"Segerak dengan akaun Google\"\n\"TID_LINK_SAME_PLATFORM_TITLE_KUNLUN\",\"Sync with your account\",\"Synchronisation avec votre compte\",\"Mit deinem Konto synchronisieren\",\"Sincronizar con la cuenta\",\"Sincronizza al tuo account\",\"Synchroniseer met je account\",\"Synkroniser med kontoen din\",\"Hesabınla senkronize et\",\"アカウントの同期\",\"계정 동기화\",\"Синхронизация с учетной записью\",\"المزامنة مع حسابك\",\"Sincronizar com a sua conta\",\"同步您的游戏进度\",\"同步您的遊戲進度\",\"همگام‌سازی با حساب خود\",\"Sinkronkan dengan akunmu\",\"Segerak dengan akaun anda\"\n\"TID_LINK_SAME_PLATFORM\",\"To play on multiple iOS devices, please make sure you're logged into Game Center on this device.\\n\\nThen, log into Game Center with the other device. Your progress will be automatically synchronized.\",\"Pour jouer sur différents appareils iOS, vous devez être connecté(e) au Game Center sur cet appareil.\\n\\nEnsuite, connectez-vous au Game Center avec l'autre appareil. Votre progression sera synchronisée automatiquement.\",\"Um auf mehreren iOS-Geräten spielen zu können, vergewissere dich zuerst, dass du auf diesem Gerät bei Game Center angemeldet bist.\\n\\nMelde dich dann mit dem anderen Gerät bei Game Center an. Dein Fortschritt wird automatisch synchronisiert.\",\"Para jugar en varios dispositivos iOS, inicia sesión en Game Center en este dispositivo.\\n\\nLuego, inicia sesión en Game Center en el otro dispositivo. Tu progreso se sincronizará automáticamente entre los dos dispositivos.\",\"Per giocare su più dispositivi iOS, assicurati di aver effettuato l'accesso al Game Center su questo dispositivo.\\n\\nQuindi accedi al Game Center con l'altro dispositivo che desideri usare. I tuoi progressi saranno automaticamente sincronizzati.\",\"Als je op meerdere iOS-apparaten wilt spelen, moet je op dit apparaat zijn aangemeld bij Game Center.\\n\\nMeld je vervolgens met het andere apparaat aan bij Game Center. Je voortgang wordt automatisch gesynchroniseerd.\",\"Hvis du vil spille på flere iOS-enheter, må du passe på å være logget på Game Center på denne enheten.\\n\\nDeretter logger du på Game Center med den andre enheten. Fremdriften vil bli synkronisert automatisk.\",\"Birden çok iOS cihazında oynamak için lütfen Game Center'a bu cihazda giriş yaptığından emin ol.\\n\\nDaha sonra Game Center'a diğer cihaz ile giriş yap. İlerlemen otomatik olarak senkronize edilecektir.\",\"複数のiOSデバイスでプレイするには、まず、このデバイスがGame Centerにログインしていることを確認してください。\\n\\n確認できましたら、他のデバイスからGame Centerにログインしてください。ゲームの進行状況は自動的に同期されます。\",\"여러 iOS 기기에서 게임을 즐기고 싶으면 이 기기에서 Game Center 계정으로 로그인하세요.\\n\\n그 후, 다른 기기에서 동일한 Game Center 계정으로 로그인하세요. 진행 중인 게임 정보가 자동으로 동기화됩니다.\",\"Чтобы играть на нескольких устройствах iOS, пожалуйста, убедитесь в том, что вы вошли в Game Center на этом устройстве.\\n\\nЗатем подключитесь к Game Center на другом устройстве. Ваш прогресс будет синхронизирован автоматически.\",\"للعب على العديد من الأجهزة التي تعمل بنظام تشغيل iOS، يُرجى التأكد من تسجيل الدخول إلى Game Center على هذا الجهاز.\\n\\nثم سجّل الدخول إلىGame Center باستخدام الجهاز الآخر. وستتم مزامنة تقدمك تلقائيًا.\",\"Para jogar em vários dispositivos iOS, faça login no Game Center neste dispositivo.\\n\\nA seguir, faça login no Game Center no outro dispositivo. O progresso será automaticamente sincronizado.\",\"要在多台苹果设备上玩本游戏，请确保您已在本台设备上登录苹果Game Center账号。\\n\\n然后，请在另一台苹果设备登录同一个苹果Game Center账号。您的游戏进度将会自动同步。\",\"要在多台蘋果裝置上玩本遊戲，請確保您已在本台裝置上登入蘋果遊戲中心帳號(Game Center)。\\n\\n然後，請在另一台蘋果裝置登入同一個蘋果遊戲中心帳號。您的遊戲進度將會自動同步。\",\"برای بازی روی چند دستگاه iOS، لطفاً مطمئن شو که روی این دستگاه وارد Game Center شدی.\\n\\nبعد، با دستگاه دیگه وارد Game Center شو. پیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Untuk bermain di beberapa perangkat iOS, pastikan untuk masuk ke Game Center pada perangkat ini.\\n\\nLalu, masuk ke Game Center dengan perangkat satunya. Kemajuan akan secara otomatis disinkronkan.\",\"Untuk bermain pada berbilang peranti iOS, sila pastikan anda melog masuk ke Game Center pada peranti ini.\\n\\nKemudian, log masuk ke Game Center dengan peranti lain. Perkembangan anda akan disegerakkan secara automatik.\"\n\"TID_LINK_SAME_PLATFORM_TENCENT_IOS\",\"To play on multiple iOS devices, please make sure you're logged into WeChat or QQ on this device.\\n\\nThen, log into WeChat or QQ with the other device. Your progress will be automatically synchronized.\",\"Pour jouer sur différents appareils iOS, vous devez être connecté(e) à WeChat ou QQ sur cet appareil.\\n\\nEnsuite, connectez-vous à WeChat ou QQ avec l'autre appareil. Votre progression sera synchronisée automatiquement.\",\"Um auf mehreren iOS-Geräten spielen zu können, vergewissere dich zuerst, dass du auf diesem Gerät bei WeChat oder QQ angemeldet bist.\\n\\nMelde dich dann mit dem anderen Gerät bei WeChat oder QQ an. Dein Fortschritt wird automatisch synchronisiert.\",\"Para jugar en varios dispositivos iOS, inicia sesión en WeChat o QQ en este dispositivo.\\n\\nLuego, inicia sesión en WeChat o QQ en el otro dispositivo. Tu progreso se sincronizará automáticamente entre los dos dispositivos.\",\"Per giocare su più dispositivi iOS, assicurati di aver effettuato l'accesso a WeChat o QQ su questo dispositivo.\\n\\nQuindi accedi a WeChat o QQ con l'altro dispositivo che desideri usare. I tuoi progressi saranno automaticamente sincronizzati.\",\"Als je op meerdere iOS-apparaten wilt spelen, moet je op dit apparaat zijn aangemeld bij WeChat of QQ.\\n\\nMeld je vervolgens met het andere apparaat aan bij WeChat of QQ. Je voortgang wordt automatisch gesynchroniseerd.\",\"Hvis du vil spille på flere iOS-enheter, må du påse at du er logget på WeChat eller QQ på denne enheten.\\n\\nDeretter logger du på WeChat eller QQ med den andre enheten. Fremdriften blir synkronisert automatisk.\",\"Birden çok iOS cihazında oynamak için lütfen bu cihazda WeChat ya da QQ'ya giriş yaptığından emin ol.\\n\\nDaha sonra diğer cihaz ile WeChat ya da QQ'ya giriş yap. İlerlemen otomatik olarak senkronize edilecektir.\",\"複数のiOSデバイスでプレイするには、まず、このデバイスがWeChatまたはQQにログインしていることを確認してください。\\n\\n確認できましたら、他のデバイスからWeChatまたはQQにログインしてください。ゲームの進行状況は自動的に同期されます。\",\"여러 iOS 기기에서 게임을 즐기고 싶으면 이 기기에서 WeChat 또는 QQ에 로그인하세요.\\n\\n그런 다음, 다른 기기에서도 동일한 WeChat 또는 QQ에 로그인하세요. 게임 진행 상황이 자동으로 동기화됩니다.\",\"Чтобы играть на нескольких устройствах iOS, пожалуйста, убедитесь, что вы вошли в WeChat или QQ на этом устройстве.\\n\\nЗатем подключитесь к WeChat или QQ на другом устройстве. Ваш прогресс будет синхронизирован автоматически.\",\"للعب على العديد من الأجهزة التي تعمل بنظام تشغيل iOS، يُرجى التأكد من تسجيل الدخول إلى WeChat أو QQ على هذا الجهاز.\\n\\nثم سجّل الدخول إلىWeChat أو QQ باستخدام الجهاز الآخر. وستتم مزامنة تقدمك تلقائيًا.\",\"Para jogar em vários dispositivos iOS, faça login no WeChat ou QQ neste dispositivo.\\n\\nA seguir, faça login no WeChat ou QQ no outro dispositivo. O progresso será automaticamente sincronizado.\",\"要在多台苹果设备上玩本游戏，请确保您已在本台设备上登录微信账号或QQ账号。\\n\\n然后，请在另一台苹果设备登录同一个微信或QQ账号。您的游戏进度将会自动同步。\",\"要在多台蘋果裝置上玩本遊戲，請確保您已在本台裝置上登入微信帳號或QQ帳號。\\n\\n然後，請在另一台蘋果裝置登入同一個微信或QQ帳號。您的遊戲進度將會自動同步。\",\"باری بازی روی چند دستگاه iOS، لطفاً اطمینان پیدا کن که روی دستگاه وارد WeChat یا QQ شدی.\\n\\nبعد، با دستگاه دیگه وارد WeChat یا QQ شو. پیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Untuk bermain di beberapa perangkat, pastikan untuk masuk ke WeChat atau QQ pada perangkat ini.\\n\\nLalu, masuk ke WeChat atau QQ dengan perangkat satunya. Kemajuan akan secara otomatis disinkronkan.\",\"Untuk bermain pada berbilang peranti iOS, sila pastikan anda melog masuk ke WeChat atau QQ pada peranti ini.\\n\\nKemudian, log masuk ke WeChat atau QQ dengan peranti lain. Perkembangan anda akan disegerakkan secara automatik.\"\n\"TID_LINK_SAME_PLATFORM_ANDROID\",\"To play on multiple Android devices, please make sure you have signed in to your Google account in the game's settings.\\n\\nThen, sign in with your Google account also on the other device. Your progress will be automatically synchronized.\",\"Pour jouer sur différents appareils Android, vous devez vous connecter à votre compte Google dans les paramètres du jeu.\\n\\nEnsuite, connectez-vous à votre compte Google sur l'autre appareil également. Votre progression sera synchronisée automatiquement.\",\"Um auf mehreren Android-Geräten spielen zu können, vergewissere dich zuerst, dass du in den Spieleinstellungen mit deinem Google-Konto angemeldet bist.\\n\\nMelde dich dann auch auf dem anderen Gerät bei deinem Google-Konto an. Dein Fortschritt wird automatisch synchronisiert.\",\"Para jugar en diferentes dispositivos Android, asegúrate de que has iniciado sesión en Google desde este dispositivo.\\n\\nLuego inicia sesión en la misma cuenta de Google desde el otro dispositivo y el progreso se sincronizará automáticamente.\",\"Per giocare su più dispositivi Android, assicurati di aver effettuato l'accesso a Google Play nelle impostazioni di gioco.\\n\\nQuindi accedi con il tuo account Google con l'altro dispositivo che desideri usare. I tuoi progressi saranno automaticamente sincronizzati.\",\"Als je op meerdere Android-apparaten wilt spelen, moet je bij je Google-account zijn aangemeld via de instellingen van het spel.\\n\\nMeld je vervolgens ook met je Google-account aan op het andere apparaat. Je voortgang wordt automatisch gesynchroniseerd.\",\"Hvis du vil spille på flere Android-enheter, må du passe på at du er logget på Google-kontoen din i spillets innstillinger.\\n\\nLogg deretter på Google-kontoen din på den andre enheten. Fremdriften vil bli synkronisert automatisk.\",\"Birden çok Android cihazında oynamak için, oyun ayarlarında Google hesabına giriş yaptığından emin ol.\\n\\nDaha sonra diğer cihazda da Google hesabına giriş yap. İlerlemen otomatik olarak senkronize edilecektir.\",\"複数のAndroidデバイスでプレイするには、まず、ゲームの設定からGoogleアカウントにログインしていることを確認してください。\\n\\n確認できましたら、別のデバイスからもGoogleアカウントにログインしてください。ゲームの進行状況は自動的に同期されます。\",\"여러 Android 기기에서 게임을 즐기고 싶으면 게임 설정에서 Google 계정으로 로그인하세요.\\n\\n그 후, 다른 기기에서 동일한 Google계정으로 로그인하세요. 진행 중인 게임 정보가 자동으로 동기화됩니다.\",\"Чтобы играть на нескольких устройствах Android, пожалуйста, убедитесь, что вы вошли в свою учетную запись Google в настройках игры.\\n\\nЗатем подключитесь к своей учетной записи Google на другом устройстве. Ваш прогресс синхронизируется автоматически.\",\"للعب على عدة أجهزة تعمل بنظام تشغيل Android، تأكد من تسجيل الدخول إلى حساب Google الخاص بك في إعدادات اللعبة.\\n\\nثم سجّل الدخول باستخدام حساب Google الخاص بك أيضًا على الجهاز الآخر. وستتم مزامنة تقدمك تلقائيًا.\",\"Para jogar em vários dispositivos Android, faça login em sua conta do Google nas configurações do jogo.\\n\\nA seguir, faça login em sua conta do Google no outro dispositivo. O progresso será automaticamente sincronizado.\",\"要在多台安卓设备上玩本游戏，请确保您已在当前的安卓设备的设置中登录自己的Google帐户。\\n\\n然后，在另一台设备也使用该Google帐户登录，您的游戏进度将会自动同步。\",\"要在多台安卓裝置上玩本遊戲，請確保您已在當前的安卓裝置的設定中登入自己的Google帳戶。\\n\\n然後，在另一台裝置也使用該Google帳戶登入，您的遊戲進度將會自動同步。\",\"برای بازی روی چند دستگاه Android، لطفاً اطمینان پیدا کن که در تنظیمات بازی وارد حساب Google خودت شدی.\\n\\nبعد، روی دستگاه دیگه هم وارد حساب Google خودت شو. پیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Untuk bermain di beberapa perangkat Android, pastikan untuk masuk ke akun Google di setelan game.\\n\\nLalu, masuk ke akun Google juga di perangkat satunya. Kemajuan akan secara otomatis disinkronkan.\",\"Untuk bermain pada berbilang peranti Android, sila pastikan anda mendaftar masuk ke akaun Google anda dalam tetapan permainan.\\n\\nKemudian, daftar masuk juga ke akaun Google anda pada peranti lain. Perkembangan anda akan disegerak secara automatik.\"\n\"TID_LINK_SAME_PLATFORM_KUNLUN\",\"To play on multiple Android devices, download Clash Royale from the same Android App Store and sign-in using the same account. Your progress will be automatically synchronized.\",\"Pour jouer sur plusieurs appareils Android, téléchargez Clash Royale via le même App Store Android et connectez-vous avec le même compte. Votre progression sera synchronisée automatiquement.\",\"Um auf mehreren Android-Geräten spielen zu können, musst du Clash Royale aus demselben Android App Store herunterladen und dich mit demselben Konto anmelden. Dein Fortschritt wird automatisch synchronisiert.\",\"Para jugar en varios dispositivos Android, descarga Clash Royale desde la misma tienda de aplicaciones de Android e inicia sesión con la misma cuenta. El progreso se sincronizará automáticamente.\",\"Per giocare su più dispositivi Android, scarica Clash Royale dallo stesso App Store di Android e accedi utilizzando lo stesso account. I tuoi progressi saranno sincronizzati automaticamente.\",\"Als je op meerdere Android-apparaten wilt spelen, moet je Clash Royale downloaden in dezelfde Android App Store en inloggen met hetzelfde account. Je voortgang wordt automatisch gesynchroniseerd.\",\"Hvis du vil spille på flere Android-enheter, kan du laste ned Clash Royale fra samme Android App Store og logge på med samme konto. Fremdriften vil synkroniseres automatisk.\",\"Birden fazla Android aygıtında oynamak için, Clash Royale'yi aynı Android App Store'dan indir ve aynı hesapla giriş yap. İlerlemen otomatik olarak senkronize edilecektir.\",\"複数のAndroidデバイスでプレイするには、まず、同じAndroidアプリストアからクラッシュ・ロワイヤルをダウンロードして、同じアカウントにサインインしてください。ゲームの進行状況は自動的に同期されます。\",\"여러 Android 기기에서 플레이하려면 같은 Android 앱 스토어에서 클래시 로얄을 다운로드 한 다음 같은 계정으로 로그인하세요. 진행 상황은 자동으로 동기화됩니다.\",\"Чтобы играть на нескольких устройствах Android, скачайте Clash Royale в Android App Store и войдите в ту же учетную запись. Ваши сохраненные данные синхронизируются автоматически.\",\"للعب على العديد من الأجهزة التي تعمل بنظام التشغيل Android، قم بتنزيل Clash Royale من متجر تطبيقات Android نفسه وسجّل الدخول باستخدام الحساب نفسه. ستتم مزامنة تقدمك تلقائيا.\",\"Para jogar em vários dispositivo Android, baixe o Clash Royale na mesma Android App Store e entre usando a mesma conta. Seu progresso será sincronizado automaticamente.\",\"要在多台安卓设备上玩《部落冲突:皇室战争》，请从同一个安卓应用商店下载游戏，并使用同一个帐号在这些设备上登录。您的游戏进度会自动同步。\",\"要在多個安卓裝置上玩遊戲，請先從相同的安卓應用商店下載《部落衝突:皇室戰爭》並使用同一個帳號登入。您的遊戲進度將自動同步。\",\"برای بازی روی چند دستگاه Android، بازی Clash Royale رو از یک فروشگاه برنامه Android یکسان خریداری کن و با استفاده از همون حساب وارد سیستم شو. پیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Untuk bermain di beberapa perangkat Android, unduh Clash Royale dari App Store Android yang sama dan masuk menggunakan akun yang sama. Kemajuan akan secara otomatis disinkronkan.\",\"Untuk bermain pada berbilang peranti Android, muat turun Clash Royale dari Gedung Aplikasi Android yang sama dan daftar masuk menggunakan akaun yang sama. Perkembangan anda akan disegerakkan secara automatik.\"\n\"TID_DEVICE_LINK_ERROR_BOTH_HAVE_OPEN_ID\",\"To play on multiple devices, please make sure you're logged into WeChat or QQ on this device.\\n\\nThen, log into WeChat or QQ with the other device. Your progress will be automatically synchronized.\",\"Pour jouer sur d'autres appareils, vous devez être connecté(e) à WeChat ou QQ sur cet appareil.\\n\\nEnsuite, connectez-vous à WeChat ou QQ avec l'autre appareil. Votre progression sera synchronisée automatiquement.\",\"Um auf mehreren Geräten spielen zu können, vergewissere dich zuerst, dass du auf diesem Gerät bei WeChat oder QQ angemeldet bist.\\n\\nMelde dich dann mit dem anderen Gerät bei WeChat oder QQ an. Dein Fortschritt wird automatisch synchronisiert.\",\"Para jugar en varios dispositivos, inicia sesión en WeChat o QQ en este dispositivo.\\n\\nLuego, inicia sesión en WeChat o QQ en el otro dispositivo. Tu progreso se sincronizará automáticamente entre los dos dispositivos.\",\"Per giocare su più dispositivi, assicurati di aver effettuato l'accesso a WeChat o QQ su questo dispositivo.\\n\\nQuindi accedi a WeChat o QQ con l'altro dispositivo che desideri usare. I tuoi progressi saranno automaticamente sincronizzati.\",\"Als je op meerdere apparaten wilt spelen, moet je op dit apparaat zijn aangemeld bij WeChat of QQ.\\n\\nMeld je vervolgens met het andere apparaat aan bij WeChat of QQ. Je voortgang wordt automatisch gesynchroniseerd.\",\"Hvis du vil spille på flere enheter, må du påse at du er logget på WeChat eller QQ på denne enheten.\\n\\nDeretter logger du på WeChat eller QQ med den andre enheten. Fremdriften blir synkronisert automatisk.\",\"Birden çok cihazda oynamak için lütfen bu cihazda WeChat ya da QQ'ya giriş yaptığından emin ol.\\n\\nDaha sonra diğer cihaz ile WeChat ya da QQ'ya giriş yap. İlerlemen otomatik olarak senkronize edilecektir.\",\"複数のデバイスでプレイするには、まず、このデバイスがWeChatまたはQQにログインしていることを確認してください。\\n\\n確認できましたら、他のデバイスからWeChatまたはQQにログインしてください。ゲームの進行状況は自動的に同期されます。\",\"여러 기기에서 게임하려면 이 기기에서 WeChat 또는 QQ에 로그인하세요.\\n\\n그런 다음, 다른 기기에서도 WeChat 또는 QQ에 로그인하세요. 게임 진행 상황이 자동으로 동기화됩니다.\",\"Чтобы играть на нескольких устройствах, пожалуйста, убедитесь, что вы вошли в WeChat или QQ на этом устройстве.\\n\\nЗатем подключитесь к WeChat или QQ на другом устройстве. Ваш прогресс будет синхронизирован автоматически.\",\"للتمكن من اللعب على أجهزة متعددة، يُرجى التأكد من تسجيل الدخول على حساب WeChat أو QQ من على هذا الجهاز.\\n\\nثم قم بتسجيل الدخول على حساب WeChat أو QQ من على الجهاز الآخر. ستتم مزامنة مستوى تقدمك تلقائيًا.\",\"Para jogar em vários dispositivos, certifique-se de que está conectado ao WeChat ou QQ neste dispositivo.\\n\\nApós isso, conecte-se ao WeChat ou QQ com o outro dispositivo. Seu progresso será sincronizado automaticamente.\",\"要在多台设备上玩本游戏，请确保您已在本台设备上登录微信或QQ账号。\\n\\n然后，在另一台设备上登录同一个微信或QQ账号。您的游戏进度将会自动同步。\",\"要在多台裝置上玩本遊戲，請確保您已在本裝置上登入微信或QQ帳號。\\n\\n然後，在另一台裝置上登入同一個微信或QQ帳號。您的遊戲進度將會自動同步。\",\"برای بازی روی چند دستگاه، لطفاً اطمینان پیدا کن که روی این دستگاه وارد WeChat یا QQ شدی.\\n\\nبعد، با دستگاه دیگه وارد WeChat یا QQ شو. پیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Untuk bermain di beberapa perangkat, pastikan untuk masuk ke WeChat atau QQ pada perangkat ini.\\n\\nLalu, masuk ke WeChat atau QQ dengan perangkat satunya. Kemajuan akan secara otomatis disinkronkan.\",\"Untuk bermain pada berbilang peranti, sila pastikan anda melog masuk ke WeChat atau QQ pada peranti ini.\\n\\nKemudian, log masuk ke WeChat atau QQ dengan peranti lain. Perkembangan anda akan disegerakkan secara automatik.\"\n\"TID_DEVICE_LINK_ERROR_NOT_ATTACHED_TITLE\",\"Not attached to Game Center\",\"Partie non associée au Game Center\",\"Nicht mit Game Center verknüpft\",\"No se ha enlazado con Game Center\",\"Non collegato al Game Center\",\"Niet gekoppeld aan Game Center\",\"Ikke knyttet til Game Center\",\"Game Center'a bağlı değil\",\"Game Centerにアタッチされていません\",\"Game Center 계정에 등록되지 않았습니다.\",\"Не соединено с Game Center\",\"ليس ملحقًا بـ Game Center\",\"Não vinculado ao Game Center\",\"未与Game Center关联\",\"未與Game Center關聯\",\"به Game Center وصل نشده\",\"Tidak terikat ke Game Center\",\"Tidak digabungkan ke Game Center\"\n\"TID_DEVICE_LINK_ERROR_NOT_ATTACHED\",\"Your game hasn't yet been attached to a Game Center account. Please make sure you're logged into a Game Center account with no existing game attached and restart the game.\\n\\nYou will be asked if you want to attach the current game to the Game Center account. Answer 'Yes'.\\n\\nWARNING: Attaching a game is permanent and can not be changed later.\",\"Votre partie n'a pas encore été associée à un compte Game Center. Assurez-vous d'être connecté(e) à un compte Game Center qui n'est associé à aucune partie existante, puis relancez le jeu.\\n\\nIl vous sera demandé si vous voulez associer la partie actuelle au compte Game Center. Répondez Oui.\\n\\nATTENTION : l'association d'une partie est définitive et irréversible.\",\"Dein Spielstand wurde noch nicht mit einem Game Center-Account verknüpft. Bitte vergewissere dich, dass du mit einem Game Center-Account angemeldet bist, mit dem noch kein Spielstand verknüpft wurde, und starte das Spiel neu.\\n\\nDu wirst gefragt, ob du den aktuellen Spielstand mit dem Game Center-Account verknüpfen willst. Wähle Ja.\\n\\nACHTUNG: Der Spielstand wird dauerhaft verknüpft. Dies kann später nicht mehr geändert werden.\",\"Tu partida no se ha enlazado todavía a una cuenta de Game Center. Asegúrate de haberte conectado con una cuenta de Game Center que no tenga ninguna partida enlazada y reinicia el juego.\\n\\nSe te preguntará si quieres enlazar la partida actual a la cuenta de Game Center y tendrás que tocar el botón Sí.\\n\\nAVISO: Ten en cuenta que el enlace es permanente y no se puede deshacer.\",\"La tua partita non è ancora stata collegata a un account Game Center. Effettua l'accesso con un account Game Center non collegato a una partita esistente e riavvia il gioco.\\n\\nTi verrà richiesto se desideri collegare la partita corrente all'account Game Center. Seleziona 'Sì'.\\n\\nATTENZIONE: il collegamento della partita è permanente e non può venire modificato in seguito.\",\"Je spel is nog niet gekoppeld aan een Game Center-account. Zorg dat je bent aangemeld bij een Game Center-account waar nog geen spel aan is gekoppeld en start het spel opnieuw op.\\n\\nJe wordt gevraagd of je het huidige spel aan het Game Center-account wilt koppelen. Kies Ja.\\n\\nWAARSCHUWING: het koppelen van een spel is permanent en kan later niet meer worden gewijzigd.\",\"Spillet ditt er ikke blitt knyttet til en Game Center-konto. Sørg for at du er logget på en Game Center-konto som ikke er tilknyttet et eksisterende spill, og start spillet på nytt.\\n\\nDu vil få spørsmål om du vil knytte det gjeldende spillet til Game Center-kontoen. Svar «Ja».\\n\\nADVARSEL: Et spill knyttes til på permanent basis. Dette kan ikke endres senere.\",\"Oyunun henüz Game Center hesabına bağlanmadı. Lütfen başka bir oyunun bağlı olmadığı bir Game Center hesabına giriş yaptığından emin ol ve oyunu tekrar başlat.\\n\\nMevcut oyunu Game Center hesabına bağlamak isteyip istemediğin sorulur. \\qEvet\\q yanıtını vermelisin.\\n\\nUYARI: Oyunların bağlanması kalıcı bir işlemdir ve daha sonra değiştirilemez.\",\"あなたのセーブデータは、まだGame Centerアカウントに関連づけられていません。Game Centerアカウントにログインし、すでに関連づけられたセーブデータがないことを確認したうえで、ゲームを再起動してください。\\n\\n今プレイ中のセーブデータをGame Centerアカウントに関連づけるどうかを尋ねられたら、「はい」と答えます。\\n\\n警告： セーブデータの関連づけは恒久的なもので、後から変更することはできません。\",\"게임이 아직 Game Center 계정에 등록되지 않았습니다. 등록된 게임이 없는 Game Center 계정으로 로그인하시고 게임을 다시 시작하세요.\\n\\n현재 진행 중인 게임을 Game Center에 등록할 것인지를 묻는 질문이 나타나면 '네'를 선택하세요.\\n\\n경고: 진행 상황은 계정에 영구적으로 등록되며 나중에 변경할 수는 없습니다.\",\"Ваша игра еще не привязана к учетной записи Game Center. Пожалуйста, убедитесь, что вы вошли в учетную запись Game Center, к которой еще не привязана игра, а затем перезапустите игру.\\n\\nПоявится диалоговое окно с вопросом, хотите ли вы привязать игру к учетной записи Game Center. Выберите «Да».\\n\\nВНИМАНИЕ: привязка игры производится насовсем, и потом ее нельзя изменить.\",\"لم يتم ربط لعبتك بحساب على Game Center. يُرجى التأكد من تسجيل دخولك إلى حساب Game Center لا ترتبط به أيه لعبة حاليًا، وإعادة تشغيل اللعبة.\\n\\nسوف تُسأل عما إذا كنت ترغب في ربط اللعبة الحالية بحساب Game Center. أجب بـ 'نعم'.\\n\\nتحذير: سيكون ربط اللعبة دائمًا ولا يمكن تغييره بعد ذلك.\",\"Seu jogo ainda não foi vinculado a uma conta do Game Center. Conecte-se a uma conta do Game Center que ainda não esteja vinculada a nenhum jogo e reinicie o jogo.\\n\\nSerá perguntado se deseja vincular a conta atual à conta do Game Center. Responda 'Sim'.\\n\\nATENÇÃO: a vinculação de uma conta é permanente e não pode ser alterada posteriormente.\",\"您的游戏尚未与苹果Game Center账号关联。请登录一个未关联《部落冲突:皇室战争》游戏进度的Game Center账号，然后重新启动游戏。\\n\\n系统将询问您是否要将当前游戏进度关联到该苹果Game Center账号。回答\\q是\\q。\\n\\n警告：关联游戏进度是永久性操作，并且今后无法更改。\",\"您的遊戲尚未與蘋果Game Center帳號關聯。請登入一個未關聯《部落衝突:皇室戰爭》遊戲進度的Game Center帳號，然後重新啟動遊戲。\\n\\n系統將詢問您是否要將當前遊戲進度關聯到該蘋果Game Center帳號。回答\\q是\\q。\\n\\n警告：關聯遊戲進度是永久性操作，並且今後無法更改。\",\"بازی شما هنوز به یک حساب Game Center وصل نشده. لطفاً مطمئن شو که وارد حساب Game Center شده و هیچ بازی دیگه ای بهش وصل نیست و بعد بازی رو بازنشانی کن.\\n\\nازت پرسیده میشه که آیا می‌خوای بازی فعلی رو به حساب Game Center وصل کنی یا نه. جواب بده «بله».\\n\\nهشدار: وصل کردن یک بازی دائمی است و بعداً نمیشه عوضش کرد.\",\"Game ini belum terikat ke akun Game Center. Pastikan untuk masuk ke akun Game Center yang tidak terikat dengan game yang sudah ada, lalu mulai ulang game.\\n\\nAkan ada pertanyaan apakah ingin mengikatkan game saat ini ke akun Game Center. Jawab 'Ya'.\\n\\nPERINGATAN: Mengikatkan game adalah permanen dan tidak dapat diubah nanti.\",\"Permainan anda belum digabungkan ke akaun Game Center. Sila pastikan anda melog masuk ke akaun Game Center yang tidak digabungkan dengan permainan sedia ada dan kemudian, mulakan semula permainan.\\n\\nAnda akan ditanya sama ada anda ingin menggabungkan permainan semasa ke akaun Game Center. Jawab ‘Ya´.\\n\\nAMARAN: Menggabung permainan adalah kekal dan tidak boleh diubah selepas itu.\"\n\"TID_DEVICE_LINK_ERROR_NOT_ATTACHED_TITLE_ANDROID\",\"Not attached to Google Play\",\"Partie non associée à Google Play\",\"Nicht mit Google Play verknüpft\",\"No se ha enlazado con Google Play\",\"Non collegato a Google Play\",\"Niet gekoppeld aan Google Play\",\"Ikke knyttet til Google Play\",\"Google Play'e bağlı değil\",\"Google Playに関連づけられていません\",\"Google Play에 등록되지 않았습니다.\",\"Не соединено с Google Play\",\"ليس ملحقًا بـ Google Play\",\"Não vinculado ao Google Play\",\"未与Google Play 关联\",\"未與Google Play 關聯\",\"به Google Play وصل نیست\",\"Tidak terikat ke Google Play\",\"Tidak digabungkan ke Google Play\"\n\"TID_DEVICE_LINK_ERROR_NOT_ATTACHED_ANDROID\",\"Your game hasn't yet been attached to a Google account. Go back to the settings screen and sign in with Google Play with no existing game attached.\\n\\nWARNING: Attaching a game is permanent and can not be changed later.\",\"Votre partie n'a pas encore été liée à un compte Google. Revenez à l'écran des paramètres et connectez-vous à un compte Google Play qui n'est lié à aucune partie existante, puis relancez le jeu.\\n\\nATTENTION : la liaison d'une partie est définitive et irréversible.\",\"Dein Spiel wurde noch nicht mit einem Google-Konto verknüpft. Geh zurück ins Menü \\qEinstellungen\\q und melde dich mit einem Google Play-Konto ohne verknüpftes Spiel an.\\n\\nACHTUNG: Das Spiel wird dauerhaft verknüpft. Dies kann später nicht mehr geändert werden.\",\"Tu partida no se ha enlazado todavía a una cuenta de Google. Ve al menú de ajustes y conéctate con una cuenta de Google Play que no tenga ninguna partida enlazada.\\n\\nAVISO: Ten en cuenta que el enlace es permanente y no se puede deshacer.\",\"La tua partita non è ancora stata collegata a un account Google. Torna alla schermata delle impostazioni ed effettua l'accesso con un account Google Play non collegato a una partita esistente.\\n\\nATTENZIONE: il collegamento di una partita è permanente e non può venire modificato in seguito.\",\"Je spel is nog niet gekoppeld aan een Google-account. Ga terug naar het scherm Instellingen en meld je aan met Google Play zonder een bestaand gekoppeld spel.\\n\\nWAARSCHUWING: het koppelen van een spel is permanent en kan later niet meer worden gewijzigd.\",\"Spillet ditt er ikke knyttet til en Google-konto. Gå tilbake til innstillingsskjermen og logg deg på en Google Play-konto som ikke er tilknyttet et eksisterende spill.\\n\\nADVARSEL: Et spill knyttes til på permanent basis. Dette kan ikke endres senere.\",\"Oyunun henüz Google hesabına bağlanmadı. Ayarlar ekranına geri dön ve bir oyuna bağlantısı bulunmayan Google Play ile giriş yap.\\n\\nUYARI: Bir oyunu bağlamak kalıcıdır ve daha sonra değiştirilemez.\",\"あなたのセーブデータは、まだGoogleアカウントに関連づけられていません。Google Playにログインし、すでに関連づけられたセーブデータがないことを確認したうえで、ゲームを再起動してください。\\n\\n警告： セーブデータの関連づけは恒久的なもので、後から変更することはできません。\",\"게임이 아직 Google 계정에 등록되지 않았습니다. 설정 화면으로 돌아가서 이미 등록된 게임이 없는 Google Play 계정으로 로그인하세요.\\n\\n경고: 게임은 계정에 영구적으로 등록되며 추후 변경할 수 없습니다.\",\"Ваша деревня еще не привязана к учетной записи Google. Вернитесь на экран настройки и войдите в учетную запись Google Play, к которой еще не привязана деревня.\\n\\nВНИМАНИЕ: привязка деревни производится насовсем, и потом ее нельзя изменить.\",\"لم يتم ربط لعبتك بحساب Google. يُرجى الرجوع إلى شاشة الإعدادات وتسجيل الدخول بواسطة Google Play بدون لعبة حالية مرتبطة.\\n\\nتحذير: سيكون ربط اللعبة دائمًا ولا يمكن تغييره بعد ذلك.\",\"Seu jogo ainda não foi vinculado a uma conta do Google. Volte para a tela de configurações e conecte-se a uma conta do Google Play sem um jogo vinculado.\\n\\nATENÇÃO: a vinculação de um jogo é permanente e não pode ser alterada posteriormente.\",\"您的游戏尚未关联Google账号。返回设置界面，并登录一个未关联任何本游戏的Google Play。\\n\\n警告：关联游戏是永久性操作，并且今后无法更改。\",\"您的遊戲尚未關聯Google帳號。返回設定介面，並登入一個未關聯任何本遊戲的Google Play。\\n\\n警告：關聯遊戲是永久性操作，並且今後無法更改。\",\"بازیت هنوز به یک حساب Google وصل نیست. به صفحه تنظیمات برگرد و با Google Play که هیچ بازی در حال حاضر بهش وصل نیست وارد سیستم شو.\\n\\nهشدار: وصل کردن یک بازی دائمی هست و بعداً نمیشه عوضش کرد.\",\"Game milikmu belum terikat ke akun Google. Kembalilah ke layar setelan dan masuk dengan Google Play yang tidak terikat dengan game lain.\\n\\nPERINGATAN: Mengikatkan game adalah permanen dan tidak dapat diubah nanti.\",\"Permainan anda belum digabungkan ke akaun Google. Kembali ke skrin tetapan dan daftar masuk menggunakan Google Play dengan tiada permainan sedia ada yang digabungkan.\\n\\nAMARAN: Menggabungkan permainan adalah kekal dan tidak boleh ditukar pada waktu lain.\"\n\"TID_DEVICE_LINK_WRONG_ACCOUNT_TITLE\",\"Wrong account logged in\",\"Connexion à un compte incorrect\",\"Falsches Konto angemeldet\",\"Cuenta incorrecta conectada\",\"Accesso effettuato con account errato\",\"Aangemeld bij het verkeerde account\",\"Du er logget på feil konto\",\"Yanlış hesaba giriş yapılmış\",\"間違ったアカウントでログインしました\",\"잘못된 계정으로 로그인하셨습니다.\",\"Вы вошли не в ту учетную запись\",\"تم تسجيل الدخول إلى حساب خاطئ\",\"Conta de login incorreta\",\"登录账号错误\",\"登入帳號錯誤\",\"ورود به حساب اشتباه\",\"Salah masuk akun\",\"Akaun salah dilog masuk\"\n\"TID_DEVICE_LINK_WRONG_ACCOUNT\",\"The current game is attached to a different Game Center account than the one you're logged into.\\n\\nPlease log out from the Game Center app and login again with the account attached to this game.\\n\\nThen try linking again.\",\"La partie actuelle est liée à un autre compte Game Center que celui auquel vous êtes connecté.\\n\\nDéconnectez-vous de l'application Game Center et reconnectez-vous au compte lié à cette partie.\\n\\nEnsuite, retentez l'association.\",\"Das aktuelle Spiel ist mit einem anderen Game Center-Account verknüpft als dem, mit dem du angemeldet bist.\\n\\nBitte melde dich von der Game Center-App ab und melde dich anschließend mit dem Konto wieder an, mit dem dieses Spiel verknüpft ist.\\n\\nVersuche das Verbinden dann erneut.\",\"La partida actual está enlazada a una cuenta de Game Center diferente a la que estás usando.\\n\\nCierra sesión en Game Center e inicia sesión de nuevo con la cuenta enlazada a esta partida.\\n\\nLuego intenta hacer otra vez el enlace.\",\"Questa partita è già stata collegata a un account Game Center diverso da quello con cui hai effettuato l'accesso.\\n\\nEsci dall'app del Game Center ed effettua nuovamente l'accesso con l'account collegato a questa partita.\\n\\nQuindi tenta nuovamente il collegamento.\",\"Het huidige spel is gekoppeld aan een ander Game Center-account dan het account waarbij je bent aangemeld.\\n\\nMeld je af van de Game Center-app en meld je opnieuw aan met het account dat aan dit spel is gekoppeld.\\n\\nProbeer dan opnieuw te koppelen.\",\"Det gjeldende spillet er knyttet til en annen Game Center-konto enn den du er logget inn på.\\n\\nLogg ut av Game Center-appen, og logg på igjen med kontoen som er knyttet til dette spillet.\\n\\nDeretter kan du prøve på nytt.\",\"Mevcut oyun şu anda giriş yapmış olduğun Game Center hesabından bir başkasına bağlı.\\n\\nLütfen Game Center uygulamasından çıkış yap ve bu oyunun bağlı olduğu hesapta tekrar oturum aç.\\n\\nDaha sonra tekrar bağlamayı dene.\",\"現在プレイ中のセーブデータは、ログイン中のGame Centerアカウントとは別のアカウントに関連づけられています。\\n\\nGame Centerアプリからログアウトして、このセーブデータに関連づけられたアカウントでログインし直してください。\\n\\nその上で、関連づけをやり直してください。\",\"현재 계정은 로그인하신 계정이 아닌 다른 Game Center 계정에 등록되었습니다.\\n\\nGame Center를 실행하신 후 로그아웃하시고 이 계정이 등록된 Game Center 계정으로 로그인하세요.\\n\\n그 후, 다시 연동하세요.\",\"Эта деревня соединена с другой учетной записью Game Center, а не с той, в которую вы вошли.\\n\\nПожалуйста, выйдите из приложения Game Center и войдите в учетную запись, к которой привязана деревня.\\n\\nЗатем попробуйте привязать снова.\",\"اللعبة الحالية مرتبطة بحساب آخر على Game Center غير الحساب الذي سجلت الدخول إليه.\\n\\nيُرجى تسجيل الخروج من تطبيق Game Center وتسجيل الدخول مرة أخرى باستخدام الحساب المرتبط بهذه اللعبة.\\n\\nثم حاول الربط مرة أخرى.\",\"O jogo atual está vinculado a outra conta do Game Center, e não à conta a que você está conectado.\\n\\nSaia do aplicativo Game Center e faça login novamente com a conta vinculada a este jogo.\\n\\nTente vincular novamente.\",\"当前游戏绑定了另一个苹果Game Center账号，而这个账号并非您目前登录的账号。\\n\\n请从苹果Game Center应用程序中退出该账号，再登录与当前游戏绑定的Game Center账号。\\n\\n然后尝试再次关联。\",\"當前遊戲綁定了另一個蘋果Game Center帳號，而這個帳號並非您目前登入的帳號。\\n\\n請從蘋果Game Center應用程式中退出該帳號，再登入與當前遊戲綁定的Game Center帳號。\\n\\n然後嘗試再次關聯。\",\"بازی فعلی به یک حساب Game Center وصل شده که با حسابی که واردش شدی متفاوت هست.\\n\\nلطفاً از برنامه Game Center خارج شو و دوباره با حسابی وارد شو که با این بازی وصل شده.\\n\\nبعد دوباره سعی کن متصل بشی.\",\"Game saat ini terikat ke akun Game Center yang berbeda dari yang digunakan untuk masuk.\\n\\nKeluarlah dari aplikasi Game Center, lalu masuk lagi dengan akun yang terikat dengan game ini.\\n\\nLalu coba tautkan lagi.\",\"Permainan semasa anda digabungkan ke akaun Game Center berbeza daripada yang anda log masuk.\\n\\nSila log keluar daripada aplikasi Game Center dan log masuk semula dengan akaun yang digabungkan ke permainan ini.\\n\\nKemudian, cuba pautkan sekali lagi.\"\n\"TID_DEVICE_LINK_WRONG_ACCOUNT_ANDROID\",\"The current game is attached to a different Google account than the one you're signed into.\\n\\nPlease sign out of the current Google account from the settings screen, and sign in with the account attached to this game.\\n\\nThen try linking again.\",\"La partie actuelle est liée à un autre compte Google que celui auquel vous êtes connecté.\\n\\nDéconnectez-vous du compte Google actuel via l'écran des paramètres, puis connectez-vous au compte lié à cette partie.\\n\\nEnsuite, retentez l'association.\",\"Das aktuelle Spiel ist mit einem anderen Google-Konto verknüpft als dem, mit dem du angemeldet bist.\\n\\nBitte melde dich über das Menü \\qEinstellungen\\q beim aktuellen Google-Konto ab und melde dich mit dem Konto wieder an, mit dem dieses Spiel verknüpft ist.\\n\\nVersuche das Verbinden dann erneut.\",\"La partida actual está enlazada a una cuenta de Google diferente a la que estás usando.\\n\\nCierra sesión en la cuenta de Google actual e inicia sesión de nuevo con la cuenta enlazada a esta partida.\\n\\nLuego intenta hacer otra vez el enlace.\",\"Questa partita è già stata collegata a un account Google diverso da quello con cui hai effettuato l'accesso.\\n\\nEsci da questo account Google tramite la schermata delle impostazioni ed effettua nuovamente l'accesso con l'account collegato a questa partita.\\n\\nQuindi tenta nuovamente il collegamento.\",\"Het huidige spel is gekoppeld aan een ander Google-account dan het account waarbij je bent aangemeld.\\n\\nMeld je af van je huidige Google-account via het scherm Instellingen en meld je aan met het account dat aan dit spel is gekoppeld.\\n\\nProbeer daarna opnieuw te koppelen.\",\"Det gjeldende spillet er knyttet til en annen Google-konto enn den du er logget inn på.\\n\\nLogg ut av Google-kontoen fra innstillingsskjermen, og logg på igjen med kontoen som er knyttet til dette spillet.\\n\\nDeretter kan du prøve på nytt.\",\"Mevcut oyun şu anda giriş yapmış olduğun Google hesabından bir başkasına bağlı.\\n\\nLütfen Google hesabından çıkış yap ve bu oyunun bağlı olduğu hesapta tekrar oturum aç.\\n\\nDaha sonra tekrar bağlamayı dene.\",\"現在プレイ中のセーブデータは、ログイン中のGoogleアカウントとは別のアカウントに関連づけられています。\\n\\n設定画面に移動し、現在のGoogleアカウントからログアウトして、このセーブデータに関連づけられたアカウントでログインし直してください。\\n\\nその上で、関連づけをやり直してください。\",\"현재 계정은 로그인하신 계정이 아닌 다른 Google 계정에 등록되었습니다.\\n\\n설정 화면으로 가셔서 현재 Google 계정을 로그아웃하시고 본래 등록된 계정으로 로그인하세요.\\n\\n그 후, 다시 연동하세요.\",\"Эта деревня с другой учетной записью Google, а не не с той, в которую вы вошли.\\n\\nПожалуйста, выйдите из учетной записи Google в экране настройки и войдите в учетную запись, к которой привязана деревня.\\n\\nЗатем попробуйте привязать снова.\",\"اللعبة الحالية مرتبطة بحساب Google آخر غير الحساب الذي سجلت الدخول إليه.\\n\\nيُرجى تسجيل الخروج من حساب Google الحالي من شاشة الإعدادات وتسجيل الدخول باستخدام الحساب المرتبط بهذه اللعبة.\\n\\nثم حاول الربط مرة أخرى.\",\"O jogo atual está vinculado a outra conta do Google, e não a conta a que você está conectado.\\n\\nSaia da conta atual do Google na tela de configurações e faça login novamente com a conta vinculada a esta vila.\\n\\nTente conectar novamente.\",\"当前游戏绑定了另一个Google账号，而这个账号并非您目前登录的账号。\\n\\n请从设置界面注销当前Google帐号，然后用与这个游戏绑定的Google账号登录。\\n\\n然后尝试再次关联。\",\"當前遊戲綁定了另一個Google帳號，而這個帳號並非您目前登入的帳號。\\n\\n請從設定介面登出當前Google帳號，然後用與這個遊戲綁定的Google帳號登入。\\n\\n然後嘗試再次關聯\",\"بازی فعلی به یک حساب Google وصل شده که با حسابی که واردش شدی متفاوت هست.\\n\\nلطفاً از حساب Google خارج شو و دوباره با حسابی وارد شو که با این بازی وصل شده.\\n\\nبعد دوباره سعی کن متصل بشی.\",\"Game saat ini terikat ke akun Google yang berbeda dari yang digunakan untuk masuk.\\n\\nKeluarlah dari akun Google saat ini dari layar setelan, lalu masuk lagi dengan akun yang terikat dengan game ini.\\n\\nLalu coba tautkan lagi.\",\"Permainan semasa anda digabungkan ke akaun Google berbeza daripada yang anda log masuk.\\n\\nSila daftar keluar daripada akaun Google semasa anda dari skrin tetapan dan daftar masuk menggunakan akaun yang digabungkan dengan permainan ini.\\n\\nKemudian, cuba pautkan sekali lagi.\"\n\"TID_DEVICE_LINK_ERROR_ALREADY_BOUND_TO_ALL_PLATFORMS_TITLE\",\"Already linked\",\"Partie déjà associée\",\"Bereits verbunden\",\"Partida ya enlazada\",\"Già collegato\",\"Al gekoppeld\",\"Allerede tilknyttet\",\"Zaten bağlandı\",\"既にリンクされています\",\"이미 연동됨\",\"Уже привязана\",\"تم الربط بالفعل\",\"Já vinculado\",\"已关联！\",\"已關聯！\",\"قبلاً متصل شده\",\"Sudah tertaut\",\"Sudah dipautkan\"\n\"TID_DEVICE_LINK_ERROR_ALREADY_BOUND_TO_ALL_PLATFORMS\",\"The current game has already been linked. The linking can be done only once.\",\"La partie actuelle a déjà été associée. L'association ne peut être effectuée qu'une fois.\",\"Der aktuelle Spielstand wurde bereits verbunden. Das Verbinden ist nur einmal möglich.\",\"La partida actual ya se ha enlazado. Solo puedes hacer el enlace una vez.\",\"Questa partita è già stata collegata. Il collegamento può venire effettuato una sola volta.\",\"Het huidige spel is al gekoppeld. Je kunt maar één keer koppelen.\",\"Det gjeldende spillet er allerede tilknyttet. Tilknytting kan bare gjøres én gang.\",\"Mevcut oyun zaten bağlandı. Bağlantı sadece bir kere yapılabilir.\",\"現在のセーブデータは既に関連づけされています。関連づけは一度しか行えません。\",\"현재 계정은 이미 연동되었습니다. 계정은 단 한 번만 연동할 수 있습니다.\",\"Эта деревня уже привязана. Привязать можно только один раз.\",\"تم ربط اللعبة الحالية بالفعل. يمكن إجراء الربط مرة واحدة فحسب.\",\"A conta atual já foi vinculada. A vinculação só pode ser feita uma vez.\",\"当前游戏已经关联。只可关联一次。\",\"當前遊戲已經關聯。只可關聯一次。\",\"بازی فعلی قبلاً متصل شده. فقط یک بار میشه متصل کرد.\",\"Game saat ini sudah tertaut. Penautan hanya bisa dilakukan satu kali.\",\"Permainan semasa telah dipautkan. Pemautan boleh dilakukan hanya sekali.\"\n\"TID_LINK_CANCELLED_TITLE\",\"Link cancelled\",\"Association annulée\",\"Verbinden abgebrochen\",\"Enlace cancelado\",\"Collegamento annullato\",\"Koppelen geannuleerd\",\"Tilknytting avbrutt\",\"Bağlantı iptal edildi\",\"関連づけがキャンセルされました\",\"연동 취소\",\"Отмена привязки\",\"تم إلغاء الربط\",\"Vinculação cancelada\",\"关联已取消\",\"關聯已取消\",\"اتصال لغو شد\",\"Tautan dibatalkan\",\"Pautan dibatalkan\"\n\"TID_LINK_CANCELLED\",\"You have cancelled the linking. No devices have been linked.\",\"Vous avez annulé l'association. Aucun appareil n'a été associé.\",\"Du hast das Verbinden abgebrochen. Es wurde kein Gerät verbunden.\",\"Has cancelado el enlace. No hay dispositivos enlazados.\",\"Il collegamento è stato annullato. Nessun dispositivo collegato.\",\"Je hebt het koppelen geannuleerd. Er zijn geen apparaten gekoppeld.\",\"Du har avbrutt tilknyttingen. Ingen enheter ble tilknyttet.\",\"Bağlantı işlemini iptal ettin. Hiçbir cihaz bağlanmadı.\",\"関連づけがキャンセルされました。関連づけられているデバイスはありません。\",\"연동을 취소하셨습니다. 연동된 기기가 없습니다.\",\"Вы отменили соединения. Устройства не привязаны.\",\"لقد قمت بإلغاء الربط. لم يتم ربط أي أجهزة.\",\"Você cancelou a vinculação. Nenhum dispositivo foi vinculado.\",\"您已取消关联。未关联任何设备。\",\"您已取消關聯。未關聯任何裝置。\",\"اتصال رو لغو کردی. هیچ دستگاهی متصل نیست.\",\"Penautan telah dibatalkan. Tidak ada perangkat yang tertaut.\",\"Anda telah membatalkan pautan. Tiada peranti yang telah dipautkan.\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH\",\"Cannot overwrite progress\",\"Impossible d'écraser la progression\",\"Fortschritt kann nicht überschrieben werden\",\"Imposible sobrescribir el progreso\",\"Impossibile sovrascrivere i progressi\",\"Voortgang kan niet worden overschreven\",\"Kan ikke overskrive fremdriften\",\"Oyun ilerleyişinin üstüne yazılamaz\",\"進行状況を上書きできません\",\"진행 상황을 덮어쓸 수 없습니다.\",\"Невозможно перезаписать прогресс\",\"لا يمكن استبدال التقدم\",\"Impossível sobrescrever a conta\",\"无法覆盖游戏进度\",\"無法覆蓋遊戲進度\",\"امکان ذخیره دوباره پیشرفت وجود نداره\",\"Tidak dapat menimpa kemajuan\",\"Tidak dapat menulis ganti perkembangan\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH_TEXT\",\"Your game is already permanently attached to the Game Center account you have logged in with.\\n\\nBecause the account already has progress (king level <level> or a purchase made), it cannot be overwritten anymore.\",\"Votre partie est déjà définitivement associée au compte Game Center auquel vous êtes connecté(e).\\n\\nPuisque la partie a déjà enregistré une progression (niveau <level> du roi ou achat effectué), elle ne peut plus être écrasée.\",\"Dein Spiel ist bereits dauerhaft mit dem Game Center-Account verknüpft, mit dem du angemeldet bist.\\n\\nDa für das Konto bereits Fortschritte bestehen (Königslevel <level> oder Kauf getätigt), kann es nicht mehr überschrieben werden.\",\"Tu partida ya está enlazada de forma permanente a la cuenta de Game Center con la que te has conectado.\\n\\nDebido a que ya existe un progreso en la cuenta (tienes una torre del rey de nivel <level> o has efectuado alguna compra), no se puede sobrescribir.\",\"La tua partita è già collegata in modo permanente all'account Game Center con cui hai effettuato l'accesso.\\n\\nDato che l'account ha già dei progressi (re di livello <level> o un acquisto effettuato), non può più essere sovrascritto.\",\"Je spel is al permanent gekoppeld met het Game Center-account waarmee je je hebt aangemeld.\\n\\nOmdat het account al voortgang heeft geboekt (koningslevel <level> of een gedane aankoop), kan het niet meer worden overschreven.\",\"Spillet ditt er allerede permanent tilknyttet Game Center-kontoen du er logget inn på.\\n\\nSiden kontoen allerede har fremgang (kongenivå <level> eller et kjøp er foretatt), kan den ikke overskrives lenger.\",\"Oyunun zaten bu giriş yaptığın Game Center hesabına kalıcı olarak bağlı.\\n\\nHesap ilerleme kaydetmiş olduğu için (<level>. kral seviyesi veya yapılan bir satın alım) artık üstüne yazılamaz.\",\"あなたのセーブデータは、ログイン中のGame Centerアカウントに恒久的に関連づけられています。\\n\\nこのセーブデータですでにゲームが進行している(経験値レベル<level>または購入の履歴がある)ため、上書きできません。\",\"이미 로그인한 Game Center 계정에 영구적으로 등록된 계정입니다.\\n\\n게임 진행 상황(왕 레벨 <level> 혹은 구매 기록) 때문에 더는 덮어쓸 수 없습니다.\",\"Ваша игра уже привязана к учетной записи Game Center, с помощью которой вы вошли.\\n\\nТак как учетная запись развивается (уровень короля — <level>, либо были сделаны покупки), ее невозможно перезаписать.\",\"ترتبط لعبتك بشكل دائم بالفعل بالحساب على Game Center الذي سجلت الدخول بواسطته.\\n\\nلأن الحساب يوجد به تقدم بالفعل (مستوى الملك <level> أو عملية شراء تمت)، لذا لا يمكن استبدالها.\",\"Seu jogo já está permanentemente vinculado à conta do Game Center à qual se conectou.\\n\\nComo a conta já tem progresso (rei de nível <level> ou compras feitas), ela não pode mais ser sobrescrita.\",\"您的游戏已与您所登录的苹果Game Center账号永久关联。\\n\\n由于游戏已发展到一定规模（国王等级 <level> 级或者进行过游戏内购），因此不能覆盖该游戏进度。\",\"您的遊戲已與您所登入的蘋果Game Center帳號永久關聯。\\n\\n由於遊戲進度已有一定規模（國王等級 <level> 級或者進行過遊戲內購），因此不能夠覆蓋該遊戲進度。\",\"بازیت قبلاً به صورت دائم به حساب Game Center که با اون وارد سیستم شدی وصل شده.\\n\\nبه دلیل اینکه حساب قبلاً پیشرفت کرده (شاه سطح <level> یا یک خرید انجام شده)، دیگه امکان ذخیره دوباره وجود نداره.\",\"Game ini sudah terikat secara permanen ke akun Game Center yang digunakan untuk masuk.\\n\\nKarena akun sudah maju (raja level <level> atau sudah ada pembelian), game tidak dapat ditimpa lagi.\",\"Permainan anda sudah digabungkan secara kekal ke akaun Game Center yang anda telah log masuk.\\n\\nOleh sebab akaun telah berkembang (raja tahap <level> atau pembelian dibuat), ia tidak boleh ditulis ganti lagi.\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH_TEXT_TENCENT_WECHAT_IOS\",\"Your game is already permanently attached to the WeChat account you have logged in with.\\n\\nBecause the account already has progress (king level <level> or a purchase made), it cannot be overwritten anymore.\",\"Votre partie est déjà définitivement associée au compte WeChat auquel vous êtes connecté(e).\\n\\nPuisque la partie a déjà enregistré une progression (niveau <level> du roi ou achat effectué), elle ne peut plus être écrasée.\",\"Dein Spiel ist bereits dauerhaft mit dem WeChat-Konto verknüpft, mit dem du angemeldet bist.\\n\\nDa für das Konto bereits Fortschritte bestehen (Königslevel <level> oder Kauf getätigt), kann es nicht mehr überschrieben werden.\",\"Tu partida ya está enlazada de forma permanente a la cuenta de WeChat con la que te has conectado.\\n\\nDebido a que ya existe un progreso en la cuenta (tienes una torre del rey de nivel <level> o has efectuado alguna compra), no se puede sobrescribir.\",\"La tua partita è già collegata in modo permanente all'account WeChat con cui hai effettuato l'accesso.\\n\\nDato che l'account ha già dei progressi (re di livello <level> o un acquisto effettuato), non può più essere sovrascritto.\",\"Je spel is al permanent gekoppeld met het WeChat-account waarmee je je hebt aangemeld.\\n\\nOmdat het account al voortgang heeft geboekt (koningslevel <level> of een gedane aankoop), kan het niet meer worden overschreven.\",\"Spillet ditt er allerede permanent tilknyttet WeChat-kontoen du er logget inn på.\\n\\nSiden kontoen allerede har fremdrift (kongenivå <level> eller et kjøp er foretatt), kan den ikke overskrives lenger.\",\"Oyunun zaten bu giriş yaptığın WeChat hesabına kalıcı olarak bağlı.\\n\\nHesap ilerleme kaydetmiş olduğu için (<level>. kral seviyesi veya yapılan bir satın alım) artık üstüne yazılamaz.\",\"あなたのセーブデータは、ログイン中のWeChatアカウントに恒久的に関連づけられています。\\n\\nこのセーブデータですでにゲームが進行している(経験値レベル<level>または購入の履歴がある)ため、上書きできません。\",\"이미 로그인한 WeChat 계정에 영구적으로 등록된 계정입니다.\\n\\n게임 진행 상황(왕 레벨 <level> 혹은 구매 기록) 때문에 더는 덮어쓸 수 없습니다.\",\"Ваша игра уже привязана к учетной записи WeChat, с помощью которой вы вошли.\\n\\nТак как учетная запись развивается (уровень короля — <level>, либо были сделаны покупки), ее невозможно перезаписать.\",\"ترتبط لعبتك بشكل دائم بالفعل بالحساب على WeChat الذي سجلت الدخول بواسطته.\\n\\nلأن الحساب يوجد به تقدم بالفعل (مستوى الملك <level> أو عملية شراء تمت)، لذا لا يمكن استبدالها.\",\"Seu jogo já está permanentemente vinculado à conta do WeChat à qual se conectou.\\n\\nComo a conta já tem progresso (rei de nível <level> ou compras feitas), ela não pode mais ser sobrescrita.\",\"您的游戏已与您所登录的微信账号永久关联。\\n\\n由于您的国王塔等级已达到 <level> 级或者进行过游戏内购，因此不能覆盖该游戏进度。\",\"您的遊戲已與您所登入的微信帳號永久關聯。\\n\\n由於您的國王塔等級已達到 <level> 級或者進行過遊戲內購，因此不能覆蓋該遊戲進度。\",\"بازیت قبلاً به صورت دائم به حساب WeChat که با اون وارد سیستم شدی وصل شده.\\n\\nبه دلیل اینکه حساب قبلاً پیشرفت کرده (شاه سطح <level> یا یک خرید انجام شده)، دیگه امکان ذخیره دوباره وجود نداره.\",\"Game ini sudah terikat secara permanen ke akun WeChat yang digunakan untuk masuk.\\n\\nKarena akun sudah maju (raja level <level> atau sudah ada pembelian), game tidak dapat ditimpa lagi.\",\"Permainan anda sudah digabungkan secara kekal ke akaun WeChat yang anda telah log masuk.\\n\\nOleh sebab akaun telah berkembang (raja tahap <level> atau pembelian dibuat), ia tidak boleh ditulis ganti lagi.\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH_TEXT_TENCENT_QQ_IOS\",\"Your game is already permanently attached to the QQ account you have logged in with.\\n\\nBecause the account already has progress (king level <level> or a purchase made), it cannot be overwritten anymore.\",\"Votre partie est déjà définitivement associée au compte QQ auquel vous êtes connecté(e).\\n\\nPuisque la partie a déjà enregistré une progression (niveau <level> du roi ou achat effectué), elle ne peut plus être écrasée.\",\"Dein Spiel ist bereits dauerhaft mit dem QQ-Konto verknüpft, mit dem du angemeldet bist.\\n\\nDa für das Konto bereits Fortschritte bestehen (Königslevel <level> oder Kauf getätigt), kann es nicht mehr überschrieben werden.\",\"Tu partida ya está enlazada de forma permanente a la cuenta de QQ con la que te has conectado.\\n\\nDebido a que ya existe un progreso en la cuenta (tienes una torre del rey de nivel <level> o has efectuado alguna compra), no se puede sobrescribir.\",\"La tua partita è già collegata in modo permanente all'account QQ con cui hai effettuato l'accesso.\\n\\nDato che l'account ha già dei progressi (re di livello <level> o un acquisto effettuato), non può più essere sovrascritto.\",\"Je spel is al permanent gekoppeld met het QQ-account waarmee je je hebt aangemeld.\\n\\nOmdat het account al voortgang heeft geboekt (koningslevel <level> of een gedane aankoop), kan het niet meer worden overschreven.\",\"Spillet ditt er allerede permanent tilknyttet QQ-kontoen du er logget inn på.\\n\\nSiden kontoen allerede har fremdrift (kongenivå <level> eller et kjøp er foretatt), kan den ikke overskrives lenger.\",\"Oyunun zaten bu giriş yaptığın QQ hesabına kalıcı olarak bağlı.\\n\\nHesap ilerleme kaydetmiş olduğu için (<level>. kral seviyesi veya yapılan bir satın alım) artık üstüne yazılamaz.\",\"あなたのセーブデータは、ログイン中のQQアカウントに恒久的に関連づけられています。\\n\\nこのセーブデータですでにゲームが進行している(経験値レベル<level>または購入の履歴がある)ため、上書きできません。\",\"이미 로그인한 QQ 계정에 영구적으로 등록된 계정입니다.\\n\\n게임 진행 상황(왕 레벨 <level> 혹은 구매 기록) 때문에 더는 덮어쓸 수 없습니다.\",\"Ваша игра уже привязана к учетной записи QQ, с помощью которой вы вошли.\\n\\nТак как учетная запись развивается (уровень короля — <level>, либо были сделаны покупки), ее невозможно перезаписать.\",\"ترتبط لعبتك بشكل دائم بالفعل بالحساب على QQ الذي سجلت الدخول بواسطته.\\n\\nلأن الحساب يوجد به تقدم بالفعل (مستوى الملك <level> أو عملية شراء تمت)، لذا لا يمكن استبدالها.\",\"Seu jogo já está permanentemente vinculado à conta do QQ à qual se conectou.\\n\\nComo a conta já tem progresso (rei de nível <level> ou compras feitas), ela não pode mais ser sobrescrita.\",\"您的游戏已与您所登录的QQ账号永久关联。\\n\\n由于您的国王塔等级已达到 <level> 级或者进行过游戏内购，因此不能覆盖该游戏进度。\",\"您的遊戲已與您所登入的QQ帳號永久關聯。\\n\\n由於您的國王塔等級已達到 <level> 級或者進行過遊戲內購，因此不能覆蓋該遊戲進度。\",\"بازیت قبلاً به صورت دائم به حساب QQ که با اون وارد سیستم شدی وصل شده.\\n\\nبه دلیل اینکه حساب قبلاً پیشرفت کرده (شاه سطح <level> یا یک خرید انجام شده)، دیگه امکان ذخیره دوباره وجود نداره.\",\"Game ini sudah terikat secara permanen ke akun QQ yang digunakan untuk masuk.\\n\\nKarena akun sudah maju (raja level <level> atau sudah ada pembelian), game tidak dapat ditimpa lagi.\",\"Permainan anda sudah digabungkan secara kekal ke akaun QQ yang anda telah log masuk.\\n\\nOleh sebab akaun telah berkembang (raja tahap <level> atau pembelian dibuat), ia tidak boleh ditulis ganti lagi.\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH_TEXT_ANDROID\",\"Your game is already permanently attached to the Google account you have signed in with.\\n\\nBecause the account already has progress (XP level <level> or a purchase made), it cannot be overwritten anymore.\",\"Votre partie est déjà définitivement associée au compte Google auquel vous êtes connecté(e).\\n\\nPuisque la partie a déjà enregistré une progression (niveau <level> d'EXP ou achat effectué), elle ne peut plus être écrasée.\",\"Dein Spiel ist bereits dauerhaft mit dem Google-Konto verknüpft, mit dem du angemeldet bist.\\n\\nDa für das Konto bereits Fortschritte bestehen (EP-Level <level> oder Kauf getätigt), kann es nicht mehr überschrieben werden.\",\"Tu partida ya está enlazada de forma permanente a la cuenta de Google con la que te has conectado.\\n\\nDebido a que ya existe un progreso en la cuenta (tienes un nivel <level> de XP o has efectuado alguna compra), no se puede sobrescribir.\",\"La tua partita è già collegata in modo permanente all'account Google con cui hai effettuato l'accesso.\\n\\nDato che l'account ha già dei progressi (re di livello <level> o un acquisto effettuato), non può più essere sovrascritto.\",\"Je spel is al permanent gekoppeld met het Google-account waarmee je je hebt aangemeld.\\n\\nOmdat het account al voortgang heeft geboekt (XP-level <level> of een gedane aankoop), kan het niet meer worden overschreven.\",\"Spillet ditt er allerede permanent tilknyttet Google-kontoen du er logget inn på.\\n\\nSiden kontoen allerede har fremgang (XP-nivå <level> eller et kjøp er foretatt), kan den ikke overskrives lenger.\",\"Oyunun zaten bu giriş yaptığın Google hesabına kalıcı olarak bağlı.\\n\\nHesap ilerleme kaydetmiş olduğu için (<level>. seviye TP veya yapılan bir satın alım) artık üstüne yazılamaz.\",\"あなたのセーブデータは、ログイン中のGoogleアカウントに恒久的に関連づけられています。\\n\\nこのセーブデータですでにゲームが進行している(経験値レベル<level>または購入の履歴がある)ため、上書きできません。\",\"이미 로그인한 Google 계정에 영구적으로 등록된 게임입니다.\\n\\n게임 진행 상황(XP 레벨 <level> 혹은 구매 기록) 때문에 더는 덮어쓸 수 없습니다.\",\"Ваша игра уже привязана к учетной записи Google, с помощью которой вы вошли.\\n\\nТак как учетная запись развивается (уровень короля — <level>, или были сделаны покупки), ее невозможно перезаписать.\",\"ترتبط لعبتك بشكل دائم بالفعل بالحساب على Google الذي سجلت الدخول بواسطته.\\n\\nلأن الحساب يوجد به تقدم بالفعل (مستوى الخبرة <level> أو عملية شراء تمت)، لذا لا يمكن استبدالها.\",\"Seu jogo já está permanentemente vinculado à conta do Google à qual se conectou.\\n\\nComo a conta já tem progresso (nível de XP <level> ou compras feitas), ela não pode mais ser sobrescrita.\",\"您的游戏已与您所登录的Google账号永久关联。\\n\\n由于游戏已发展到一定规模（经验等级 <level> 级或者进行过游戏内购），因此不能覆盖该游戏进度。\",\"您的遊戲已與您所登入的Google帳號永久關聯。\\n\\n由於遊戲進度已有一定規模（經驗等級 <level> 級或者進行過遊戲內購），因此不能夠覆蓋該遊戲進度。\",\"بازیت قبلاً به صورت دائم به حساب Google که با اون وارد سیستم شدی وصل شده.\\n\\nبه دلیل اینکه حساب قبلاً پیشرفت کرده (شاه سطح <level> یا یک خرید انجام شده)، دیگه امکان ذخیره دوباره وجود نداره.\",\"Game ini sudah terikat secara permanen ke akun Google yang digunakan untuk masuk.\\n\\nKarena akun sudah maju (XP level <level> atau sudah ada pembelian), game tidak dapat ditimpa lagi.\",\"Permainan anda sudah digabungkan secara kekal ke akaun Google yang anda telah log masuk.\\n\\nOleh sebab akaun telah berkembang (XP tahap <level> atau pembelian dibuat), ia tidak boleh ditulis ganti lagi.\"\n\"TID_DEVICE_LINK_ERROR_CODE_CURRENT_VILLAGE_TOO_HIGH_TEXT_KUNLUN\",\"Your game is already permanently attached to the account you have signed in with.\\n\\nBecause the base already has progress (XP level <level> or a purchase made), it cannot be overwritten anymore.\",\"Votre partie est déjà définitivement associée au compte auquel vous êtes connecté.\\n\\nPuisque la partie a déjà enregistré une progression (niveau <level> d'EXP ou achat effectué), elle ne peut plus être écrasée.\",\"Dein Spiel ist bereits dauerhaft mit dem Konto verknüpft, mit dem du angemeldet bist.\\n\\nDa für das Spiel bereits Fortschritte bestehen (EP-Level <level> oder Kauf getätigt), kann es nicht mehr überschrieben werden.\",\"Tu partida ya está enlazada de forma permanente a la cuenta con la que te has conectado.\\n\\nDebido a que ya existe un progreso en la partida (tienes un nivel <level> de XP o has efectuado alguna compra), no se puede sobrescribir.\",\"La tua partita è già collegata in modo permanente all'account con cui hai effettuato l'accesso.\\n\\nDato che la partita ha già fatto dei progressi (livello XP <level> o un acquisto effettuato), non è più possibile sovrascriverla.\",\"Je spel is al permanent gekoppeld aan het account waarmee je je hebt aangemeld.\\n\\nOmdat het spel al voortgang heeft geboekt (XP-level <level> of een gedane aankoop), kan het niet meer worden overschreven.\",\"Spillet ditt er allerede permanent tilknyttet kontoen du er logget inn på.\\n\\nSiden basen allerede har fremgang (XP på nivå <level> eller et kjøp er foretatt), kan den ikke overskrives lenger.\",\"Oyunun zaten bu giriş yaptığın hesabına kalıcı olarak bağlı.\\n\\nOyununda zaten ilerleme kaydetmiş olduğun için (<level>. seviye TP veya yapılan bir satın alım) artık üstüne yazılamaz.\",\"あなたのセーブデータは、ログイン中のアカウントに恒久的に関連づけられています。\\n\\nこのセーブデータですでにゲームが進行している(経験値レベル<level>または購入の履歴がある)ため、上書きできません。\",\"로그인한 계정에 이미 영구적으로 등록된 게임입니다.\\n\\n게임 진행 상황(XP 레벨 <level> 혹은 구매 기록) 때문에 더는 덮어쓸 수 없습니다.\",\"Ваша деревня привязана к учетной записи, с помощью которой вы вошли.\\n\\nТак как деревня уже начала свое развитие (уровень Ратуши — <level>, или были сделаны покупки), ее невозможно перезаписать.\",\"ترتبط لعبتك بشكل دائم بالفعل بالحساب الذي سجلت الدخول بواسطته.\\n\\nلأن القاعدة يوجد بها تقدم بالفعل (مستوى نقاط الخبرة <level> أو عملية الشراء التي تمت)، لذا لا يمكن استبدالها بأية حال.\",\"Seu jogo já está permanentemente vinculada à conta do Google com a qual fez login.\\n\\nComo o jogo já tem progresso (nível de XP <level> ou compras realizadas), não pode mais ser sobrescrito.\",\"您的游戏已与您所登录的账户永久关联。\\n\\n由于游戏已发展到一定规模（经验等级达到<level>级或者已购买宝石），因此不能覆盖该游戏进度。\",\"您的遊戲已與您所登入的帳戶永久關聯。\\n\\n由於該遊戲進度已有一定規模（經驗等級達到<level>級或者已購買寶石），因此不再能夠覆蓋該遊戲進度。\",\"بازیت قبلاً به صورت دائم به حسابی که با اون وارد سیستم شدی وصل شده.\\n\\nبه دلیل اینکه حساب قبلاً پیشرفت کرده (شاه سطح <level> یا یک خرید انجام شده)، دیگه امکان ذخیره دوباره وجود نداره.\",\"Game ini sudah terikat secara permanen ke akun yang digunakan untuk masuk.\\n\\nKarena basis sudah maju (XP level <level> atau sudah ada pembelian), game tidak dapat ditimpa lagi.\",\"Permainan anda sudah digabungkan secara kekal ke akaun yang anda telah log masuk.\\n\\nOleh sebab pangkalan telah berkembang (XP tahap <level> atau pembelian dibuat), ia tidak boleh ditulis ganti lagi.\"\n\"TID_DEVICE_LINK_ERROR_CODE_SAME_PLATFORM\",\"Code linking not available\",\"Association par code non disponible\",\"Code-Verbindung nicht verfügbar\",\"Código de enlace no disponible\",\"Codice di collegamento non disponibile\",\"Koppelcode niet beschikbaar\",\"Tilknytting med kode ikke tilgjengelig\",\"Kod bağlantısı mevcut değil\",\"コードのリンクは利用できません\",\"코드 연동 불가\",\"Код связи недоступен\",\"ربط الرمز غير متاح\",\"Código de vinculação indisponível\",\"代码关联不可用\",\"代碼關聯不可用\",\"اتصال کد در دسترس نیست\",\"Penautan kode tidak tersedia\",\"Pautan kod tidak tersedia\"\n\"TID_DEVICE_LINK_ERROR_CODE_SAME_PLATFORM_TEXT\",\"You don't need to use the code link to play on multiple iOS devices.\\n\\nTo play on another iOS device, please make sure you are logged into Game Center with the other device. Then, on this device, log in with the same Game Center account.\\n\\nYour progress will be automatically synchronized through your Game Center account.\",\"Vous n'avez pas besoin d'utiliser l'association par code pour jouer sur différents appareils iOS.\\n\\nPour jouer sur un autre appareil iOS, assurez-vous d'être connecté(e) au Game Center avec le premier appareil. Ensuite, sur l'autre appareil, connectez-vous au même compte Game Center.\\n\\nVotre progression sera synchronisée automatiquement via votre compte Game Center.\",\"Du benötigst keinen Verbindungscode, um auf mehreren iOS-Geräten zu spielen.\\n\\nUm auf einem anderen iOS-Gerät spielen zu können, vergewissere dich bitte, dass du mit dem anderen Gerät bei Game Center angemeldet bist. Melde dich dann auf diesem Gerät mit demselben Game Center-Konto an.\\n\\nDein Fortschritt wird automatisch durch dein Game Center-Konto synchronisiert.\",\"No necesitas ningún código de enlace para jugar en varios dispositivos iOS.\\n\\nPara ello, solo tienes que iniciar sesión en Game Center en el otro dispositivo. Luego inicia sesión en este dispositivo con la misma cuenta de Game Center.\\n\\nEl progreso se sincronizará automáticamente a través de tu cuenta de Game Center.\",\"Non è necessario usare il codice di collegamento per giocare su più dispositivi iOS.\\n\\nPer giocare su un altro dispositivo iOS, assicurati di aver effettuato con esso l'accesso al Game Center. Dopodiché, effettua l'accesso al Game Center con lo stesso account anche su questo dispositivo.\\n\\nI tuoi progressi saranno automaticamente sincronizzati nel tuo account del Game Center.\",\"Je hoeft de koppelcode niet te gebruiken om op meerdere iOS-apparaten te spelen.\\n\\nOm op een ander iOS-apparaat te spelen, moet je zorgen dat je met het andere apparaat bent aangemeld bij Game Center. Meld je vervolgens op dit apparaat aan met hetzelfde Game Center-account.\\n\\nJe voortgang wordt automatisch gesynchroniseerd via je Game Center-account.\",\"Du trenger ikke å bruke tilknytting med kode for å spille på flere iOS-enheter.\\n\\nFor å spille på en annen iOS-enhet er det bare å logge den andre enheten inn på Game Center. Deretter logger du inn med samme Game Center-konto på denne enheten.\\n\\nFremgangen din vil automatisk synkroniseres gjennom Game Center-kontoen din.\",\"Birden çok iOS cihazda oynamak için kod bağlantısını kullanman gerekmez.\\n\\nBaşka bir iOS cihazda oynamak için önce diğer cihazda Game Center'a giriş yaptığından emin ol. Daha sonra bu cihazda aynı Game Center hesabıyla giriş yap.\\n\\nOyundaki ilerleme durumun otomatik olarak Game Center hesabın aracılığı ile senkronize edilecektir.\",\"複数のiOSデバイスでプレイする際に、コードリンクを使う必要はありません。\\n\\n異なるiOSデバイスでプレイするには、まず他のデバイスからGame Centerにログインしてください。そのうえでこのデバイスから同じGame Centerアカウントにログインします。\\n\\nあなたの進行状況は、Game Centerアカウントを通じて自動的に同期されます。\",\"여러 iOS 기기에서 게임을 즐길 경우엔 연동 코드를 사용하지 않아도 됩니다.\\n\\n단지 다른 기기에서도 현재 기기와 동일한 Game Center 계정으로 로그인하면 됩니다.\\n\\n현재 진행 중인 게임 정보는 자동으로 Game Center 계정을 통해 동기화됩니다.\",\"Для того чтобы играть на разных устройствах iOS, вам не нужен код привязки.\\n\\nЧтобы играть на другом устройстве iOS, подключитесь на нем к Game Center. Затем войдите в Game Center с той же учетной записью.\\n\\nВаш прогресс в игре автоматически синхронизируется посредством учетной записи Game Center.\",\"لا تحتاج إلى استخدام رابط الرمز للعب على العديد من الأجهزة التي تعمل بنظام التشغيل iOS.\\n\\nلكي تتمكن من اللعب على جهاز iOS آخر، يُرجى التأكد من تسجيل الدخول إلى Game Center على الجهاز الآخر. ثم سجّل الدخول إلىGame Center على هذا الجهاز باستخدام حساب Game Center نفسه.\\n\\nوستتم مزامنة تقدمك تلقائيًا من خلال حسابك على Game Center.\",\"Não é necessário usar o código de vinculação para jogar em mais de um dispositivo iOS.\\n\\nPara jogar em outro dispositivo iOS, certifique-se de estar conectado ao Game Center com o outro dispositivo. Depois, neste dispositivo, conecte-se com a mesma conta do Game Center.\\n\\nSeu progresso será automaticamente sincronizado por meio da sua conta do Game Center.\",\"您无需使用关联代码即可在多台苹果设备上玩本游戏。\\n\\n要在另一台苹果设备上玩本游戏，请确保您当前的游戏进度已经绑定到了一个Game Center账号。然后，在另一台设备上，用相同的Game Center账号登录。\\n\\n通过您的Game Center账号即可自动同步您的游戏进度。\",\"您無需使用關聯代碼即可在多台蘋果裝置上玩本遊戲。\\n\\n要在另一台蘋果裝置上玩本遊戲，請確保您當前的遊戲進度已經綁定到了一個蘋果遊戲中心(Game Center)帳號。然後，在另一台裝置上，用相同的蘋果遊戲中心帳號登入。\\n\\n通過您的蘋果遊戲中心帳號即可自動同步您的遊戲進度。\",\"برای بازی روی چند دستگاه iOS لازم نیست از کد اتصال استفاده کنی.\\n\\nبرای بازی روی یک دستگاه دیگه، لطفاً مطمئن شو که با یک دستگاه دیگه وارد Game Center شدی. بعد، روی این دستگاه، با همون حساب Game Center وارد سیستم شو.\\n\\nپیشرفتی که داشتی به صورت خودکار از طریق حساب Game Center همگام‌سازی میشه.\",\"Kamu tidak perlu menggunakan tautan kode untuk bermain di beberapa perangkat iOS.\\n\\nUntuk bermain di perangkat iOS lainnya, pastikan untuk masuk ke Game Center dengan perangkat lain. Lalu, pada perangkat ini, masuk dengan akun Game Center yang sama.\\n\\nKemajuan akan secara otomatis disinkronkan melalui akun Game Center.\",\"Anda tidak perlu menggunakan pautan kod untuk bermain pada berbilang peranti iOS.\\n\\nSila pastikan anda melog masuk ke Game Center untuk bermain pada peranti iOS yang lain. Kemudian, log masuk ke akaun Game Center yang sama pada peranti ini.\\n\\nPerkembangan anda akan disegerakkan secara automatik melalui akaun Game Center anda.\"\n\"TID_DEVICE_LINK_ERROR_CODE_SAME_PLATFORM_TEXT_TENCENT_IOS\",\"You don't need to use the code link to play on multiple iOS devices.\\n\\nTo play on another iOS device, please make sure you are logged into WeChat or QQ with the other device. Then, on this device, log in with the same WeChat or QQ account.\\n\\nYour progress will be automatically synchronized through your WeChat or QQ account.\",\"Vous n'avez pas besoin d'utiliser l'association par code pour jouer sur différents appareils iOS.\\n\\nPour jouer sur un autre appareil iOS, assurez-vous d'être connecté(e) à WeChat ou QQ avec le premier appareil. Ensuite, sur l'autre appareil, connectez-vous au même compte WeChat ou QQ.\\n\\nVotre progression sera synchronisée automatiquement via votre compte WeChat ou QQ.\",\"Du musst den Verbindungscode nicht verwenden, um auf mehreren iOS-Geräten spielen zu können.\\n\\nUm auf einem anderen iOS-Gerät spielen zu können, vergewissere dich bitte, dass du mit dem anderen Gerät bei WeChat oder QQ angemeldet bist. Melde dich dann auf diesem Gerät mit demselben WeChat- oder QQ-Konto an.\\n\\nDein Fortschritt wird automatisch durch dein WeChat- oder QQ-Konto synchronisiert.\",\"No necesitas ningún código de enlace para jugar en varios dispositivos iOS.\\n\\nPara ello, solo tienes que iniciar sesión en WeChat o QQ en el otro dispositivo. Luego, inicia sesión en este dispositivo con esa misma cuenta de WeChat o QQ.\\n\\nEl progreso se sincronizará automáticamente a través de tu cuenta de WeChat o QQ.\",\"Non è necessario usare il codice di collegamento per giocare su più dispositivi iOS.\\n\\nPer giocare su un altro dispositivo iOS, assicurati di aver effettuato con esso l'accesso a WeChat o QQ. Dopodiché, effettua l'accesso a WeChat o QQ con lo stesso account anche su questo dispositivo.\\n\\nI tuoi progressi saranno automaticamente sincronizzati nel tuo account WeChat o QQ.\",\"Je hoeft de koppelcode niet te gebruiken om op meerdere iOS-apparaten te spelen.\\n\\nOm op een ander iOS-apparaat te spelen, moet je zorgen dat je met het andere apparaat bent aangemeld bij WeChat of QQ. Meld je vervolgens op dit apparaat aan met hetzelfde WeChat- of QQ-account.\\n\\nJe voortgang wordt automatisch gesynchroniseerd via je WeChat- of QQ-account.\",\"Du trenger ikke å bruke tilknytting med kode for å spille på flere iOS-enheter.\\n\\nFor å spille på en annen iOS-enhet er det bare å logge den andre enheten inn på WeChat eller QQ. Deretter logger du inn med samme WeChat- eller QQ-konto på denne enheten.\\n\\nFremdriften din synkroniseres automatisk gjennom WeChat- eller QQ-kontoen din.\",\"Birden çok iOS cihazda oynamak için kod bağlantısını kullanman gerekmez.\\n\\nBaşka bir iOS cihazda oynamak için önce diğer cihazda WeChat veya QQ'ya giriş yaptığından emin ol. Daha sonra bu cihazda aynı WeChat veya QQ hesabıyla giriş yap.\\n\\nOyundaki ilerleme durumun otomatik olarak WeChat veya QQ hesabın aracılığı ile senkronize edilecektir.\",\"複数のiOSデバイスでプレイする際に、コードリンクを使う必要はありません。\\n\\n異なるiOSデバイスでプレイするには、まず他のデバイスからWeChatまたはQQにログインしてください。そのうえでこのデバイスから同じWeChatまたはQQアカウントにログインします。\\n\\nあなたの進行状況は、WeChatまたはQQアカウントを通じて自動的に同期されます。\",\"여러 iOS 기기에서 게임을 하는 경우 연동 코드를 사용하지 않아도 됩니다.\\n\\n다만, 다른 기기에서도 현재 기기와 동일한 WeChat 또는 QQ 계정으로 로그인해야 합니다.\\n\\n게임 진행 상황이 자동으로 WeChat 또는 QQ 계정을 통해 동기화됩니다.\",\"Для того чтобы играть на разных устройствах iOS, вам не нужен код привязки.\\n\\nЧтобы играть на другом устройстве iOS, подключитесь на нем к WeChat или QQ. Затем войдите в WeChat или QQ с той же учетной записью.\\n\\nВаш прогресс в игре автоматически синхронизируется посредством учетной записи WeChat или QQ.\",\"لا تحتاج إلى استخدام رابط الرمز للعب على العديد من الأجهزة التي تعمل بنظام التشغيل iOS.\\n\\nلكي تتمكن من اللعب على جهاز iOS آخر، يُرجى التأكد من أنك قمت بتسجيل الدخول إلى WeChat أو QQ على هذا الجهاز الآخر. ثم سجّل الدخول إلى حساب WeChat أو QQ نفسه على هذا الجهاز.\\n\\nوستتم مزامنة تقدمك تلقائيًا من خلال حسابك على WeChat أو QQ.\",\"Não é necessário usar o código de vinculação para jogar em mais de um dispositivo iOS.\\n\\nPara jogar em outro dispositivo iOS, certifique-se de estar conectado ao WeChat ou QQ com o outro dispositivo. Depois, neste dispositivo, conecte-se com a mesma conta do WeChat ou QQ.\\n\\nSeu progresso será automaticamente sincronizado por meio da sua conta do WeChat ou QQ.\",\"您无需使用关联代码即可在多台苹果设备上玩本游戏。\\n\\n要在另一台苹果设备上玩本游戏，请确保您当前的游戏进度已经绑定了一个微信账号或QQ账号。然后，在另一台设备上，用相同的微信或QQ账号登录。\\n\\n通过您的微信或QQ账号即可自动同步您的游戏进度。\",\"您無需使用關聯代碼即可在多台蘋果裝置上玩本遊戲。\\n\\n要在另一台蘋果裝置上玩本遊戲，請確保您當前的遊戲進度已經綁定了一個微信帳號或QQ帳號。然後，在另一台裝置上，用相同的微信或QQ帳號登錄。\\n\\n通過您的微信或QQ帳號即可自動同步您的遊戲進度。\",\"برای بازی روی چند دستگاه iOS لازم نیست از کد اتصال استفاده کنی.\\n\\nبرای بازی روی یک دستگاه iOS دیگه، لطفاً مطمئن شو که با دستگاه دیگه وارد WeChat یا QQ شدی.بعد، روی این دستگاه، با همون حساب WeChat یا QQ وارد سیستم شو.\\n\\nپیشرفتی که داشتی به صورت خودکار از طریق حساب WeChat یا QQ همگام‌سازی میشه.\",\"Kamu tidak perlu menggunakan tautan kode untuk bermain di beberapa perangkat iOS.\\n\\nUntuk bermain di perangkat iOS lainnya, pastikan untuk masuk ke WeChat atau QQ dengan perangkat lain. Lalu, pada perangkat ini, masuk dengan akun WeChat atau QQ yang sama.\\n\\nKemajuan akan secara otomatis disinkronkan melalui akun WeChat atau QQ.\",\"Anda tidak perlu menggunakan pautan kod untuk bermain pada berbilang peranti iOS.\\n\\nSila pastikan anda melog masuk ke WeChat atau QQ untuk bermain pada peranti iOS yang lain. Kemudian, log masuk ke akaun WeChat atau QQ yang sama pada peranti ini.\\n\\nPerkembangan anda akan disegerakkan secara automatik melalui akaun WeChat atau QQ anda.\"\n\"TID_DEVICE_LINK_ERROR_CODE_SAME_PLATFORM_TEXT_ANDROID\",\"You don't need to use the code link to play on multiple Android devices.\\n\\nTo play on another Android device, first make sure you're signed in with Google Play Sign-In on the other device. Then, on this device, use the Google Play Sign-In. (You can find the Google Play Sign-In from the game's settings.)\\n\\nYour progress will be automatically synchronized.\",\"Vous n'avez pas besoin d'utiliser l'association par code pour jouer sur différents appareils Android.\\n\\nPour jouer sur un autre appareil Android, assurez-vous d'être connecté(e) à Google Play sur le premier appareil. Ensuite, connectez-vous au même compte Google Play sur l'autre appareil (Google Play est accessible depuis les paramètres du jeu).\\n\\nVotre progression sera synchronisée automatiquement.\",\"Du benötigst keinen Verbindungscode, um auf mehreren Android-Geräten zu spielen.\\n\\nUm auf einem anderen Android-Gerät spielen zu können, vergewissere dich bitte, dass du auf dem anderen Gerät bei Google Play angemeldet bist. Melde dich dann auf diesem Gerät ebenfalls bei Google Play an. (Du kannst dich in den Spieleinstellungen bei Google Play anmelden.)\\n\\nDein Fortschritt wird automatisch synchronisiert.\",\"No necesitas ningún código de enlace para jugar en varios dispositivos Android.\\n\\nPara ello, solo tienes que conectar con Google Play en el otro dispositivo. Luego conéctate en este dispositivo con la misma cuenta de Google Play (desde el menú de configuración del juego).\\n\\nTu progreso se sincronizará automáticamente entre ambos dispositivos.\",\"Non è necessario usare il codice di collegamento per giocare su più dispositivi Android.\\n\\nPer giocare su un altro dispositivo Android, assicurati di aver effettuato con esso l'accesso a Google Play. Dopodiché, effettua l'accesso a Google Play con lo stesso account anche su questo dispositivo (puoi accedere a Google Play tramite le impostazioni di gioco).\\n\\nI tuoi progressi saranno automaticamente sincronizzati.\",\"Je hoeft de koppelcode niet te gebruiken om op meerdere Android-apparaten te spelen.\\n\\nAls je op een ander Android-apparaat wilt spelen, moet je eerst zorgen dat je op het andere apparaat met Google Play Sign-In bent aangemeld. Gebruik vervolgens op dit apparaat Google Play Sign-In. (Je vindt Google Play Sign-In via de instellingen van het spel.)\\n\\nJe voortgang wordt automatisch gesynchroniseerd.\",\"Du trenger ikke å bruke tilknytting med kode for å spille på flere Android-enheter.\\n\\nFor å spille på en annen Android-enhet må du først sørge for at du er logget inn på Google Play med den andre enheten. Deretter logger du inn på Google Play med denne enheten. (Du kan logge på Google Play fra spillets innstillinger.)\\n\\nFremdriften vil synkroniseres automatisk.\",\"Birden çok Android cihazda oynamak için kod bağlantısını kullanman gerekmez.\\n\\nBaşka bir Android cihazda oynamak için önce diğer cihazda Google Play'e giriş yaptığından emin ol. Daha sonra bu cihazda Google Play ile giriş yap. (Google Play ile Giriş seçeneğini oyunun ayarlarında bulabilirsin.)\\n\\nOyundaki ilerleme durumun otomatik olarak senkronize edilecektir.\",\"複数のAndroidデバイスでプレイする際に、コードリンクを使う必要はありません。\\n\\n異なるAndroidデバイスでプレイするには、まず他のデバイスからGoogle Playサインインでログインしてください。そのうえでこのデバイスから同じGoogle Playサインインを使用します（Google Playサインインは、ゲームの設定内にあります）。\\n\\nあなたの進行状況は、自動的に同期されます。\",\"여러 Android 기기에서 게임을 즐길 경우엔 연동 코드를 사용하지 않아도 됩니다.\\n\\n기기에서도 현재 기기와 동일한 Google Play 로그인 정보를 사용하면 됩니다. 게임의 설정 메뉴에서 Google Play 로그인 메뉴를 찾을 수 있습니다.\\n\\n현재 진행 중인 게임 정보는 자동으로 동기화됩니다.\",\"Для того чтобы играть на разных устройствах Android, код привязки не нужен.\\n\\nЧтобы играть на другом устройстве Android, убедитесь, что оно подключено к учетной записи Google Play. Затем войдите в Google Play (Google Play можно найти в настройках игры).\\n\\nВаш прогресс в игре синхронизируется автоматически.\",\"لا تحتاج إلى استخدام رابط الرمز للعب على العديد من الأجهزة التي تعمل بنظام التشغيل Android.\\n\\nلكي تتمكن من اللعب على جهاز Android آخر، يُرجى التأكد أولاً من تسجيل الدخول إلى Google Play على الجهاز الآخر. ثم سجّل دخولك إلىGoogle Play على هذا الجهاز. (يمكنك العثور على تسجيل الدخول إلى Google Play من إعدادات اللعبة.)\\n\\nوستتم مزامنة تقدمك تلقائيًا.\",\"Não é necessário usar o código de vinculação para jogar em mais de um dispositivo Android.\\n\\nPara jogar em outro dispositivo Android, certifique-se de estar conectado com o login do Google Play no outro dispositivo. Depois, neste dispositivo, use o login no Google Play. Você pode encontrar o login do Google Play nas configurações do jogo.\\n\\nSeu progresso será automaticamente sincronizado.\",\"您无需使用关联代码即可在多台安卓设备上玩本游戏。\\n\\n要在另一台安卓设备上玩本游戏，请确保您当前的游戏进度已经绑定到了一个Google Play账户。然后，在另一台设备上，登录同一个Google Play账号。（您可以从游戏设置中找到 Google Play 登录。）\\n\\n您的游戏进度将会自动同步。\",\"您無需使用關聯代碼即可在多台安卓裝置上玩本遊戲。\\n\\n要在另一台安卓裝置上玩本遊戲，請確保您當前的遊戲進度已經綁定到了一個Google Play帳戶。然後，在另一台裝置上，登入同一個Google Play帳號。（您可以從遊戲設定中找到 Google Play 登入。）\\n\\n您的遊戲進度將會自動同步。\",\"برای بازی روی چند دستگاه Android لازم نیست از کد اتصال استفاده کنی.\\n\\nبرای بازی روی یک دستگاه Android دیگه، لطفاً مطمئن شو که با دستگاه دیگه وارد Google Play شدی. بعد، روی این دستگاه، با همون حساب Google Play وارد سیستم شو. (می‌تونی از طریق تنظیمات بازی ورود به سیستم Google Play رو پیدا کنی.)\\n\\nپیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Kamu tidak perlu menggunakan tautan kode untuk bermain di beberapa perangkat Android.\\n\\nUntuk bermain di perangkat Android lainnya, pastikan untuk masuk ke Google Play Sign-In dengan perangkat lain. Lalu, pada perangkat ini, gunakan Google Play Sign-In. (Google Play Sign-In dapat ditemukan di setelan game).\\n\\nKemajuan akan secara otomatis disinkronkan.\",\"Anda tidak perlu menggunakan pautan kod untuk bermain pada berbilang peranti Android.\\n\\nUntuk bermain pada peranti Android yang lain, pertama sekali pastikan anda mendaftar masuk menggunakan Google Play Sign-In pada peranti lain. Kemudian, gunakan Google Play Sign-In pada peranti ini. (Anda boleh menemui Google Play Sign-In daripada tetapan permainan.)\\n\\nPerkembangan anda akan disegerakkan secara automatik.\"\n\"TID_DEVICE_LINK_ERROR_CODE_SAME_PLATFORM_TEXT_KUNLUN\",\"You don't need to use the code link to play on multiple Android devices.\\n\\nTo play on another Android device, download Clash of Clans from the same Android App Store and sign-in using the same account.\\n\\nYour progress will be automatically synchronized.\",\"Vous n'avez pas besoin d'utiliser l'association par code pour jouer sur différents appareils Android.\\n\\nPour jouer sur un autre appareil Android, téléchargez Clash Royale via le même App Store Android et connectez-vous avec le même compte.\\n\\nVotre progression sera synchronisée automatiquement.\",\"Du benötigst keinen Verbindungscode, um auf mehreren Android-Geräten zu spielen.\\n\\nUm auf einem anderen Android-Gerät spielen zu können, musst du Clash Royale aus demselben Android-App-Store herunterladen und dich mit demselben Konto anmelden.\\n\\nDein Fortschritt wird automatisch synchronisiert.\",\"No necesitas ningún código de enlace para jugar en varios dispositivos Android.\\n\\nPara ello solo tienes que descargar Clash Royale desde la misma tienda de aplicaciones de Android e iniciar sesión con la misma cuenta.\\n\\nEl progreso se sincronizará automáticamente.\",\"Non è necessario utilizzare il collegamento con codice per giocare su più dispositivi Android.\\n\\nPer giocare su un altro dispositivo Android, scarica Clash Royale dallo stesso App Store di Android e accedi utilizzando lo stesso account.\\n\\nI tuoi progressi saranno sincronizzati automaticamente.\",\"Je hoeft de koppelcode niet te gebruiken om op meerdere Android-apparaten te spelen.\\n\\nAls je op een ander Android-apparaat wilt spelen, moet je Clash Royale downloaden in dezelfde Android App Store en inloggen met hetzelfde account.\\n\\nJe voortgang wordt automatisch gesynchroniseerd.\",\"Du trenger ikke bruke tilknytting med kode for å spille på flere Android-enheter.\\n\\nHvis du vil spille på en annen Android-enhet, trenger du bare å laste ned Clash Royale fra samme Android App Store og logge på med samme konto.\\n\\nFremdriften vil synkroniseres automatisk.\",\"Birden çok Android cihazında oynamak için kod bağlantısına ihtiyacın yok.\\n\\nBaşka bir Android cihazda oynayabilmek için Clash Royale'ı aynı Android App Store'dan indir ve aynı hesapla giriş yap.\\n\\nİlerlemen otomatik olarak senkronize edilecektir.\",\"複数のAndroidデバイスでプレイするために、コードによる関連づけを使う必要はありません。\\n\\n他のAndroidデバイスで同じセーブデータのゲームをプレイするには、同じAndroidアプリストアからクラッシュ・ロワイヤルをダウンロードして、同一のアカウントでログインしてください。\\n\\nゲームの進行状況は自動的に同期されます。\",\"여러 Android 기기에서 게임을 즐기기 위해 연동 코드를 사용할 필요는 없습니다.\\n\\n다른 Android 기기에서 플레이하려면 같은 Android 앱 스토어에서 클래시 로얄을 다운로드 한 다음 같은 계정으로 로그인하세요.\\n\\n진행 상황은 자동으로 동기화됩니다.\",\"Чтобы играть на разных устройствах Android, код привязки не нужен.\\n\\nЧтобы играть на другом устройстве Android, скачайте Clash Royale из Android App Store и войдите в ту же учетную запись.\\n\\nВаш прогресс в игре синхронизируется автоматически.\",\"لا تحتاج إلى استخدام رابط الرمز للعب على العديد من الأجهزة التي تعمل بنظام تشغيل Android.\\n\\nللعب على جهاز Android آخر، قم بتنزيل Clash Royale من متجر تطبيقات Android نفسه وسجّل الدخول باستخدام الحساب نفسه.\\n\\nستتم مزامنة تقدمك تلقائيًا.\",\"Você não precisa usar o código de vinculação para jogar em vários dispositivos Android.\\n\\nPara jogar em outro dispositivo Android, baixe Clash of Clans na mesma Android App Store e entre usando a mesma conta.\\n\\nSeu progresso será sincronizado automaticamente.\",\"您无需使用关联代码即可在多台安卓设备上进行游戏。\\n\\n要在其他安卓设备上玩游戏，请从同一个安卓应用商店下载游戏，并使用同一个帐号在这些设备上登录。\\n\\n您的游戏进度会自动同步。\",\"您無需使用關聯代碼即可在多台安卓裝置上進行遊戲。\\n\\n要在其他安卓裝置上玩遊戲，請從同一個安卓應用商店下載遊戲，並使用同一個帳號在這些裝置上登入。\\n\\n您的遊戲進度會自動同步。\",\"برای بازی روی چند دستگاه Android لازم نیست از کد اتصال استفاده کنی.\\n\\nبرای بازی روی یک دستگاه Android دیگه، از همون فروشگاه برنامه Android بازی Clash of Clans رو هم دانلود کن و با استفاده از همین حساب وارد بازی شو.\\n\\nپیشرفتی که داشتی به صورت خودکار همگام‌سازی میشه.\",\"Kamu tidak perlu menggunakan tautan kode untuk bermain di beberapa perangkat Android.\\n\\nUntuk bermain di perangkat Android lainnya, unduh Clash of Clans dari App Store Android yang sama dan masuk menggunakan akun yang sama.\\n\\nKemajuanmu akan secara otomatis disinkronkan.\",\"Anda tidak perlu menggunakan pautan kod untuk bermain pada berbilang Android.\\n\\nUntuk bermain pada peranti Android lain, muat turun Clash of Clans dari Gedung Aplikasi Android yang sama dan daftar masuk menggunakan akaun yang sama.\\n\\nPerkembangan anda akan disegerakkan secara automatik.\"\n\"TID_DEVICE_LINK_SUCCESFULL_TITLE\",\"Linking successful!\",\"Association effectuée !\",\"Verbinden erfolgreich!\",\"Enlace realizado\",\"Collegamento effettuato!\",\"Koppeling geslaagd!\",\"Tilknyttet!\",\"Bağlantı başarılı!\",\"関連づけ成功！\",\"연동 성공!\",\"Все получилось!\",\"تم الربط بنجاح!\",\"Vinculação concluída!\",\"关联成功！\",\"關聯成功！\",\"اتصال موفق!\",\"Penautan berhasil!\",\"Pautan berjaya!\"\n\"TID_DEVICE_LINK_SUCCESFULL_NEW\",\"You have successfully linked this device to your account. To start playing, just tap OK and your account will be loaded. Have fun!\",\"Cet appareil a été associé à votre compte. Pour jouer, touchez OK et votre compte sera chargé. Amusez-vous bien !\",\"Du hast dieses Gerät erfolgreich mit deinem Konto verbunden! Tippe einfach auf \\qO. K.\\q, um dein Konto zu laden und zu spielen. Viel Spaß!\",\"Se ha enlazado este dispositivo a tu cuenta. Para empezar a jugar, toca Vale y se cargará tu cuenta. ¡Que te diviertas!\",\"Questo dispositivo è stato collegato al tuo account. Tocca OK per iniziare a giocare e verrà caricato l'account. Buon divertimento!\",\"Dit apparaat is nu aan je account gekoppeld. Tik op Oké om te spelen. Je account wordt nu geladen. Veel plezier!\",\"Du har knyttet denne enheten til kontoen din. Trykk på OK for å begynne å spille, så vil kontoen lastes inn. Ha det gøy!\",\"Bu cihazı hesabına başarıyla bağladın. Oynamaya başlamak için Tamam'a dokunursan hesabın yüklenecektir. İyi eğlenceler!\",\"このデバイスはあなたのアカウントに関連づけされました。「OK」をタップしてアカウントをロードし、ゲームを始めましょう。どうぞお楽しみください！\",\"기기가 성공적으로 계정과 연동되었습니다. 확인을 누르면 계정 정보를 불러와서 게임을 시작합니다. 즐겁게 게임을 즐기세요!\",\"Устройство успешно привязано к вашей учетной записи. Чтобы начать играть, нажмите «ОК», и все загрузится. Наслаждайтесь!\",\"لقد قمت بربط هذا الجهاز بحسابك بنجاح. لبدء اللعب، ما عليك سوى النقر فوق موافق وسيتم تحميل حسابك. استمتع باللعب!\",\"Você vinculou este dispositivo à conta. Para começar a jogar, toque em OK e sua conta será carregada. Divirta-se!\",\"您已成功将游戏关联到该设备。要开始玩游戏，点击「确定」即可加载您的账号。祝您玩得开心！\",\"您已成功將遊戲關聯到該裝置。要開始玩遊戲，點擊「確定」即可載入您的帳號。祝您玩得開心！\",\"با موفقیت این دستگاه رو به حساب خودت متصل کردی. برای شروع بازی، فقط روی خوب ضربه بزن و بعد حسابت بارگیری میشه. خوش بگذره!\",\"Berhasil menyambungkan perangkat ini ke akun. Untuk mulai bermain, tinggal ketuk Oke dan akun akan dimuat. Selamat bermain!\",\"Anda telah berjaya memautkan peranti ini ke akaun anda. Untuk mula bermain, hanya ketik OK dan akaun anda akan dimuatkan. Berseronoklah!\"\n\"TID_DEVICE_LINK_SUCCESFULL_OLD_NO_DEVICE\",\"You have successfully linked a new device to your account!\",\"Vous avez associé un nouvel appareil à votre compte !\",\"Du hast erfolgreich ein neues Gerät mit deinem Konto verbunden!\",\"Se ha enlazado un nuevo dispositivo a tu cuenta.\",\"Hai collegato il nuovo dispositivo al tuo account!\",\"Je hebt een nieuw apparaat aan je account gekoppeld!\",\"Du har knyttet en ny enhet til kontoen din!\",\"Hesabına başarıyla yeni bir cihaz bağladın!\",\"新しいデバイスがあなたのアカウントに関連づけされました！\",\"새 기기가 성공적으로 계정과 연동되었습니다!\",\"Новое устройство привязано к вашей учетной записи!\",\"لقد نجحت في ربط جهاز جديد بحسابك!\",\"Você vinculou um novo dispositivo à conta!\",\"您已成功将游戏进度关联到了一台新添设备！\",\"您已成功將遊戲進度關聯到了一台新裝置！\",\"با موفقیت یک دستگاه جدید رو به حسابت متصل کردی!\",\"Berhasil menyambungkan satu perangkat baru ke akun!\",\"Anda telah berjaya memautkan peranti baharu ke akaun anda!\"\n\"TID_DEVICE_LINK_SUCCESFULL_OLD\",\"You have successfully linked the following device to your account:\",\"Vous avez associé l'appareil suivant à votre compte :\",\"Du hast das folgende Gerät erfolgreich mit deinem Konto verbunden:\",\"Se ha enlazado a tu cuenta este dispositivo:\",\"Questo dispositivo è stato collegato al tuo account:\",\"Je hebt het volgende apparaat aan je account gekoppeld:\",\"Du har knyttet den følgende enheten til kontoen din:\",\"Şu cihazı hesabına başarıyla bağladın:\",\"以下のデバイスがあなたのアカウントに関連づけされました：\",\"다음 기기를 성공적으로 계정과 연동했습니다.\",\"Следующие устройства привязаны к вашей учетной записи:\",\"لقد نجحت في ربط الجهاز التالي بحسابك:\",\"Você vinculou o seguinte dispositivo à conta:\",\"您已成功将游戏进度关联到了下列设备：\",\"您已成功將遊戲進度關聯到了下列裝置：\",\"با موفقیت دستگاه زیر رو به حسابت متصل کردی:\",\"Berhasil menyambungkan perangkat berikut ke akun:\",\"Anda telah berjaya memautkan peranti berikut ke akaun anda:\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_0_TITLE\",\"Error Occurred (100)\",\"Erreur survenue (100)\",\"Fehler aufgetreten (100)\",\"Error (100)\",\"Si è verificato un errore (100)\",\"Fout opgetreden (100)\",\"Det har oppstått en feil (100)\",\"Hata Oluştu (100)\",\"エラー発生(100)\",\"오류 발생 (100)\",\"Произошла ошибка (100)\",\"حدث خطأ (100)\",\"Ocorreu um erro (100)\",\"发生错误 (100)\",\"發生錯誤 (100)\",\"خطا رخ داد (100)\",\"Terjadi Kesalahan (100)\",\"Ralat Berlaku (100)\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_0\",\"Something went wrong. Please try again!\",\"Une erreur est survenue. Veuillez réessayer.\",\"Es ist etwas schiefgelaufen. Bitte versuche es erneut!\",\"Se ha producido un error. Inténtalo de nuevo.\",\"Qualcosa è andato storto. Riprova!\",\"Er is iets misgegaan. Probeer het opnieuw!\",\"Noe gikk feil. Prøv igjen!\",\"Bir hata oluştu. Lütfen tekrar dene!\",\"何らかの不具合が発生しました。再度お試しください！\",\"오류가 발생했습니다. 다시 시도해주세요!\",\"Что-то пошло не так. Пожалуйста, попробуйте снова!\",\"حدث خطأ ما. يُرجى المحاولة لاحقًا!\",\"Algo deu errado. Tente novamente!\",\"出现问题。请重试！\",\"出現問題。請重試！\",\"یک مشکلی پیش اومد. لطفاً دوباره امتحان کن!\",\"Ada yang salah. Harap coba lagi!\",\"Sesuatu tidak kena. Sila cuba lagi!\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_1_TITLE\",\"Error Occurred (101)\",\"Erreur survenue (101)\",\"Fehler aufgetreten (101)\",\"Error (101)\",\"Si è verificato un errore (101)\",\"Fout opgetreden (101)\",\"Det har oppstått en feil (101)\",\"Hata Oluştu (101)\",\"エラー発生(101)\",\"오류 발생 (101)\",\"Произошла ошибка (101)\",\"حدث خطأ (101)\",\"Ocorreu um erro (101)\",\"发生错误 (101)\",\"發生錯誤 (101)\",\"خطا رخ داد (101)\",\"Terjadi Kesalahan (101)\",\"Ralat Berlaku (101)\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_1\",\"Something went wrong. Please try again!\",\"Une erreur est survenue. Veuillez réessayer.\",\"Es ist etwas schiefgelaufen. Bitte versuche es erneut!\",\"Se ha producido un error. Inténtalo de nuevo.\",\"Qualcosa è andato storto. Riprova!\",\"Er is iets misgegaan. Probeer het opnieuw!\",\"Noe gikk feil. Prøv igjen!\",\"Bir hata oluştu. Lütfen tekrar dene!\",\"何らかの不具合が発生しました。再度お試しください！\",\"오류가 발생했습니다. 다시 시도해주세요!\",\"Что-то пошло не так. Пожалуйста, попробуйте снова!\",\"حدث خطأ ما. يُرجى المحاولة لاحقًا!\",\"Algo deu errado. Tente novamente!\",\"出现问题。请重试！\",\"出現問題。請重試！\",\"یک مشکلی پیش اومد. لطفاً دوباره امتحان کن!\",\"Ada yang salah. Harap coba lagi!\",\"Sesuatu tidak kena. Sila cuba lagi!\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_2_TITLE\",\"Error Occurred (102)\",\"Erreur survenue (102)\",\"Fehler aufgetreten (102)\",\"Error (102)\",\"Si è verificato un errore (102)\",\"Fout opgetreden (102)\",\"Det har oppstått en feil (102)\",\"Hata Oluştu (102)\",\"エラー発生(102)\",\"오류 발생 (102)\",\"Произошла ошибка (102)\",\"حدث خطأ (102)\",\"Ocorreu um erro (102)\",\"发生错误 (102)\",\"發生錯誤 (102)\",\"خطا رخ داد (102)\",\"Terjadi Kesalahan (102)\",\"Ralat Berlaku (102)\"\n\"TID_DEVICE_LINK_ERROR_CODE_ERROR_2\",\"Something went wrong. Please try again!\",\"Une erreur est survenue. Veuillez réessayer.\",\"Es ist etwas schiefgelaufen. Bitte versuche es erneut!\",\"Se ha producido un error. Inténtalo de nuevo.\",\"Qualcosa è andato storto. Riprova!\",\"Er is iets misgegaan. Probeer het opnieuw!\",\"Noe gikk feil. Prøv igjen!\",\"Bir hata oluştu. Lütfen tekrar dene!\",\"何らかの不具合が発生しました。再度お試しください！\",\"오류가 발생했습니다. 다시 시도해주세요!\",\"Что-то пошло не так. Пожалуйста, попробуйте снова!\",\"حدث خطأ ما. يُرجى المحاولة لاحقًا!\",\"Algo deu errado. Tente novamente!\",\"出现问题。请重试！\",\"出現問題。請重試！\",\"مشکلی پیش آمده. لطفاً دوباره امتحان کن!\",\"Ada yang salah. Harap coba lagi!\",\"Sesuatu tidak kena. Sila cuba lagi!\"\n\"TID_JOIN_CLAN_REQUEST_POPUP_TITLE\",\"Request to join\",\"Demande d'adhésion\",\"Beitrittsanfrage\",\"Solicitud de unión\",\"Richiesta di unirsi al clan\",\"Aansluitverzoek\",\"Forespørsel om å få bli med\",\"Katılım isteği gönder\",\"参加をリクエスト\",\"가입 신청\",\"Запрос на вступление\",\"طلب الانضمام\",\"Pedir para entrar\",\"申请加入\",\"請求加入\",\"درخواست برای پیوستن\",\"Permintaan bergabung\",\"Permintaan penyertaan\"\n\"TID_CARD_CAP_REACHED\",\"Maximum card count reached!\",\"Nombre de cartes maximum atteint !\",\"Maximale Kartenanzahl erreicht!\",\"Límite de cartas alcanzado\",\"Numero massimo carte raggiunto!\",\"Max. aantal kaarten bereikt!\",\"Du har nådd det maksimale antallet kort!\",\"Maksimum kart sayısına erişildi!\",\"カードはこれ以上持てません！\",\"카드 소지 한도에 도달했습니다!\",\"Достигнуто максимальное количество карт!\",\"وصلت إلى الحد الأقصى لعدد البطاقات!\",\"Você atingiu o limite máximo de cartas!\",\"已达到最大卡牌数！\",\"已達到最大卡牌數！\",\"به حداکثل تعداد کارت رسیدی!\",\"Jumlah maksimum kartu tercapai!\",\"Kiraan kad maksimum dicapai!\"\n\"TID_BUTTON_REQUEST_JOIN\",\"Request Join\",\"Demander à rejoindre\",\"Beitrittsanfrage\",\"Solicitud de unión\",\"Richiedi di unirti\",\"Aansluitverzoek\",\"Be om å få bli med\",\"Katılım İsteği Gönder\",\"参加をリクエスト\",\"가입 신청\",\"Попросить присоединиться\",\"طلب الانضمام\",\"Pedir para entrar\",\"请求加入\",\"請求加入\",\"درخواست پیوستن\",\"Minta Bergabung\",\"Minta Sertai\"\n\"TID_ALLIANCE_DEFAULT_JOIN_REQUEST_MESSAGE\",\"I'd like to join your Clan\",\"Je voudrais rejoindre votre clan.\",\"Ich möchte deinem Clan beitreten.\",\"¡Hola! Me gustaría unirme a tu clan.\",\"Ehi, mi piacerebbe entrare in questo clan\",\"Ik wil me graag bij jullie clan aansluiten\",\"Jeg vil gjerne bli med i klanen din\",\"Klanına katılmak istiyorum\",\"あなたのクランに参加させてください！\",\"클랜에 가입하고 싶습니다.\",\"Мне бы хотелось вступить в ваш клан\",\"أود الانضمام إلى قبيلتك\",\"Quero entrar para o seu clã.\",\"我想加入你们的部落\",\"我想加入你們的部落\",\"من می‌خوام به قبیله شما ملحق بشم\",\"Saya ingin bergabung dengan Klanmu\",\"Saya ingin menyertai Klan anda\"\n\"TID_ACCEPT_REQUEST\",\"Accept join request?\",\"Accepter la demande ?\",\"Beitrittsanfrage annehmen?\",\"¿Aceptar solicitud de unión?\",\"Accettare la richiesta?\",\"Aansluitverzoek accepteren?\",\"Godta forespørsel om å bli med?\",\"Katılma isteği kabul edilsin mi?\",\"クランへの参加を承認しますか？\",\"참가 요청을 수락하시겠습니까?\",\"Разрешить присоединиться?\",\"هل تقبل طلب الانضمام؟\",\"Aceitar pedido de participação?\",\"要批准该请求吗？\",\"是否接受加入要求？\",\"قبول درخواست پیوستن؟\",\"Terima permintaan untuk bergabung?\",\"Terima permintaan untuk menyertai?\"\n\"TID_NO_RIGHTS_TO_ACCEPT_TO_JOIN_REQ\",\"You cannot accept or reject join requests\",\"Vous ne pouvez ni accepter ni rejeter les demandes d'appartenance.\",\"Du kannst Beitrittsanfragen nicht annehmen oder ablehnen.\",\"No puedes aceptar o rechazar las peticiones de unión.\",\"Non puoi accettare o rifiutare richieste di ingresso\",\"Je kunt geen aansluitverzoeken accepteren of afwijzen\",\"Du kan ikke godta eller avvise forespørsler om å få bli med\",\"Katılım isteklerini kabul edemezsin ve reddedemezsin\",\"クランへの参加を承認/拒否できません\",\"가입 신청을 수락하거나 거절할 수 없습니다.\",\"Ты не можешь принять или отклонить запрос\",\"لا يمكنك قبول أو رفض طلبات الانضمام\",\"Você não pode aceitar nem recusar pedidos de participação.\",\"您无法接受或拒绝加入请求\",\"您無法接受或拒絕加入請求\",\"شما نمی‌تونی درخواست‌های پیوستن رو قبول یا رد کنی\",\"Kamu tidak dapat menerima atau menolak permintaan untuk bergabung\",\"Anda tidak boleh menerima atau menolak menyertai permintaan\"\n\"TID_ACCEPT_NOT_AVAILABLE_IN_MODE\",\"Return to home screen to reply to requests!\",\"Retournez à l'écran principal pour répondre aux demandes !\",\"Kehre zum Startbildschirm zurück, um Anfragen zu beantworten!\",\"Vuelve a la pantalla de inicio para responder a las peticiones.\",\"Torna alla schermata principale per rispondere alle richieste!\",\"Keer terug naar het thuisscherm om verzoeken te beantwoorden!\",\"Gå til hjemskjermen for å svare på forespørsler!\",\"İsteklere cevap vermek için ev ekranına dön!\",\"リクエストに応じるにはホーム画面に戻ってください！\",\"홈 화면으로 돌아가서 신청에 답하세요!\",\"Вернись на начальный экран, чтобы принять запрос!\",\"عُد إلى الشاشة الرئيسية للرد على الطلبات!\",\"Volte à tela inicial para responder aos pedidos!\",\"返回主界面回应请求！\",\"回到主畫面回應要求！\",\"برای پاسخ به درخواست‌ها به صفحه اصلی برگرد!\",\"Kembali ke layar utama untuk menjawab permintaan!\",\"Kembali ke skrin utama untuk menjawab permintaan!\"\n\"TID_ALLIANCE_ACCEPTED_BY\",\"Accepted by <name>\",\"Accepté par <name>\",\"Angenommen von <name>\",\"Aceptado por <name>\",\"Accettato da <name>\",\"Geaccepteerd door <name>\",\"Godtatt av <name>\",\"<name> kabul etti\",\"<name>が参加を承認\",\"<name> 님이 수락했습니다.\",\"Принят игроком <name>\",\"تم القبول بواسطة <name>\",\"Aceito por <name>\",\"<name>接受了该请求\",\"<name>接受了該請求\",\"توسط <name> قبول شد\",\"Diterima oleh <name>\",\"Diterima oleh <name>\"\n\"TID_ALLIANCE_REJECTED_BY\",\"Rejected by <name>\",\"Rejeté par <name>\",\"Abgelehnt von <name>\",\"Rechazado por <name>\",\"Rifiutato da <name>\",\"Afgewezen door <name>\",\"Avvist av <name>\",\"<name> reddetti\",\"<name>が参加を拒否\",\"<name> 님이 거절했습니다.\",\"Отклонено игроком <name>\",\"تم الرفض بواسطة <name>\",\"Recusado por <name>.\",\"<name>拒绝了该请求\",\"<name>拒絕了該請求\",\"توسط <name> رد شد\",\"Ditolak oleh <name>\",\"Ditolak oleh <name>\"\n\"TID_CARD_RARITY_TIP\",\"Card rarity: <c99ccff>COMMON</c>, <cffcc66>RARE</c> and <cff99ff>EPIC</c>\",\"Rareté des cartes : <c99ccff>COMMUNE</c>, <cffcc66>RARE</c> et <cff99ff>ÉPIQUE</c>\",\"Karten-Seltenheitsgrade: <c99ccff>GEWÖHNLICH</c>, <cffcc66>SELTEN</c> und <cff99ff>EPISCH</c>.\",\"Calidad de las cartas: <c99ccff>COMUNES</c>, <cffcc66>ESPECIALES</c> y <cff99ff>ÉPICAS</c>.\",\"Rarità carte: <c99ccff>COMUNE</c>, <cffcc66>RARA</c> e <cff99ff>EPICA</c>\",\"Zeldzaamheid van kaarten: <c99ccff>GEWOON</c>, <cffcc66>ZELDZAAM</c> en <cff99ff>EPISCH</c>\",\"Kortforekomster: <c99ccff>VANLIG</c>, <cffcc66>SJELDENT</c> og <cff99ff>EPISK</c>\",\"Kartlar enderliği: <c99ccff>SIRADAN</c>, <cffcc66>ENDER</c> ve <cff99ff>DESTANSI</c>\",\"カードのレア度：<c99ccff>ノーマル</c>、<cffcc66>レア</c>、<cff99ff>スーパーレア</c>\",\"카드 희귀도: <c99ccff>일반</c>, <cffcc66>희귀</c>, <cff99ff>영웅</c>\",\"Виды карт: <c99ccff>ОБЫЧНАЯ</c>, <cffcc66>РЕДКАЯ</c> и <cff99ff>ЭПИЧЕСКАЯ</c>\",\"مدى ندرة البطاقة: <c99ccff>عادية</c> و<cffcc66>نادرة</c> و<cff99ff>ممتازة</c>\",\"Raridade das cartas: <c99ccff>COMUM</c>, <cffcc66>RARA</c> e <cff99ff>ÉPICA</c>\",\"卡牌稀有度：<c99ccff>普通</c>、<cffcc66>稀有</c>和<cff99ff>史诗</c>\",\"卡牌稀有度：<c99ccff>普通</c>、<cffcc66>稀有</c>和<cff99ff>史詩</c>\",\"کمیابی کارت: <c99ccff>عادی</c>، <cffcc66>کمیاب</c> و <cff99ff>حماسی</c>\",\"Kelangkaan kartu: <c99ccff>UMUM</c>, <cffcc66>LANGKA</c>, dan <cff99ff>EPIK</c>\",\"Kekerapan kad: <c99ccff>BIASA</c>, <cffcc66>JARANG</c> dan <cff99ff>EPIK</c>\"\n\"TID_FRIENDLY_MATCH\",\"Friendly Battle\",\"Combat amical\",\"Testspiel\",\"Batalla amistosa\",\"Amichevole\",\"Vriendelijk gevecht\",\"Vennskapskamp\",\"Dostluk Savaşı\",\"フレンドバトル\",\"친선전\",\"Дружеский бой\",\"معركة ودية\",\"Batalha amistosa\",\"友谊战\",\"友誼戰\",\"نبرد دوستانه\",\"Pertempuran Persahabatan\",\"Pertempuran Persahabatan\"\n\"TID_CARD_REQUEST_FAIL_MAX_LEVEL\",\"Card is already at Max Level\",\"La carte a atteint son niveau maximum\",\"Karte hat das Höchstlevel bereits erreicht.\",\"Esta carta ya ha alcanzado su nivel máximo.\",\"Carta già al livello massimo\",\"Kaart is al op max. level\",\"Kortet er allerede på maksimalt nivå\",\"Kart zaten Maksimum Seviyede\",\"カードはすでに最大レベルです\",\"카드가 이미 최대 레벨입니다.\",\"Карта достигла максимального уровня\",\"البطاقة عند أقصى مستوى بالفعل\",\"A carta já está no nível máximo.\",\"卡牌已升至最高等级\",\"卡牌已升至最高等級\",\"کارت قبلا به سطح حداکثری رسیده\",\"Level Kartu sudah Maks\",\"Kad sudah berada pada Tahap Maksimum\"\n\"TID_CARD_REQUEST_FAIL_CARDS_FOR_MAX_LEVEL\",\"You have enough cards to upgrade to Max Level\",\"Vous avez assez de cartes à améliorer au niveau maximum.\",\"Du hast genug Karten, um auf das Höchstlevel zu verbessern.\",\"Tienes suficientes cartas para mejorar al nivel máximo.\",\"Hai abbastanza carte per migliorare al livello massimo\",\"Je hebt genoeg kaarten om naar het max. level te upgraden\",\"Du har nok kort til å oppgradere til maksimalt nivå\",\"Maks. Seviyeye yükseltecek kadar kartın var\",\"手持ちのカードで最大レベルにアップグレードできます\",\"카드가 충분하여 최고 레벨로 업그레이드할 수 있습니다\",\"У тебя достаточно карт для улучшения до максимального уровня\",\"لديك بطاقات كافية للترقية إلى أقصى مستوى\",\"Você tem cartas suficientes para melhorar para o nível máximo.\",\"您集齐了足够的卡牌，可以升级至最高等级\",\"您集齊了足夠的卡牌，可以升級至最高等級\",\"برای رسیدن به سطح حداکثر به اندازه کافی کارت داری\",\"Jumlah kartumu cukup untuk meningkatkan ke Level Maks\",\"Anda mempunyai cukup kad untuk naik taraf ke Tahap Maks\"\n\"TID_CLAN_JOIN_FAIL_CLOSED\",\"Clan is closed!\",\"Ce clan est fermé !\",\"Clan wurde geschlossen!\",\"¡El clan está cerrado!\",\"Il clan è chiuso!\",\"Clan is besloten!\",\"Klanen er lukket!\",\"Klan kapalı!\",\"このクランには参加できません！\",\"비공개 클랜입니다!\",\"Клан закрыт!\",\"القبيلة مغلقة!\",\"O clã está fechado!\",\"部落已经关闭！\",\"部落已經關閉！\",\"قبیله بسته هست!\",\"Klan ditutup!\",\"Klan ditutup!\"\n\"TID_CLAN_JOIN_FAIL_ALREADY_SENT\",\"Wait before sending another request to join this Clan!\",\"Attendez un peu avant de renvoyer une demande à ce clan !\",\"Warte, bevor du diesem Clan eine weitere Beitrittsanfrage schickst!\",\"Espera antes de enviar otra solicitud para unirte a este clan.\",\"Aspetta prima di inviare una nuova richiesta per unirti a questo clan!\",\"Wacht voordat je een ander aansluitverzoek naar deze clan verstuurt.\",\"Vent før du sender en ny forespørsel om å bli med i denne klanen!\",\"Bu Klana katılmak için yeni istek göndermeden önce bekle!\",\"このクランへの参加リクエストを送るには、しばらくお待ちください。\",\"클랜 가입을 다시 요청하려면 기다려야 합니다!\",\"Подождите, прежде чем отправить другой запрос на вступление в клан!\",\"انتظر قبل إرسال طلب آخر للانضمام إلى هذه القبيلة!\",\"Aguarde antes de enviar outro pedido de entrada para este clã.\",\"请稍等片刻再发送加入该部落的请求！\",\"請稍等片刻再發送加入該部落的請求！\",\"قبل از فرستادن یک درخواست پیوستن دیگه به این قبیله صبر کن!\",\"Tunggu sebelum mengirim permintaan lain untuk bergabung dengan Klan ini!\",\"Tunggu sebelum menghantar permintaan lain untuk menyertai Klan ini!\"\n\"TID_CLAN_JOIN_FAIL_NO_SCORE\",\"You don't have enough trophies to join this Clan!\",\"Vous n'avez pas assez de trophées pour rejoindre ce clan !\",\"Du hast nicht genug Trophäen, um diesem Clan beitreten zu können!\",\"No tienes trofeos suficientes para unirte a este clan.\",\"Non hai abbastanza trofei per unirti a questo clan!\",\"Je hebt te weinig trofeeën om je bij deze clan aan te sluiten.\",\"Du har ikke nok trofeer til å bli med i denne klanen.\",\"Bu Klana katılmak için yeterince kupan yok!\",\"トロフィー数が足りないため、このクランには参加できません。\",\"트로피 점수가 부족해 가입할 수 없습니다!\",\"Для вступления в этот клан нужно больше трофеев!\",\"لا تمتلك كؤوسًا كافية للانضمام إلى هذه القبيلة!\",\"Você não tem troféus suficientes para entrar para este clã.\",\"您的奖杯不够，不能加入该部落！\",\"您的獎盃不夠，不能加入該部落！\",\"برای پیوستن به این قبیله به اندازه کافی جام نداری!\",\"Trofimu tidak cukup untuk bergabung dengan Klan ini!\",\"Anda tidak mempunyai trofi yang mencukupi untuk menyertai Klan ini!\"\n\"TID_CLAN_JOIN_FAIL_ALREADY_IN_CLAN\",\"You are already in a Clan!\",\"Vous faites déjà partie d'un clan !\",\"Du bist bereits in einem Clan!\",\"¡Ya perteneces a un clan!\",\"Fai già parte di un clan!\",\"Je zit al bij een clan.\",\"Du er allerede med i en klan!\",\"Zaten bir Klandasın!\",\"すでにクランに参加しています！\",\"이미 다른 클랜에 가입했습니다!\",\"Ты уже в клане!\",\"أنت موجود في قبيلة بالفعل!\",\"Você já está em um clã.\",\"您已经在其他部落了！\",\"您已經在其他部落了！\",\"قبلاً وارد یک قبیله شدی!\",\"Kamu sudah menjadi anggota Klan!\",\"Anda sudah berada dalam Klan!\"\n\"TID_CLAN_JOIN_FAIL_FULL\",\"Clan is full!\",\"Ce clan est complet !\",\"Clan ist voll!\",\"¡El clan está lleno!\",\"Il clan è al completo!\",\"Clan is vol!\",\"Klanen er full!\",\"Klan dolu!\",\"このクランはメンバーが一杯です！\",\"클랜이 가득 찼습니다!\",\"Клан переполнен!\",\"القبيلة ممتلئة!\",\"O clã está cheio!\",\"部落已满员！\",\"部落已滿員！\",\"قبیله پر هست!\",\"Klan penuh!\",\"Klan penuh!\"\n\"TID_CLAN_JOIN_FAIL_GENERIC\",\"Unable to join the Clan!\",\"Impossible de rejoindre le clan !\",\"Clanbeitritt nicht möglich!\",\"No es posible unirse al clan.\",\"Non è stato possibile unirsi al clan!\",\"Je kunt je niet bij de clan aansluiten.\",\"Kan ikke bli med i klanen!\",\"Klana katılamadın!\",\"クランに参加できません！\",\"클랜에 가입할 수 없습니다!\",\"Невозможно вступить в клан!\",\"تعذر الانضمام إلى القبيلة!\",\"Não é possível entrar para este clã.\",\"无法加入该部落！\",\"無法加入該部落！\",\"نمیشه به این قبیله ملحق شد!\",\"Tidak dapat bergabung dengan Klan!\",\"Tidak dapat menyertai Klan!\"\n\"TID_CLAN_JOIN_FAIL_TOO_MANY_PENDING_REQUESTS\",\"Unable to join the Clan at this time. Please try again later.\",\"Impossible de rejoindre le clan pour l'instant. Veuillez réessayer plus tard.\",\"Clanbeitritt derzeit nicht möglich! Bitte versuche es später erneut.\",\"No es posible unirse al clan. Inténtalo de nuevo más tarde.\",\"Non è stato possibile unirsi al clan. Riprova più tardi.\",\"Je kunt je nu niet bij de clan aansluiten. Probeer het later opnieuw.\",\"Kan ikke bli med i klanen akkurat nå. Prøv igjen senere.\",\"Şu an Klana katılamıyorsun. Lütfen daha sonra tekrar dene.\",\"クランに参加できません。あとでまたお試しください。\",\"지금은 클랜에 가입할 수 없습니다! 나중에 다시 시도해주세요.\",\"Сейчас вступить в клан невозможно. Попробуй позднее.\",\"تعذر الانضمام إلى القبيلة في هذا الوقت. من فضلك حاول ثانيةً لاحقًا.\",\"Não é possível entrar para este clã no momento. Tente mais tarde.\",\"暂时无法加入该部落，请稍后重试。\",\"暫時無法加入該部落，請稍後重試。\",\"این دفعه نمیشه به این قبیله ملحق شد. لطفاً بعداً دوباره امتحان کن.\",\"Tidak dapat bergabung dengan Klan saat ini. Coba lagi nanti.\",\"Tidak dapat menyertai Klan buat masa ini. Sila cuba lagi kemudian.\"\n\"TID_NEW_DEVICE_LINKED\",\"New device was linked to your game progress\",\"Un nouvel appareil a été associé à votre partie.\",\"Ein neues Gerät wurde mit deinem Spielstand verbunden.\",\"Se ha enlazado un nuevo dispositivo a tu progreso.\",\"Un nuovo dispositivo è stato collegato ai tuoi progressi di gioco\",\"Er is een nieuw apparaat gekoppeld aan je spelvoortgang\",\"Den nye enheten har blitt knyttet til fremdriften din i spillet\",\"Yeni cihaz oyun ilerlemene bağlandı\",\"新しいデバイスがゲームの進行状況に関連づけされました。\",\"새 기기가 게임과 연동되었습니다.\",\"Новое устройство привязано к твоей игре\",\"تم ربط جهاز جديد بتقدمك في اللعبة\",\"Um novo dispositivo foi vinculado ao seu jogo.\",\"您的游戏进度已关联到新的设备\",\"您的遊戲進度已關聯到新的裝置\",\"دستگاه جدیدی به پیشرفت بازی شما متصل شد\",\"Perangkat baru tertaut ke kemajuan game milikmu\",\"Peranti baharu dihubungkan dengan perkembangan permainan anda\"\n\"TID_RECOMMENDATIONS\",\"Here are some Clan recommendations for you:\",\"Voici quelques recommandations de clans pour vous :\",\"Hier sind ein paar Clanempfehlungen:\",\"Te recomendamos los siguientes clanes:\",\"Ecco alcuni clan consigliati per te:\",\"Hier zijn wat aanbevelingen voor clans voor je:\",\"Her er noen klananbefalinger for deg:\",\"Senin için birkaç Klan önerisi:\",\"以下はおすすめのクランです\",\"추천 클랜 목록:\",\"Рекомендуемые кланы:\",\"إليك بعض توصيات القبيلة لك:\",\"Aqui estão algumas recomendações de clãs para você:\",\"我们为您推荐了一些部落：\",\"我們為您推薦了一些部落：\",\"در زیر چند قبیله برات توصیه شده:\",\"Inilah beberapa rekomendasi Klan untukmu:\",\"Ini ialah beberapa cadangan Klan untuk anda:\"\n\"TID_MAX_LEVEL_EXTRA_GOLD_PROGRESS_BAR\",\"Extra Gold +<VALUE>\",\"Or supplémentaire +<VALUE>\",\"Extragold +<VALUE>\",\"+<VALUE> de oro extra\",\"Oro extra +<VALUE>\",\"Extra goud +<VALUE>\",\"Ekstra gull +<VALUE>\",\"Ekstra Altın +<VALUE>\",\"追加ゴールド+<VALUE>\",\"추가 골드 + <VALUE>\",\"Доп. золото +<VALUE>\",\"ذهب إضافي +<VALUE>\",\"Ouro extra +<VALUE>\",\"额外金币+<VALUE>\",\"額外金幣+<VALUE>\",\"طلای اضافه +<VALUE>\",\"Emas Ekstra +<VALUE>\",\"Emas Lebih +<VALUE>\"\n\"TID_CHALLENGE_OWN\",\"Cannot challenge self\",\"Vous ne pouvez pas vous défier vous-même.\",\"Du kannst dich nicht selbst herausfordern.\",\"No puedes desafiarte a ti.\",\"Impossibile sfidare se stessi\",\"Je kunt jezelf niet uitdagen\",\"Du kan ikke utfordre deg selv\",\"Kendine meydan okuyamazsın\",\"自分には挑戦できません\",\"자기 자신에게 도전할 수 없습니다.\",\"Нельзя сражаться с собой\",\"لا يمكنك تحدي نفسك\",\"Não é possível desafiar a si mesmo.\",\"您无法向自己发起挑战\",\"您無法向自己發起挑戰\",\"نمی‌تونی خودت رو به چالش بکشی\",\"Tidak dapat menantang diri sendiri\",\"Tidak dapat mencabar diri sendiri\"\n\"TID_OWN_CHALLENGE_ALREADY_ACTIVE\",\"Close your own challenge first\",\"Commencez par fermer votre défi.\",\"Schließe zuerst deine eigene Herausforderung.\",\"¡Cierra antes tu desafío!\",\"Chiudi prima la tua sfida\",\"Sluit eerst je eigen uitdaging.\",\"Lukk din egen utfordring først\",\"Önce kendi mücadeleni kapatmalısın\",\"まず自分の挑戦を閉じてください\",\"먼저 자신의 도전을 닫아주세요.\",\"Сначала закрой свой поединок\",\"أغلق تحديك الخاص أولاً\",\"Feche seu próprio desafio primeiro.\",\"先取消您现有的挑战\",\"先取消您現有的挑戰\",\"اول چالش خودت رو ببند\",\"Tutup tantanganmu sendiri terlebih dahulu\",\"Tutup cabaran anda sendiri dahulu\"\n\"TID_CREATE_YOUR_OWN_CLAN\",\"Create your own Clan\",\"Créez votre clan\",\"Gründe einen Clan\",\"Crea tu propio clan\",\"Crea il tuo clan\",\"Richt je eigen clan op\",\"Opprett din egen klan\",\"Kendi Klanını oluştur\",\"自分でクランを作成\",\"내 클랜 생성하기\",\"Создай свой клан\",\"أنشئ قبيلتك الخاصة\",\"Crie o seu próprio clã\",\"创建您自己的部落\",\"創建您自己的部落\",\"قبیله خودت رو ایجاد کن\",\"Buat Klanmu sendiri\",\"Cipta Klan anda sendiri\"\n\"TID_LEAD_MEMBERS_TO_GLORY\",\"Lead your members to glory!\",\"Menez vos membres à la gloire !\",\"Führe deine Mitglieder zum Ruhm!\",\"¡Lleva a tus aliados a la gloria!\",\"Guida i membri verso la gloria!\",\"Leid je leden naar eeuwige glorie!\",\"Led medlemmene dine til ære!\",\"Üyelerini zafere götür!\",\"仲間とともに勝利をめざそう！\",\"클랜을 승리로 이끌어 보세요!\",\"Веди соклановцев к победе!\",\"قُد أعضاءك إلى المجد!\",\"Leve seu clã à glória!\",\"带领您的部落成员夺取荣耀！\",\"帶領您的部落成員奪取榮耀！\",\"اعضاء رو به سمت افتخار رهبری کن!\",\"Pimpin anggotamu menuju kejayaan!\",\"Bawa ahli anda ke arah kegemilangan!\"\n\"TID_BAD_CONNECTION\",\"Bad Connection\",\"Mauvaise connexion\",\"Schlechte Verbindung\",\"Mala conexión\",\"Connessione instabile\",\"Slechte verbinding\",\"Dårlig forbindelse\",\"Kötü Bağlantı\",\"接続の問題\",\"연결 불량\",\"Плохое подключение\",\"اتصال سيئ\",\"Conexão ruim\",\"网络连接不畅\",\"網路連線品質不佳\",\"اتصال بد\",\"Koneksi Buruk\",\"Sambungan Lemah\"\n\"TID_TIPS\",\"Tip\",\"Conseil\",\"Tipp\",\"Dato\",\"Suggerimento\",\"Tip\",\"Tips\",\"İpucu\",\"ヒント\",\"유용한 팁\",\"Совет\",\"نصيحة\",\"Dica\",\"提示\",\"提示\",\"راهنمایی\",\"Kiat\",\"Petua\"\n\"TID_RATE_APP_TITLE\",\"Rate Clash Royale\",\"Évaluez Clash Royale\",\"Bewerte Clash Royale\",\"Valora Clash Royale\",\"Valuta Clash Royale\",\"Beoordeel Clash Royale\",\"Vurder Clash Royale\",\"Clash Royale'ı Değerlendir\",\"このゲームを評価\",\"클래시 로얄 평가하기\",\"Оцени Clash Royale\",\"تقييم Clash Royale\",\"Avalie o Clash Royale\",\"给《部落冲突:皇室战争》(Clash Royale)评分\",\"給《部落衝突:皇室戰爭》(Clash Royale)評分\",\"به Clash Royale رتبه بده\",\"Beri nilai Clash Royale\",\"Nilai Clash Royale\"\n\"TID_RATE_APP_MESSAGE\",\"Please rate or review Clash Royale on App Store to give us valuable feedback!\",\"Notez ou commentez Clash Royale dans l'App Store pour nous donner votre avis !\",\"Bitte bewerte Clash Royale im App Store. Dein Feedback ist sehr wertvoll für uns!\",\"Valora o deja un comentario sobre Clash Royale en el App Store para que sepamos tu opinión.\",\"Valuta o recensisci Clash Royale nell'App Store per darci la tua opinione.\",\"Beoordeel Clash Royale in de App Store om ons te vertellen wat je ervan vindt!\",\"Vurder eller skriv en omtale av Clash Royale på App Store for å gi oss en verdifull tilbakemelding!\",\"Değerli görüşlerini bize iletmek için App Store'da Clash Royale'a puan ver veya görüşünü yaz!\",\"App Storeにこのゲームの評価やレビューを投稿してください！\\n今後の参考にさせていただきます。\",\"App Store에 여러분의 소중한 클래시 로얄 평점이나 리뷰를 남겨주세요!\",\"Пожалуйста оставь оценку или отзыв о Clash Royale в App Store, чтобы мы знали, что ты думаешь!\",\"يُرجى تقييم أو مراجعة Clash Royale على App Store لإعطائنا ملاحظات قيّمة!\",\"Avalie o Clash Royale na App Store e dê sua preciosa opinião!\",\"请在苹果应用商店对《部落冲突:皇室战争》(Clash Royale)进行评分，并留下您的宝贵意见！\",\"請在蘋果應用商店對《部落衝突:皇室戰爭》(Clash Royale)進行評分，並留下您的寶貴意見！\",\"لطفاً Clash Royale رو در App Store ارزیابی یا رتبه‌بندی کن تا به ما بازخوردهای باارزش بدی!\",\"Mohon beri nilai atau ulas Clash Royale di App Store untuk memberi kami masukan berharga!\",\"Sila nilai atau buat ulasan mengenai Clash Royale di App Store untuk memberikan kami maklum balas berharga!\"\n\"TID_RATE_APP_MESSAGE_ANDROID\",\"Please rate or review Clash Royale on Google Play to give us valuable feedback!\",\"Notez ou commentez Clash Royale dans Google Play pour nous donner votre avis !\",\"Bitte bewerte Clash Royale auf Google Play. Dein Feedback ist sehr wertvoll für uns!\",\"Valora o deja un comentario sobre Clash Royale en Google Play para que sepamos tu opinión.\",\"Valuta o recensisci Clash Royale su Google Play per darci la tua opinione.\",\"Beoordeel Clash Royale op Google Play om ons waardevolle feedback te geven!\",\"Vurder eller skriv en omtale av Clash Royale på Google Play for å gi oss en verdifull tilbakemelding!\",\"Lütfen Google Play'de bize geribildirim vermek için Clash Royale'a puan ver veya görüşünü yaz!\",\"Google Playにこのゲームの評価やレビューを投稿してください！\\n今後の参考にさせていただきます。\",\"Google Play에 여러분의 소중한 클래시 로얄 평점이나 리뷰를 남겨주세요!\",\"Пожалуйста оставь оценку или отзыв о Clash Royale в Google Play, чтобы мы знали, что ты думаешь!\",\"يُرجى تقييم أو مراجعة Clash Royale على Google Play لإعطائنا ملاحظات قيّمة!\",\"Avalie o Clash Royale no Google Play e dê sua preciosa opinião!\",\"请在Google Play对《部落冲突:皇室战争》(Clash Royale)进行评分，并留下您的宝贵意见！\",\"請在Google Play對《部落衝突:皇室戰爭》(Clash Royale)進行評分，並留下您的寶貴意見！\",\"لطفاً Clash Royale رو در Google Play ارزیابی یا رتبه‌بندی کن تا به ما بازخوردهای باارزش بدی!\",\"Mohon beri nilai atau ulas Clash Royale di Google Play untuk memberi kami masukan berharga!\",\"Sila nilai atau buat ulasan mengenai Clash of Clans di Google Play untuk memberikan kami maklum balas berharga!\"\n\"TID_BUTTON_RATE_APP_LATER\",\"Later\",\"Plus tard\",\"Später\",\"Más tarde\",\"Più tardi\",\"Later\",\"Senere\",\"Sonra\",\"後で\",\"나중에\",\"Позже\",\"لاحقًا\",\"Mais tarde\",\"稍后再说\",\"稍後再說\",\"بعداً\",\"Nanti\",\"Kemudian\"\n\"TID_BUTTON_RATE_APP_REVIEW\",\"Review\",\"Commenter\",\"Bewerten\",\"Valorar\",\"Recensione\",\"Beoordelen\",\"Vurder\",\"Görüş Yaz\",\"評価\",\"리뷰\",\"Оценить\",\"مراجعة\",\"Avaliar\",\"立刻评论\",\"立刻評論\",\"ارزیابی\",\"Ulas\",\"Buat Ulasan\"\n\"TID_BUTTON_RATE_APP_NEVER\",\"Never\",\"Jamais\",\"Nie\",\"Nunca\",\"Mai\",\"Nooit\",\"Aldri\",\"Hiçbir zaman\",\"しない\",\"안 함\",\"Никогда\",\"أبدًا\",\"Nunca\",\"不再提示\",\"不再提示\",\"هرگز\",\"Jangan pernah\",\"Tidak Sekali-kali\"\n\"TID_STATS_ROYALE\",\"Stats Royale\",\"Stats royales\",\"Royale Statistiken\",\"Estadísticas\",\"Statistiche Royale\",\"Royale-statistieken\",\"Kongelig statistikk\",\"Royale Durumu\",\"これまでの戦績\",\"로얄 통계\",\"Статистика Royale\",\"إحصائيات Royale\",\"Estatísticas Royale\",\"数据统计\",\"資料統計\",\"آمار Royale\",\"Statistik Royale\",\"Statistik Royale\"\n\"TID_CARDS_FOUND\",\"Cards Found\",\"Cartes trouvées\",\"Gefundene Karten\",\"Cartas encontradas\",\"Carte trovate\",\"Gevonden kaarten\",\"Kort funnet\",\"Bulunan Kartlar\",\"発見したカード\",\"찾은 카드\",\"Найдено карт\",\"البطاقات التي عُثر عليها\",\"Cartas encontradas\",\"已收集卡牌\",\"已收集卡牌\",\"کارت‌های پیداشده\",\"Kartu Ditemukan\",\"Kad Ditemui\"\n\"TID_THREE_CROWN_WINS\",\"Three Crown Wins\",\"Victoires à 3 couronnes\",\"3-Kronen-Siege\",\"Victorias de tres coronas\",\"Vittorie tre corone\",\"Overwinningen met 3 kronen\",\"Tre kroner vinner\",\"Üç Taç Kazanma\",\"3クラウン勝利\",\"3 크라운 승리\",\"Победы в три короны\",\"انتصارات بثلاثة تيجان\",\"Vitórias de 3 coroas\",\"三皇冠胜利次数\",\"三皇冠勝場數\",\"پیروزی‌های سه تاج\",\"Kemenangan Tiga Mahkota\",\"Tiga Kemenangan Mahkota\"\n\"TID_HIGHEST_TROPHIES\",\"Highest Trophies\",\"Meilleurs trophées\",\"Höchste Trophäen\",\"Máximo de trofeos\",\"Trofei maggiori\",\"Hoogste trofeeën\",\"Høyeste trofeer\",\"En Yüksek Kupalar\",\"最多トロフィー\",\"최대 트로피\",\"Больше всего трофеев\",\"أعلى الكؤوس\",\"Troféus mais altos\",\"最高奖杯数\",\"最高獎盃數\",\"بالاترین جام‌ها\",\"Trofi Tertinggi\",\"Trofi Tertinggi\"\n\"TID_DONATIONS_WEEK\",\"Donations/Week\",\"Dons/semaine\",\"Spenden/Woche\",\"Donaciones/semana\",\"Donazioni/settimana\",\"Donaties/week\",\"Donasjoner/uke\",\"Bağış/Hafta\",\"寄付数/週\",\"주당 지원 내역\",\"Помощь/неделя\",\"التبرعات/الأسبوع\",\"Doações/semana\",\"每周捐赠数量\",\"每週捐贈數量\",\"اهدا/هفته\",\"Sumbangan/Minggu\",\"Derma/Minggu\"\n\"TID_CARDS_DONATED\",\"Total Donations\",\"Tous les dons\",\"Gesamtspenden\",\"Donaciones totales\",\"Totale donazioni\",\"Totale donaties\",\"Donasjoner totalt\",\"Toplam Bağış\",\"これまでのカード寄付数\",\"지원 합계\",\"Всего отдано\",\"إجمالي التبرعات\",\"Total de doações\",\"捐赠总量\",\"捐贈總量\",\"مجموع اهداها\",\"Sumbangan Total\",\"Jumlah Derma\"\n\"TID_OPENS_IMMEDIATELY\",\"Purchased chests open immediately!\",\"Les coffres achetés s'ouvrent immédiatement !\",\"Gekaufte Truhen öffnen sich sofort!\",\"Los cofres que compres se abrirán inmediatamente.\",\"I bauli acquistati si aprono subito!\",\"Gekochte kisten openen onmiddellijk!\",\"Kjøpte kister åpnes umiddelbart!\",\"Satın alınan sandıklar anında açılır!\",\"購入した宝箱は、すぐに開けます！\",\"구매한 상자는 바로 열립니다!\",\"Купленные сундуки открываются сразу же!\",\"الصناديق المُشتراة تُفتح فورًا!\",\"Baús comprados são abertos imediatamente!\",\"赠送的宝箱可以立即打开！\",\"購買的寶箱可以立即打開！\",\"صندوق خریده‌شده فوراً باز بشه!\",\"Peti yang dibeli akan langsung terbuka!\",\"Peti yang dibeli serta-merta dibuka!\"\n\"TID_CURRENT_FAVOURITE\",\"Current Favorite Card\",\"Carte préférée actuelle\",\"Aktuelle Lieblingskarte\",\"Carta favorita actual\",\"Carta preferita attuale\",\"Huidige favoriete kaart\",\"Nåværende favorittkort\",\"Şu Anki Favori Kartın\",\"現在のお気に入りカード\",\"현재 자주 쓰는 카드\",\"Текущая любимая карта\",\"البطاقة المفضلة الحالية\",\"Carta favorita atual\",\"近期常用卡牌\",\"近期常用卡牌\",\"کارت مورد علاقه فعلی\",\"Kartu Favorit Saat Ini\",\"Kad Kegemaran Semasa\"\n\"TID_PLAYER_LEVEL\",\"Player Level\",\"Niveau du joueur\",\"Spielerlevel\",\"Nivel de jugador\",\"Livello giocatore:\",\"Spelerslevel\",\"Spillernivå\",\"Oyuncu Seviyesi\",\"プレイヤーレベル\",\"플레이어 레벨\",\"Уровень игрока\",\"مستوى اللاعب\",\"Nível do jogador\",\"玩家等级\",\"玩家等級\",\"سطح بازیکن\",\"Level Pemain\",\"Tahap Pemain\"\n\"TID_MAX_STACK_FULL\",\"Max Stack full!\",\"Jeu max. complet !\",\"Max. Stapel voll!\",\"¡Montón máximo lleno!\",\"Pila massima raggiunta!\",\"Max. stapel vol!\",\"Kortstokk full!\",\"Maks. Yığın dolu!\",\"スタック最大上限です\",\"최대 스택 가득 참!\",\"Максимум карт!\",\"الحد الأقصى لمجموعة الورق مكتمل!\",\"Pilha máxima cheia!\",\"该卡牌已达最大量！\",\"該卡牌已達最大量！\",\"مجموعه حداکثری پر شد!\",\"Tumpukan Maks penuh!\",\"Tindanan Maks penuh!\"\n\"TID_STACK_FULL\",\"Stack full!\",\"Jeu complet !\",\"Stapel voll!\",\"¡Montón lleno!\",\"Pila piena!\",\"Stapel vol!\",\"Kortstokk full!\",\"Yığın dolu!\",\"スタックがいっぱいです\",\"스택 가득 참!\",\"Колода переполнена!\",\"مجموعة الورق مكتملة!\",\"Pilha cheia!\",\"该卡牌已满！\",\"該卡牌已滿！\",\"مجموع پر شد!\",\"Tumpukan penuh!\",\"Tindanan penuh!\"\n\"TID_FRIENDLY_SHARED_FROM\",\"Shared a Friendly Battle\",\"Combat amical partagé\",\"Hat ein Testspiel geteilt\",\"ha compartido una batalla amistosa.\",\"ha condiviso una battaglia amichevole\",\"Vriendelijk gevecht gedeeld\",\"Delte en vennskapskamp\",\"Bir Dostluk Savaşı paylaşıldı\",\"フレンドバトルをシェアしました\",\"친선전 공유함\",\"Делится дружеским боем\",\"معركة ودية مشاركة\",\"compartilhou uma batalha amistosa\",\"分享了一场友谊战\",\"分享了一場友誼戰\",\"یک نبرد دوستانه به اشتراک گذاشت\",\"Telah berbagi Pertempuran Persahabatan\",\"Telah berkongsi Pertempuran Persahabatan\"\n\"TID_CHOOSE_CAREFULLY\",\"After this final training you will battle real players around the world.\\nChoose yourself a battle name...\",\"Après cet ultime entraînement, vous affronterez des joueurs du monde entier.\\nChoisissez un nom de combat...\",\"Nach diesem abschließenden Training wirst du gegen echte Spieler aus der ganzen Welt kämpfen.\\nWähle einen Namen ...\",\"Tras este último entrenamiento, te enfrentarás a jugadores reales de todo el mundo.\\nElige un nombre de batalla...\",\"Dopo questo addestramento finale affronterai giocatori in carne e ossa da tutto il mondo.\\nScegli un nome da battaglia...\",\"Na deze laatste training kun je de strijd aangaan met echte spelers over de hele wereld.\\nKies een gevechtsnaam voor jezelf...\",\"Etter denne siste treningen vil du kjempe mot virkelige spillere fra hele verden.\\nVelg deg et kampnavn ...\",\"Bu son eğitimden sonra dünyanın her yerinden gerçek oyuncularla savaşacaksın.\\nKendine bir ad seç...\",\"この最後の訓練が終わったら、全世界のプレイヤーと戦うことになります。\\nバトルネームを決めましょう！\",\"이번 마지막 훈련을 마치면 전 세계의 실제 플레이어들과 전투를 벌이게 됩니다.\\n이름을 선택해 주세요...\",\"После этой последней тренировки ты будешь сражаться с реальными игроками со всего мира.\\nВыбери себе боевое имя...\",\"ستقاتل لاعبين حقيقيين من أنحاء العالم بعد هذا التدريب النهائي.\\nاختر لنفسك اسم معركة...\",\"Após o treino final, você lutará com jogadores reais do mundo todo.\\nEscolha um nome para usar nas batalhas!\",\"通过最终考验后，您将与全球玩家进行对战。\\n给自己取一个响亮的名字吧......\",\"通過最終考驗後，您將與全球玩家進行對戰。\\n為自己取一個響亮的名字吧......\",\"بعد از این آموزش آخر، با بازیکنان واقعی در تمام دنیا مبارزه می‌کنی.\\nبرای خودت یک اسم نبرد انتخاب کن...\",\"Setelah latihan terakhir ini, kamu akan bertempur dengan pemain sungguhan di seluruh dunia.\\nPilihlah nama tempurmu...\",\"Selepas latihan akhir ini, anda akan bertempur dengan pemain sebenar dari seluruh dunia.\\nPilih nama pertempuran anda...\"\n\"TID_TUTORIAL_KING_WELCOME\",\"Welcome to\\nClash Royale!\",\"Bienvenue dans\\nClash Royale !\",\"Willkommen bei\\nClash Royale!\",\"¡Esto es\\nClash Royale!\",\"Benvenuto a\\nClash Royale\",\"Welkom bij\\nClash Royale!\",\"Velkommen til\\nClash Royale!\",\"Clash Royale'a\\nHoş Geldin!\",\"クラッシュ・ロワイヤル\\nの世界へようこそ！\",\"클래시 로얄에\\n오신 것을 환영합니다!\",\"Добро пожаловать\\nв Clash Royale\",\"مرحبًا في\\nClash Royale!\",\"Bem-vindo ao\\nClash Royale!\",\"欢迎来到\\n《部落冲突:皇室战争》！\",\"歡迎來到\\n《部落衝突:皇室戰爭》！\",\"به\\nClash Royale خوش آمدی!\",\"Selamat datang di\\nClash Royale!\",\"Selamat datang ke\\nClash Royale!\"\n\"TID_TUTORIAL_KING_WELCOME2\",\"Challenger, let's complete some training matches first!\",\"Terminez des combats d'entraînement avant de vous battre pour de bon !\",\"Herausforderer, lass uns zunächst ein paar Trainingskämpfe absolvieren!\",\"En primer lugar, completemos algunas partidas de entrenamiento.\",\"Sfidante, completiamo prima qualche scontro di allenamento!\",\"Uitdager, laten we eerst wat oefengevechten voltooien!\",\"Utfordrer, la oss prøve noen treningskamper først!\",\"Mücadeleci, önce birkaç eğitim maçı tamamlayalım!\",\"まずは訓練から\\nはじめよう！\",\"도전자님, 먼저 훈련 매치부터 해보죠!\",\"Искатель, давай проведем парочку тренировочных боев!\",\"أيها المتحدي، فلنكمل بعض المباريات التدريبية أولاً!\",\"Desafiante, vamos concluir algumas partidas de treinamento antes!\",\"你好，挑战者！让我们先完成一些对战训练吧！\",\"你好，挑戰者！讓我們先完成一些對戰訓練吧！\",\"مبارزه طلب، بیا اول یک مقدار بازی تمرینی انجام بدیم!\",\"Penantang, ayo selesaikan pertandingan latihan terlebih dahulu!\",\"Pencabar, mari lengkapkan beberapa perlawanan latihan dahulu!\"\n\"TID_TUTORIAL_1_KING_TEXT1\",\"Welcome to Clash Royale... Let's Go!\",\"Bienvenue dans Clash Royale... C'est parti !\",\"Willkommen bei Clash Royale! Los geht´s!\",\"Esto es Clash Royale. ¡Empecemos!\",\"Benvenuto in Clash Royale... Iniziamo!\",\"Welkom bij Clash Royale. Laten we beginnen!\",\"Velkommen til Clash Royale. Kom igjen!\",\"Clash Royale'a hoş geldin... Haydi başlayalım!\",\"クラッシュ・ロワイヤルにようこそ。\\nさっそく始めましょう！\",\"클래시 로얄에 오신 것을 환영합니다. 가봅시다!\",\"Добро пожаловать в Clash Royale... Поехали!\",\"مرحبًا بك في Clash Royale... فلننطلق!\",\"Você está no Clash Royale! Vamos nessa!\",\"欢迎来到《部落冲突:皇室战争》......我们开始吧！\",\"歡迎來到《部落衝突:皇室戰爭》......我們開始吧！\",\"به Clash Royale خوش اومدی... بزن بریم!\",\"Selamat datang di Clash Royale... Ayo!\",\"Selamat datang ke Clash Royale... Mari bermula!\"\n\"TID_TUTORIAL_1_KING_TEXT2\",\"Now, lets learn some DEFENSE!\",\"Intéressons-nous à la défense !\",\"Jetzt wird verteidigt!\",\"Toca aprender cómo defenderse.\",\"Adesso impariamo come DIFENDERE!\",\"Nu leer ik je hoe je je moet verdedigen.\",\"Det er tid for å lære seg litt FORSVAR!\",\"Şimdi biraz SAVUNMA öğrenelim!\",\"まずは防衛について学びましょう！\",\"이제 방어에 대해 배워봅시다!\",\"А теперь давай научимся обороняться!\",\"والآن، لنتعلم بعض أساليب الدفاع!\",\"Vamos falar de DEFESA!\",\"现在，我们来学习防守！\",\"現在，我們來學習防守！\",\"حالا وقتشه یک کم دفاع یاد بگیریم!\",\"Sekarang, ayo belajar PERTAHANAN!\",\"Sekarang, mari kita belajar sedikit PERTAHANAN!\"\n\"TID_TUTORIAL_1_KING_TEXT3\",\"Let's combine our cards for a stronger attack!\",\"Associons nos cartes pour mener une attaque plus puissante !\",\"Kombinieren wir unsere Karten für einen stärkeren Angriff!\",\"¡Combinemos nuestras cartas para lanzar un mayor ataque!\",\"Combiniamo le nostre carte per un attacco più potente!\",\"Laten we onze kaarten combineren voor een sterkere aanval!\",\"La oss kombinere kortene våre for å få et sterkere angrep!\",\"Daha güçlü bir saldırı için kartları birlikte kullanalım!\",\"カードを組み合わせて、より強力な攻撃を行いましょう！\",\"카드를 조합해 더 강력한 공격을 하세요!\",\"Комбинируй карты, чтобы усилить атаку!\",\"فلندمج بطاقاتنا لتحقيق هجوم أقوى!\",\"Vamos combinar nossas cartas por um ataque ainda melhor!\",\"让我们搭配多张卡牌，发动一波强力的进攻！\",\"讓我們搭配多張卡牌，發動一次強力的進攻！\",\"بیا برای حمله قوی‌تر، کارت‌هامون رو ترکیب کنیم!\",\"Yuk gabungkan kartu kita demi serangan yang lebih kuat!\",\"Mari gabungkan kad-kad kita untuk serangan lebih kuat!\"\n\"TID_TUTORIAL_1_KING_TEXT4\",\"Great! Let's see what you've learnt against a tougher opponent\",\"Super ! Voyons ce que vous avez appris face à un adversaire plus fort.\",\"Super! Sehen wir uns jetzt bei einem härteren Gegner an, was du gelernt hast.\",\"¡Estupendo! Veamos lo que has aprendido contra un rival más fuerte.\",\"Fantastico! Vediamo cosa hai imparato contro un avversario più forte!\",\"Geweldig! Laat maar eens zien wat je hebt geleerd tegen een sterkere tegenstander.\",\"Flott! Spill mot en sterkere motstander og vis meg hva du har lært.\",\"Harika! Bakalım daha güçlü bir rakip karşısında ne yapacaksın.\",\"いいですね！ では、強力な敵を相手に実践してみましょう\",\"훌륭해요! 더욱 강한 상대에게 지금까지 배운 걸 써볼까요!\",\"Отлично! Теперь проверим, чему тебе удалось научиться: сразись с противником посильнее.\",\"عظيم! فلنرَ ما تعلمت في مواجهة خصم أقوى\",\"Ótimo! Vamos ver o que você aprendeu contra um adversário mais forte.\",\"干得不错！让我们看看你是不是已经学会了怎样应对更强悍的对手。\",\"做得不錯！讓我們看看你是不是已經學會了怎樣應對更強悍的對手。\",\"عالیه! حالا بینیم در مقابل حریف قدرتمند چه چیزهایی یاد گرفتی\",\"Bagus! Mari kita lihat apa yang telah kamu pelajari melawan musuh yang tangguh\",\"Hebat! Mari lihat perkara yang anda pelajari daripada pihak lawan yang lebih kuat\"\n\"TID_TUTORIAL_1_KING_TEXT5\",\"Now for the final challenge!\",\"Et voici le défi final !\",\"Und jetzt zur letzten Herausforderung!\",\"¡Es hora de que te enfrentes al desafío final!\",\"E ora... la sfida finale!\",\"En dan nu de laatste uitdaging.\",\"Klart for den siste utfordringen!\",\"Sıra son aşamada!\",\"それでは最後の試練です！\",\"이제 마지막 도전입니다!\",\"Переходим к последнему испытанию!\",\"والآن حان موعد التحدي النهائي!\",\"Chegou o desafio final!\",\"现在是最终考验了！\",\"現在是最終考驗了！\",\"حالا برای چالش نهایی!\",\"Sekarang, untuk tantangan akhir!\",\"Sekarang untuk cabaran terakhir!\"\n\"TID_KICK_FROM_TEAM_MESSAGE\",\"You've been kicked out from the Clan!\",\"Vous avez été exclu(e) du clan !\",\"Du wurdest aus dem Clan geworfen!\",\"¡Te han expulsado del clan!\",\"Sei stato espulso dal clan!\",\"Je bent uit de clan gezet!\",\"Du har blitt sparket ut fra klanen!\",\"Klandan atıldın!\",\"クランからはずす\",\"클랜에서 추방되었습니다!\",\"Тебя выгнали из клана!\",\"طرد\",\"Você foi expulso do clã!\",\"您已被踢出部落！\",\"您已被請出部落！\",\"تو رو از قبیله بیرون انداختن!\",\"Kamu sudah ditendang keluar dari Klan!\",\"Anda telah dikeluarkan daripada Klan!\"\n\"TID_NAME_CHANGE_ALREADY_USED\",\"You have already changed your name!\",\"Vous avez déjà changé de nom !\",\"Du hast deinen Namen schon geändert!\",\"Ya has cambiado de nombre.\",\"Hai già cambiato nome!\",\"Je hebt je naam al gewijzigd!\",\"Du har allerede byttet navn!\",\"Adını zaten değiştirdin!\",\"名前はこれ以上変更できません。\",\"이미 이름을 한 번 변경했습니다!\",\"Имя уже изменено!\",\"لقد غيّرت اسمك بالفعل!\",\"Você já alterou seu nome!\",\"您已经更改过名称了！\",\"您已經更改過名稱了！\",\"تو قبلاً اسمت رو عوض کردی!\",\"Kamu sudah pernah mengganti nama!\",\"Anda sudah menukar nama anda!\"\n\"TID_NAME_CHANGE\",\"Change Name\",\"Changer de nom\",\"Namen ändern\",\"Cambiar nombre\",\"Cambia nome\",\"Naam wijzigen\",\"Bytt navn\",\"Adı Değiştir\",\"名前変更\",\"이름 변경\",\"Изменить имя\",\"تغيير الاسم\",\"Alterar o nome\",\"更改名称\",\"更改名稱\",\"تعویض اسم\",\"Ganti Nama\",\"Tukar Nama\"\n\"TID_CHANGE_NAME_BUTTON\",\"Change Name\",\"Changer de nom\",\"Namen ändern\",\"Cambiar nombre\",\"Cambia nome\",\"Naam wijzigen\",\"Bytt navn\",\"Adı Değiştir\",\"名前変更\",\"이름 변경\",\"Изменить имя\",\"تغيير الاسم\",\"Alterar o nome\",\"更改名称\",\"更改名稱\",\"تغییر اسم\",\"Ganti Nama\",\"Tukar Nama\"\n\"TID_CHANGE_NAME_TITLE\",\"Change Name\",\"Changer de nom\",\"Namen ändern\",\"Cambiar nombre\",\"Cambia nome\",\"Naam wijzigen\",\"Bytt navn\",\"Adı Değiştir\",\"名前変更\",\"이름 변경\",\"Изменить имя\",\"تغيير الاسم\",\"Alterar o nome\",\"更改名称\",\"更改名稱\",\"تغییر اسم\",\"Ganti Nama\",\"Tukar Nama\"\n\"TID_SETTINGS_PLAYERNAME_CURRENT\",\"Current Name:\",\"Nom actuel :\",\"Aktueller Name:\",\"Nombre actual:\",\"Nome attuale:\",\"Huidige naam:\",\"Nåværende navn:\",\"Mevcut Ad:\",\"現在の名前：\",\"현재 이름:\",\"Нынешнее имя:\",\"الاسم الحالي:\",\"Nome atual:\",\"当前名称：\",\"當前名稱：\",\"اسم فعلی\",\"Nama Saat Ini:\",\"Nama Semasa:\"\n\"TID_SETTINGS_PLAYERNAME_ENTERNEW\",\"Enter new name:\",\"Nouveau nom :\",\"Neuen Namen eingeben:\",\"Introduce el nuevo nombre:\",\"Inserisci il nuovo nome:\",\"Voer nieuwe naam in:\",\"Skriv inn nytt navn:\",\"Yeni ad gir:\",\"新しい名前を入力：\",\"새 이름 입력:\",\"Введи новое имя:\",\"أدخل الاسم الجديد:\",\"Digite o novo nome:\",\"请输入新名称：\",\"請輸入新名稱：\",\"اسم جدید وارد کن\",\"Masukkan nama baru:\",\"Masukkan nama baharu:\"\n\"TID_CONFIRM_CONFIRM\",\"Please type in \\q<CONFIRM>\\q and press the Okay button to complete the action\",\"Veuillez taper \\q<CONFIRM>\\q et appuyer sur le bouton OK pour valider le processus.\",\"Bitte schreibe \\q<CONFIRM>\\q und drücke \\qOkay\\q, um diese Aktion abzuschließen.\",\"Introduce <CONFIRM> y pulsa el botón Vale para completar la acción.\",\"Digita \\q<CONFIRM>\\q e tocca il pulsante OK per completare l'azione.\",\"Typ '<CONFIRM>' en tik op de knop OK om de actie te voltooien\",\"Skriv i \\q<CONFIRM>\\q og trykk på OK-knappen for å fullføre handlingen\",\"İşlemi tamamlamak için lütfen \\q<CONFIRM>\\q yaz ve Tamam düğmesine bas\",\"「<CONFIRM>」と入力してOKボタンを押すと、処理が完了します。\",\"\\q<CONFIRM>\\q을 입력하고 확인 버튼을 눌러 작업을 완료하세요.\",\"Пожалуйста, введи \\q<CONFIRM>\\q и нажми «Да», чтобы завершить действие.\",\"الرجاء كتابة \\q<CONFIRM>\\q والضغط على زر موافق لإكمال الإجراء\",\"Digite \\q<CONFIRM>\\q e pressione o botão Ok para concluir a ação.\",\"请输入\\q<CONFIRM>\\q并点击\\q确认\\q按钮来完成操作\",\"請輸入\\q<CONFIRM>\\q並點擊\\q確認\\q按鈕來完成操作\",\"لطفاً \\q<CONFIRM>\\q رو تایپ کن و بعد دکمه باشه رو فشار بده تا کار تکمیل بشه\",\"Ketik \\q<CONFIRM>\\q dan tekan tombol Oke untuk menyelesaikan tindakan\",\"Sila taipkan \\q<CONFIRM>\\q dan tekan butang Okey untuk melengkapkan tindakan\"\n\"TID_CONFIRM_OKAY\",\"Okay\",\"OK\",\"Okay\",\"Vale\",\"OK\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"Да\",\"موافق\",\"Ok\",\"确认\",\"確認\",\"تأیید\",\"Oke\",\"Okey\"\n\"TID_CONTINUE\",\"Continue\",\"Continuer\",\"Weiter\",\"Continuar\",\"Continua\",\"Doorgaan\",\"Fortsett\",\"Devam et\",\"続ける\",\"계속하기\",\"Продолжить\",\"المتابعة\",\"Continuar\",\"继续\",\"繼續\",\"ادامه\",\"Lanjutkan\",\"Teruskan\"\n\"TID_NAMECHANGE_WARNING\",\"NOTE: You can only change your name ONCE\",\"ATTENTION : vous ne pouvez changer de nom qu'une seule fois.\",\"HINWEIS: Du kannst deinen Namen nur EINMAL ändern.\",\"AVISO: Solo puedes cambiar de nombre una vez.\",\"ATTENZIONE: puoi cambiare il tuo nome una volta sola!\",\"LET OP: je kunt je naam maar ÉÉN keer wijzigen!\",\"OBS! Du kan bytte navn bare ÉN GANG\",\"NOT: Adını sadece BİR KEZ değiştirebilirsin\",\"注意：名前は一度しか変更できません！\",\"참고: 이름은 한 번만 변경할 수 있습니다.\",\"Внимание: имя можно сменить лишь ОДИН РАЗ!\",\"ملاحظة: يمكنك تغيير اسمك مرة واحدة فقط\",\"ATENÇÃO: Você só pode alterar o nome UMA VEZ.\",\"注意：您只有一次改名机会\",\"注意：您只有一次改名機會\",\"نکته: فقط می‌تونی یک بار تغییر اسم بدی\",\"CATATAN: Kamu hanya dapat mengganti nama SATU KALI\",\"NOTA: Anda hanya boleh menukar nama anda SEKALI\"\n\"TID_CONFIRM\",\"Confirm\",\"Confirmer\",\"Bestätigen\",\"Confirmar\",\"Conferma\",\"Bevestigen\",\"Bekreft\",\"Onayla\",\"決定\",\"확인\",\"Подтвердить\",\"تأكيد\",\"Confirmar\",\"确认\",\"確認\",\"تایید\",\"Konfirmasi\",\"Sah\"\n\"TID_SETTINGS_PLAYERNAME_REENTERNEW\",\"Re-enter your new name:\",\"Confirmer le nouveau nom :\",\"Namen erneut eingeben:\",\"Vuelve a introducir el nombre:\",\"Reinserisci il nuovo nome:\",\"Voer je nieuwe naam opnieuw in:\",\"Skriv inn navnet på nytt:\",\"Yeni adını tekrar gir:\",\"新しい名前を再入力：\",\"새 이름 다시 입력:\",\"Введи новое имя еще раз:\",\"أعد إدخال الاسم الجديد:\",\"Digite seu novo nome mais uma vez:\",\"请再次输入您的新名称：\",\"請再次輸入您的新名稱：\",\"اسم جدید خودت رو دوباره وارد کن:\",\"Masukkan lagi nama barumu:\",\"Masukkan semula nama baharu anda:\"\n\"TID_NAME_ALREADY_CHANGED\",\"Name can only be changed once.\",\"Vous ne pouvez changer de nom qu'une fois.\",\"Der Name kann nur einmal geändert werden.\",\"Solo se puede cambiar de nombre una vez.\",\"Puoi cambiare nome solo una volta.\",\"Je kunt je naam maar één keer wijzigen.\",\"Navnet kan bare forandres én gang.\",\"Ad yalnızca bir defa değiştirilebilir.\",\"名前の変更は一度しかできません。\",\"이름은 한 번만 변경할 수 있습니다.\",\"Имя можно поменять только один раз.\",\"يمكن تغيير الاسم مرة واحدة فقط.\",\"O nome só pode ser alterado uma vez.\",\"名称仅能更改一次。\",\"名稱僅能更改一次。\",\"فقط یک بار میشه اسم رو تغییر داد.\",\"Nama hanya dapat diganti satu kali.\",\"Nama hanya boleh ditukar sekali.\"\n\"TID_NAME_CHANGE_TH_LEVEL_TOO_LOW\",\"Name change is available starting from XP level <level>\",\"Pour changer de nom, votre EXP doit être de niveau <level>.\",\"Namenswechsel ist ab EP-Level <level> verfügbar.\",\"El cambio de nombre está disponible a partir del nivel <level>.\",\"Puoi cambiare nome a partire dal livello XP <level>\",\"Een naamswijziging is beschikbaar vanaf XP-level <level>\",\"Du kan endre navn fra og med XP-nivå <level>\",\"Ad değişikliği, <level>. TP seviyesinden itibaren yapılabilir\",\"名前の変更は経験値レベル<level>から可能です\",\"이름은 XP <level> 레벨부터 바꿀 수 있습니다.\",\"Изменить имя можно будет, достигнув <level> уровня.\",\"تغيير الاسم متاح بدايةً من مستوى الخبرة <level>\",\"A alteração de nome pode ser feita a partir do nível <level> de XP.\",\"升至<level>级可以更改名称\",\"升至<level>級可以更改名稱\",\"تغییر نام از سطح تجربه <level> در دسترس هست\",\"Ganti nama tersedia mulai dari XP level <level>\",\"Pertukaran nama tersedia bermula daripada XP tahap <level>\"\n\"TID_ERROR_NAMES_DONT_MATCH\",\"Names don't match. Please try again.\",\"Les deux entrées sont différentes. Veuillez réessayer.\",\"Namen stimmen nicht überein. Bitte versuche es erneut.\",\"Los nombres no coinciden. Inténtalo de nuevo.\",\"I nomi non corrispondono. Riprova.\",\"De namen komen niet overeen. Probeer het opnieuw.\",\"Navnene er ikke like. Prøv på nytt.\",\"Adlar eşleşmiyor. Lütfen tekrar dene.\",\"名前が一致しません。もう一度入力してください。\",\"이름이 일치하지 않습니다. 다시 시도해주세요.\",\"Имена не совпадают. Пожалуйста, попробуй снова.\",\"الأسماء غير متطابقة. من فضلك حاول ثانيةً.\",\"Os nomes não coincidem. Tente novamente.\",\"所输名称不一致，请重试。\",\"輸入名稱不一致，請重試。\",\"اسم‌ها یکسان نیستند. لطفاً دوباره امتحان کن.\",\"Nama tidak cocok. Harap coba lagi.\",\"Nama tidak sepadan. Sila cuba lagi.\"\n\"TID_NAME_CHANGED_SUCCESS\",\"Your name was changed!\",\"Votre nom a été changé !\",\"Dein Name wurde geändert!\",\"¡Has cambiado de nombre!\",\"Il tuo nome è stato cambiato!\",\"Je naam is gewijzigd!\",\"Du byttet navn!\",\"Adın değiştirildi!\",\"名前を変更しました！\",\"이름이 변경되었습니다!\",\"Имя изменено!\",\"تم تغيير اسمك!\",\"Seu nome foi alterado!\",\"您的名称已更改！\",\"您的名稱已更改！\",\"اسمت عوض شد!\",\"Namamu sudah diganti!\",\"Nama anda telah ditukar!\"\n\"TID_NAME_CHANGE_IN_PROGRESS\",\"Cannot change name. Previous name change is in progress.\",\"Changement de nom impossible. Un changement de nom est déjà en cours.\",\"Name kann nicht geändert werden. Namensänderung wird bereits ausgeführt.\",\"No puedes cambiar de nombre. Ya hay un cambio de nombre en curso.\",\"Impossibile cambiare nome. Cambiamento precedente in corso.\",\"Je kunt je naam niet wijzigen. De vorige naamswijziging is nog aan de gang.\",\"Kan ikke bytte navn. Navnebytte pågår allerede.\",\"Ad değiştirilemiyor. Önceki ad değişikliği işleniyor.\",\"名前を変更できません。前回の名前変更の手続き中です。\",\"이름을 변경할 수 없습니다. 이전 이름을 변경 중입니다.\",\"Нельзя изменить имя. Предыдущее изменение еще не осуществлено.\",\"لا يمكن تغيير الاسم. تغيير الاسم السابق جارٍ بالفعل.\",\"Não foi possível alterar o nome. Uma alteração anterior está em andamento.\",\"无法更改名称。上个名称更改正在处理中。\",\"無法更改名稱。上個名稱更改正在處理中。\",\"امکان تعویض اسم نیست. فرایند تعویض اسم قبلی در حال انجام هست.\",\"Tidak dapat mengganti nama. Penggantian nama sebelumnya sedang diproses.\",\"Tidak boleh menukar nama. Perubahan nama sebelum ini sedang dijalankan.\"\n\"TID_SETTINGS_PLAYERNAME_CONFIRM_NEW\",\"Are you sure you want to change your name?\\nYour new name will be:\",\"Voulez-vous vraiment changer de nom ?\\nVotre nouveau nom sera :\",\"Möchtest du deinen Namen wirklich ändern?\\nDein neuer Name:\",\"¿Seguro que quieres cambiar de nombre?\\nTu nuevo nombre será:\",\"Vuoi davvero cambiare nome?\\nIl tuo nuovo nome sarà:\",\"Weet je zeker dat je je naam wilt wijzigen?\\nJe nieuwe naam wordt:\",\"Er du sikker på at du vil endre navn?\\nDitt nye navn blir:\",\"Adını değiştirmek istediğinden emin misin?\\nYeni adın şu olacak:\",\"本当に名前を変更しますか？\\n新しい名前：\",\"정말 이름을 변경하시겠습니까?\\n새 이름은 다음과 같습니다.\",\"Ты точно хочешь изменить имя?\\nТеперь тебя будут звать:\",\"هل تريد بالتأكيد تغيير اسمك؟\\nسيكون اسمك الجديد:\",\"Quer mesmo alterar seu nome?\\nSeu novo nome será:\",\"您确定要更改名称吗？\\n您的新名称是：\",\"您確定要更改名稱嗎？\\n您的新名稱是：\",\"آیا مطمئنی که می‌خوای اسمت رو عوض کنی؟\\nاسم جدیدت میشه:\",\"Yakin ingin mengganti namamu?\\nNama barumu nanti:\",\"Anda pasti ingin menukar nama anda?\\nNama baharu anda ialah:\"\n\"TID_TAUNT_LIMIT_FULL\",\"Emote limit reached!\",\"Limite d'émoticônes atteinte !\",\"Emote-Limit erreicht!\",\"¡Límite de reacciones alcanzado!\",\"Limite provocazioni raggiunto!\",\"Emote-limiet bereikt!\",\"Du har nådd grensen for uttrykksikoner!\",\"Duygu limitine erişildi!\",\"スタンプ使用数の上限に達しました\",\"이모티콘 한도 초과!\",\"Лимит эмодзи исчерпан!\",\"وصلت إلى حد الأشكال التعبيرية!\",\"Limite diário atingido!\",\"表情发送次数已达上限！\",\"表情發送次數已達上限！\",\"به محدود ابراز احساسات رسیدی!\",\"Batas emote tercapai!\",\"Had Emote dicapai!\"\n\"TID_CANNOT_USE_MIRROR_FIRST\",\"Mirror cannot be used as a first card\",\"Le miroir ne peut pas être utilisé en tant que première carte.\",\"Spiegel kann nicht als erste Karte verwendet werden.\",\"No puedes empezar usando el hechizo de espejo.\",\"Specchio non può essere utilizzato come prima carta\",\"Spiegel kan niet worden gebruikt als eerste kaart\",\"Speil kan ikke brukes som første kort\",\"Ayna, ilk kart olarak kullanılamaz\",\"鏡は最初のカードとしては使えません\",\"반사경은 첫 카드로 사용할 수 없습니다.\",\"Зеркало не может быть первой картой\",\"لا يمكن استخدام المرآة كبطاقة أولى\",\"O Espelho não pode ser usado como primeira carta.\",\"镜像法术不能作为第一张卡牌使用\",\"鏡像法術不能作為第一張卡牌使用\",\"نمیشه از آینه به عنوان کارت اول استفاده کرد\",\"Cermin tidak dapat digunakan sebagai kartu pertama\",\"Cermin tidak dapat digunakan sebagai kad pertama\"\n\"TID_BUTTON_BROWSE\",\"Browse\",\"Parcourir\",\"Auswählen\",\"Explorar\",\"Sfoglia\",\"Zoeken\",\"Bla\",\"Göz at\",\"えらぶ\",\"둘러보기\",\"Просмотреть\",\"تصفح\",\"Procurar\",\"浏览\",\"瀏覽\",\"مرور کردن\",\"Jelajahi\",\"Semak imbas\"\n\"TID_REGION_ANY\",\"Any\",\"Indifférente\",\"Beliebig\",\"Cualquiera\",\"Qualsiasi\",\"Willekeurig\",\"Alle\",\"Herhangi\",\"すべて\",\"모두\",\"Любое\",\"أي\",\"Qualquer\",\"任何\",\"任何\",\"هر مورد\",\"Bebas\",\"Apa jua\"\n\"TID_SPEED1\",\"x1\",\"x1\",\"x1\",\"x1\",\"x1\",\"1x\",\"x1\",\"x1\",\"x1\",\"x1\",\"х1\",\"x1\",\"x1\",\"x1\",\"x1\",\"1 برابر\",\"x1\",\"x1\"\n\"TID_SPEED2\",\"x1.5\",\"x1,5\",\"x1,5\",\"x1,5\",\"x1,5\",\"1,5x\",\"x1,5\",\"x1,5\",\"x1.5\",\"x1.5\",\"x1,5\",\"x1.5\",\"x1,5\",\"x1.5\",\"x1.5\",\"1.5 برابر\",\"x1,5\",\"x1.5\"\n\"TID_SPEED3\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"2x\",\"x2\",\"2 kat\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"2 برابر\",\"x2\",\"x2\"\n\"TID_SPEED4\",\"x3\",\"x3\",\"x3\",\"x3\",\"x3\",\"3x\",\"x3\",\"3 kat\",\"x3\",\"x3\",\"x3\",\"x3\",\"x3\",\"x3\",\"x3\",\"3 برابر\",\"x3\",\"x3\"\n\"TID_POPUP_ANDROID_EXIT_TITLE\",\"Exit Clash Royale?\",\"Quitter Clash Royale ?\",\"Clash Royale beenden?\",\"Salir de Clash Royale\",\"Uscire da Clash Royale?\",\"Clash Royale verlaten?\",\"Avslutte Clash Royale?\",\"Clash Royale'dan çık?\",\"クラッシュ・ロワイヤルの終了\",\"클래시 로얄을 종료합니까?\",\"Выйти из Clash Royale?\",\"الخروج من Clash Royale؟\",\"Sair do Clash Royale\",\"要退出《部落冲突:皇室战争》吗？\",\"確定要離開《部落衝突:皇室戰爭》？\",\"خروج از Clash Royale؟\",\"Keluar dari Clash Royale?\",\"Keluar daripada Clash Royale?\"\n\"TID_POPUP_ANDROID_EXIT\",\"Are you sure you want to exit Clash Royale?\",\"Voulez-vous vraiment quitter Clash Royale ?\",\"Möchtest du Clash Royale wirklich beenden?\",\"¿Seguro que quieres salir de Clash Royale?\",\"Vuoi davvero uscire da Clash Royale?\",\"Weet je zeker dat je Clash Royale wilt verlaten?\",\"Er du sikker på at du vil avslutte Clash Royale?\",\"Clash Royale'dan çıkmak istediğinden emin misin?\",\"クラッシュ・ロワイヤルを終了してもよろしいですか？\",\"정말로 클래시 로얄을 종료하시겠습니까?\",\"Ты точно хочешь выйти из Clash Royale?\",\"هل تريد بالتأكيد الخروج من Clash Royale؟\",\"Quer mesmo sair do Clash Royale?\",\"您确定要退出《部落冲突:皇室战争》吗？\",\"你確定要離開《部落衝突:皇室戰爭》？\",\"واقعاً مطمئنی که می‌خوای از Clash Royale خارج بشی؟\",\"Yakin ingin keluar Clash Royale?\",\"Anda pasti ingin keluar daripada Clash Royale?\"\n\"TID_GOOGLEPLAY_SIGNIN_TIP\",\"Use Google Play Sign-in to safeguard your progress and to play on multiple Android devices.\",\"Utilisez la connexion Google Play pour sauvegarder votre progression et jouer sur différents appareils Android.\",\"Melde dich mit Google Play an, um deinen Fortschritt zu sichern und auf mehreren Android-Geräten zu spielen.\",\"Conecta con Google Play para proteger tu progreso y poder acceder desde varios dispositivos Android.\",\"Effettua l'accesso a Google Play per proteggere i tuoi progressi e giocare su più dispositivi Android.\",\"Meld je aan bij Google Play om je voortgang veilig te stellen en op meerdere Android-apparaten te spelen.\",\"Logg på Google Play for å beskytte fremgangen din og spille på flere Android-enheter.\",\"İlerlemeni korumak ve birden fazla Android cihazda oynamak için Google Play Girişini kullan.\",\"Google Playサインインを利用すると、ゲームの進行状況が保護されるほか、複数のAndroidデバイスでのプレイが可能になります。\",\"Google Play 계정 로그인을 통해 게임 진행 상황을 안전하게 유지하고 여러 대의 Android 기기에서 게임을 즐기세요.\",\"Используй Google Play, чтобы обезопасить свой прогресс и играть на нескольких устройствах Android.\",\"استخدم تسجيل الدخول إلى Google Play لحماية تقدمك وللعب على أجهزة Android متعددة.\",\"Entre no jogo com o Google Play para salvar o seu progresso e jogar em vários dispositivos Android.\",\"登录Google Play来保存您的游戏进度，并可在多台安卓设备上玩游戏。\",\"登入 Google Play 來保存您的遊戲進度以及在多部 Android 裝置上進行遊戲。\",\"برای حفاظت از پیشرفتی که داشتی و بازی روی چند دستگاه Android از ورود به سیستم Google Play استفاده کن.\",\"Gunakan Google Play Sign-in untuk mengamankan kemajuanmu dan untuk bermain di beberapa perangkat Android.\",\"Gunakan Google Play Sign-in untuk melindungi perkembangan anda dan bermain pada berbilang peranti Android.\"\n\"TID_GAMECENTER_SIGNIN_TIP\",\"Sign in using your Game Center to safeguard your progress and to play on multiple iOS devices.\",\"Connectez-vous via Game Center pour sauvegarder votre progression et jouer sur différents appareils iOS.\",\"Melde dich über dein Game Center an, um deinen Fortschritt zu sichern und auf mehreren iOS-Geräten zu spielen.\",\"Inicia sesión en Game Center para proteger tu progreso y poder acceder desde varios dispositivos iOS.\",\"Effettua l'accesso usando Game Center per proteggere i tuoi progressi e giocare su più dispositivi iOS.\",\"Meld je aan via Game Center om je voortgang veilig te stellen en op meerdere iOS-apparaten te spelen.\",\"Logg på med Game Center-kontoen din for å beskytte fremgangen din og spille på flere iOS-enheter.\",\"İlerlemeni korumak ve birden fazla iOS cihazda oynamak için Game Center'ını kullanarak giriş yap.\",\"Game Centerを通じてサインインすると、ゲームの進行状況が保護されるほか、複数のiOSデバイスでのプレイが可能になります。\",\"Game Center에 로그인해 게임 진행 상황을 저장하고 여러 대의 iOS기기에서 게임을 플레이해 보세요.\",\"Войди в Game Center, чтобы обезопасить свой прогресс и играть на нескольких устройствах iOS.\",\"قم بتسجيل الدخول باستخدام حسابك على Game Center لحماية تقدمك وللعب على أجهزة iOS متعددة.\",\"Entre no jogo usando o Game Center para salvar o seu progresso e jogar em vários dispositivos iOS.\",\"登录Game Center来保存您的游戏进度，并可在多台苹果设备上玩游戏。\",\"登入您的 Game Center 來保存您的遊戲進度以及在多部 iOS 裝置上進行遊戲。\",\"برای حفاظت از پیشرفتی که داشتی و بازی روی چند دستگاه iOS با استفاده از Game Center وارد بازی شو.\",\"Masuk dengan Game Center untuk mengamankan kemajuanmu dan untuk bermain di beberapa perangkat iOS.\",\"Daftar masuk menggunakan Game Center anda untuk melindungi perkembangan anda dan bermain pada berbilang peranti iOS.\"\n\"TID_JUPITER_SIGNIN_TIP\",\"Sign in using your QQ or WeChat to safeguard your progress and to play on multiple devices.\",\"Connectez-vous via QQ ou WeChat pour sauvegarder votre progression et jouer sur différents appareils.\",\"Melde dich über dein WeChat- oder QQ-Konto an, um deinen Fortschritt zu sichern und auf mehreren Geräten zu spielen.\",\"Inicia sesión en QQ o WeChat para proteger tu progreso y poder acceder desde varios dispositivos.\",\"Effettua l'accesso usando WeChat o QQ per proteggere i tuoi progressi e giocare su più dispositivi.\",\"Meld je aan via WeChat of QQ om je voortgang veilig te stellen en op meerdere apparaten te spelen.\",\"Logg på med QQ- eller WeChat-kontoen din for å beskytte fremdriften og spille på flere enheter.\",\"İlerlemeni korumak ve birden fazla cihazda oynamak için QQ veya WeChat'ini kullanarak giriş yap.\",\"QQまたはWeChatを通じてサインインすると、ゲームの進行状況が保護されるほか、複数のデバイスでのプレイが可能になります。\",\"WeChat 또는 QQ에 로그인해서 게임 진행 상황을 저장하고 여러 대의 기기에서 게임을 플레이해 보세요.\",\"Войди в WeChat или QQ, чтобы обезопасить свой прогресс и играть на нескольких устройствах.\",\"قم بتسجيل الدخول باستخدام حسابك على WeChat أو QQ لحماية تقدمك وللعب على أجهزة متعددة.\",\"Entre no jogo usando o WeChat ou QQ para salvar o seu progresso e jogar em vários aparelhos.\",\"登录QQ或微信来保存您的游戏进度，并可在多台设备上玩游戏。\",\"登入QQ或微信來保存您的遊戲進度，並可在多台裝置上玩遊戲。\",\"برای حفاظت از پیشرفتی که داشتی و بازی روی چند دستگاه با استفاده از WeChat یا QQ وارد بازی شو.\",\"Masuk dengan QQ atau WeChat milikmu untuk mengamankan kemajuanmu dan untuk bermain di beberapa perangkat.\",\"Daftar masuk menggunakan QQ atau WeChat anda untuk melindungi perkembangan anda dan bermain pada berbilang peranti iOS.\"\n\"TID_GOOGLE_PLAY_SIGNIN\",\"Google Play Sign-in\",\"Connexion Google Play\",\"Google Play-Anmeldung\",\"Conexión con Google Play\",\"Accesso a Google Play\",\"Google Play Sign-In\",\"Logg på Google Play\",\"Google Play ile Giriş\",\"Google Playサインイン\",\"Google Play 계정 로그인\",\"Google Play Вход\",\"تسجيل الدخول إلى Google Play\",\"Login no Google Play\",\"Google Play登录\",\"Google Play登入\",\"ورود به سیستم Google Play\",\"Google Play Sign-in\",\"Google Play Sign-in\"\n\"TID_LANGUAGE\",\"Language\",\"Langue\",\"Sprache\",\"Idioma\",\"Lingua\",\"Taal\",\"Språk\",\"Dil\",\"言語\",\"언어\",\"Язык\",\"اللغة\",\"Idioma\",\"语言\",\"語言\",\"زبان\",\"Bahasa\",\"Bahasa\"\n\"TID_CONFIRM_CHANGE_LANGUAGE_TITLE\",\"Language settings\",\"Paramètres de langue\",\"Spracheinstellungen\",\"Configuración de idioma\",\"Impostazioni lingua\",\"Taalinstellingen\",\"Språkinnstillinger\",\"Dil ayarları\",\"言語設定\",\"언어 설정\",\"Настройки языка\",\"إعدادات اللغة\",\"Configurações de idioma\",\"语言设置\",\"語言設定\",\"تنظیمات زبان\",\"Setelan Bahasa\",\"Tetapan bahasa\"\n\"TID_CONFIRM_CHANGE_LANGUAGE\",\"Are you sure you want to change the language settings?\",\"Voulez-vous vraiment modifier les paramètres de langue ?\",\"Willst du die Spracheinstellungen wirklich ändern?\",\"¿Seguro que quieres cambiar el idioma?\",\"Vuoi davvero modificare le impostazioni della lingua?\",\"Weet je zeker dat je de taalinstellingen wilt veranderen?\",\"Er du sikker på at du vil endre språkinnstillingene?\",\"Dil ayarlarını değiştirmek istediğine emin misin?\",\"言語設定を変更してもよろしいですか？\",\"정말로 언어 설정을 변경할까요?\",\"Точно хочешь изменить языковые настройки?\",\"هل تريد بالتأكيد تغيير إعدادات اللغة؟\",\"Tem certeza de que quer alterar as configurações de idioma?\",\"您确定要更改语言设置吗？\",\"是否要變更語言設定？\",\"آیا مطمئنی می​خوای تنظیمات زبان رو تغییر بدی؟\",\"Yakin ingin mengubah setelan bahasa?\",\"Anda pasti ingin menukar tetapan bahasa?\"\n\"TID_EUROPE\",\"Europe\",\"Europe\",\"Europa\",\"Europa\",\"Europa\",\"Europa\",\"Europa\",\"Avrupa\",\"ヨーロッパ\",\"유럽\",\"Европа\",\"أوروبا\",\"Europa\",\"欧洲\",\"歐洲\",\"اروپا\",\"Eropa\",\"Eropah\"\n\"TID_NORTH_AMERICA\",\"North America\",\"Amérique du Nord\",\"Nordamerika\",\"América del Norte\",\"America del Nord\",\"Noord-Amerika\",\"Nord-Amerika\",\"Kuzey Amerika\",\"北アメリカ\",\"북아메리카\",\"Северная Америка\",\"أمريكا الشمالية\",\"América do Norte\",\"北美洲\",\"北美\",\"آمریکای شمالی\",\"Amerika Utara\",\"Amerika Utara\"\n\"TID_SOUTH_AMERICA\",\"South America\",\"Amérique du Sud\",\"Südamerika\",\"América del Sur\",\"Sud America\",\"Zuid-Amerika\",\"Sør-Amerika\",\"Güney Amerika\",\"南アメリカ\",\"남아메리카\",\"Южная Америка\",\"أمريكا الجنوبية\",\"América do Sul\",\"南美洲\",\"南美\",\"آمریکای جنوبی\",\"Amerika Selatan\",\"Amerika Selatan\"\n\"TID_ASIA\",\"Asia\",\"Asie\",\"Asien\",\"Asia\",\"Asia\",\"Azië\",\"Asia\",\"Asya\",\"アジア\",\"아시아\",\"Азия\",\"آسيا\",\"Ásia\",\"亚洲\",\"亞洲\",\"آسیا\",\"Asia\",\"Asia\"\n\"TID_AUSTRALIA\",\"Australia\",\"Australie\",\"Australien\",\"Australia\",\"Australia\",\"Australië\",\"Australia\",\"Avustralya\",\"オーストラリア\",\"호주\",\"Австралия\",\"أستراليا\",\"Austrália\",\"澳大利亚\",\"澳大利亞\",\"استرالیا\",\"Australia\",\"Australia\"\n\"TID_AFRICA\",\"Africa\",\"Afrique\",\"Afrika\",\"África\",\"Africa\",\"Afrika\",\"Afrika\",\"Afrika\",\"アフリカ\",\"아프리카\",\"Африка\",\"أفريقيا\",\"África\",\"非洲\",\"非洲\",\"آفریقا\",\"Afrika\",\"Afrika\"\n\"TID_INTERNATIONAL\",\"International\",\"International\",\"International\",\"Internacional\",\"Internazionale\",\"Internationaal\",\"Internasjonalt\",\"Uluslararası\",\"インターナショナル\",\"전 세계\",\"Международное\",\"دولي\",\"Internacional\",\"全球\",\"全球\",\"بین‌المللی\",\"Internasional\",\"Antarabangsa\"\n\"TID_AFGHANISTAN\",\"Afghanistan\",\"Afghanistan\",\"Afghanistan\",\"Afganistán\",\"Afghanistan\",\"Afghanistan\",\"Afghanistan\",\"Afganistan\",\"アフガニスタン\",\"아프가니스탄\",\"Афганистан\",\"أفغانستان\",\"Afeganistão\",\"阿富汗\",\"阿富汗\",\"افغانستان\",\"Afghanistan\",\"Afghanistan\"\n\"TID_ALAND_ISLANDS\",\"Åland Islands\",\"Îles Åland\",\"Åland\",\"Islas Åland\",\"Isole Åland\",\"Ålandseilanden\",\"Åland\",\"Åland Adaları\",\"オーランド諸島\",\"올란드 제도\",\"Аландские острова\",\"جزر آلاند\",\"Ilhas Åland\",\"奥兰群岛\",\"奧蘭\",\"جزایر آلند\",\"Kepulauan Åland\",\"Kepulauan Åland\"\n\"TID_ALBANIA\",\"Albania\",\"Albanie\",\"Albanien\",\"Albania\",\"Albania\",\"Albanië\",\"Albania\",\"Arnavutluk\",\"アルバニア\",\"알바니아\",\"Албания\",\"ألبانيا\",\"Albânia\",\"阿尔巴尼亚\",\"阿爾巴尼亞\",\"آلبانی\",\"Albania\",\"Albania\"\n\"TID_ALGERIA\",\"Algeria\",\"Algérie\",\"Algerien\",\"Argelia\",\"Algeria\",\"Algerije\",\"Algerie\",\"Cezayir\",\"アルジェリア\",\"알제리\",\"Алжир\",\"الجزائر\",\"Argélia\",\"阿尔及利亚\",\"阿爾及利亞\",\"الجزیره\",\"Algeria\",\"Algeria\"\n\"TID_AMERICAN_SAMOA\",\"American Samoa\",\"Samoa américaines\",\"Amerikanisch-Samoa\",\"Samoa Americana\",\"Samoa Americane\",\"Amerikaans-Samoa\",\"Amerikansk Samoa\",\"Amerikan Samoası\",\"アメリカ領サモア\",\"미국령 사모아\",\"Американское Самоа\",\"ساموا الأمريكية\",\"Samoa Americana\",\"美属萨摩亚\",\"美屬薩摩亞\",\"ساموآی آمریکایی\",\"Samoa Amerika\",\"Samoa Amerika\"\n\"TID_ANDORRA\",\"Andorra\",\"Andorre\",\"Andorra\",\"Andorra\",\"Andorra\",\"Andorra\",\"Andorra\",\"Andora\",\"アンドラ\",\"안도라\",\"Андорра\",\"أندورا\",\"Andorra\",\"安道尔\",\"安道爾\",\"آندورا\",\"Andorra\",\"Andorra\"\n\"TID_ANGOLA\",\"Angola\",\"Angola\",\"Angola\",\"Angola\",\"Angola\",\"Angola\",\"Angola\",\"Angola\",\"アンゴラ\",\"앙골라\",\"Ангола\",\"أنغولا\",\"Angola\",\"安哥拉\",\"安哥拉\",\"آنگولا\",\"Angola\",\"Angola\"\n\"TID_ANGUILLA\",\"Anguilla\",\"Anguilla\",\"Anguilla\",\"Anguila\",\"Anguilla\",\"Anguilla\",\"Anguilla\",\"Anguilla\",\"アンギラ\",\"앙귈라\",\"Ангилья\",\"أنغيلا\",\"Anguila\",\"安圭拉岛\",\"安圭拉\",\"آنگویلا\",\"Anguilla\",\"Anguilla\"\n\"TID_ANTARCTICA\",\"Antarctica\",\"Antarctique\",\"Antarktis\",\"Antártida\",\"Antartide\",\"Antarctica\",\"Antarktis\",\"Antarktika\",\"南極\",\"남극\",\"Антарктика\",\"القارة القطبية الجنوبية\",\"Antártica\",\"南极洲\",\"南極洲\",\"آنتاریکا\",\"Antartika\",\"Antartika\"\n\"TID_ANTIGUA_AND_BARBUDA\",\"Antigua and Barbuda\",\"Antigua-et-Barbuda\",\"Antigua und Barbuda\",\"Antigua y Barbuda\",\"Antigua e Barbuda\",\"Antigua en Barbuda\",\"Antigua og Barbuda\",\"Antigua ve Barbuda\",\"アンティグア・バーブーダ\",\"앤티가 바부다\",\"Антигуа и Барбуда\",\"أنتيغوا وبربودا\",\"Antígua e Barbuda\",\"安提瓜和巴布达\",\"安地卡及巴布達\",\"آنتیگوا و باربودا\",\"Antigua dan Barbuda\",\"Antigua dan Barbuda\"\n\"TID_ARGENTINA\",\"Argentina\",\"Argentine\",\"Argentinien\",\"Argentina\",\"Argentina\",\"Argentinië\",\"Argentina\",\"Arjantin\",\"アルゼンチン\",\"아르헨티나\",\"Аргентина\",\"الأرجنتين\",\"Argentina\",\"阿根廷\",\"阿根廷\",\"آرژانتین\",\"Argentina\",\"Argentina\"\n\"TID_ARMENIA\",\"Armenia\",\"Arménie\",\"Armenien\",\"Armenia\",\"Armenia\",\"Armenië\",\"Armenia\",\"Ermenistan\",\"アルメニア\",\"아르메니아\",\"Армения\",\"أرمينيا\",\"Armênia\",\"亚美尼亚\",\"亞美尼亞\",\"ارمنستان\",\"Armenia\",\"Armenia\"\n\"TID_ARUBA\",\"Aruba\",\"Aruba\",\"Aruba\",\"Aruba\",\"Aruba\",\"Aruba\",\"Aruba\",\"Aruba\",\"アルバ\",\"아루바\",\"Аруба\",\"آروبا\",\"Aruba\",\"阿鲁巴岛\",\"阿魯巴\",\"آروبا\",\"Aruba\",\"Aruba\"\n\"TID_ASCENSION_ISLAND\",\"Ascension Island\",\"Île de l'Ascension\",\"Ascension\",\"Isla Ascensión\",\"Isola Ascensione\",\"Ascension\",\"Ascension\",\"Ascension Adası\",\"アセンション諸島\",\"어센션 섬\",\"Остров Вознесения\",\"جزيرة أسنسيون\",\"Ilha de Ascensão\",\"阿森松岛\",\"阿森松島\",\"جزیره اسنشن\",\"Pulau Ascension\",\"Pulau Ascension\"\n\"TID_AUSTRIA\",\"Austria\",\"Autriche\",\"Österreich\",\"Austria\",\"Austria\",\"Oostenrijk\",\"Østerrike\",\"Avusturya\",\"オーストリア\",\"오스트리아\",\"Австрия\",\"النمسا\",\"Áustria\",\"奥地利\",\"奧地利\",\"اتریش\",\"Austria\",\"Austria\"\n\"TID_AZERBAIJAN\",\"Azerbaijan\",\"Azerbaïdjan\",\"Aserbaidschan\",\"Azerbaiyán\",\"Azerbaigian\",\"Azerbeidzjan\",\"Aserbajdsjan\",\"Azerbaycan\",\"アゼルバイジャン\",\"아제르바이잔\",\"Азербайджан\",\"أزربيجان\",\"Azerbaijão\",\"阿塞拜疆\",\"亞塞拜然\",\"آذربایجان\",\"Azerbaijan\",\"Azerbaijan\"\n\"TID_BAHAMAS\",\"Bahamas\",\"Bahamas\",\"Bahamas\",\"Bahamas\",\"Bahamas\",\"Bahama's\",\"Bahamas\",\"Bahamalar\",\"バハマ\",\"바하마\",\"Багамы\",\"جزر البهاما\",\"Bahamas\",\"巴哈马群岛\",\"巴哈馬\",\"باهاماس\",\"Bahama\",\"Bahamas\"\n\"TID_BAHRAIN\",\"Bahrain\",\"Bahreïn\",\"Bahrain\",\"Baréin\",\"Bahrain\",\"Bahrein\",\"Bahrain\",\"Bahreyn\",\"バーレーン\",\"바레인\",\"Бахрейн\",\"البحرين\",\"Bahrein\",\"巴林岛\",\"巴林\",\"بحرین\",\"Bahrain\",\"Bahrain\"\n\"TID_BANGLADESH\",\"Bangladesh\",\"Bangladesh\",\"Bangladesch\",\"Bangladés\",\"Bangladesh\",\"Bangladesh\",\"Bangladesh\",\"Bangladeş\",\"バングラデシュ\",\"방글라데시\",\"Бангладеш\",\"بنغلاديش\",\"Bangladesh\",\"孟加拉国\",\"孟加拉\",\"بنگلادش\",\"Bangladesh\",\"Bangladesh\"\n\"TID_BARBADOS\",\"Barbados\",\"Barbade\",\"Barbados\",\"Barbados\",\"Barbados\",\"Barbados\",\"Barbados\",\"Barbados\",\"バルバドス\",\"바베이도스\",\"Барбадос\",\"بربادوس\",\"Barbados\",\"巴巴多斯\",\"巴貝多\",\"بارباداس\",\"Barbados\",\"Barbados\"\n\"TID_BELARUS\",\"Belarus\",\"Biélorussie\",\"Weißrußland\",\"Bielorrusia\",\"Bielorussia\",\"Belarus\",\"Hviterussland\",\"Beyaz Rusya\",\"ベラルーシ\",\"벨라루스\",\"Белоруссия\",\"روسيا البيضاء\",\"Bielorrússia\",\"白俄罗斯\",\"白俄羅斯\",\"بلاروس\",\"Belarus\",\"Belarus\"\n\"TID_BELGIUM\",\"Belgium\",\"Belgique\",\"Belgien\",\"Bélgica\",\"Belgio\",\"België\",\"Belgia\",\"Belçika\",\"ベルギー\",\"벨기에\",\"Бельгия\",\"بلجيكا\",\"Bélgica\",\"比利时\",\"比利時\",\"بلژیک\",\"Belgia\",\"Belgium\"\n\"TID_BELIZE\",\"Belize\",\"Belize\",\"Belize\",\"Belice\",\"Belize\",\"Belize\",\"Belize\",\"Belize\",\"ベリーズ\",\"벨리즈\",\"Белиз\",\"بليز\",\"Belize\",\"伯利兹\",\"貝里斯\",\"بلیز\",\"Belize\",\"Belize\"\n\"TID_BENIN\",\"Benin\",\"Bénin\",\"Benin\",\"Benín\",\"Benin\",\"Benin\",\"Benin\",\"Benin\",\"ベニン\",\"베냉\",\"Бенин\",\"بنين\",\"Benin\",\"贝宁\",\"貝南\",\"بنین\",\"Benin\",\"Benin\"\n\"TID_BERMUDA\",\"Bermuda\",\"Bermudes\",\"Bermuda\",\"Bermudas\",\"Bermuda\",\"Bermuda\",\"Bermuda\",\"Bermuda\",\"バミューダ\",\"버뮤다\",\"Бермуды\",\"برمودا\",\"Bermudas\",\"百慕大群岛\",\"百慕達\",\"برمودا\",\"Bermuda\",\"Bermuda\"\n\"TID_BHUTAN\",\"Bhutan\",\"Bhoutan\",\"Bhutan\",\"Bután\",\"Bhutan\",\"Bhutan\",\"Bhutan\",\"Butan\",\"ブータン\",\"부탄\",\"Бутан\",\"بوتان\",\"Butão\",\"不丹\",\"不丹\",\"بوتان\",\"Bhutan\",\"Bhutan\"\n\"TID_BOLIVIA\",\"Bolivia\",\"Bolivie\",\"Bolivien\",\"Bolivia\",\"Bolivia\",\"Bolivia\",\"Bolivia\",\"Bolivya\",\"ボリビア\",\"볼리비아\",\"Боливия\",\"بوليفيا\",\"Bolívia\",\"玻利维亚\",\"玻利維亞\",\"بولیوی\",\"Bolivia\",\"Bolivia\"\n\"TID_BOSNIA_AND_HERZEGOVINA\",\"Bosnia and Herzegovina\",\"Bosnie-Herzégovine\",\"Bosnien und Herzegovina\",\"Bosnia-Herzegovina\",\"Bosnia-Erzegovina\",\"Bosnië en Herzegovina\",\"Bosnia-Hercegovina\",\"Bosna Hersek\",\"ボスニア・ヘルツェゴビナ\",\"보스니아 헤르체고비나\",\"Босния и Герцеговина\",\"البوسنة والهرسك\",\"Bósnia-Herzegovina\",\"波斯尼亚和黑塞哥维那\",\"波士尼亞與赫塞哥維納\",\"بوسنی و هرزگوین\",\"Bosnia dan Herzegovina\",\"Bosnia dan Herzegovina\"\n\"TID_BOTSWANA\",\"Botswana\",\"Botswana\",\"Botswana\",\"Botsuana\",\"Botswana\",\"Botswana\",\"Botswana\",\"Botsvana\",\"ボツワナ\",\"보츠와나\",\"Ботсвана\",\"بوتسوانا\",\"Botsuana\",\"博茨瓦纳\",\"波札那\",\"بوتسوانا\",\"Botswana\",\"Botswana\"\n\"TID_BOUVET_ISLAND\",\"Bouvet Island\",\"Île Bouvet\",\"Bouvetinsel\",\"Isla Bouvet\",\"Isola Bouvet\",\"Bouveteiland\",\"Bouvetøya\",\"Bouvet Adası\",\"ブーベ島\",\"부베 섬\",\"Остров Буве\",\"جزيرة بوفيت\",\"Ilha Bouvet\",\"布维岛\",\"布威島\",\"جزیره بووت\",\"Pulau Bouvet\",\"Pulau Bouvet\"\n\"TID_BRAZIL\",\"Brazil\",\"Brésil\",\"Brasilien\",\"Brasil\",\"Brasile\",\"Brazilië\",\"Brasil\",\"Brezilya\",\"ブラジル\",\"브라질\",\"Бразилия\",\"البرازيل\",\"Brasil\",\"巴西\",\"巴西\",\"برزیل\",\"Brasil\",\"Brazil\"\n\"TID_BRITISH_INDIAN_OCEAN_TERRITORY\",\"British Indian Ocean Territory\",\"Territoire britannique de l'océan Indien\",\"Britisches Territorium im Indischen Ozean\",\"Territorio Británico del Océano Índico\",\"Territorio Brit. dell'Oceano Indiano\",\"Brits Indische Oceaanterritorium\",\"Det britiske territoriet i Indiahavet\",\"İngiliz Hint Okyanusu Bölgesi\",\"イギリス領インド洋地域\",\"영국령 인도양 식민지\",\"Брит. Тер. в Индийском Океане\",\"إقليم المحيط الهندي البريطاني\",\"Território Britânico do Oceano Índico\",\"英属印度洋领地\",\"英屬印度洋領地\",\"قلمرو بریتانیا در اقیانوس هند\",\"Wilayah Samudra Hindia Britania\",\"Wilayah Lautan Hindi British\"\n\"TID_BRITISH_VIRGIN_ISLANDS\",\"British Virgin Islands\",\"Îles Vierges britanniques\",\"Britische Jungferninseln\",\"Islas Vírgenes Británicas\",\"Isole Vergini Britanniche\",\"Britse Maagdeneilanden\",\"De britiske jomfruøyene\",\"İngiliz Virgin Adaları\",\"イギリス領ヴァージン諸島\",\"영국령 버진 아일랜드\",\"Виргинские Острова\",\"جزر فيرجن البريطانية\",\"Ilhas Virgens Britânicas\",\"英属维尔京群岛\",\"英屬維京群島\",\"جزایر ویرجین بریتانیا\",\"Kepulauan Virgin Inggris\",\"Kepulauan Virgin British\"\n\"TID_BRUNEI\",\"Brunei\",\"Brunei\",\"Brunei\",\"Brunéi\",\"Brunei\",\"Brunei\",\"Brunei\",\"Brunei\",\"ブルネイ\",\"브루나이\",\"Бруней\",\"بروناي\",\"Brunei\",\"文莱\",\"汶萊\",\"برونی\",\"Brunei\",\"Brunei\"\n\"TID_BULGARIA\",\"Bulgaria\",\"Bulgarie\",\"Bulgarien\",\"Bulgaria\",\"Bulgaria\",\"Bulgarije\",\"Bulgaria\",\"Bulgaristan\",\"ブルガリア\",\"불가리아\",\"Болгария\",\"بلغاريا\",\"Bulgária\",\"保加利亚\",\"保加利亞\",\"بلغارستان\",\"Bulgaria\",\"Bulgaria\"\n\"TID_BURKINA_FASO\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"Burkina Faso\",\"ブルキナファソ\",\"부르키나 파소\",\"Буркина-Фасо\",\"بوركينا فاسو\",\"Burkina Faso\",\"布基纳法索\",\"布吉納法索\",\"بورکینافاسو\",\"Burkina Faso\",\"Burkina Faso\"\n\"TID_BURUNDI\",\"Burundi\",\"Burundi\",\"Burundi\",\"Burundi\",\"Burundi\",\"Burundi\",\"Burundi\",\"Burundi\",\"ブルンジ\",\"부룬디\",\"Бурунди\",\"بوروندي\",\"Burundi\",\"布隆迪\",\"蒲隆地\",\"بروندی\",\"Burundi\",\"Burundi\"\n\"TID_CAMBODIA\",\"Cambodia\",\"Cambodge\",\"Kambodscha\",\"Camboya\",\"Cambogia\",\"Cambodja\",\"Kambodsja\",\"Kamboçya\",\"カンボジア\",\"캄보디아\",\"Камбоджа\",\"كمبوديا\",\"Camboja\",\"柬埔寨\",\"柬埔寨\",\"کامبوج\",\"Kamboja\",\"Kemboja\"\n\"TID_CAMEROON\",\"Cameroon\",\"Cameroun\",\"Kamerun\",\"Camerún\",\"Camerun\",\"Kameroen\",\"Kamerun\",\"Kamerun\",\"カメルーン\",\"카메룬\",\"Камерун\",\"الكاميرون\",\"Camarões\",\"喀麦隆\",\"喀麥隆\",\"کامرون\",\"Kamerun\",\"Cameroon\"\n\"TID_CANADA\",\"Canada\",\"Canada\",\"Kanada\",\"Canadá\",\"Canada\",\"Canada\",\"Canada\",\"Kanada\",\"カナダ\",\"캐나다\",\"Канада\",\"كندا\",\"Canadá\",\"加拿大\",\"加拿大\",\"کانادا\",\"Kanada\",\"Kanada\"\n\"TID_CANARY_ISLANDS\",\"Canary Islands\",\"Îles Canaries\",\"Kanarische Inseln\",\"Islas Canarias\",\"Isole Canarie\",\"Canarische Eilanden\",\"Kanariøyene\",\"Kanarya Adaları\",\"カナリア諸島\",\"카나리 제도\",\"Канарские острова\",\"جزر الكناري\",\"Ilhas Canárias\",\"加那利群岛\",\"加那利群島\",\"جزایر قناری\",\"Kepulauan Canaria\",\"Kepulauan Canary\"\n\"TID_CAPE_VERDE\",\"Cape Verde\",\"Cap-Vert\",\"Kap Verde\",\"Cabo Verde\",\"Capo Verde\",\"Kaapverdië\",\"Kapp Verde\",\"Cape Verde\",\"カーボベルデ\",\"카보베르데\",\"Кабо-Верде\",\"الرأس الأخضر\",\"Cabo Verde\",\"佛得角\",\"維德角\",\"کیپ ورد\",\"Tanjung Verde\",\"Tanjung Verde\"\n\"TID_CARIBBEAN_NETHERLANDS\",\"Caribbean Netherlands\",\"Pays-Bas caribéens\",\"Karibische Niederlande\",\"Caribe Neerlandés\",\"Caraibi Olandesi\",\"Caribisch Nederland\",\"Karibisk Nederland\",\"Karayip Hollandası\",\"オランダ領ＢＥＳ諸島\",\"네덜란드령 카리브\",\"Бонэйр, Синт-Эстатиус и Саба\",\"منطقة البحر الكاريبي الهولندية\",\"Holanda Caribenha\",\"荷兰加勒比区\",\"荷蘭加勒比區\",\"جزایر کارائیب هلند\",\"Karibia Belanda\",\"Belanda Caribbean\"\n\"TID_CAYMAN_ISLANDS\",\"Cayman Islands\",\"Îles Caïmans\",\"Kaimaninseln\",\"Islas Caimán\",\"Isole Cayman\",\"Kaaimaneilanden\",\"Caymanøyene\",\"Cayman Adaları\",\"ケイマン諸島\",\"케이맨 제도\",\"Острова Кайман\",\"جزر كايمان\",\"Ilhas Cayman\",\"开曼群岛\",\"開曼群島\",\"جزایر کیمن\",\"Kepulauan Cayman\",\"Kepulauan Cayman\"\n\"TID_CENTRAL_AFRICAN_REPUBLIC\",\"Central African Republic\",\"République centrafricaine\",\"Zentralafrikanische Republik\",\"República Centroafricana\",\"Repubblica Centrafricana\",\"Centraal-Afrikaanse Republiek\",\"Den sentralafrikanske republikk\",\"Orta Afrika Cumhuriyeti\",\"中央アフリカ共和国\",\"중앙아프리카 공화국\",\"Центральноафриканская Республика\",\"جمهورية أفريقيا الوسطى\",\"República Centro-Africana\",\"中非共和国\",\"中非共和國\",\"جمهوری آفریقای مرکزی\",\"Republik Afrika Tengah\",\"Republik Afrika Tengah\"\n\"TID_CEUTA_AND_MELILLA\",\"Ceuta and Melilla\",\"Ceuta et Melilla\",\"Ceuta und Melilla\",\"Ceuta y Melilla\",\"Ceuta e Melilla\",\"Ceuta en Melilla\",\"Ceuta og Melilla\",\"Ceuta ve Melilla\",\"セウタおよびメリリャ\",\"세우타 메릴라\",\"Сеута и Мелилья\",\"سبتة ومليلة\",\"Ceuta e Melilla\",\"休达和梅利利亚\",\"修達及梅利利亞\",\"سیته و ملیله\",\"Ceuta dan Melilla\",\"Ceuta dan Melilla\"\n\"TID_CHAD\",\"Chad\",\"Tchad\",\"Tschad\",\"Chad\",\"Ciad\",\"Tsjaad\",\"Tsjad\",\"Çad\",\"チャド\",\"차드\",\"Чад\",\"تشاد\",\"Chade\",\"乍得\",\"查德\",\"چاد\",\"Cad\",\"Chad\"\n\"TID_CHILE\",\"Chile\",\"Chili\",\"Chile\",\"Chile\",\"Cile\",\"Chili\",\"Chile\",\"Şili\",\"チリ\",\"칠레\",\"Чили\",\"تشيلي\",\"Chile\",\"智利\",\"智利\",\"شیلی\",\"Cile\",\"Chile\"\n\"TID_CHINA\",\"China\",\"Chine\",\"China\",\"China\",\"Cina\",\"China\",\"Kina\",\"Çin\",\"中国\",\"중국\",\"Китай\",\"الصين\",\"China\",\"中国\",\"中國\",\"چین\",\"Tiongkok\",\"China\"\n\"TID_CHRISTMAS_ISLAND\",\"Christmas Island\",\"Île Christmas\",\"Weihnachtsinsel\",\"Isla de Navidad\",\"Isola Christmas\",\"Christmaseiland\",\"Christmasøya\",\"Christmas Adası\",\"クリスマス島\",\"크리스마스 섬\",\"Остров Рождества\",\"جزيرة كريسماس\",\"Ilha Christmas\",\"圣诞岛\",\"聖誕島\",\"جزیره کریسمس\",\"Pulau Natal\",\"Pulau Krismas\"\n\"TID_COCOS_KEELING_ISLANDS\",\"Cocos (Keeling) Islands\",\"Îles Cocos\",\"Kokosinseln (Keeling)\",\"Islas Cocos\",\"Isole Cocos (Keeling)\",\"Cocoseilanden\",\"Kokosøyene\",\"Cocos (Keeling) Adaları\",\"ココス（キーリング）諸島\",\"코코스 제도\",\"Кокосовые острова (Килинг)\",\"جزر كوكوس (كيلينغ)\",\"Ilhas Cocos (Keeling)\",\"科科斯（基林）群岛\",\"科科斯（基林）群島\",\"جزایر کوکوس (کیلینگ)\",\"Kepulauan Cocos (Keeling)\",\"Kepulauan Cocos (Keeling)\"\n\"TID_COLOMBIA\",\"Colombia\",\"Colombie\",\"Kolumbien\",\"Colombia\",\"Colombia\",\"Colombia\",\"Colombia\",\"Kolombiya\",\"コロンビア\",\"콜롬비아\",\"Колумбия\",\"كولومبيا\",\"Colômbia\",\"哥伦比亚\",\"哥倫比亞\",\"کلمبیا\",\"Kolombia\",\"Colombia\"\n\"TID_COMOROS\",\"Comoros\",\"Comores\",\"Komoren\",\"Comoras\",\"Comore\",\"Comoren\",\"Komorene\",\"Komor Adaları\",\"コモロ\",\"코모로\",\"Коморы\",\"جزر القمر\",\"Ilhas Comores\",\"科摩罗\",\"葛摩\",\"کومور\",\"Komoro\",\"Comoros\"\n\"TID_CONGO_DRC\",\"Congo (DRC)\",\"Congo (RDC)\",\"Demokratische Republik Kongo\",\"Rep. Dem. del Congo\",\"Repubblica Democratica del Congo\",\"Congo-Kinshasa\",\"Den demokratiske republikken Kongo\",\"Kongo (DRC)\",\"コンゴ民主共和国\",\"콩고 민주공화국\",\"Конго (ДРК)\",\"الكونغو (جمهورية الكونغو الديموقراطية)\",\"Congo (DRC)\",\"刚果民主共和国\",\"剛果民主共和國\",\"کنگو (جمهوری دموکرات)\",\"Kongo (DRC)\",\"Congo (DRC)\"\n\"TID_CONGO_REPUBLIC\",\"Congo (Republic)\",\"République du Congo\",\"Republik Kongo\",\"República del Congo\",\"Repubblica del Congo\",\"Congo-Brazzaville\",\"Republikken Kongo\",\"Kongo (Cumhuriyet)\",\"コンゴ共和国\",\"콩고\",\"Конго (Республика)\",\"الكونغو (جمهورية)\",\"Congo (República)\",\"刚果共和国\",\"剛果共和國\",\"کنگو (جمهوری)\",\"Kongo (Republik)\",\"Congo (Republik)\"\n\"TID_COOK_ISLANDS\",\"Cook Islands\",\"Îles Cook\",\"Cookinseln\",\"Islas Cook\",\"Isole Cook\",\"Cookeilanden\",\"Cookøyene\",\"Cook Adaları\",\"クック諸島\",\"쿡 제도\",\"Острова Кука\",\"جزر كوك\",\"Ilhas Cook\",\"库克群岛\",\"庫克群島\",\"جزایر کوک\",\"Kepulauan Cook\",\"Kepulauan Cook\"\n\"TID_COSTA_RICA\",\"Costa Rica\",\"Costa Rica\",\"Costa Rica\",\"Costa Rica\",\"Costa Rica\",\"Costa Rica\",\"Costa Rica\",\"Kosta Rika\",\"コスタリカ\",\"코스타리카\",\"Коста-Рика\",\"كوستاريكا\",\"Costa Rica\",\"哥斯达黎加\",\"哥斯大黎加\",\"کاستاریکا\",\"Kosta Rika\",\"Costa Rica\"\n\"TID_COTE_DIVOIRE\",\"Côte d´Ivoire\",\"Côte d'Ivoire\",\"Elfenbeinküste\",\"Costa de Marfil\",\"Costa d'Avorio\",\"Ivoorkust\",\"Elfenbenskysten\",\"Fildişi Sahili\",\"コートジボワール\",\"코트디부아르\",\"Кот-д´Ивуар\",\"كوت ديفوار\",\"Costa do Marfim\",\"科特迪瓦\",\"象牙海岸\",\"ساحل عاج\",\"Côte d´Ivoire\",\"Côte d´Ivoire\"\n\"TID_CROATIA\",\"Croatia\",\"Croatie\",\"Kroatien\",\"Croacia\",\"Croazia\",\"Kroatië\",\"Kroatia\",\"Hırvatistan\",\"クロアチア\",\"크로아티아\",\"Хорватия\",\"كرواتيا\",\"Croácia\",\"克罗地亚\",\"克羅埃西亞\",\"کرواسی\",\"Kroasia\",\"Croatia\"\n\"TID_CUBA\",\"Cuba\",\"Cuba\",\"Kuba\",\"Cuba\",\"Cuba\",\"Cuba\",\"Cuba\",\"Küba\",\"キューバ\",\"쿠바\",\"Куба\",\"كوبا\",\"Cuba\",\"古巴\",\"古巴\",\"کوبا\",\"Kuba\",\"Cuba\"\n\"TID_CURACAO\",\"Curaçao\",\"Curaçao\",\"Curaçao\",\"Curazao\",\"Curaçao\",\"Curaçao\",\"Curaçao\",\"Curaçao\",\"キュラソー島\",\"쿠라사우\",\"Кюрасао\",\"كورراساو\",\"Curaçao\",\"库拉索岛\",\"古拉索\",\"کوراسائو\",\"Curaçao\",\"Curaçao\"\n\"TID_CYPRUS\",\"Cyprus\",\"Chypre\",\"Zypern\",\"Chipre\",\"Cipro\",\"Cyprus\",\"Kypros\",\"Kıbrıs\",\"キプロス\",\"키프로스\",\"Кипр\",\"قبرص\",\"Chipre\",\"塞浦路斯\",\"賽普勒斯\",\"قبرس\",\"Siprus\",\"Cyprus\"\n\"TID_CZECH_REPUBLIC\",\"Czech Republic\",\"République tchèque\",\"Tschechische Republik\",\"República Checa\",\"Repubblica Ceca\",\"Tsjechië\",\"Tsjekkia\",\"Çek Cumhuriyeti\",\"チェコ共和国\",\"체코 공화국\",\"Чехия\",\"جمهورية التشيك\",\"República Tcheca\",\"捷克共和国\",\"捷克共和國\",\"جمهوری چک\",\"Republik Ceko\",\"Republik Czech\"\n\"TID_DENMARK\",\"Denmark\",\"Danemark\",\"Dänemark\",\"Dinamarca\",\"Danimarca\",\"Denemarken\",\"Danmark\",\"Danimarka\",\"デンマーク\",\"덴마크\",\"Дания\",\"الدنمارك\",\"Dinamarca\",\"丹麦\",\"丹麥\",\"دانمارک\",\"Denmark\",\"Denmark\"\n\"TID_DIEGO_GARCIA\",\"Diego Garcia\",\"Diego Garcia\",\"Diego Garcia\",\"Diego García\",\"Diego Garcia\",\"Diego Garcia\",\"Diego Garcia\",\"Diego Garcia\",\"ディエゴガルシア島\",\"디에고가르시아\",\"Диего-Гарсия\",\"دييغو غارسيا\",\"Diego Garcia\",\"迪戈加西亚岛\",\"迪戈加西亞島\",\"دیگو گارسیا\",\"Diego Garcia\",\"Diego Garcia\"\n\"TID_DJIBOUTI\",\"Djibouti\",\"Djibouti\",\"Dschibuti\",\"Yibuti\",\"Gibuti\",\"Djibouti\",\"Djibouti\",\"Cibuti\",\"ジブチ\",\"지부티\",\"Джибути\",\"جيبوتي\",\"Djibuti\",\"吉布提\",\"吉布地\",\"جیبوتی\",\"Jibuti\",\"Djibouti\"\n\"TID_DOMINICA\",\"Dominica\",\"Dominique\",\"Dominica\",\"Dominica\",\"Dominica\",\"Dominica\",\"Dominica\",\"Dominika\",\"ドミニカ国\",\"도미니카\",\"Доминика\",\"دومينيكا\",\"Dominica\",\"多米尼加\",\"多米尼克\",\"دومینیکا\",\"Dominika\",\"Dominika\"\n\"TID_DOMINICAN_REPUBLIC\",\"Dominican Republic\",\"République dominicaine\",\"Dominikanische Republik\",\"República Dominicana\",\"Repubblica Dominicana\",\"Dominicaanse Republiek\",\"Den dominikanske republikk\",\"Dominik Cumhuriyeti\",\"ドミニカ共和国\",\"도미니카 공화국\",\"Доминиканская Республика\",\"جمهورية الدومنيكان\",\"República Dominicana\",\"多米尼加共和国\",\"多明尼加\",\"جمهوری دومینیکا\",\"Republik Dominika\",\"Republik Dominika\"\n\"TID_ECUADOR\",\"Ecuador\",\"Équateur\",\"Ecuador\",\"Ecuador\",\"Ecuador\",\"Ecuador\",\"Ecuador\",\"Ekvador\",\"エクアドル\",\"에콰도르\",\"Эквадор\",\"الإكوادور\",\"Equador\",\"厄瓜多尔\",\"厄瓜多\",\"اکوادور\",\"Ekuador\",\"Ecuador\"\n\"TID_EGYPT\",\"Egypt\",\"Égypte\",\"Ägypten\",\"Egipto\",\"Egitto\",\"Egypte\",\"Egypt\",\"Mısır\",\"エジプト\",\"이집트\",\"Египет\",\"مصر\",\"Egito\",\"埃及\",\"埃及\",\"مصر\",\"Mesir\",\"Mesir\"\n\"TID_EL_SALVADOR\",\"El Salvador\",\"Salvador\",\"El Salvador\",\"El Salvador\",\"El Salvador\",\"El Salvador\",\"El Salvador\",\"El Salvador\",\"エルサルバドル\",\"엘살바도르\",\"Сальвадор\",\"السلفادور\",\"El Salvador\",\"萨尔瓦多\",\"薩爾瓦多\",\"السالوادور\",\"El Salvador\",\"El Salvador\"\n\"TID_EQUATORIAL_GUINEA\",\"Equatorial Guinea\",\"Guinée équatoriale\",\"Äquatorialguinea\",\"Guinea Ecuatorial\",\"Guinea Equatoriale\",\"Equatoriaal-Guinea\",\"Ekvatorial-Guinea\",\"Ekvator Ginesi\",\"赤道ギニア\",\"적도 기니\",\"Экваториальная Гвинея\",\"غينيا الاستوائية\",\"Guiné Equatorial\",\"赤道几内亚\",\"赤道幾內亞\",\"گینه استوایی\",\"Guinea Katulistiwa\",\"Guinea Khatulistiwa\"\n\"TID_ERITREA\",\"Eritrea\",\"Érythrée\",\"Eritrea\",\"Eritrea\",\"Eritrea\",\"Eritrea\",\"Eritrea\",\"Eritre\",\"エリトリア\",\"에리트레아\",\"Эритрея\",\"إريتيريا\",\"Eritreia\",\"厄立特里亚国\",\"厄利垂亞\",\"اریتره\",\"Eritrea\",\"Eritrea\"\n\"TID_ESTONIA\",\"Estonia\",\"Estonie\",\"Estland\",\"Estonia\",\"Estonia\",\"Estland\",\"Estland\",\"Estonya\",\"エストニア\",\"에스토니아\",\"Эстония\",\"إستونيا\",\"Estônia\",\"爱沙尼亚\",\"愛沙尼亞\",\"استونی\",\"Estonia\",\"Estonia\"\n\"TID_ETHIOPIA\",\"Ethiopia\",\"Éthiopie\",\"Äthiopien\",\"Etiopía\",\"Etiopia\",\"Ethiopië\",\"Etiopia\",\"Etiyopya\",\"エチオピア\",\"에티오피아\",\"Эфиопия\",\"إثيوبيا\",\"Etiópia\",\"埃塞俄比亚\",\"衣索比亞\",\"اتیوپی\",\"Etiopia\",\"Habsyah\"\n\"TID_FALKLAND_ISLANDS\",\"Falkland Islands\",\"Îles Malouines\",\"Falklandinseln\",\"Islas Malvinas\",\"Isole Falkland\",\"Falklandeilanden\",\"Falklandsøyene\",\"Falkland Adaları\",\"フォークランド諸島\",\"포클랜드 제도\",\"Фолклендские острова\",\"جزر فوكلاند\",\"Ilhas Falkland\",\"福克兰群岛\",\"福克蘭群島\",\"جزایر فالکلند\",\"Kepulauan Falkland\",\"Kepulauan Falkland\"\n\"TID_FAROE_ISLANDS\",\"Faroe Islands\",\"Îles Féroé\",\"Färöer-Inseln\",\"Islas Feroe\",\"Isole Faroe\",\"Faeröer\",\"Færøyene\",\"Faroe Adaları\",\"フェロー諸島\",\"페로 제도\",\"Фарерские острова\",\"جزر فارو\",\"Ilhas Faroé\",\"法罗群岛\",\"法羅群島\",\"جزایر فارو\",\"Kepulauan Faroe\",\"Kepulauan Faroe\"\n\"TID_FIJI\",\"Fiji\",\"Fidji\",\"Fidschi\",\"Fiyi\",\"Fiji\",\"Fiji\",\"Fiji\",\"Fiji\",\"フィジー\",\"피지\",\"Фуджи\",\"فيجي\",\"Fiji\",\"斐济\",\"斐濟\",\"فیجی\",\"Fiji\",\"Fiji\"\n\"TID_FINLAND\",\"Finland\",\"Finlande\",\"Finnland\",\"Finlandia\",\"Finlandia\",\"Finland\",\"Finland\",\"Finlandiya\",\"フィンランド\",\"핀란드\",\"Финляндия\",\"فنلندا\",\"Finlândia\",\"芬兰\",\"芬蘭\",\"فنلاند\",\"Finlandia\",\"Finland\"\n\"TID_FRANCE\",\"France\",\"France\",\"Frankreich\",\"Francia\",\"Francia\",\"Frankrijk\",\"Frankrike\",\"Fransa\",\"フランス\",\"프랑스\",\"Франция\",\"فرنسا\",\"França\",\"法国\",\"法國\",\"فرانسه\",\"Prancis\",\"Perancis\"\n\"TID_FRENCH_GUIANA\",\"French Guiana\",\"Guyane\",\"Französisch-Guayana\",\"Guayana Francesa\",\"Guyana Francese\",\"Frans-Guyana\",\"Fransk Guyana\",\"Fransa Ginesi\",\"フランス領ギニア\",\"프랑스령 기아나\",\"Французская Гвиана\",\"غيانا الفرنسية\",\"Guiana Francesa\",\"法属圭亚那\",\"法屬圭亞那\",\"گویان فرانسوی\",\"Guyana Prancis\",\"Guiana Perancis\"\n\"TID_FRENCH_POLYNESIA\",\"French Polynesia\",\"Polynésie française\",\"Französisch-Polynesien\",\"Polinesia Francesa\",\"Polinesia Francese\",\"Frans-Polynesië\",\"Fransk Polynesia\",\"Fransa Polinezyası\",\"フランス領ポリネシア\",\"프랑스령 폴리네시아\",\"Французская Полинезия\",\"بولينيزيا الفرنسية\",\"Polinésia Francesa\",\"法属玻里尼西亚\",\"法屬玻里尼西亞\",\"پلینزی فرانسوی\",\"Polinesia Prancis\",\"Polinesia Perancis\"\n\"TID_FRENCH_SOUTHERN_TERRITORIES\",\"French Southern Territories\",\"Terres australes et antarctiques françaises\",\"Französische Süd- und Antarktisgebiete\",\"Tierras Australes y Antárticas Francesas\",\"Terre Australi e Antartiche Francesi\",\"Franse Zuidelijke Gebieden\",\"De franske sørterritorier\",\"Fransa'nın Güney Bölgeleri\",\"フランス領南方・南極地域\",\"프랑스령 남부 영역\",\"Французские Южные территории\",\"الأقاليم الجنوبية الفرنسية\",\"Territórios Franceses do Sul\",\"法属南半球领地\",\"法屬南部和南極領地\",\"سرزمین‌های جنوبی فرانسه\",\"Wilayan Selatan Prancis\",\"Wilayah Perancis Selatan\"\n\"TID_GABON\",\"Gabon\",\"Gabon\",\"Gabun\",\"Gabón\",\"Gabon\",\"Gabon\",\"Gabon\",\"Gabon\",\"ガボン\",\"가봉\",\"Габон\",\"الغابون\",\"Gabão\",\"加蓬\",\"加彭\",\"گابن\",\"Gabon\",\"Gabon\"\n\"TID_GAMBIA\",\"Gambia\",\"Gambie\",\"Gambia\",\"Gambia\",\"Gambia\",\"Gambia\",\"Gambia\",\"Gambiya\",\"ガンビア\",\"감비아\",\"Гамбия\",\"غامبيا\",\"Gâmbia\",\"冈比亚\",\"甘比亞\",\"گامبیا\",\"Gambia\",\"Gambia\"\n\"TID_GEORGIA\",\"Georgia\",\"Géorgie\",\"Georgien\",\"Georgia\",\"Georgia\",\"Georgië\",\"Georgia\",\"Gürcistan\",\"グルジア\",\"조지아\",\"Грузия\",\"جورجيا\",\"Georgia\",\"格鲁吉亚\",\"喬治亞\",\"گرجستان\",\"Georgia\",\"Georgia\"\n\"TID_GERMANY\",\"Germany\",\"Allemagne\",\"Deutschland\",\"Alemania\",\"Germania\",\"Duitsland\",\"Tyskland\",\"Almanya\",\"ドイツ\",\"독일\",\"Германия\",\"ألمانيا\",\"Alemanha\",\"德国\",\"德國\",\"آلمان\",\"Jerman\",\"Jerman\"\n\"TID_GHANA\",\"Ghana\",\"Ghana\",\"Ghana\",\"Ghana\",\"Ghana\",\"Ghana\",\"Ghana\",\"Gana\",\"ガーナ\",\"가나\",\"Гана\",\"غانا\",\"Gana\",\"加纳\",\"迦納\",\"غنا\",\"Ghana\",\"Ghana\"\n\"TID_GIBRALTAR\",\"Gibraltar\",\"Gibraltar\",\"Gibraltar\",\"Gibraltar\",\"Gibilterra\",\"Gibraltar\",\"Gibraltar\",\"Cebelitarık\",\"ジブラルタル\",\"지브롤터\",\"Гибралтар\",\"جبل طارق\",\"Gibraltar\",\"直布罗陀\",\"直布羅陀\",\"جبل‌الطارق\",\"Gibraltar\",\"Gibraltar\"\n\"TID_GREECE\",\"Greece\",\"Grèce\",\"Griechenland\",\"Grecia\",\"Grecia\",\"Griekenland\",\"Hellas\",\"Yunanistan\",\"ギリシャ\",\"그리스\",\"Греция\",\"اليونان\",\"Grécia\",\"希腊\",\"希臘\",\"یونان\",\"Yunani\",\"Greece\"\n\"TID_GREENLAND\",\"Greenland\",\"Groenland\",\"Grönland\",\"Groenlandia\",\"Groenlandia\",\"Groenland\",\"Grønland\",\"Grönland\",\"グリーンランド\",\"그린란드\",\"Гринландия\",\"غرينلاند\",\"Groenlândia\",\"格陵兰\",\"格陵蘭\",\"گرینلند\",\"Greenland\",\"Greenland\"\n\"TID_GRENADA\",\"Grenada\",\"Grenade\",\"Grenada\",\"Granada\",\"Grenada\",\"Grenada\",\"Grenada\",\"Grenada\",\"グレナダ\",\"그레나다\",\"Гренада\",\"غرينادا\",\"Granada\",\"格林纳达\",\"格瑞那達\",\"گرانادا\",\"Grenada\",\"Grenada\"\n\"TID_GUADELOUPE\",\"Guadeloupe\",\"Guadeloupe\",\"Guadeloupe\",\"Guadalupe\",\"Guadalupa\",\"Guadeloupe\",\"Guadeloupe\",\"Guadölup\",\"グアドループ\",\"과들루프\",\"Гваделупа\",\"غوادلوب\",\"Guadalupe\",\"瓜德罗普岛\",\"瓜德羅普\",\"جزیره گوادلوپ\",\"Guadeloupe\",\"Guadeloupe\"\n\"TID_GUAM\",\"Guam\",\"Guam\",\"Guam\",\"Guam\",\"Guam\",\"Guam\",\"Guam\",\"Guam\",\"グアム\",\"괌\",\"Гуам\",\"غوام\",\"Guam\",\"关岛\",\"關島\",\"گوام\",\"Guam\",\"Guam\"\n\"TID_GUATEMALA\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"Guatemala\",\"グアテマラ\",\"과테말라\",\"Гватемала\",\"غواتيمالا\",\"Guatemala\",\"危地马拉\",\"瓜地馬拉\",\"گواتمالا\",\"Guatemala\",\"Guatemala\"\n\"TID_GUERNSEY\",\"Guernsey\",\"Guernesey\",\"Guernsey\",\"Guernsey\",\"Guernsey\",\"Guernsey\",\"Guernsey\",\"Guernsay\",\"ガーンジー\",\"건지\",\"Гернси\",\"غيرنسي\",\"Guernsey\",\"根西岛\",\"根西\",\"گرنزی\",\"Guernsey\",\"Guernsey\"\n\"TID_GUINEA\",\"Guinea\",\"Guinée\",\"Guinea\",\"Guinea\",\"Guinea\",\"Guinee\",\"Guinea\",\"Gine\",\"ギニア\",\"기니\",\"Гвинея\",\"غينيا\",\"Guiné Equatorial\",\"几内亚\",\"幾內亞\",\"گینه\",\"Guinea\",\"Guinea\"\n\"TID_GUINEA-BISSAU\",\"Guinea-Bissau\",\"Guinée-Bissau\",\"Guinea-Bissau\",\"Guinea-Bisáu\",\"Guinea-Bissau\",\"Guinee-Bissau\",\"Guinea-Bissau\",\"Gine-Bissau\",\"ギニアビサウ\",\"기니비사우\",\"Гвинея-Бисау\",\"غينيا بيساو\",\"Guiné-Bissau\",\"几内亚比绍\",\"幾內亞比索\",\"گینه بیسائو\",\"Guinea-Bissau\",\"Guinea-Bissau\"\n\"TID_GUYANA\",\"Guyana\",\"Guyane\",\"Guyana\",\"Guyana\",\"Guyana\",\"Guyana\",\"Guyana\",\"Guyana\",\"ガイアナ\",\"가이아나\",\"Гайана\",\"غيانا\",\"Guiana\",\"圭亚那\",\"蓋亞那\",\"گویان\",\"Guyana\",\"Guyana\"\n\"TID_HAITI\",\"Haiti\",\"Haïti\",\"Haiti\",\"Haití\",\"Haiti\",\"Haïti\",\"Haiti\",\"Haiti\",\"ハイチ\",\"아이티\",\"Гаити\",\"هايتي\",\"Haiti\",\"海地\",\"海地\",\"هائیتی\",\"Haiti\",\"Haiti\"\n\"TID_HEARD_MCDONALD_ISLANDS\",\"Heard & McDonald Islands\",\"Îles Heard-et-MacDonald\",\"Heard und McDonald-Inseln\",\"Islas Heard y McDonald\",\"Isole Heard e McDonald\",\"Heard en McDonaldeilanden\",\"Heard- og McDonaldøyene\",\"Heard & McDonald Adaları\",\"ハード島とマクドナルド諸島\",\"허드와 맥도널드 제도\",\"Остров Херд и острова Макдональд\",\"جزر هيرد ومكدونالد\",\"Ilhas Heard e McDonald\",\"赫德和麦克唐纳群岛\",\"赫德島和麥克唐納群島\",\"جزیره هرد و جزایر مک‌دونالد\",\"Kepulauan Heard & McDonald\",\"Kepulauan Heard & McDonald\"\n\"TID_HONDURAS\",\"Honduras\",\"Honduras\",\"Honduras\",\"Honduras\",\"Honduras\",\"Honduras\",\"Honduras\",\"Honduras\",\"ホンジュラス\",\"온두라스\",\"Гондурас\",\"هندوراس\",\"Honduras\",\"洪都拉斯\",\"宏都拉斯\",\"هندوراس\",\"Honduras\",\"Honduras\"\n\"TID_HONG_KONG\",\"Hong Kong\",\"Hong Kong\",\"Hongkong\",\"Hong Kong\",\"Hong Kong\",\"Hongkong\",\"Hong Kong\",\"Hong Kong\",\"香港\",\"홍콩\",\"Гонконг\",\"هونغ كونغ\",\"Hong Kong\",\"香港\",\"香港\",\"هنگ‌کنگ\",\"Hong Kong\",\"Hong Kong\"\n\"TID_HUNGARY\",\"Hungary\",\"Hongrie\",\"Ungarn\",\"Hungría\",\"Ungheria\",\"Hongarije\",\"Ungarn\",\"Macaristan\",\"ハンガリー\",\"헝가리\",\"Венгрия\",\"المجر\",\"Hungria\",\"匈牙利\",\"匈牙利\",\"مجارستان\",\"Hungaria\",\"Hungary\"\n\"TID_ICELAND\",\"Iceland\",\"Islande\",\"Island\",\"Islandia\",\"Islanda\",\"IJsland\",\"Island\",\"İzlanda\",\"アイスランド\",\"아이슬란드\",\"Исландия\",\"آيسلندا\",\"Islândia\",\"冰岛\",\"冰島\",\"ایسلند\",\"Islandia\",\"Iceland\"\n\"TID_INDIA\",\"India\",\"Inde\",\"Indien\",\"India\",\"India\",\"India\",\"India\",\"Hindistan\",\"インド\",\"인도\",\"Индия\",\"الهند\",\"Índia\",\"印度\",\"印度\",\"هند\",\"India\",\"India\"\n\"TID_INDONESIA\",\"Indonesia\",\"Indonésie\",\"Indonesien\",\"Indonesia\",\"Indonesia\",\"Indonesië\",\"Indonesia\",\"Endonezya\",\"インドネシア\",\"인도네시아\",\"Индонезия\",\"إندونيسيا\",\"Indonésia\",\"印度尼西亚\",\"印尼\",\"اندونزی\",\"Indonesia\",\"Indonesia\"\n\"TID_IRAN\",\"Iran\",\"Iran\",\"Iran\",\"Irán\",\"Iran\",\"Iran\",\"Iran\",\"İran\",\"イラン\",\"이란\",\"Иран\",\"إيران\",\"Irã\",\"伊朗\",\"伊朗\",\"ایران\",\"Iran\",\"Iran\"\n\"TID_IRAQ\",\"Iraq\",\"Iraq\",\"Irak\",\"Irak\",\"Iraq\",\"Irak\",\"Irak\",\"Irak\",\"イラク\",\"이라크\",\"Ирак\",\"العراق\",\"Iraque\",\"伊拉克\",\"伊拉克\",\"عراق\",\"Irak\",\"Iraq\"\n\"TID_IRELAND\",\"Ireland\",\"Irlande\",\"Irland\",\"Irlanda\",\"Irlanda\",\"Ierland\",\"Irland\",\"İrlanda\",\"アイルランド\",\"아일랜드\",\"Ирландия\",\"آيرلندا\",\"Irlanda\",\"爱尔兰\",\"愛爾蘭\",\"ایرلند\",\"Irlandia\",\"Ireland\"\n\"TID_ISLE_OF_MAN\",\"Isle of Man\",\"Île de Man\",\"Isle of Man\",\"Isla de Man\",\"Isola di Man\",\"Het eiland Man\",\"Man\",\"Man Adası\",\"マン島\",\"맨섬\",\"Остров Мэн\",\"جزيرة مان\",\"Ilha de Man\",\"英国属地曼岛\",\"曼島\",\"جزیره من\",\"Pulau Man\",\"Isle of Man\"\n\"TID_ISRAEL\",\"Israel\",\"Israël\",\"Israel\",\"Israel\",\"Israele\",\"Israël\",\"Israel\",\"İsrail\",\"イスラエル\",\"이스라엘\",\"Израиль\",\"إسرائيل\",\"Israel\",\"以色列\",\"以色列\",\"اسرائیل\",\"Israel\",\"Israel\"\n\"TID_ITALY\",\"Italy\",\"Italie\",\"Italien\",\"Italia\",\"Italia\",\"Italië\",\"Italia\",\"İtalya\",\"イタリア\",\"이탈리아\",\"Италия\",\"إيطاليا\",\"Itália\",\"意大利\",\"義大利\",\"ایتالیا\",\"Italia\",\"Itali\"\n\"TID_JAMAICA\",\"Jamaica\",\"Jamaïque\",\"Jamaika\",\"Jamaica\",\"Giamaica\",\"Jamaica\",\"Jamaica\",\"Jamaika\",\"ジャマイカ\",\"자메이카\",\"Ямайка\",\"جامايكا\",\"Jamaica\",\"牙买加\",\"牙買加\",\"جامائیکا\",\"Jamaika\",\"Jamaica\"\n\"TID_JAPAN\",\"Japan\",\"Japon\",\"Japan\",\"Japón\",\"Giappone\",\"Japan\",\"Japan\",\"Japonya\",\"日本\",\"일본\",\"Япония\",\"اليابان\",\"Japão!\",\"日本\",\"日本\",\"ژاپن\",\"Jepang\",\"Jepun\"\n\"TID_JERSEY\",\"Jersey\",\"Jersey\",\"Jersey\",\"Jersey\",\"Jersey\",\"Jersey\",\"Jersey\",\"Jersey\",\"ジャージー\",\"저지\",\"Джерси\",\"جيرسي\",\"Jersey\",\"泽西岛\",\"澤西\",\"جرسی\",\"Jersey\",\"Jersey\"\n\"TID_JORDAN\",\"Jordan\",\"Jordanie\",\"Jordanien\",\"Jordania\",\"Jordan\",\"Jordanië\",\"Jordan\",\"Ürdün\",\"ヨルダン\",\"요르단\",\"Иордания\",\"الأردن\",\"Jordânia\",\"约旦\",\"約旦\",\"اردن\",\"Yordania\",\"Jordan\"\n\"TID_KAZAKHSTAN\",\"Kazakhstan\",\"Kazakhstan\",\"Kasachstan\",\"Kazajistán\",\"Kazakistan\",\"Kazachstan\",\"Kasakhstan\",\"Kazakistan\",\"カザフスタン\",\"카자흐스탄\",\"Казахстан\",\"كازخستان\",\"Cazaquistão\",\"哈萨克斯坦\",\"哈薩克\",\"قزاقستان\",\"Kazakhstan\",\"Kazakhstan\"\n\"TID_KENYA\",\"Kenya\",\"Kenya\",\"Kenia\",\"Kenia\",\"Kenya\",\"Kenia\",\"Kenya\",\"Kenya\",\"ケニア\",\"케냐\",\"Кения\",\"كينيا\",\"Quênia\",\"肯尼亚\",\"肯亞\",\"کنیا\",\"Kenya\",\"Kenya\"\n\"TID_KIRIBATI\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"Kiribati\",\"キリバス\",\"키리바시\",\"Кирибати\",\"كيريباس\",\"Kiribati\",\"基里巴斯\",\"吉里巴斯\",\"کیریباتی\",\"Kiribati\",\"Kiribati\"\n\"TID_KOSOVO\",\"Kosovo\",\"Kosovo\",\"Kosovo\",\"Kosovo\",\"Kosovo\",\"Kosovo\",\"Kosovo\",\"Kosova\",\"コソヴォ\",\"코소보\",\"Косово\",\"كوسوفو\",\"Kosovo\",\"科索沃\",\"科索沃\",\"کوزوو\",\"Kosovo\",\"Kosovo\"\n\"TID_KUWAIT\",\"Kuwait\",\"Koweït\",\"Kuwait\",\"Kuwait\",\"Kuwait\",\"Koeweit\",\"Kuwait\",\"Kuveyt\",\"クウェート\",\"쿠웨이트\",\"Кувейт\",\"الكويت\",\"Kuwait\",\"科威特\",\"科威特\",\"کویت\",\"Kuwait\",\"Kuwait\"\n\"TID_KYRGYZSTAN\",\"Kyrgyzstan\",\"Kirghizstan\",\"Kirgisistan\",\"Kirguistán\",\"Kirghizistan\",\"Kirgizië\",\"Kirgisistan\",\"Kırgızistan\",\"キルギスタン\",\"키르기스스탄\",\"Киргизия\",\"قيرغيزستان\",\"Quirguistão\",\"吉尔吉斯斯坦\",\"吉爾吉斯\",\"قرقیزستان\",\"Kirgistan\",\"Kyrgyzstan\"\n\"TID_LAOS\",\"Laos\",\"Laos\",\"Laos\",\"Laos\",\"Laos\",\"Laos\",\"Laos\",\"Laos\",\"ラオス\",\"라오스\",\"Лаос\",\"لاوس\",\"Laos\",\"老挝\",\"寮國\",\"لائوس\",\"Laos\",\"Laos\"\n\"TID_LATVIA\",\"Latvia\",\"Lettonie\",\"Lettland\",\"Letonia\",\"Lettonia\",\"Letland\",\"Latvia\",\"Letonya\",\"ラトビア\",\"라트비아\",\"Латвия\",\"لاتفيا\",\"Letônia\",\"拉脱维亚\",\"拉脫維亞\",\"لتونی\",\"Latvia\",\"Latvia\"\n\"TID_LEBANON\",\"Lebanon\",\"Liban\",\"Libanon\",\"Líbano\",\"Libano\",\"Libanon\",\"Libanon\",\"Lübnan\",\"レバノン\",\"레바논\",\"Ливан\",\"لبنان\",\"Líbano\",\"黎巴嫩\",\"黎巴嫩\",\"لبنان\",\"Lebanon\",\"Lubnan\"\n\"TID_LESOTHO\",\"Lesotho\",\"Lesotho\",\"Lesotho\",\"Lesoto\",\"Lesotho\",\"Lesotho\",\"Lesotho\",\"Lesoto\",\"レソト\",\"레소토\",\"Лесото\",\"ليسوتو\",\"Lesoto\",\"莱索托\",\"賴索托\",\"لسوتو\",\"Lesotho\",\"Lesotho\"\n\"TID_LIBERIA\",\"Liberia\",\"Liberia\",\"Liberia\",\"Liberia\",\"Liberia\",\"Liberia\",\"Liberia\",\"Liberya\",\"リベリア\",\"라이베리아\",\"Либерия\",\"ليبريا\",\"Libéria\",\"利比里亚\",\"賴比瑞亞\",\"لیبریا\",\"Liberia\",\"Liberia\"\n\"TID_LIBYA\",\"Libya\",\"Libye\",\"Libyen\",\"Libia\",\"Libia\",\"Libië\",\"Libya\",\"Libya\",\"リビア\",\"리비아\",\"Ливия\",\"ليبيا\",\"Líbia\",\"利比亚\",\"利比亞\",\"لیبی\",\"Libia\",\"Libya\"\n\"TID_LIECHTENSTEIN\",\"Liechtenstein\",\"Liechtenstein\",\"Liechtenstein\",\"Liechtenstein\",\"Liechtenstein\",\"Liechtenstein\",\"Liechtenstein\",\"Lihtenştayn\",\"リヒテンシュタイン\",\"리히텐슈타인\",\"Лихтенштейн\",\"ليشتنشتاين\",\"Liechtenstein\",\"列支敦士登\",\"列支敦斯登\",\"لیختن اشتاین\",\"Liechtenstein\",\"Liechtenstein\"\n\"TID_LITHUANIA\",\"Lithuania\",\"Lituanie\",\"Litauen\",\"Lituania\",\"Lituania\",\"Litouwen\",\"Litauen\",\"Litvanya\",\"リトアニア\",\"리투아니아\",\"Литва\",\"ليتوانيا\",\"Lituânia\",\"立陶宛\",\"立陶宛\",\"لیتوانی\",\"Lithuania\",\"Lithuania\"\n\"TID_LUXEMBOURG\",\"Luxembourg\",\"Luxembourg\",\"Luxemburg\",\"Luxemburgo\",\"Lussemburgo\",\"Luxemburg\",\"Luxembourg\",\"Lüksemburg\",\"ルクセンブルク\",\"룩셈부르크\",\"Люксембург\",\"لوكسمبورغ\",\"Luxemburgo\",\"卢森堡\",\"盧森堡\",\"لوکزامبورگ\",\"Luksemburg\",\"Luxembourg\"\n\"TID_MACAU\",\"Macau\",\"Macao\",\"Macau\",\"Macao\",\"Macao\",\"Macau\",\"Macao\",\"Makao\",\"マカオ\",\"마카오\",\"Макао\",\"ماكاو\",\"Macau\",\"澳门\",\"澳門\",\"ماکائو\",\"Makau\",\"Macau\"\n\"TID_MACEDONIA_FYROM\",\"Macedonia (FYROM)\",\"Macédoine\",\"Mazedonien (EJRM)\",\"Macedonia (ARYM)\",\"Repubblica di Macedonia\",\"Macedonië\",\"Makedonia\",\"Makedonya (MEYC)\",\"マケドニア共和国\",\"마케도니아\",\"Республика Македония\",\"مقدونيا (جمهورية مقدونيا اليوغوسلافية السابقة)\",\"Macedônia (FYROM)\",\"马其顿 (FYROM)\",\"馬其頓共和國\",\"مقدونیه (جمهوری سابق یوگوسلاویایی مقدونیه)\",\"Makedonia (FYROM)\",\"Macedonia (FYROM)\"\n\"TID_MADAGASCAR\",\"Madagascar\",\"Madagascar\",\"Madagaskar\",\"Madagascar\",\"Madagascar\",\"Madagaskar\",\"Madagaskar\",\"Madagaskar\",\"マダガスカル\",\"마다가스카\",\"Мадагаскар\",\"مدغشقر\",\"Madagascar\",\"马达加斯加\",\"馬達加斯加\",\"ماداگاسکار\",\"Madagaskar\",\"Madagaskar\"\n\"TID_MALAWI\",\"Malawi\",\"Malawi\",\"Malawi\",\"Malaui\",\"Malawi\",\"Malawi\",\"Malawi\",\"Malavi\",\"マラウィ\",\"말라위\",\"Малави\",\"ملاوي\",\"Malauí\",\"马拉维\",\"馬拉威\",\"مالاوی\",\"Malawi\",\"Malawi\"\n\"TID_MALAYSIA\",\"Malaysia\",\"Malaisie\",\"Malaysia\",\"Malasia\",\"Malesia\",\"Maleisië\",\"Malaysia\",\"Malezya\",\"マレーシア\",\"말레이시아\",\"Малайзия\",\"ماليزيا\",\"Malásia\",\"马来西亚\",\"馬來西亞\",\"مالزی\",\"Malaysia\",\"Malaysia\"\n\"TID_MALDIVES\",\"Maldives\",\"Maldives\",\"Malediven\",\"Maldivas\",\"Maldive\",\"Malediven\",\"Maldivene\",\"Maldivler\",\"モルジブ\",\"몰디브\",\"Мальдивы\",\"جزر المالديف\",\"Maldivas\",\"马尔代夫\",\"馬爾地夫\",\"مالدیو\",\"Maladewa\",\"Maldives\"\n\"TID_MALI\",\"Mali\",\"Mali\",\"Mali\",\"Mali\",\"Mali\",\"Mali\",\"Mali\",\"Mali\",\"マリ\",\"말리\",\"Мали\",\"مالي\",\"Mali\",\"马里\",\"馬利共和國\",\"مالی\",\"Mali\",\"Mali\"\n\"TID_MALTA\",\"Malta\",\"Malte\",\"Malta\",\"Malta\",\"Malta\",\"Malta\",\"Malta\",\"Malta\",\"マルタ\",\"말타\",\"Мальта\",\"مالطا\",\"Malta\",\"马尔他\",\"馬爾他\",\"مالت\",\"Malta\",\"Malta\"\n\"TID_MARSHALL_ISLANDS\",\"Marshall Islands\",\"Îles Marshall\",\"Marshallinseln\",\"Islas Marshall\",\"Isole Marshall\",\"Marshalleilanden\",\"Marshalløyene\",\"Marshall Adaları\",\"マーシャル諸島\",\"마셜 제도\",\"Маршалловы Острова\",\"جزر مارشال\",\"Ilhas Marshall\",\"马绍尔群岛\",\"馬紹爾群島\",\"جزایر مارشال\",\"Kepulauan Marshall\",\"Kepulauan Marshall\"\n\"TID_MARTINIQUE\",\"Martinique\",\"Martinique\",\"Martinique\",\"Martinica\",\"Martinica\",\"Martinique\",\"Martinique\",\"Martinik\",\"マルティニーク\",\"마르티니크\",\"Мартиника\",\"مارتينيك\",\"Martinica\",\"马提尼克\",\"馬丁尼克\",\"مارتینیک\",\"Martinik\",\"Martinique\"\n\"TID_MAURITANIA\",\"Mauritania\",\"Mauritanie\",\"Mauretanien\",\"Mauritania\",\"Mauritania\",\"Mauritanië\",\"Mauritania\",\"Moritanya\",\"モーリタニア\",\"모리타니아\",\"Мавритания\",\"موريتانيا\",\"Mauritânia\",\"毛里塔尼亚\",\"茅利塔尼亞\",\"موریتانی\",\"Mauritania\",\"Mauritania\"\n\"TID_MAURITIUS\",\"Mauritius\",\"Maurice\",\"Mauritius\",\"Mauricio\",\"Mauritius\",\"Mauritius\",\"Mauritius\",\"Morityus\",\"モーリシャス\",\"모리셔스\",\"Маврикий\",\"موريشيوس\",\"Ilhas Maurício\",\"毛里求斯\",\"毛里求斯\",\"موریس\",\"Mauritius\",\"Mauritius\"\n\"TID_MAYOTTE\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"Mayotte\",\"マヨット\",\"마요트\",\"Майотта\",\"مايوت\",\"Ilha Mayotte\",\"马约特岛\",\"馬約特\",\"مایوت\",\"Mayotte\",\"Mayotte\"\n\"TID_MEXICO\",\"Mexico\",\"Mexique\",\"Mexiko\",\"México\",\"Messico\",\"Mexico\",\"Mexico\",\"Meksika\",\"メキシコ\",\"멕시코\",\"Мексика\",\"المكسيك\",\"México\",\"墨西哥\",\"墨西哥\",\"مکزیک\",\"Meksiko\",\"Mexico\"\n\"TID_MICRONESIA\",\"Micronesia\",\"Micronésie\",\"Mikronesien\",\"Micronesia\",\"Micronesia\",\"Micronesië\",\"Mikronesia\",\"Mikronezya\",\"ミクロネシア\",\"미크로네시아\",\"Микронезия\",\"ميكرونيزيا\",\"Micronésia\",\"密克罗尼西亚\",\"密克羅尼西亞群島\",\"میکرونزی\",\"Mikronesia\",\"Mikronesia\"\n\"TID_MOLDOVA\",\"Moldova\",\"Moldavie\",\"Moldau\",\"Moldavia\",\"Moldavia\",\"Moldavië\",\"Moldova\",\"Moldova\",\"モルドバ\",\"몰도바\",\"Молдавия\",\"مولدوفا\",\"Moldávia\",\"摩尔多瓦\",\"摩爾多瓦\",\"مولدووا\",\"Moldova\",\"Moldova\"\n\"TID_MONACO\",\"Monaco\",\"Monaco\",\"Monaco\",\"Mónaco\",\"Principato di Monaco\",\"Monaco\",\"Monaco\",\"Monako\",\"モナコ\",\"모나코\",\"Монако\",\"موناكو\",\"Mônaco\",\"摩纳哥\",\"摩納哥\",\"موناکو\",\"Monako\",\"Monaco\"\n\"TID_MONGOLIA\",\"Mongolia\",\"Mongolie\",\"Mongolei\",\"Mongolia\",\"Mongolia\",\"Mongolië\",\"Mongolia\",\"Moğolistan\",\"モンゴル\",\"몽골\",\"Монголия\",\"منغوليا\",\"Mongólia\",\"蒙古\",\"蒙古國\",\"مغولستان\",\"Mongolia\",\"Mongolia\"\n\"TID_MONTENEGRO\",\"Montenegro\",\"Monténégro\",\"Montenegro\",\"Montenegro\",\"Montenegro\",\"Montenegro\",\"Montenegro\",\"Karadağ\",\"モンテネグロ\",\"몬테네그로\",\"Монтенегро\",\"الجبل الأسود\",\"Montenegro\",\"黑山共和国\",\"蒙特尼格羅\",\"مونته‌نگرو\",\"Montenegro\",\"Montenegro\"\n\"TID_MONTSERRAT\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"Montserrat\",\"モントセラト\",\"몬트세라트섬\",\"Монсеррат\",\"مونتسيرات\",\"Montserrat\",\"蒙特色拉特岛\",\"蒙特塞拉特\",\"مونتسرات\",\"Montserrat\",\"Montserrat\"\n\"TID_MOROCCO\",\"Morocco\",\"Maroc\",\"Marokko\",\"Marruecos\",\"Marocco\",\"Marokko\",\"Marokko\",\"Fas\",\"モロッコ\",\"모로코\",\"Морокко\",\"المغرب\",\"Marrocos\",\"摩洛哥\",\"摩洛哥\",\"مراکش\",\"Maroko\",\"Maghribi\"\n\"TID_MOZAMBIQUE\",\"Mozambique\",\"Mozambique\",\"Mosambik\",\"Mozambique\",\"Mozambico\",\"Mozambique\",\"Mosambik\",\"Mozambik\",\"モザンビーク\",\"모잠비크\",\"Мозамбик\",\"موزمبيق\",\"Moçambique\",\"莫桑比克\",\"莫三比克\",\"موزامبیک\",\"Mozambik\",\"Mozambique\"\n\"TID_MYANMAR_BURMA\",\"Myanmar (Burma)\",\"Myanmar (Birmanie)\",\"Myanmar (Burma)\",\"Birmania\",\"Birmania\",\"Myanmar (Birma)\",\"Myanmar (Burma)\",\"Myanmar (Burma)\",\"ミャンマー\",\"미얀마(버마)\",\"Мьянма\",\"ميانمار (بورما)\",\"Mianmar (Birmânia)\",\"缅甸\",\"緬甸\",\"میانمار (برمه)\",\"Myanmar (Burma)\",\"Myanmar (Burma)\"\n\"TID_NAMIBIA\",\"Namibia\",\"Namibie\",\"Namibia\",\"Namibia\",\"Namibia\",\"Namibië\",\"Namibia\",\"Namibya\",\"ナミビア\",\"나미비아\",\"Намибия\",\"ناميبيا\",\"Namíbia\",\"纳米比亚\",\"納米比亞\",\"نامیبیا\",\"Namibia\",\"Namibia\"\n\"TID_NAURU\",\"Nauru\",\"Nauru\",\"Nauru\",\"Nauru\",\"Nauru\",\"Nauru\",\"Nauru\",\"Nauru\",\"ナウル\",\"나우루\",\"Науру\",\"ناورو\",\"Nauru\",\"瑙鲁\",\"諾魯\",\"نائورو\",\"Nauru\",\"Nauru\"\n\"TID_NEPAL\",\"Nepal\",\"Népal\",\"Nepal\",\"Nepal\",\"Nepal\",\"Nepal\",\"Nepal\",\"Nepal\",\"ネパール\",\"네팔\",\"Непал\",\"نيبال\",\"Nepal\",\"尼泊尔\",\"尼泊爾\",\"نپال\",\"Nepal\",\"Nepal\"\n\"TID_NETHERLANDS\",\"Netherlands\",\"Pays-Bas\",\"Niederlande\",\"Países Bajos\",\"Paesi Bassi\",\"Nederland\",\"Nederland\",\"Hollanda\",\"オランダ\",\"네덜란드\",\"Нидерланды\",\"هولندا\",\"Holanda\",\"荷兰\",\"荷蘭\",\"هلند\",\"Belanda\",\"Belanda\"\n\"TID_NEW_CALEDONIA\",\"New Caledonia\",\"Nouvelle-Calédonie\",\"Neukaledonien\",\"Nueva Caledonia\",\"Nuova Caledonia\",\"Nieuw-Caledonië\",\"Ny-Caledonia\",\"Yeni Kaledonya\",\"ニューカレドニア\",\"뉴칼레도니아\",\"Новая Каледония\",\"كاليدونيا الجديدة\",\"Nova Caledônia\",\"新喀里多尼亚\",\"新喀里多尼亞\",\"کالدونیای جدید\",\"Kaledonia Baru\",\"New Caledonia\"\n\"TID_NEW_ZEALAND\",\"New Zealand\",\"Nouvelle-Zélande\",\"Neuseeland\",\"Nueva Zelanda\",\"Nuova Zelanda\",\"Nieuw-Zeeland\",\"New Zealand\",\"Yeni Zelanda\",\"ニュージーランド\",\"뉴질랜드\",\"Новая Зеландия\",\"نيوزيلندا\",\"Nova Zelândia\",\"新西兰\",\"紐西蘭\",\"نیوزیلند\",\"Selandia Baru\",\"New Zealand\"\n\"TID_NICARAGUA\",\"Nicaragua\",\"Nicaragua\",\"Nicaragua\",\"Nicaragua\",\"Nicaragua\",\"Nicaragua\",\"Nicaragua\",\"Nikaragua\",\"ニカラグア\",\"니카라과\",\"Никарагуа\",\"نيكاراغوا\",\"Nicarágua\",\"尼加拉瓜\",\"尼加拉瓜\",\"نیکاراگوئه\",\"Nikaragua\",\"Nicaragua\"\n\"TID_NIGER\",\"Niger\",\"Niger\",\"Niger\",\"Níger\",\"Niger\",\"Niger\",\"Niger\",\"Nijer\",\"ニジェール\",\"니제르\",\"Нигер\",\"النيجر\",\"Níger\",\"尼日尔\",\"尼日\",\"نیجر\",\"Niger\",\"Niger\"\n\"TID_NIGERIA\",\"Nigeria\",\"Nigeria\",\"Nigeria\",\"Nigeria\",\"Nigeria\",\"Nigeria\",\"Nigeria\",\"Nijerya\",\"ナイジェリア\",\"나이지리아\",\"Нигерия\",\"نيجيريا\",\"Nigéria\",\"尼日利亚\",\"奈及利亞\",\"نیجریه\",\"Nigeria\",\"Nigeria\"\n\"TID_NIUE\",\"Niue\",\"Niue\",\"Niue\",\"Niue\",\"Niue\",\"Niue\",\"Niue\",\"Niue\",\"ニウエ\",\"니우에\",\"Ниуэ\",\"نيوي\",\"Niue\",\"纽埃\",\"紐埃\",\"نیوئه\",\"Niue\",\"Niue\"\n\"TID_NORFOLK_ISLAND\",\"Norfolk Island\",\"Île Norfolk\",\"Norfolkinsel\",\"Isla Norfolk\",\"Isola Norfolk\",\"Norfolk\",\"Norfolkøya\",\"Norfolk Adası\",\"ノーフォーク島\",\"노폭 섬\",\"Норфолк\",\"جزيرة نورفولك\",\"Ilha Norfolk\",\"诺福克岛\",\"諾福克島\",\"جزیره نورفولک\",\"Pulau Norfolk\",\"Pulau Norfolk\"\n\"TID_NORTH_KOREA\",\"North Korea\",\"Corée du Nord\",\"Nordkorea\",\"Corea del Norte\",\"Corea del Nord\",\"Noord-Korea\",\"Nord-Korea\",\"Kuzey Kore\",\"北朝鮮\",\"북한\",\"Северная Корея\",\"كوريا الشمالية\",\"Coreia do Norte\",\"朝鲜\",\"北韓\",\"کره شمالی\",\"Korea Utara\",\"Korea Utara\"\n\"TID_NORTHERN_MARIANA_ISLANDS\",\"Northern Mariana Islands\",\"Îles Mariannes du Nord\",\"Nördliche Marianen\",\"Islas Marianas del Norte\",\"Isole Marianne Settentrionali\",\"Noordelijke Marianen\",\"Nord-Marianene\",\"Kuzey Mariana Adaları\",\"北マリアナ諸島\",\"북 마리아나 제도\",\"Северные Марианские острова\",\"جزر مريانا الشمالية\",\"Ilhas Marianas do Norte\",\"北马里亚纳群岛\",\"北馬里亞納群島\",\"جزایر ماریانای شمالی\",\"Kepulauan Mariana Utara\",\"Kepulauan Mariana Utara\"\n\"TID_NORWAY\",\"Norway\",\"Norvège\",\"Norwegen\",\"Noruega\",\"Norvegia\",\"Noorwegen\",\"Norge\",\"Norveç\",\"ノルウェー\",\"노르웨이\",\"Норвегия\",\"النرويج\",\"Noruega\",\"挪威\",\"挪威\",\"نروژ\",\"Norwegia\",\"Norway\"\n\"TID_OMAN\",\"Oman\",\"Oman\",\"Oman\",\"Omán\",\"Oman\",\"Oman\",\"Oman\",\"Umman\",\"オマーン\",\"오만\",\"Оман\",\"عمان\",\"Omã\",\"阿曼\",\"阿曼\",\"عمان\",\"Oman\",\"Oman\"\n\"TID_PAKISTAN\",\"Pakistan\",\"Pakistan\",\"Pakistan\",\"Pakistán\",\"Pakistan\",\"Pakistan\",\"Pakistan\",\"Pakistan\",\"パキスタン\",\"파키스탄\",\"Пакистан\",\"باكستان\",\"Paquistão\",\"巴基斯坦\",\"巴基斯坦\",\"پاکستان\",\"Pakistan\",\"Pakistan\"\n\"TID_PALAU\",\"Palau\",\"Palaos\",\"Palau\",\"Palaos\",\"Palau\",\"Palau\",\"Palau\",\"Palau\",\"パラオ\",\"팔라우\",\"Палау\",\"بالاو\",\"Palau\",\"帕劳\",\"帛琉\",\"پالائو\",\"Palau\",\"Palau\"\n\"TID_PALESTINE\",\"Palestine\",\"Palestine\",\"Palästina\",\"Palestina\",\"Palestina\",\"Palestina\",\"Palestina\",\"Filistin\",\"パレスチナ\",\"팔레스타인\",\"Палестина\",\"فلسطين\",\"Palestina\",\"巴勒斯坦\",\"巴勒斯坦\",\"فلسطین\",\"Palestina\",\"Palestin\"\n\"TID_PANAMA\",\"Panama\",\"Panama\",\"Panama\",\"Panamá\",\"Panama\",\"Panama\",\"Panama\",\"Panama\",\"パナマ\",\"파나마\",\"Панама\",\"بنما\",\"Panamá\",\"巴拿马\",\"巴拿馬\",\"پاناما\",\"Panama\",\"Panama\"\n\"TID_PAPUA_NEW_GUINEA\",\"Papua New Guinea\",\"Papouasie-Nouvelle-Guinée\",\"Papua-Neuguinea\",\"Papúa Nueva Guinea\",\"Papua Nuova Guinea\",\"Papoea-Nieuw-Guinea\",\"Papua Ny-Guinea\",\"Papua Yeni Gine\",\"パプアニューギニア\",\"파푸아 뉴 기니\",\"Папуа — Новая Гвинея\",\"بابوا غينيا الجديدة\",\"Papua-Nova Guiné\",\"巴布亚新几内亚\",\"巴布亞紐幾內亞\",\"پاپوآ گینه نو\",\"Papua Nugini\",\"Papua New Guinea\"\n\"TID_PARAGUAY\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"Paraguay\",\"パラグアイ\",\"파라과이\",\"Парагвай\",\"بارغواي\",\"Paraguai\",\"巴拉圭\",\"巴拉圭\",\"پاراگوئه\",\"Paraguay\",\"Paraguay\"\n\"TID_PERU\",\"Peru\",\"Pérou\",\"Peru\",\"Perú\",\"Perù\",\"Peru\",\"Peru\",\"Peru\",\"ペルー\",\"페루\",\"Перу\",\"بيرو\",\"Peru\",\"秘鲁\",\"秘魯\",\"پرو\",\"Peru\",\"Peru\"\n\"TID_PHILIPPINES\",\"Philippines\",\"Philippines\",\"Philippinen\",\"Filipinas\",\"Filippine\",\"Filipijnen\",\"Filippinene\",\"Filipinler\",\"フィリピン\",\"필리핀\",\"Филиппины\",\"الفلبين\",\"Filipinas\",\"菲律宾\",\"菲律賓\",\"فیلیپین\",\"Filipina\",\"Filipina\"\n\"TID_PITCAIRN_ISLANDS\",\"Pitcairn Islands\",\"Îles Pitcairn\",\"Pitcairninseln\",\"Islas Pitcairn\",\"Isole Pitcairn\",\"Pitcairneilanden\",\"Pitcairnøyene\",\"Pitcairn Adaları\",\"ピトケアン諸島\",\"핏케언섬\",\"Острова Питкэрн\",\"جزر بيتكيرن\",\"Ilhas Pitcairn\",\"皮特凯恩群岛\",\"皮特凱恩群島\",\"جزایر پیت‌کرن\",\"Kepulauan Pitcairn\",\"Kepulauan Pitcairn\"\n\"TID_POLAND\",\"Poland\",\"Pologne\",\"Polen\",\"Polonia\",\"Polonia\",\"Polen\",\"Polen\",\"Polonya\",\"ポーランド\",\"폴란드\",\"Польша\",\"بولندا\",\"Polônia\",\"波兰\",\"波蘭\",\"لهستان\",\"Polandia\",\"Poland\"\n\"TID_PORTUGAL\",\"Portugal\",\"Portugal\",\"Portugal\",\"Portugal\",\"Portogallo\",\"Portugal\",\"Portugal\",\"Portekiz\",\"ポルトガル\",\"포르투갈\",\"Португалия\",\"البرتغال\",\"Portugal\",\"葡萄牙\",\"葡萄牙\",\"پرتغال\",\"Portugal\",\"Portugal\"\n\"TID_PUERTO_RICO\",\"Puerto Rico\",\"Porto Rico\",\"Puerto Rico\",\"Puerto Rico\",\"Portorico\",\"Puerto Rico\",\"Puerto Rico\",\"Porto Riko\",\"プエルトリコ\",\"푸에르토 리코\",\"Пуэрто-Рико\",\"بورتو ريكو\",\"Porto Rico\",\"波多黎各\",\"波多黎各\",\"پورتوریکو\",\"Puerto Riko\",\"Puerto Rico\"\n\"TID_QATAR\",\"Qatar\",\"Qatar\",\"Katar\",\"Catar\",\"Qatar\",\"Qatar\",\"Qatar\",\"Katar\",\"カタール\",\"카타르\",\"Катар\",\"قطر\",\"Catar\",\"卡塔尔\",\"卡達\",\"قطر\",\"Qatar\",\"Qatar\"\n\"TID_REUNION\",\"Réunion\",\"La Réunion\",\"Réunion\",\"Reunión\",\"Riunione\",\"Réunion\",\"Réunion\",\"Toplanma\",\"レユニオン\",\"레위니옹\",\"Реюньон\",\"لم الشمل\",\"Ilha Reunião\",\"留尼旺\",\"留尼旺\",\"رئونیون\",\"Réunion\",\"Réunion\"\n\"TID_ROMANIA\",\"Romania\",\"Roumanie\",\"Rumänien\",\"Rumanía\",\"Romania\",\"Roemenië\",\"Romania\",\"Romanya\",\"ルーマニア\",\"루마니아\",\"Румыния\",\"رومانيا\",\"Romênia\",\"罗马尼亚\",\"羅馬尼亞\",\"رومانی\",\"Rumania\",\"Romania\"\n\"TID_RUSSIA\",\"Russia\",\"Russie\",\"Russland\",\"Rusia\",\"Russia\",\"Rusland\",\"Russland\",\"Rusya\",\"ロシア\",\"러시아\",\"Россия\",\"روسيا\",\"Rússia\",\"俄罗斯\",\"俄羅斯\",\"روسیه\",\"Rusia\",\"Rusia\"\n\"TID_RWANDA\",\"Rwanda\",\"Rwanda\",\"Ruanda\",\"Ruanda\",\"Ruanda\",\"Rwanda\",\"Rwanda\",\"Ruanda\",\"ルワンダ\",\"르완다\",\"Руанда\",\"رواندا\",\"Ruanda\",\"卢旺达\",\"盧安達\",\"رواندا\",\"Rwanda\",\"Rwanda\"\n\"TID_SAINT_BARTHELEMY\",\"Saint Barthélemy\",\"Saint-Barthélemy\",\"Saint-Barthélemy\",\"San Bartolomé\",\"Saint Barthélemy\",\"Saint-Barthélemy\",\"Saint-Barthélemy\",\"Saint Barthélemy\",\"サン・バルテルミー島\",\"생바르텔레미\",\"Сен-Бартелеми\",\"سانت بارتيليمي\",\"Saint Barts\",\"圣巴托洛缪岛\",\"聖巴泰勒米\",\"سنت بارثلمی\",\"Saint Barthélemy\",\"Saint Barthélemy\"\n\"TID_SAINT_HELENA\",\"Saint Helena\",\"Sainte-Hélène\",\"St. Helena\",\"Santa Elena\",\"Sant'Elena\",\"Sint-Helena\",\"St. Helena\",\"Saint Helena\",\"セントヘレナ\",\"헬레나\",\"Остров Святой Елены\",\"سانت هيلانة\",\"Santa Helena\",\"圣赫勒拿\",\"聖海蓮娜\",\"سنت هلن\",\"Saint Helena\",\"Saint Helena\"\n\"TID_SAINT_KITTS_AND_NEVIS\",\"Saint Kitts and Nevis\",\"Saint-Christophe-et-Niévès\",\"St. Kitts und Nevis\",\"San Cristóbal y Nieves\",\"Saint Kitts e Nevis\",\"Saint Kitts en Nevis\",\"Saint Kitts og Nevi\",\"Saint Kitts ve Nevis\",\"セントクリストファー・ネイビス\",\"세인트키츠네비스\",\"Сент-Китс и Невис\",\"سانت كيتس ونيفيس\",\"São Cristóvão e Névis\",\"圣基茨和尼维斯\",\"聖克里斯多福及尼維斯\",\"سنت کیتس و نویس\",\"Saint Kitts dan Nevis\",\"Saint Kitts dan Nevis\"\n\"TID_SAINT_LUCIA\",\"Saint Lucia\",\"Sainte-Lucie\",\"St. Lucia\",\"Santa Lucía\",\"Santa Lucia\",\"Saint Lucia\",\"Saint Lucia\",\"Saint Lucia\",\"セントルシア\",\"세인트루시아\",\"Сент-Люсия\",\"سانت لوسيا\",\"Santa Lúcia\",\"圣卢西亚岛\",\"聖露西亞\",\"سنت لوسیا\",\"Saint Lucia\",\"Saint Lucia\"\n\"TID_SAINT_MARTIN\",\"Saint Martin\",\"Saint-Martin\",\"St. Martin\",\"San Martín\",\"Saint Martin\",\"Saint-Martin\",\"Saint Martin\",\"Saint Martin\",\"サン・マルタン\",\"세인트마틴\",\"Сен-Мартен\",\"سانت مارتن\",\"São Martim\",\"圣马丁岛\",\"聖馬丁島\",\"سنت مارتین\",\"Saint Martin\",\"Saint Martin\"\n\"TID_SAINT_PIERRE_AND_MIQUELON\",\"Saint Pierre and Miquelon\",\"Saint-Pierre-et-Miquelon\",\"St. Pierre und Miquelon\",\"San Pedro y Miquelón\",\"Saint Pierre e Miquelon\",\"Saint-Pierre en Miquelon\",\"Saint-Pierre og Miquelon\",\"Saint Pierre ve Miquelon\",\"サンピエール島・ミクロン島\",\"생피에르미클롱\",\"Сен-Пьер и Микелон\",\"سان بيار وميكلون\",\"Saint Pierre e Miquelon\",\"圣皮埃尔和密克隆群岛\",\"聖皮耶與密克隆群島\",\"سنت پیر و ماژلان\",\"Saint Pierre dan Miquelon\",\"Saint Pierre dan Miquelon\"\n\"TID_SAMOA\",\"Samoa\",\"Samoa\",\"Samoa\",\"Samoa\",\"Samoa\",\"Samoa\",\"Samoa\",\"Samoa\",\"サモア\",\"사모아\",\"Самоа\",\"ساموا\",\"Samoa\",\"萨摩亚\",\"薩摩亞\",\"ساموآ\",\"Samoa\",\"Samoa\"\n\"TID_SAN_MARINO\",\"San Marino\",\"San Marino\",\"San Marino\",\"San Marino\",\"San Marino\",\"San Marino\",\"San Marino\",\"San Marino\",\"サンマリノ\",\"산 마리노\",\"Сан-Марино\",\"سان مارينو\",\"San Marino\",\"圣马力诺\",\"聖馬利諾\",\"سان مارینو\",\"San Marino\",\"San Marino\"\n\"TID_SAO_TOME_AND_PRINCIPE\",\"São Tomé and Príncipe\",\"Sao Tomé-et-Principe\",\"São Tomé und Príncipe\",\"Santo Tomé y Príncipe\",\"São Tomé e Príncipe\",\"São Tomé en Principe\",\"São Tomé og Príncipe\",\"São Tomé ve Príncipe\",\"サントメ・プリンシペ\",\"상투메 프린시페\",\"Сан-Томе и Принсипи\",\"ساو تومي وبرينسيبي\",\"São Tomé e Príncipe\",\"圣多美和普林西比\",\"聖多美普林西比\",\"سائوتومه و پرینسیپ\",\"São Tomé dan Príncipe\",\"São Tomé dan Príncipe\"\n\"TID_SAUDI_ARABIA\",\"Saudi Arabia\",\"Arabie saoudite\",\"Saudi-Arabien\",\"Arabia Saudí\",\"Arabia Saudita\",\"Saudi-Arabië\",\"Saudi-Arabia\",\"Suudi Arabistan\",\"サウジアラビア\",\"사우디아라비아\",\"Саудовская Аравия\",\"المملكة العربية السعودية\",\"Arábia Saudita\",\"沙特阿拉伯\",\"沙烏地阿拉伯\",\"عربستان سعودی\",\"Arab Saudi\",\"Arab Saudi\"\n\"TID_SENEGAL\",\"Senegal\",\"Sénégal\",\"Senegal\",\"Senegal\",\"Senegal\",\"Senegal\",\"Senegal\",\"Senegal\",\"セネガル\",\"세네갈\",\"Сенегал\",\"السنغال\",\"Senegal\",\"塞内加尔\",\"塞內加爾\",\"سنگال\",\"Senegal\",\"Senegal\"\n\"TID_SERBIA\",\"Serbia\",\"Serbie\",\"Serbien\",\"Serbia\",\"Serbia\",\"Servië\",\"Serbia\",\"Sırbistan\",\"セルビア\",\"세르비아\",\"Сербия\",\"صربيا\",\"Sérvia\",\"塞尔维亚\",\"塞爾維亞\",\"صربستان\",\"Serbia\",\"Serbia\"\n\"TID_SEYCHELLES\",\"Seychelles\",\"Seychelles\",\"Seychellen\",\"Seychelles\",\"Seychelles\",\"Seychellen\",\"Seychellene\",\"Seyşeller\",\"セイシェル\",\"세이셸\",\"Сейшелы\",\"سيشيل\",\"Ilhas Seychelles\",\"塞舌尔\",\"塞席爾\",\"سیشل\",\"Seychelles\",\"Seychelles\"\n\"TID_SIERRA_LEONE\",\"Sierra Leone\",\"Sierra Leone\",\"Sierra Leone\",\"Sierra Leona\",\"Sierra Leone\",\"Sierra Leone\",\"Sierra Leone\",\"Sierra Leone\",\"シエラレオネ\",\"시에라리온\",\"Сьерра-Леоне\",\"سيراليون\",\"Serra Leoa\",\"塞拉利昂\",\"獅子山共和國\",\"سیرا لئون\",\"Sierra Leone\",\"Sierra Leone\"\n\"TID_SINGAPORE\",\"Singapore\",\"Singapour\",\"Singapur\",\"Singapur\",\"Singapore\",\"Singapore\",\"Singapore\",\"Singapur\",\"シンガポール\",\"싱가포르\",\"Сингапур\",\"سنغافورة\",\"Cingapura\",\"新加坡\",\"新加坡\",\"سنگاپور\",\"Singapura\",\"Singapura\"\n\"TID_SINT_MAARTEN\",\"Sint Maarten\",\"Saint-Martin\",\"Sint Maarten\",\"Sint Maarten\",\"Sint Maarten\",\"Sint-Maarten\",\"Sint Maarten\",\"Sint Maarten\",\"セント・マーチン島\",\"세인트 마틴\",\"Синт-Мартен\",\"سانت مارتن\",\"São Martim\",\"荷属圣马丁\",\"荷屬聖馬丁\",\"سنت مارتن\",\"Sint Maarten\",\"Sint Maarten\"\n\"TID_SLOVAKIA\",\"Slovakia\",\"Slovaquie\",\"Slowakei\",\"Eslovaquia\",\"Slovacchia\",\"Slowakije\",\"Slovakia\",\"Slovakya\",\"スロバキア\",\"슬로바키아\",\"Словакия\",\"سلوفاكيا\",\"Eslováquia\",\"斯洛伐克\",\"斯洛伐克\",\"اسلواکی\",\"Slowakia\",\"Slovakia\"\n\"TID_SLOVENIA\",\"Slovenia\",\"Slovénie\",\"Slowenien\",\"Eslovenia\",\"Slovenia\",\"Slovenië\",\"Slovenia\",\"Slovenya\",\"スロベニア\",\"슬로베니아\",\"Словения\",\"سلوفينيا\",\"Eslovênia\",\"斯洛文尼亚\",\"斯洛維尼亞\",\"اسلوونی\",\"Slovenia\",\"Slovenia\"\n\"TID_SOLOMON_ISLANDS\",\"Solomon Islands\",\"Îles Salomon\",\"Salomonen\",\"Islas Salomón\",\"Isole Solomon\",\"Salomonseilanden\",\"Salomonøyene\",\"Solomon Adaları\",\"ソロモン諸島\",\"솔로몬 제도\",\"Соломоновы Острова\",\"جزر سليمان\",\"Ilhas Salomão\",\"所罗门群岛\",\"索羅門群島\",\"جزایر سلیمان\",\"Kepulauan Solomon\",\"Kepulauan Solomon\"\n\"TID_SOMALIA\",\"Somalia\",\"Somalie\",\"Somalia\",\"Somalia\",\"Somalia\",\"Somalië\",\"Somalia\",\"Somali\",\"ソマリア\",\"소말리아\",\"Сомали\",\"الصومال\",\"Somália\",\"索马里\",\"索馬利亞\",\"سومالی\",\"Somalia\",\"Somalia\"\n\"TID_SOUTH_AFRICA\",\"South Africa\",\"Afrique du Sud\",\"Südafrika\",\"Sudáfrica\",\"Sudafrica\",\"Zuid-Afrika\",\"Sør-Afrika\",\"Güney Afrika\",\"南アフリカ\",\"남아프리카\",\"Южная Африка\",\"جنوب أفريقيا\",\"África do Sul\",\"南非\",\"南非\",\"آفریقای جنوبی\",\"Afrika Selatan\",\"Afrika Selatan\"\n\"TID_SOUTH_KOREA\",\"South Korea\",\"Corée du Sud\",\"Südkorea\",\"Corea del Sur\",\"Corea del Sud\",\"Zuid-Korea\",\"Sør-Korea\",\"Güney Kore\",\"韓国\",\"대한민국\",\"Южная Корея\",\"كوريا الجنوبية\",\"Coreia do Sul\",\"韩国\",\"南韓\",\"کره جنوبی\",\"Korea Selatan\",\"Korea Selatan\"\n\"TID_SOUTH_SUDAN\",\"South Sudan\",\"Soudan du Sud\",\"Südsudan\",\"Sudán del Sur\",\"Sudan del Sud\",\"Zuid-Sudan\",\"Sør-Sudan\",\"Güney Sudan\",\"南スーダン\",\"남수단\",\"Южный Судан\",\"جنوب السودان\",\"Sudão do Sul\",\"南苏丹\",\"南蘇丹\",\"سودان جنوبی\",\"Sudan Selatan\",\"Sudan Selatan\"\n\"TID_SPAIN\",\"Spain\",\"Espagne\",\"Spanien\",\"España\",\"Spagna\",\"Spanje\",\"Spania\",\"İspanya\",\"スペイン\",\"스페인\",\"Испания\",\"إسبانيا\",\"Espanha\",\"西班牙\",\"西班牙\",\"اسپانیا\",\"Spanyol\",\"Sepanyol\"\n\"TID_SRI_LANKA\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"Sri Lanka\",\"スリランカ\",\"스리랑카\",\"Шри-Ланка\",\"سيريلانكا\",\"Sri Lanka\",\"斯里兰卡\",\"斯里蘭卡\",\"سریلانکا\",\"Sri Lanka\",\"Sri Lanka\"\n\"TID_ST_VINCENT_GRENADINES\",\"St. Vincent & Grenadines\",\"Saint-Vincent-et-les-Grenadines\",\"St. Vincent und die Grenadinen\",\"San Vicente y las Granadinas\",\"Saint Vincent e Grenadine\",\"Saint Vincent en de Grenadines\",\"Saint Vincent og Grenadinene\",\"St. Vincent ve Grenadines\",\"セントビンセント・グレナディーン\",\"세인트빈센트 그레나딘\",\"Сент-Винсент и Гренадины\",\"سانت فنسنت وغرينادين\",\"São Vicente e Granadinas\",\"圣文森特和格林纳丁斯\",\"聖文森及格瑞那丁\",\"سنت وینسنت و گرنادین‌ها\",\"St. Vincent & Grenadines\",\"St. Vincent & Grenadines\"\n\"TID_SUDAN\",\"Sudan\",\"Soudan\",\"Sudan\",\"Sudán\",\"Sudan\",\"Sudan\",\"Sudan\",\"Sudan\",\"スーダン\",\"수단\",\"Судан\",\"السودان\",\"Sudão\",\"苏丹\",\"蘇丹\",\"سودان\",\"Sudan\",\"Sudan\"\n\"TID_SURINAME\",\"Suriname\",\"Suriname\",\"Suriname\",\"Surinam\",\"Suriname\",\"Suriname\",\"Surinam\",\"Surinam\",\"スリナム\",\"수리남\",\"Суринам\",\"سورينام\",\"Suriname\",\"苏里南\",\"蘇利南\",\"سورینام\",\"Suriname\",\"Suriname\"\n\"TID_SVALBARD_AND_JAN_MAYEN\",\"Svalbard and Jan Mayen\",\"Svalbard et Jan Mayen\",\"Svalbard und Jan Mayen\",\"Svalbard y Jan Mayen\",\"Svalbard e Jan Mayen\",\"Svalbard en Jan Mayen\",\"Svalbard og Jan Mayen\",\"Svalbard ve Jan Mayen\",\"スヴァルバル諸島およびヤンマイエン島\",\"스발바르 얀마옌\",\"Шпицберген и Ян-Майен\",\"سفالبارد وجان مايان\",\"Svalbard e Jan Mayen\",\"斯瓦尔巴和扬马延\",\"斯瓦巴和揚馬延\",\"سوالبارد و یان ماین\",\"Svalbard dan Jan Mayen\",\"Svalbard dan Jan Mayen\"\n\"TID_SWAZILAND\",\"Swaziland\",\"Swaziland\",\"Swasiland\",\"Suazilandia\",\"Swaziland\",\"Swaziland\",\"Swaziland\",\"Svaziland\",\"スワジランド\",\"스와질란드\",\"Свазиленд\",\"سوازيلاند\",\"Suazilândia\",\"斯威士兰\",\"史瓦濟蘭\",\"سوازیلند\",\"Swaziland\",\"Swaziland\"\n\"TID_SWEDEN\",\"Sweden\",\"Suède\",\"Schweden\",\"Suecia\",\"Svezia\",\"Zweden\",\"Sverige\",\"İsveç\",\"スウェーデン\",\"스웨덴\",\"Швеция\",\"السويد\",\"Suécia\",\"瑞典\",\"瑞典\",\"سوئد\",\"Swedia\",\"Sweden\"\n\"TID_SWITZERLAND\",\"Switzerland\",\"Suisse\",\"Schweiz\",\"Suiza\",\"Svizzera\",\"Zwitserland\",\"Sveits\",\"İsviçre\",\"スイス\",\"스위스\",\"Швейцария\",\"سويسرا\",\"Suíça\",\"瑞士\",\"瑞士\",\"سوئیس\",\"Swiss\",\"Switzerland\"\n\"TID_SYRIA\",\"Syria\",\"Syrie\",\"Syrien\",\"Siria\",\"Siria\",\"Syrië\",\"Syria\",\"Suriye\",\"シリア\",\"시리아\",\"Сирия\",\"سوريا\",\"Síria\",\"叙利亚\",\"敘利亞\",\"سوریه\",\"Suriah\",\"Syria\"\n\"TID_TAIWAN\",\"Taiwan\",\"Taïwan\",\"Taiwan\",\"Taiwán\",\"Taiwan\",\"Taiwan\",\"Taiwan\",\"Tayvan\",\"台湾\",\"대만\",\"Тайвань\",\"تايوان\",\"Taiwan\",\"台湾\",\"台灣\",\"تایوان\",\"Taiwan\",\"Taiwan\"\n\"TID_TAJIKISTAN\",\"Tajikistan\",\"Tadjikistan\",\"Tadschikistan\",\"Tayikistán\",\"Tagikistan\",\"Tadzjikistan\",\"Tadsjikistan\",\"Tacikistan\",\"タジキスタン\",\"타지키스탄\",\"Таджикистан\",\"طاجيكستان\",\"Tajiquistão\",\"塔吉克斯坦\",\"塔吉克\",\"تاجیکستان\",\"Tajikistan\",\"Tajikistan\"\n\"TID_TANZANIA\",\"Tanzania\",\"Tanzanie\",\"Tansania\",\"Tanzania\",\"Tanzania\",\"Tanzania\",\"Tanzania\",\"Tanzanya\",\"タンザニア\",\"탄자니아\",\"Танзания\",\"تنزانيا\",\"Tanzânia\",\"坦桑尼亚\",\"坦尚尼亞\",\"تانزانیا\",\"Tanzania\",\"Tanzania\"\n\"TID_THAILAND\",\"Thailand\",\"Thaïlande\",\"Thailand\",\"Tailandia\",\"Thailandia\",\"Thailand\",\"Thailand\",\"Tayland\",\"タイ\",\"태국\",\"Таиланд\",\"تايلاند\",\"Tailândia\",\"泰国\",\"泰國\",\"تایلند\",\"Thailand\",\"Thailand\"\n\"TID_TIMOR-LESTE\",\"Timor-Leste\",\"Timor oriental\",\"Timor-Leste (Osttimor)\",\"Timor Oriental\",\"Timor Est\",\"Oost-Timor\",\"Øst-Timor\",\"Doğu Timor\",\"東チモール\",\"동티모르\",\"Восточный Тимор\",\"تيمور الشرقية\",\"Timor-Leste\",\"东帝汶\",\"東帝汶\",\"تیمور-لسته\",\"Timor-Leste\",\"Timor-Leste\"\n\"TID_TOGO\",\"Togo\",\"Togo\",\"Togo\",\"Togo\",\"Togo\",\"Togo\",\"Togo\",\"Togo\",\"トーゴ\",\"토고\",\"Того\",\"توغو\",\"Togo\",\"多哥\",\"多哥\",\"توگو\",\"Togo\",\"Togo\"\n\"TID_TOKELAU\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"Tokelau\",\"トケラウ\",\"토켈라우\",\"Токелау\",\"توكيلاو\",\"Toquelau\",\"托克劳群岛\",\"托克勞\",\"توکلائو\",\"Tokelau\",\"Tokelau\"\n\"TID_TONGA\",\"Tonga\",\"Tonga\",\"Tonga\",\"Tonga\",\"Tonga\",\"Tonga\",\"Tonga\",\"Tonga\",\"トンガ\",\"통가\",\"Тонга\",\"تونغا\",\"Tonga\",\"汤加\",\"東加\",\"تونگا\",\"Tonga\",\"Tonga\"\n\"TID_TRINIDAD_AND_TOBAGO\",\"Trinidad and Tobago\",\"Trinité-et-Tobago\",\"Trinidad und Tobago\",\"Trinidad y Tobago\",\"Trinidad e Tobago\",\"Trinidad en Tobago\",\"Trinidad og Tobago\",\"Trinidad ve Tobago\",\"トリニダード・トバゴ\",\"트리니다드 토바고\",\"Тринидад и Тобаго\",\"ترينداد وتوباغو\",\"Trinidad e Tobago\",\"特立尼达和多巴哥\",\"千里達及托巴哥\",\"ترینیداد و توباگو\",\"Trinidad dan Tobago\",\"Trinidad dan Tobago\"\n\"TID_TRISTAN_DA_CUNHA\",\"Tristan da Cunha\",\"Tristan da Cunha\",\"Tristan da Cunha\",\"Tristán de Acuña\",\"Tristan da Cunha\",\"Tristan da Cunha\",\"Tristan da Cunha\",\"Tristan da Cunha\",\"トリスタンダクーニャ\",\"트리스탄다쿠냐\",\"Тристан-да-Кунья\",\"تريستان دا كونها\",\"Tristão da Cunha\",\"特里斯坦-达库尼亚群岛\",\"崔斯坦達庫尼亞\",\"تریستان دا کونا\",\"Tristan da Cunha\",\"Tristan da Cunha\"\n\"TID_TUNISIA\",\"Tunisia\",\"Tunisie\",\"Tunesien\",\"Túnez\",\"Tunisia\",\"Tunesië\",\"Tunisia\",\"Tunus\",\"チュニジア\",\"튀니지\",\"Тунис\",\"تونس\",\"Tunísia\",\"突尼斯\",\"突尼西亞\",\"تونس\",\"Tunisia\",\"Tunisia\"\n\"TID_TURKEY\",\"Turkey\",\"Turquie\",\"Türkei\",\"Turquía\",\"Turchia\",\"Turkije\",\"Tyrkia\",\"Türkiye\",\"トルコ\",\"터키\",\"Турция\",\"تركيا\",\"Turquia\",\"土耳其\",\"土耳其\",\"ترکیه\",\"Turki\",\"Turki\"\n\"TID_TURKMENISTAN\",\"Turkmenistan\",\"Turkménistan\",\"Turkmenistan\",\"Turkmenistán\",\"Turkmenistan\",\"Turkmenistan\",\"Turkmenistan\",\"Türkmenistan\",\"トルクメニスタン\",\"투르크메니스탄\",\"Туркменистан\",\"تركمانستان\",\"Turcomenistão\",\"土库曼斯坦\",\"土庫曼\",\"ترکمنستان\",\"Turkmenistan\",\"Turkmenistan\"\n\"TID_TURKS_AND_CAICOS_ISLANDS\",\"Turks and Caicos Islands\",\"Îles Turques-et-Caïques\",\"Turks- und Caicosinseln\",\"Islas Turcas y Caicos\",\"Isole Turks e Caicos\",\"Turks- en Caicoseilanden\",\"Turks- og Caicosøyene\",\"Turks ve Caicos Adaları\",\"タークス・カイコス諸島\",\"터크스카이코스제도\",\"Теркс и Кайкос\",\"جزر تركس وكايكوس\",\"Ilhas Turks e Caicos\",\"特克斯和凯科斯群岛\",\"土克凱可群島\",\"جزایر تورکس و کایکوس\",\"Kepulauan Turks dan Caicos\",\"Kepulauan Turks and Caicos\"\n\"TID_TUVALU\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"Tuvalu\",\"ツバル\",\"투발루\",\"Тувалу\",\"توفالو\",\"Tuvalu\",\"图瓦卢\",\"吐瓦魯\",\"تووالو\",\"Tuvalu\",\"Tuvalu\"\n\"TID_US_OUTLYING_ISLANDS\",\"U.S. Outlying Islands\",\"Îles mineures éloignées des États-Unis\",\"Außeninseln der Vereinigten Staaten\",\"Islas Ultramarinas Menores de EE. UU.\",\"Isole Esterne degli Stati Uniti d'America\",\"Verafgelegen eilandjes van de VS\",\"USAs ytre småøyer\",\"ABD Küçük Dış Adaları\",\"合衆国領有小離島\",\"미국 아웃라잉 제도\",\"Внешние малые острова США\",\"جزر الولايات المتحدة\",\"Ilhas Distantes dos EUA\",\"美国本土外岛屿\",\"美國本土外小島嶼\",\"جزایر حاشیه‌ای ایالات متحده\",\"Kepulauan Terluar Kecil AS\",\"Kepulauan Terpencil A.S.\"\n\"TID_US_VIRGIN_ISLANDS\",\"U.S. Virgin Islands\",\"Îles Vierges américaines\",\"Amerikanische Jungferninseln\",\"Islas Vírgenes de los EE. UU.\",\"Isole Vergini degli Stati Uniti d'America\",\"Amerikaanse Maagdeneilanden\",\"De amerikanske jomfruøyene\",\"ABD Virjin Adaları\",\"アメリカ領ヴァージン諸島\",\"미국 버진 아일랜드\",\"Виргинские Острова\",\"جزر فيرجن الأمريكية\",\"Ilhas Virgens dos EUA\",\"美属维尔京群岛\",\"美屬維京群島\",\"جزایر ویرجین ایالات متحده\",\"Kepulauan Virgin AS\",\"Kepulauan Virgin A.S.\"\n\"TID_UGANDA\",\"Uganda\",\"Ouganda\",\"Uganda\",\"Uganda\",\"Uganda\",\"Uganda\",\"Uganda\",\"Uganda\",\"ウガンダ\",\"우간다\",\"Уганда\",\"أوغندا\",\"Uganda\",\"乌干达\",\"烏干達\",\"اوگاندا\",\"Uganda\",\"Uganda\"\n\"TID_UKRAINE\",\"Ukraine\",\"Ukraine\",\"Ukraine\",\"Ucrania\",\"Ucraina\",\"Oekraïne\",\"Ukraina\",\"Ukrayna\",\"ウクライナ\",\"우크라이나\",\"Украина\",\"أوكرانيا\",\"Ucrânia\",\"乌克兰\",\"烏克蘭\",\"اوکراین\",\"Ukraina\",\"Ukraine\"\n\"TID_UNITED_ARAB_EMIRATES\",\"United Arab Emirates\",\"Émirats arabes unis\",\"Vereinigte Arabische Emirate\",\"Emiratos Árabes Unidos\",\"Emirati Arabi Uniti\",\"Verenigde Arabische Emiraten\",\"De forente arabiske emirater\",\"Birleşik Arap Emirlikleri\",\"アラブ首長国連邦\",\"아랍에미리트 연합\",\"Объединённые Арабские Эмираты\",\"الإمارات العربية المتحدة\",\"Emirados Árabes Unidos\",\"阿拉伯联合酋长国\",\"阿拉伯聯合大公國\",\"امارات متحده عربی\",\"Uni Emirat Arab\",\"Emiriah Arab Bersatu\"\n\"TID_UNITED_KINGDOM\",\"United Kingdom\",\"Royaume-Uni\",\"Vereinigtes Königreich\",\"Reino Unido\",\"Regno Unito\",\"Verenigd Koninkrijk\",\"Storbritannia\",\"Birleşik Krallık\",\"イギリス\",\"영국\",\"Соединенное Королевство\",\"المملكة المتحدة\",\"Reino Unido\",\"英国\",\"英國\",\"بریتانیا\",\"Inggris\",\"United Kingdom\"\n\"TID_UNITED_STATES\",\"United States\",\"États-Unis\",\"Vereinigte Staaten\",\"Estados Unidos\",\"Stati Uniti d'America\",\"Verenigde Staten\",\"USA\",\"Amerika Birleşik Devletleri\",\"アメリカ合衆国\",\"미국\",\"Соединенное Штаты\",\"الولايات المتحدة\",\"Estados Unidos\",\"美国\",\"美國\",\"ایالات متحده\",\"Amerika Serikat\",\"Amerika Syarikat\"\n\"TID_URUGUAY\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"Uruguay\",\"ウルグアイ\",\"우루과이\",\"Уругвай\",\"أورغواي\",\"Uruguai\",\"乌拉圭\",\"烏拉圭\",\"اروگوئه\",\"Uruguay\",\"Uruguay\"\n\"TID_UZBEKISTAN\",\"Uzbekistan\",\"Ouzbékistan\",\"Usbekistan\",\"Uzbekistán\",\"Uzbekistan\",\"Oezbekistan\",\"Usbekistan\",\"Özbekistan\",\"ウズベキスタン\",\"우즈베키스탄\",\"Узбекистан\",\"أوزبكستان\",\"Uzbequistão\",\"乌兹别克斯坦\",\"烏茲別克\",\"ازبکستان\",\"Uzbekistan\",\"Uzbekistan\"\n\"TID_VANUATU\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"Vanuatu\",\"バヌアツ\",\"바누아투\",\"Вануату\",\"فانواتو\",\"Vanuatu\",\"瓦努阿图\",\"萬那杜\",\"وانواتو\",\"Vanuatu\",\"Vanuatu\"\n\"TID_VATICAN_CITY\",\"Vatican City\",\"Vatican\",\"Vatikanstadt\",\"Ciudad del Vaticano\",\"Città del Vaticano\",\"Vaticaanstad\",\"Vatikanstaten\",\"Vatikan Şehri\",\"バチカン市国\",\"바티칸\",\"Ватикан\",\"مدينة الفاتيكان\",\"Cidade do Vaticano\",\"梵蒂冈城\",\"梵蒂岡\",\"شهر واتیکان\",\"Kota Vatikan\",\"Kota Vatikan\"\n\"TID_VENEZUELA\",\"Venezuela\",\"Venezuela\",\"Venezuela\",\"Venezuela\",\"Venezuela\",\"Venezuela\",\"Venezuela\",\"Venezüela\",\"ベネズエラ\",\"베네수엘라\",\"Венесуэла\",\"فنزويلا\",\"Venezuela\",\"委内瑞拉\",\"委內瑞拉\",\"ونزوئلا\",\"Venezuela\",\"Venezuela\"\n\"TID_VIETNAM\",\"Vietnam\",\"Viêt Nam\",\"Vietnam\",\"Vietnam\",\"Vietnam\",\"Vietnam\",\"Vietnam\",\"Vietnam\",\"ベトナム\",\"베트남\",\"Вьетнам\",\"فيتنام\",\"Vietnã\",\"越南\",\"越南\",\"ویتنام\",\"Vietnam\",\"Vietnam\"\n\"TID_WALLIS_AND_FUTUNA\",\"Wallis and Futuna\",\"Wallis-et-Futuna\",\"Wallis und Futuna\",\"Wallis y Futuna\",\"Wallis e Futuna\",\"Wallis en Futuna\",\"Wallis- og Futunaøyene\",\"Wallis ve Futuna\",\"ウォリス・フツナ\",\"윌리스푸투나 제도\",\"Уоллис и Футуна\",\"واليس وفوتونا\",\"Ilhas Wallis e Futuna\",\"瓦利斯群岛和富图纳群岛\",\"瓦利斯和富圖納\",\"والیس و فوتونا\",\"Wallis dan Futuna\",\"Wallis dan Futuna\"\n\"TID_WESTERN_SAHARA\",\"Western Sahara\",\"Sahara occidental\",\"Westsahara\",\"Sáhara Occidental\",\"Sahara Occidentale\",\"Westelijke Sahara\",\"Vest-Sahara\",\"Batı Sahra\",\"西サハラ\",\"서부 사하라\",\"Западная Сахара\",\"الصحراء الغربية\",\"Saara Ocidental\",\"西撒哈拉\",\"西撒哈拉\",\"صحرای غربی\",\"Sahara Barat\",\"Sahara Barat\"\n\"TID_YEMEN\",\"Yemen\",\"Yémen\",\"Jemen\",\"Yemen\",\"Yemen\",\"Jemen\",\"Jemen\",\"Yemen\",\"イエメン\",\"예멘\",\"Йемен\",\"اليمن\",\"Iêmen\",\"也门\",\"葉門\",\"یمن\",\"Yaman\",\"Yaman\"\n\"TID_ZAMBIA\",\"Zambia\",\"Zambie\",\"Sambia\",\"Zambia\",\"Zambia\",\"Zambia\",\"Zambia\",\"Zambiya\",\"ザンビア\",\"잠비아\",\"Замбия\",\"زامبيا\",\"Zâmbia\",\"赞比亚\",\"尚比亞\",\"زامبیا\",\"Zambia\",\"Zambia\"\n\"TID_ZIMBABWE\",\"Zimbabwe\",\"Zimbabwe\",\"Simbabwe\",\"Zimbabue\",\"Zimbabwe\",\"Zimbabwe\",\"Zimbabwe\",\"Zimbabve\",\"ジンバブエ\",\"짐바브웨\",\"Зимбабве\",\"زيمبابوي\",\"Zimbábue\",\"津巴布韦\",\"辛巴威\",\"زیمبابوه\",\"Zimbabwe\",\"Zimbabwe\"\n\"TID_UNLOCK_AT_ARENA\",\"Cards to be found\",\"Cartes à trouver\",\"Zu findende Karten\",\"Cartas por encontrar:\",\"Carte da trovare\",\"Nog te vinden kaarten\",\"Kort å finne\",\"Bulunacak kartlar\",\"未アンロック\",\"찾을 수 있는 카드\",\"Предстоит найти\",\"البطاقات المراد العثور عليها\",\"Cartas a serem encontradas\",\"待收集的卡牌\",\"尚未獲得的卡牌\",\"کارت‌هایی که باید یافت\",\"Kartu untuk ditemukan\",\"Kad untuk ditemui\"\n\"TID_TOURNAMENT_MODE_INFO2\",\"Cards are leveled down to:\\n- King level: <KING_LVL>\\n- Common level: <COMMON_LVL>\\n- Rare level: <RARE_LVL>\\n- Epic level: <EPIC_LVL>\\n- Legendary level: <LEGENDARY_LVL>\\n- Overtime length: <OVERTIME>\",\"Niveaux des tournois :\\n- Niveau du roi : <KING_LVL>\\n- Niveau cartes communes : <COMMON_LVL>\\n- Niveau rares : <RARE_LVL>\\n- Niveau épiques : <EPIC_LVL>\\n- Niveau légendaires : <LEGENDARY_LVL>\\n- Durée du temps extra : <OVERTIME>\",\"Level verringern sich wie folgt:\\n- Königslevel: <KING_LVL>\\n- Gewöhnliche Karten: <COMMON_LVL>\\n- Seltene Karten: <RARE_LVL>\\n- Epische Karten: <EPIC_LVL>\\n- Legendäre Karten: <LEGENDARY_LVL>\\n- Verlängerungsdauer: <OVERTIME>\",\"Las cartas se bajan de nivel como se indica a continuación:\\n- Nivel de la torre del rey: <KING_LVL>\\n- Nivel de las cartas comunes: <COMMON_LVL>\\n- Nivel de las cartas especiales: <RARE_LVL>\\n- Nivel de las cartas épicas: <EPIC_LVL>\\n- Nivel de las cartas legendarias: <LEGENDARY_LVL>\\n- Tiempo extra: <OVERTIME>\",\"Le carte sono scese ai livelli:\\n- livello re: <KING_LVL>\\n- livello comuni: <COMMON_LVL>\\n- livello rare: <RARE_LVL>\\n- livello epiche: <EPIC_LVL>\\n- livello leggendarie: <LEGENDARY_LVL>\\n- durata supplementari: <OVERTIME>\",\"Kaarten dalen in level naar:\\n- Koningslevel: <KING_LVL>\\n- Gewoon level: <COMMON_LVL>\\n- Zeldzaam level: <RARE_LVL>\\n- Episch level: <EPIC_LVL>\\n- Legendarisch level: <LEGENDARY_LVL>\\n- Extra tijd: <OVERTIME>\",\"Kort kan tas ned i nivå til:\\n- Kongenivå: <KING_LVL>\\n- Vanlig nivå: <COMMON_LVL>\\n- Sjeldent nivå: <RARE_LVL>\\n- Episk nivå: <EPIC_LVL>\\n- Legendarisk nivå: <LEGENDARY_LVL>\\n- Lengde på overtid: <OVERTIME>\",\"Kart seviyeleri şu şekilde ayarlandı:\\n- Kral seviyesi: <KING_LVL>\\n- Sıradan seviye: <COMMON_LVL>\\n- Ender seviye: <RARE_LVL>\\n- Destansı seviye: <EPIC_LVL>\\n- Efsanevi seviye: <LEGENDARY_LVL>\\n- Uzatma süresi: <OVERTIME>\",\"カードレベルは次のようにダウンします：\\n- キングのレベル： <KING_LVL>\\n- ノーマルカードのレベル： <COMMON_LVL>\\n- レアカードのレベル： <RARE_LVL>\\n- スーパーレアカードのレベル： <EPIC_LVL>\\n- ウルトラレアカードのレベル： <LEGENDARY_LVL>\\n- 延長タイム： <OVERTIME>\",\"카드 레벨이 다음 레벨로 하향 조정됩니다. 낮은 레벨은 조정되지 않습니다.\\n- 왕 레벨: <KING_LVL>\\n- 일반 레벨: <COMMON_LVL>\\n- 희귀 레벨: <RARE_LVL>\\n- 영웅 레벨: <EPIC_LVL>\\n- 전설 레벨: <LEGENDARY_LVL>\\n- 오버타임 시간: <OVERTIME>\",\"Уровни карт понижены:\\n- Уровень короля: <KING_LVL>\\n- Уровень обычных: <COMMON_LVL>\\n- Уровень редких: <RARE_LVL>\\n- Уровень эпических: <EPIC_LVL>\\n- Уровень легендарных: <LEGENDARY_LVL>\\n- Доп. время: <OVERTIME>\",\"تم خفض مستوى البطاقات إلى:\\n- مستوى الملك: <KING_LVL>\\n- مستوى عادي: <COMMON_LVL>\\n- مستوى نادر: <RARE_LVL>\\n- مستوى ممتاز: <EPIC_LVL>\\n- مستوى أسطوري: <LEGENDARY_LVL>\\n- مدة الوقت الإضافي: <OVERTIME>\",\"Cartas ajustadas para:\\n- Nível do Rei: <KING_LVL>\\n- Nível das comuns: <COMMON_LVL>\\n- Nível das raras: <RARE_LVL>\\n- Nível das épicas: <EPIC_LVL>\\n- Nível das lendárias: <LEGENDARY_LVL>\\n- Prorrogação: <OVERTIME>\",\"等级上限：\\n- 国王塔等级：<KING_LVL>\\n- 普通卡等级：<COMMON_LVL>\\n- 稀有卡等级：<RARE_LVL>\\n- 史诗卡等级：<EPIC_LVL>\\n- 传奇卡等级：<LEGENDARY_LVL>\\n- 加时赛时长：<OVERTIME>\",\"等級上限：\\n- 國王塔等級：<KING_LVL>\\n- 普通卡等級：<COMMON_LVL>\\n- 稀有卡等級：<RARE_LVL>\\n- 史詩卡等級：<EPIC_LVL>\\n- 傳奇卡等級：<LEGENDARY_LVL>\\n- 加時賽時長：<OVERTIME>\",\"کارت‌ها به سطوح زیر تنزل پیدا می‌کنند:\\n- سطح پادشاه: <KING_LVL>\\n- سطح عمومی: <COMMON_LVL>\\n- سطح کمیاب: <RARE_LVL>\\n- سطح حماسی: <EPIC_LVL>\\n- سطح افسانه‌ای: <LEGENDARY_LVL>\\n- طول وقت اضافه: <OVERTIME>\",\"Kartu turun level menjadi:\\n- Level raja: <KING_LVL>\\n- Level umum: <COMMON_LVL>\\n- Level langka: <RARE_LVL>\\n- Level epik: <EPIC_LVL>\\n- Level legendaris: <LEGENDARY_LVL>\\n- Lama perpanjangan: <OVERTIME>\",\"Kad diturunkan tahap kepada:\\n- Tahap Raja: <KING_LVL>\\n- Tahap Biasa: <COMMON_LVL>\\n- Tahap Jarang: <RARE_LVL>\\n- Tahap Epik: <EPIC_LVL>\\n- Tahap Legenda: <LEGENDARY_LVL>\\n- Panjang Masa Lebih: <OVERTIME>\"\n\"TID_TOURNAMENT_MODE_STATE\",\"Tournament Rules <STATE>\",\"Règlement des tournois <STATE>\",\"Turnierregeln: <STATE>\",\"Reglas del torneo <STATE>\",\"Regole da torneo <STATE>\",\"Toernooiregels <STATE>\",\"Turneringsregler <STATE>\",\"<STATE> Turnuva Kuralları\",\"大会ルール <STATE>\",\"토너먼트 규칙 <STATE>\",\"Правила турнира <STATE>\",\"قواعد البطولة <STATE>\",\"Regras do Torneio <STATE>\",\"锦标赛规则<STATE>\",\"聯賽規則<STATE>\",\"قوانین مسابقه <STATE>\",\"Aturan Turnamen <STATE>\",\"Peraturan Pertandingan <STATE>\"\n\"TID_GOOGLE_SERVICE_SIGN_IN\",\"Sign in\",\"Connexion\",\"Anmelden\",\"Conectar\",\"Accedi\",\"Aanmelden\",\"Logg på\",\"Oturum aç\",\"サインイン\",\"로그인\",\"Войти\",\"تسجيل الدخول\",\"Entrar\",\"登录\",\"登入\",\"ورود به سیستم\",\"Masuk\",\"Daftar masuk\"\n\"TID_VIEW_COUNT\",\"<num> views\",\"<num> vues\",\"<num>-mal angesehen\",\"<num> reproducciones\",\"Visualizzazioni: <num>\",\"<num> keer bekeken\",\"<num> visninger\",\"<num> görüntüleme\",\"<num> Views\",\"조회수 <num>\",\"<num> просмотр.\",\"<num> مشاهدات\",\"<num> visualizações\",\"<num>次观看\",\"<num>次觀看\",\"<num> مشاهده‌ها\",\"<num>x dilihat\",\"<num> paparan\"\n\"TID_REQUIRED_TROPHIES\",\"Required trophies:\",\"Trophées requis :\",\"Benötigte Trophäen:\",\"Trofeos necesarios\",\"Trofei necessari:\",\"Vereiste trofeeën:\",\"Nødvendige trofeer:\",\"Gereken kupalar:\",\"必要なトロフィー数：\",\"트로피 조건\",\"Необходимо трофеев\",\"الكؤوس المطلوبة:\",\"Troféus necessários:\",\"所需奖杯：\",\"所需獎盃：\",\"جام‌های مورد نیاز:\",\"Trofi yang diperlukan:\",\"Trofi yang diperlukan:\"\n\"TID_MONTH_1\",\"January\",\"Janvier\",\"Januar\",\"Enero\",\"Gennaio\",\"Januari\",\"Januar\",\"Ocak\",\"1月\",\"1월\",\"Январь\",\"يناير\",\"Janeiro\",\"一月\",\"一月\",\"ژانویه\",\"Januari\",\"Januari\"\n\"TID_MONTH_2\",\"February\",\"Février\",\"Februar\",\"Febrero\",\"Febbraio\",\"Februari\",\"Februar\",\"Şubat\",\"2月\",\"2월\",\"Февраль\",\"فبراير\",\"Fevereiro\",\"二月\",\"二月\",\"فوریه\",\"Februari\",\"Februari\"\n\"TID_MONTH_3\",\"March\",\"Mars\",\"März\",\"Marzo\",\"Marzo\",\"Maart\",\"Mars\",\"Mart\",\"3月\",\"3월\",\"Март\",\"مارس\",\"Março\",\"三月\",\"三月\",\"مارس\",\"Maret\",\"Mac\"\n\"TID_MONTH_4\",\"April\",\"Avril\",\"April\",\"Abril\",\"Aprile\",\"April\",\"April\",\"Nisan\",\"4月\",\"4월\",\"Апрель\",\"أبريل\",\"Abril\",\"四月\",\"四月\",\"آوریل\",\"April\",\"April\"\n\"TID_MONTH_5\",\"May\",\"Mai\",\"Mai\",\"Mayo\",\"Maggio\",\"Mei\",\"Mai\",\"Mayıs\",\"5月\",\"5월\",\"Май\",\"مايو\",\"Maio\",\"五月\",\"五月\",\"می\",\"Mei\",\"Mei\"\n\"TID_MONTH_6\",\"June\",\"Juin\",\"Juni\",\"Junio\",\"Giugno\",\"Juni\",\"Juni\",\"Haziran\",\"6月\",\"6월\",\"Июнь\",\"يونيو\",\"Junho\",\"六月\",\"六月\",\"ژوئن\",\"Juni\",\"Jun\"\n\"TID_MONTH_7\",\"July\",\"Juillet\",\"Juli\",\"Julio\",\"Luglio\",\"Juli\",\"Juli\",\"Temmuz\",\"7月\",\"7월\",\"Июль\",\"يوليو\",\"Julho\",\"七月\",\"七月\",\"جولای\",\"Juli\",\"Julai\"\n\"TID_MONTH_8\",\"August\",\"Août\",\"August\",\"Agosto\",\"Agosto\",\"Augustus\",\"August\",\"Ağustos\",\"8月\",\"8월\",\"Август\",\"أغسطس\",\"Agosto\",\"八月\",\"八月\",\"آگوست\",\"Agustus\",\"Ogos\"\n\"TID_MONTH_9\",\"September\",\"Septembre\",\"September\",\"Septiembre\",\"Settembre\",\"September\",\"September\",\"Eylül\",\"9月\",\"9월\",\"Сентябрь\",\"سبتمبر\",\"Setembro\",\"九月\",\"九月\",\"سپتامبر\",\"September\",\"September\"\n\"TID_MONTH_10\",\"October\",\"Octobre\",\"Oktober\",\"Octubre\",\"Ottobre\",\"Oktober\",\"Oktober\",\"Ekim\",\"10月\",\"10월\",\"Октябрь\",\"أكتوبر\",\"Outubro\",\"十月\",\"十月\",\"اکتبر\",\"Oktober\",\"Oktober\"\n\"TID_MONTH_11\",\"November\",\"Novembre\",\"November\",\"Noviembre\",\"Novembre\",\"November\",\"November\",\"Kasım\",\"11月\",\"11월\",\"Ноябрь\",\"نوفمبر\",\"Novembro\",\"十一月\",\"十一月\",\"نوامبر\",\"November\",\"November\"\n\"TID_MONTH_12\",\"December\",\"Décembre\",\"Dezember\",\"Diciembre\",\"Dicembre\",\"December\",\"Desember\",\"Aralık\",\"12月\",\"12월\",\"Декабрь\",\"ديسمبر\",\"Dezembro\",\"十二月\",\"十二月\",\"دسامبر\",\"Desember\",\"Disember\"\n\"TID_BEST_SEASON\",\"Best Season\",\"Meilleure saison\",\"Beste Saison\",\"Mejor temporada\",\"Stagione migliore\",\"Beste seizoen\",\"Beste sesong\",\"En İyi Sezon\",\"ベストシーズン\",\"최고 시즌\",\"Лучший сезон\",\"أفضل موسم\",\"Melhor temporada\",\"最佳赛季\",\"最佳賽季\",\"بهترین فصل\",\"Musim Terbaik\",\"Musim Terbaik\"\n\"TID_PREVIOUS_SEASON\",\"Previous Season\",\"Saison précédente\",\"Vorherige Saison\",\"Temporada anterior\",\"Stagione precedente\",\"Vorige seizoen\",\"Forrige sesong\",\"Önceki Sezon\",\"前シーズン\",\"이전 시즌\",\"Прошлый сезон\",\"الموسم السابق\",\"Temporada anterior\",\"上一赛季\",\"上一賽季\",\"فصل قبلی\",\"Musim Sebelumnya\",\"Musim Sebelum Ini\"\n\"TID_LEGEND_TROPHY\",\"Legend Trophies\",\"Trophées légendaires\",\"Legenden-Trophäen\",\"Trofeos de leyenda\",\"Trofei leggenda\",\"Legendarische trofeeën\",\"Legendetrofeer\",\"Efsane Kupalar\",\"レジェンドトロフィー\",\"전설 트로피\",\"Легендарные трофеи\",\"كؤوس الأسطورة\",\"Troféus lendários\",\"传奇奖杯\",\"傳奇獎盃\",\"جام افسانه​ای\",\"Trofi Legenda\",\"Trofi Legenda\"\n\"TID_LEGEND_ARENA_TOURNAMENT\",\"Legendary Arena Season\",\"Saison de l'arène légendaire\",\"Legendäre Arenasaison\",\"Temporada de la Arena Legendaria\",\"Stagione arena leggendaria\",\"Seizoen van de legendarische arena\",\"Legendarisk arena-sesong\",\"Efsanevi Arena Sezonu\",\"レジェンドアリーナシーズン\",\"전설 아레나 시즌\",\"Сезон Легендарной арены\",\"موسم الساحة الأسطورية\",\"Temporada de Arena Lendária\",\"传奇竞技场赛季\",\"傳奇競技場賽季\",\"فصل میدان نبرد افسانه‌ای\",\"Musim Arena Legendaris\",\"Musim Arena Legenda\"\n\"TID_LEGEND_SEASON\",\"<year> <month>\",\"<month> <year>\",\"<year> <month>\",\"<month> del <year>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\",\"<year> <month>\"\n\"TID_WINNERS_WILL_BE_FEATURED\",\"Winners of the\\nLegendary Arena Tournament\\nwill be featured here!\",\"Les gagnants du\\ntournoi de l'arène légendaire\\nseront affichés ici !\",\"Hier erscheinen\\ndie Gewinner des\\nLegendären Arenaturniers!\",\"¡Aquí aparecerán\\nlos ganadores del torneo\\nde la Arena Legendaria!\",\"I vincitori del\\ntorneo arena leggendaria\\nverranno mostrati qui!\",\"Hier worden de winnaars van het\\ntoernooi in de legendarische arena\\nvermeld!\",\"Vinnerne av\\nLegendarisk arena-turneringen\\nvil presenteres her!\",\"\\nEfsanevi Arena Turnuvasının\\nkazananları burada gösterilecek!\",\"\\nレジェンドアリーナ大会\\nの勝者は、こちらで紹介されます！\",\"전설 아레나\\n토너먼트 우승자는\\n여기에 표시됩니다!\",\"Здесь будут показаны победители\\nТурнира Легендарной Арены\\n!\",\"سيتم تقديم الفائزين\\nببطولة الساحة الأسطورية\\nهنا!\",\"Os vencedores do\\nTorneio de Ligas Lendárias\\naparecerão aqui!\",\"这里将显示\\n传奇竞技场锦标赛\\n的获胜玩家！\",\"這裡將顯示\\n傳奇競技場聯賽\\n的獲勝玩家！\",\"برندگان\\nمسابقه میدان نبرد افسانه​ای\\nدر اینجا نشان داده می​شوند!\",\"Pemenang\\nTurnamen Arena Legendaris\\nakan ditampilkan di sini!\",\"Pemenang\\nPerlawanan Arena Legenda\\nakan ditampilkan di sini!\"\n\"TID_LEGEND_PREVIOUS_SEASON_TOP3_TITLE\",\"Previous Season Top 3:\",\"Top 3 de la saison précédente :\",\"Top 3 der vorherigen Saison:\",\"3 primeros de la temporada anterior:\",\"Top 3 stagione precedente:\",\"Top 3 vorige seizoen:\",\"Topp 3 i forrige sesong:\",\"Önceki Sezonun İlk 3'ü:\",\"前シーズンのトップ3：\",\"이전 시즌 TOP 3 플레이어:\",\"3 лучших прошлого сезона:\",\"أفضل 3 في الموسم السابق:\",\"Top 3 da temporada anterior:\",\"上一赛季前3名：\",\"上一賽季前3名：\",\"3 مورد برتر فصل قبلی:\",\"3 Teratas Musim Sebelumnya:\",\"3 Musim Teratas Sebelum Ini:\"\n\"TID_LEGEND_CURRENT_SEASON\",\"Current Season Ends In:\",\"Fin de la saison actuelle dans :\",\"Aktuelle Saison endet in:\",\"Fin de la temporada actual:\",\"La stagione attuale termina tra:\",\"Het huidige seizoen eindigt over:\",\"Pågående sesong slutter om:\",\"Şu Anki Sezonun Bitmesine:\",\"現在のシーズンの終了まで：\",\"현재 시즌 종료까지:\",\"Конец сезона через:\",\"ينتهي الموسم الحالي خلال:\",\"Temporada atual termina em:\",\"当前赛季剩余时间：\",\"當前賽季剩餘時間：\",\"فصل کنونی خاتمه می​یابد در:\",\"Musim Saat Ini Berakhir Dalam:\",\"Musim Semasa Tamat Dalam:\"\n\"TID_LEGEND_TOP3_ITEM\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\",\"<RANK>. <NAME>\"\n\"TID_CHALLENGE_CLAN_MEMBER\",\"Challenge your Clanmates in a Friendly Battle!\",\"Défiez les membres de votre clan en combat amical !\",\"Fordere deine Clankameraden zu einem Testspiel heraus!\",\"¡Desafía a tus aliados a una batalla amistosa!\",\"Sfida i compagni di clan in una battaglia amichevole!\",\"Daag je clangenoten uit voor een vriendelijk gevecht!\",\"Utfordre klanvennene dine til en vennskapskamp!\",\"Dostluk Savaşında Klan Arkadaşlarına meydan oku!\",\"フレンドバトルでクランメンバーに挑戦しましょう！\",\"클랜원에게 친선전을 신청해 보세요!\",\"Вызови соклановцев на дружеский поединок!\",\"تحد أعضاء قبيلتك في معركة ودية!\",\"Desafie seus colegas de clã para uma batalha amistosa.\",\"在友谊战中挑战部落成员！\",\"在友誼戰中挑戰部落成員！\",\"هم‌قبیله‌ای‌های خودت رو در یک نبرد دوستانه به چالش بکش!\",\"Tantang Rekan Klanmu dalam Pertempuran Persahabatan!\",\"Cabar Rakan Klan anda dalam Pertempuran Persahabatan!\"\n\"TID_ERROR_POP_UP_UNLOCK_UNAVAILABLE_TITLE\",\"Account unlock unavailable\",\"Déblocage de compte non disponible\",\"Kontofreischaltung nicht verfügbar\",\"Desbloqueo de cuenta no disponible\",\"Sblocco account non disponibile\",\"Account ontgrendelen niet mogelijk\",\"Ikke mulig å låse opp konto\",\"Hesabın kilidini açma mevcut değil\",\"アカウントのアンロックはご利用になれません\",\"계정 잠금 해제 실패\",\"Разблок. уч. записи недоступна\",\"إلغاء قفل الحساب غير متوفر\",\"Desbloqueio da conta não disponível\",\"无法解锁帐户\",\"無法解鎖帳戶\",\"بازگشایی قفل حساب در دسترس نیست\",\"Pembukaan kunci akun tidak tersedia\",\"Buka kunci akaun tidak tersedia\"\n\"TID_ERROR_POP_UP_UNLOCK_UNAVAILABLE\",\"Account unlock is unavailable at the moment. Please try again later!\",\"Le déblocage de compte n'est pas disponible pour le moment. Veuillez réessayer plus tard.\",\"Kontofreischaltung ist momentan nicht verfügbar. Bitte versuche es später erneut.\",\"El desbloqueo de la cuenta no está disponible en estos momentos. Inténtalo de nuevo más tarde.\",\"Lo sblocco dell'account non è al momento disponibile. Riprova più tardi!\",\"Account ontgrendelen is momenteel niet mogelijk. Probeer het later opnieuw!\",\"Det er ikke mulig å låse opp kontoen akkurat nå. Prøv igjen senere.\",\"Hesabın kilidini açma şu an mevcut değil. Lütfen daha sonra tekrar dene!\",\"現在、アカウントのアンロックはご利用になれません。また後ほどお試しください！\",\"지금은 잠금을 해제할 수 없습니다. 나중에 다시 시도해주세요!\",\"Разблокировка профиля недоступна. Пожалуйста, попробуй позже!\",\"إلغاء قفل الحساب غير متوفر الآن. من فضلك حاول ثانيةً لاحقًا!\",\"O desbloqueio da conta não está disponível no momento. Tente novamente mais tarde!\",\"暂时无法解锁帐户，请稍后重试！\",\"暫時無法解鎖帳戶，請稍後重試！\",\"بازگشایی قفل حساب اکنون در دسترس نیست. لطفاً بعداً دوباره امتحان کن!\",\"Saat ini tidak ada pembukaan kunci akun. Coba lagi nanti.\",\"Buka kunci akaun tidak tersedia buat sementara waktu. Sila cuba lagi kemudian!\"\n\"TID_ERROR_POP_UP_UNLOCK_UNAVAILABLE_BUTTON\",\"Try again\",\"Réessayer\",\"Erneut versuchen\",\"Reintentar\",\"Riprova\",\"Probeer het opnieuw\",\"Prøv igjen\",\"Tekrar dene\",\"もう一度試す\",\"다시 시도\",\"Попробуй снова\",\"حاول ثانيةً\",\"Tentar novamente\",\"重试\",\"重試\",\"دوباره امتحان کن\",\"Coba lagi\",\"Cuba lagi\"\n\"TID_NATIVE_DIALOG_VERSION_NOT_UP_TO_DATE_STORE_NOT_READY_TITLE\",\"Updating to new version\",\"Mise à jour du jeu\",\"Auf neue Version aktualisieren\",\"Actualización en proceso\",\"Aggiornamento alla nuova versione\",\"Updaten naar nieuwe versie\",\"Oppdaterer til ny versjon\",\"Yeni sürüme geçiliyor\",\"新バージョンにアップデート中\",\"새 버전으로 업데이트 중\",\"Обновление до новой версии\",\"التحديث إلى إصدار جديد\",\"Atualizando para a nova versão\",\"正在更新\",\"正在更新\",\"در حال به​روزرسانی به نسخه جدید\",\"Memperbarui ke versi baru\",\"Mengemas kini ke versi baharu\"\n\"TID_NATIVE_DIALOG_VERSION_NOT_UP_TO_DATE_STORE_NOT_READY_MESSAGE\",\"We are updating to a new version of Clash Royale. Please check back in a short while!\",\"Nous procédons à une mise à jour de Clash Royale. Revenez dans un petit instant !\",\"Wir aktualisieren Clash Royale auf eine neue Version. Bitte schau in ein paar Minuten wieder vorbei!\",\"Estamos actualizando a la nueva versión de Clash Royale. ¡Vuelve en un rato!\",\"È in corso l'aggiornamento a una nuova versione di Clash Royale. Torna tra poco!\",\"We updaten het spel naar een nieuwe versie van Clash Royale. Kom snel weer kijken!\",\"Vi oppdaterer til en ny versjon av Clash Royale. Kom tilbake om en liten stund!\",\"Clash Royale'ı yeni bir sürüme geçiriyoruz. Lütfen kısa süre sonra tekrar göz at!\",\"現在、クラッシュ・ロワイヤルを新バージョンにアップデート中です。また後ほどご確認ください！\",\"클래시 로얄을 새 버전으로 업데이트하고 있습니다. 잠시 후 다시 확인해주세요!\",\"Мы обновляем Clash Royale. Пожалуйста, зайдите чуть позже!\",\"نحن نقوم بالتحديث إلى إصدار جديد من Clash Royale. يُرجى إعادة التحقق بعد قليل!\",\"Estamos atualizando para uma nova versão do Clash Royale. Verifique novamente daqui a pouco!\",\"《部落冲突:皇室战争》正在更新。请稍后重新尝试进入游戏！\",\"《部落衝突:皇室戰爭》正在更新。請稍後重新嘗試進入遊戲！\",\"ما در حال به​روزرسانی نسخه جدید Clash Royale هستیم. لطفاً پس از مدتی کوتاهی دوباره بررسی کن!\",\"Kami sedang memperbarui ke versi baru Clash Royale. Periksalah beberapa saat lagi!\",\"Kami sedang mengemas kini ke versi baharu Clash Royale. Sila semak semula sebentar lagi!\"\n\"TID_NATIVE_DIALOG_VERSION_NOT_UP_TO_DATE_STORE_NOT_READY_BUTTON\",\"Ok\",\"OK\",\"O. K.\",\"Vale\",\"OK\",\"Oké\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"ОК\",\"حسنًا\",\"Ok\",\"确定\",\"確定\",\"خوب\",\"Oke\",\"Ok\"\n\"TID_DONATE_ERROR_NOT_ENOUGH_REQUEST_CAPACITY\",\"Request doesn't have enough space\",\"Espace insuffisant pour répondre à la demande\",\"Nicht genug Platz für Anfrage\",\"No hay suficiente espacio para la solicitud.\",\"La richiesta non ha spazio a sufficienza\",\"Er is te weinig ruimte voor het verzoek\",\"Forespørselen har ikke nok plass\",\"İstek yeterli alana sahip değil\",\"リクエストに必要な空きがありません\",\"공간이 부족해 요청을 실행할 수 없습니다\",\"Недостаточно места для запроса\",\"الطلب ليس به مساحة كافية\",\"Espaço insuficiente para solicitação\",\"请求空间不足\",\"請求空間不足\",\"درخواست فضای کافی نداره\",\"Tidak cukup tempat untuk permintaan\",\"Permintaan tidak mempunyai ruang yang mencukupi\"\n\"TID_REPORT_PLAYER_BUTTON\",\"Report\",\"Signaler\",\"Melden\",\"Denunciar\",\"Segnala\",\"Rapporteren\",\"Rapporter\",\"Bildir\",\"報告する\",\"신고\",\"Пожаловаться\",\"إبلاغ\",\"Denunciar\",\"举报\",\"檢舉\",\"گزارش\",\"Laporkan\",\"Laporan\"\n\"TID_MUTE_PLAYER_BUTTON\",\"Mute\",\"Muet\",\"Stumm\",\"Silenciar\",\"Zittisci\",\"Uitsluiten\",\"Demp\",\"Sustur\",\"ミュート\",\"차단\",\"Заглушить\",\"كتم الصوت\",\"Silenciar\",\"屏蔽\",\"禁言\",\"بیصدا\",\"Bisukan\",\"Bisu\"\n\"TID_MUTED_TAUNT\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\",\"...\"\n\"TID_INVITE_BUTTON\",\"Invite\",\"Inviter\",\"Einladen\",\"Invitar\",\"Invita\",\"Uitnodigen\",\"Inviter\",\"Davet Et\",\"招待\",\"초대\",\"Пригласить\",\"دعوة\",\"Convidar\",\"邀请\",\"邀請\",\"دعوت کردن\",\"Undang\",\"Jemput\"\n\"TID_SPECTATE_PLAYER_BUTTON\",\"Spectate\",\"Regarder\",\"Zuschauen\",\"Ver\",\"Assisti\",\"Kijken\",\"Se på\",\"İzle\",\"観戦\",\"관전하기\",\"Наблюдать\",\"مشاهدة\",\"Assistir\",\"观战\",\"觀戰\",\"تماشا\",\"Tonton\",\"Tonton\"\n\"TID_ALLIANCE_PROMOTE_BUTTON\",\"Promote to <role>\",\"Promouvoir au rang de <role>\",\"Befördern zu: <role>\",\"Ascender a <role>\",\"Promuovi a <role>\",\"Promoveren naar <role>\",\"Forfrem til <role>\",\"<role> rütbesine terfi ettir\",\"<role>に昇格\",\"<role> 지위로 승급\",\"Повысить до: <role>\",\"رفع الرتبة إلى <role>\",\"Promover a <role>\",\"晋升为<role>\",\"晉升為<role>\",\"ارتقای رتبه به <role>\",\"Promosikan menjadi <role>\",\"Naikkan pangkat ke <role>\"\n\"TID_ALLIANCE_DEMOTE_BUTTON\",\"Demote to <role>\",\"Rétrograder au rang de <role>\",\"Degradieren zu: <role>\",\"Degradar a <role>\",\"Retrocedi a <role>\",\"Degraderen naar <role>\",\"Degrader til <role>\",\"<role> rütbesine indir\",\"<role>に降格\",\"<role> 지위로 강등\",\"Понизить до: <role>\",\"تخفيض الرتبة إلى <role>\",\"Rebaixar a <role>\",\"降职为<role>\",\"降職為<role>\",\"تنزل رتبه به <role>\",\"Turunkan menjadi <role>\",\"Turunkan pangkat ke <role>\"\n\"TID_DEMOTE_CONFIRMATION_TITLE\",\"Demote\",\"Rétrograder\",\"Degradieren\",\"Degradar\",\"Retrocedi\",\"Degraderen\",\"Degrader\",\"Rütbesini İndir\",\"降格\",\"강등\",\"Понизить\",\"تخفيض الرتبة\",\"Rebaixar\",\"降职\",\"降職\",\"تنزل رتبه\",\"Turunkan\",\"Turunkan Pangkat\"\n\"TID_DEMOTE_CONFIRMATION\",\"Demote <name>?\",\"Rétrograder <name> ?\",\"<name> degradieren?\",\"¿Quieres degradar a <name>?\",\"Retrocedere <name>?\",\"<name> degraderen?\",\"Degradere <name>?\",\"<name> kişisinin rütbesini indirecek misin?\",\"<name>を降格しますか？\",\"<name> 님을 강등시키겠습니까?\",\"Понизить игрока <name>?\",\"تخفيض رتبة <name>؟\",\"Rebaixar <name>?\",\"要降职<name>吗？\",\"要降職<name>嗎？\",\"رتبه <name> تنزل یابد؟\",\"Turunkan <name>?\",\"Turunkan pangkat <name>?\"\n\"TID_PROMOTE_LEADER_CONFIRMATION_TITLE\",\"Step Down?\",\"Se désister ?\",\"Zurücktreten?\",\"Renunciar al puesto\",\"Vuoi fare un passo indietro?\",\"Aftreden?\",\"Gå av?\",\"Çekilecek misin?\",\"辞任しますか？\",\"사퇴하시겠습니까?\",\"Уступить другому?\",\"هل تريد الانسحاب؟\",\"Abdicar?\",\"确定让位吗？\",\"確定讓位嗎？\",\"کناره می​گیرد؟\",\"Mundur?\",\"Serah Kalah?\"\n\"TID_PROMOTE_LEADER_CONFIRMATION\",\"Make <name> the new Clan Leader?\",\"Faire de <name> le nouveau chef du clan ?\",\"<name> zum neuen Clanführer machen?\",\"¿Quieres nombrar a <name> nuevo líder del clan?\",\"Vuoi nominare <name> nuovo Capo del clan?\",\"<name> tot nieuwe clanleider benoemen?\",\"Gjøre <name> til ny klanleder?\",\"<name> yeni Klan Lideri olsun mu?\",\"<name>を新しいクランリーダーにしますか？\",\"<name> 님을 새 클랜 대표로 지정하시겠습니까?\",\"Сделать <name> главой клана?\",\"اجعل <name> قائد القبيلة الجديد؟\",\"Promover <name> a líder do clã?\",\"要将<name>晋升为新的部落首领吗？\",\"要將<name>晉升為新的部落首領嗎？\",\"<name> رهبر جدید گروه شود؟\",\"Jadikan <name> Pemimpin Klan baru?\",\"Buatkan <name> Ketua Klan baharu?\"\n\"TID_PROMOTE_CONFIRMATION_TITLE\",\"Promote\",\"Promouvoir\",\"Befördern\",\"Ascender\",\"Promuovi\",\"Promoveren\",\"Forfrem\",\"Terfi Ettir\",\"昇格\",\"승급\",\"Повысить\",\"رفع الرتبة\",\"Promover\",\"晋升\",\"晉升\",\"ارتقا رتبه\",\"Promosikan\",\"Naikkan Pangkat\"\n\"TID_PROMOTE_CONFIRMATION\",\"Promote <name>?\",\"Promouvoir <name> ?\",\"<name> befördern?\",\"¿Quieres ascender a <name>?\",\"Promuovere <name>?\",\"<name> promoveren?\",\"Forfremme <name>?\",\"<name> kişisini terfi ettirecek misin?\",\"<name>を昇格しますか？\",\"<name> 님을 승급시키겠습니까?\",\"Повысить игрока <name>?\",\"رفع رتبة <name>؟\",\"Promover <name>?\",\"要晋升<name>吗？\",\"要晉升<name>嗎？\",\"رتبه <name> ارتقا داده شود؟\",\"Promosikan <name>?\",\"Naikkan pangkat <name>?\"\n\"TID_TITLE_SHARE_REPLAY\",\"Share Replay\",\"Partager la vidéo\",\"Wiederholung teilen\",\"Compartir repetición\",\"Condividi replay\",\"Herhaling delen\",\"Del reprise\",\"Oyun Tekrarını Paylaş\",\"リプレイを共有\",\"리플레이 공유\",\"Поделиться повтором\",\"مشاركة إعادة العرض\",\"Compartilhar replay\",\"分享回放\",\"分享重播\",\"اشتراک‌گذاری بازپخش\",\"Bagikan Tayangan Ulang\",\"Kongsi Main Semula\"\n\"TID_INFO_SERVER_ERROR_TITLE\",\"Server Error\",\"Erreur du serveur\",\"Serverfehler\",\"Error en el servidor\",\"Errore del server\",\"Serverfout\",\"Serverfeil\",\"Sunucu Hatası\",\"サーバーエラー\",\"서버 오류\",\"Ошибка сервера\",\"خطأ في الخادم\",\"Erro de servidor\",\"服务器错误\",\"伺服器錯誤\",\"خطای سرور\",\"Kesalahan Server\",\"Ralat Pelayan\"\n\"TID_INFO_SERVER_ERROR\",\"Something unexpected happen.\",\"Il s'est passé quelque chose d'inattendu.\",\"Etwas Unerwartetes ist geschehen.\",\"Se ha producido un error inesperado.\",\"Si è verificato un errore non previsto.\",\"Er is iets onverwachts gebeurd.\",\"Det skjedde noe uventet.\",\"Beklenmeyen bir hata oluştu.\",\"予期せぬエラーが発生しました。\",\"예기치 못한 상황이 발생했습니다.\",\"Что-то пошло не так.\",\"حدث شيء غير متوقع.\",\"Ocorreu algo inesperado.\",\"出现意外错误。\",\"出現意外錯誤。\",\"مورد غیرمنتظره‌ای اتفاق افتاد.\",\"Hal yang tidak diduga terjadi.\",\"Sesuatu tidak dijangka berlaku.\"\n\"TID_INFO_SERVER_ERROR_BUTTON\",\"Reload\",\"Recharger\",\"Neu laden\",\"Recargar\",\"Ricarica\",\"Herladen\",\"Last inn på nytt\",\"Yeniden yükle\",\"リロード\",\"다시 불러오기\",\"Перезапустить\",\"إعادة التحميل\",\"Recarregar\",\"重新加载\",\"重新載入\",\"بارگیری مجدد\",\"Muat ulang\",\"Muat semula\"\n\"TID_ALLIANCE_ROYALTV_ADDED\",\"A Clanmate's battle is now featured on TV Royale! (Arena <ARENA>)\",\"Le combat d'un membre du clan est disponible sur TV Royale ! (Arène <ARENA>)\",\"Der Kampf eines Clanmitglieds ist jetzt auf TV Royale zu sehen! (Arena <ARENA>)\",\"¡Se está retransmitiendo la batalla de un aliado en TV Royale! (Arena <ARENA>)\",\"Su TV Royale mostrano la battaglia di un membro del clan! (Arena <ARENA>)\",\"Een gevecht van een clangenoot is nu te zien op TV Royale! (Arena <ARENA>)\",\"Kampen til en klanvenn vises nå på TV Royale! (Arena <ARENA>)\",\"Bir Klan Arkadaşının savaşı şimdi TV Royale'de! (<ARENA>)\",\"クランメンバーのバトルがクラロワTVに掲載されました！（アリーナ<ARENA>）\",\"클랜원의 전투가 로얄 TV에 올라왔습니다! (아레나<ARENA>)\",\"Сражение соклановца попало на TV Royale! (Арена «<ARENA>»)\",\"يعرض TV Royale الآن معركة لأحد زملاء القبيلة! (ساحة <ARENA>)\",\"A batalha de um colega de clã está na TV Royale! (Arena <ARENA>)\",\"有一名部落成员的对战入选了皇室TV！(<ARENA>竞技场)\",\"有一名部落成員的對戰入選了皇室TV！(<ARENA>競技場)\",\"نبرد یک هم قبیله‌ای الآن روی TV Royale پخش زنده میشه! (میدان نبرد <ARENA>)\",\"Pertempuran Rekan Klan kini ditampilkan di TV Royale! (Arena <ARENA>)\",\"Pertempuran Rakan Klan kini dipaparkan pada TV Diraja! (Arena <ARENA>)\"\n\"TID_HINT_CHEST_BASICS5\",\"Crown Chests and Free Chests are based on your current Arena.\",\"Les coffres à couronne et les coffres gratuits dépendent de votre arène actuelle.\",\"Kronentruhen und Gratistruhen basieren auf deiner aktuellen Arena.\",\"Los cofres de coronas y los cofres gratis se otorgan en función de la arena en la que te encuentras.\",\"I bauli della corona e i bauli omaggio dipendono dalla tua arena attuale.\",\"Kroonkisten en gratis kisten zijn gebaseerd op je huidige arena.\",\"Kronekister og gratiskister er basert på din nåværende arena.\",\"Taç Sandıkları ve Ücretsiz Sandıklar şu anki Arenana göre belirlenir.\",\"クラウン宝箱とおまけの宝箱の中身は\\n現在のアリーナによって異なります。\",\"크라운 상자와 보너스 상자의 내용물은 현재 위치한 아레나에 따라 달라집니다.\",\"Королевские и бесплатные сундуки находятся на арене.\",\"صناديق التاج والصناديق المجانية تعتمد على ساحتك الحالية.\",\"Baús da coroa e baús grátis são baseados em sua arena atual.\",\"皇冠宝箱和免费宝箱取决于您的当前竞技场等级。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"皇冠寶箱和免費寶箱取決於您的當前競技場等級。\",\"صندوق‌های تاج و صندوق‌های رایگان روی میدان نبردی فعلی قرار دارن.\",\"Peti Mahkota dan Peti Gratis ditentukan berdasarkan Arenamu saat ini.\",\"Peti Mahkota dan Peti Percuma adalah berdasarkan Arena terkini anda.\"\n\"TID_HINT_FRIENDLY_BATTLES1\",\"During a Friendly Battle or Tournament, Sudden Death lasts for 3 minutes to minimize draws.\",\"Au cours d'un combat amical ou d'un tournoi, la mort subite dure 3 minutes pour limiter les égalités.\",\"Während eines Testspiels oder Turniers währt der Kronen-K.-o. 3 Minuten, um Unentschieden zu vermeiden.\",\"Durante las batallas amistosas o los torneos, la muerte súbita dura 3 minutos para reducir la posibilidad de empate.\",\"Durante un'amichevole o un torneo, la sudden death dura 3 minuti per ridurre al minimo i pareggi.\",\"Tijdens een vriendelijk gevecht of toernooi duurt een sudden death 3 minuten, om de kans op een gelijkspel te minimaliseren.\",\"I vennskapskamper eller -turneringer varer sudden death i tre minutter for å redusere antallet uavgjorte kamper.\",\"Ani Ölüm, Dostluk Savaşı ya da Turnuva sırasında berabere kalmayı en aza indirmek için 3 dakika sürer.\",\"フレンドバトルや大会においては、引き分けを最小限にとどめるため、サドンデスの時間が3分になります。\",\"친선전이나 토너먼트에서는 무승부를 최소화 하기 위해 연장전이 3분 간 지속됩니다.\",\"Во время дружеских боев или турниров, внезапная смерть длится 3 минуты, чтобы ничьих было меньше.\",\"أثناء المعركة الودية أو البطولة، تدوم المهلة الحاسمة لمدة 3 دقائق لتقليل التعادلات إلى الحد الأدنى.\",\"Em uma batalha amistosa ou torneio, a morte súbita dura até 3 minutos a fim de minimizar empates.\",\"在友谊战和锦标赛中，加时赛时长为3分钟，以尽量避免平局。\",\"在友誼戰和聯賽中，加時賽時長為3分鐘，以儘量避免平局。\",\"در طول یک نبرد یا مسابقه دوستانه، مرگ ناگهانی 3 دقیقه طول می‌کشه تا حالت تساوی به حداقل برسه.\",\"Selama Pertempuran Persahabatan atau Turnamen, Fase Penentuan berlangsung selama 3 menit untuk meminimalkan peluang seri.\",\"Sewaktu Pertempuran atau Pertandingan Persahabatan, Kalah Mati bertahan selama 3 minit untuk meminimumkan seri.\"\n\"TID_HINT_FRIENDLY_BATTLES2\",\"During a Friendly Battle, both players' cards are leveled up to the \\qTournament Rules\\q for an even playing field.\",\"Au cours d'un combat amical, les cartes des deux joueurs sont mises au niveau du \\qRèglement des tournois\\q pour que le combat soit équilibré.\",\"Während eines Testspiels werden die Karten aller Spieler auf das Level der Turnierregeln gebracht, um für Chancengleichheit zu sorgen.\",\"Durante las batallas amistosas, las cartas de ambos jugadores se suben al nivel de las \\qreglas del torneo\\q para que la competición sea lo más justa posible.\",\"Nelle amichevoli le carte di entrambi i giocatori sono impostate al livello delle \\qregole da torneo\\q per assicurare uno scontro ad armi pari.\",\"Tijdens een vriendelijk gevecht worden de levels van de kaarten van beide spelers aangepast volgens de 'toernooiregels', zodat de wedstrijd eerlijk is.\",\"For å gjøre vennskapskampene rettferdige økes nivået på begge spillernes kort til nivået som gjelder for \\qturneringsreglene\\q.\",\"Dostluk Savaşı sırasında her iki oyuncunun kartları, daha adil bir oyun olması için \\qTurnuva Kurallarına\\q göre aynı seviyeye getirilir.\",\"フレンドバトルでは公平性を期すため、双方のプレイヤーのカードが\\q大会ルール\\qで規定されたレベルまでアップします！\",\"친선전에서는 공정한 플레이를 위해 양쪽 플레이어의 카드가 \\q토너먼트 규칙\\q에 맞춰 레벨 업됩니다.\",\"Во время дружеских боев карты обоих игроков переходят на «турнирный» уровень, чтобы все было честно.\",\"في أثناء المعركة الودية، تتم ترقية مستوى بطاقات كلا اللاعبين طبقًا \\qلقواعد البطولة\\q لتحقيق مجال لعب متكافئ.\",\"Em uma batalha amistosa, as cartas dos dois jogadores são ajustadas de acordo com as \\qRegras do Torneio\\q para garantir um jogo justo.\",\"在友谊战中，对战双方的卡牌都将调整至\\q锦标赛规则\\q等级，使得对战相对公平和精彩！\",\"在友誼戰中，對戰雙方的卡牌都將調整至\\q聯賽規則\\q等級，使得對戰相對公平和精彩！\",\"در طول یک نبرد دوستانه، برای یک بازی عادلانه، کارت‌های هر دو بازیکن در سطح \\qقوانین مسابقه\\q سطح بندی میشن.\",\"Selama Pertempuran Persahabatan, kartu kedua pemain naik level ke \\qAturan Turnamen\\q agar adil.\",\"Semasa Pertempuran Persahabatan, kad kedua-dua pemain dinaikkan tahap mengikut \\qPeraturan Pertandingan\\q untuk medan permainan adil.\"\n\"TID_HINT_FRIENDLY_BATTLES3\",\"Friendly Battles are played using \\qFriendly Rules\\q.\",\"Les combats amicaux se déroulent selon le \\qrèglement amical\\q.\",\"Testspiele werden nach \\qTestspielregeln\\q gespielt.\",\"Las batallas amistosas se juegan con las \\qreglas amistosas\\q.\",\"Le amichevoli vengono giocate utilizzando le \\qregole da amichevole\\q.\",\"Vriendelijke gevechten worden volgens de 'vriendelijke regels' gespeeld.\",\"Vennskapskamper spilles med \\qvennskapsreglene\\q.\",\"Dostluk Savaşları \\qDostane Kurallara\\q göre oynanır.\",\"フレンドバトルは\\qフレンドルール\\qに基づいて行われます。\",\"친선전은 \\q친선 규칙\\q으로 진행됩니다.\",\"Дружеские бои проходят по \\qдружеским\\q правилам.\",\"يتم لعب المعارك الودية وفقًا \\qللقواعد الودية\\q.\",\"As batalhas amistosas são jogadas segundo as \\qRegras Amistosas\\q.\",\"友谊战采用\\q友谊战规则\\q。\",\"友誼戰採用\\q友誼戰規則\\q。\",\"نبردهای دوستانه با استفاده از \\qقوانین دوستانه\\q بازی میشن.\",\"Pertempuran Persahabatan dimainkan menggunakan \\qAturan Persahabatan\\q.\",\"Pertempuran Persahabatan dimainkan menggunakan \\qPeraturan Persahabatan\\q.\"\n\"TID_HINT_FRIENDLY_BATTLES4\",\"During a Friendly Battle, cards in your Battle Deck are leveled up to: Legendary level 1, Epic level 4, Rare level 7, Common level 9.\",\"Pendant un défi amical, vos cartes de combat sont mises aux niveaux suivants : légendaire 1, épique 4, rare 7, commune 9.\",\"Bei einem Testspiel gelten folgende Level für die Karten in deinem Kampfdeck: Legendär - Level 1, Episch - Level 4, Selten - Level 7, Gewöhnlich - Level 9.\",\"Durante las batallas amistosas, las cartas suben de nivel como se indica a continuación: nivel 1 para las legendarias, nivel 4 para las épicas, nivel 7 para las especiales y nivel 9 para las comunes.\",\"Durante un'amichevole, il livello delle carte nel tuo mazzo da battaglia è impostato a: leggendarie livello 1, epiche livello 4, rare livello 7, comuni livello 9.\",\"Tijdens een vriendelijk gevecht stijgen de levels van je gevechtskaarten naar: legendarisch level 1, episch level 4, zeldzaam level 7, gewoon level 9.\",\"I en vennskapskamp justeres kampkortene dine opp til: legendariske - nivå 1, episke - nivå 4, sjeldne - nivå 7, vanlige - nivå 9.\",\"Bir Dostluk Savaşı sırasında Savaş Destendeki kartlar şu seviyelere çıkarılır: Efsanevi 1. seviye, Destansı 4. seviye, Ender 7. seviye, Sıradan 9. seviye.\",\"フレンドバトルでは、バトルデッキのカードレベルが以下のようにアップします： ウルトラレア＝レベル1、スーパーレア＝レベル4、レア＝レベル7、ノーマル＝レベル9\",\"친선전에서는 전투 덱에 있는 카드가 전설 1레벨, 영웅 4레벨, 희귀 7레벨, 일반 9레벨로 상향 조정됩니다.\",\"Во время дружеского боя уровни карт боевой колоды становятся следующими: легендарный уровень 1, эпический уровень 4, редкий уровень 7, обычный уровень 9.\",\"أثناء معركة ودية، تتم ترقية مستوى البطاقات في مجموعة المعركة لديك إلى: أسطورية من المستوى 1، ممتازة من المستوى 4، نادرة من المستوى 7، عادية من المستوى 9.\",\"Em uma batalha amistosa, as cartas do seu deck de batalha são limitadas a: lendárias nível 1, épicas nível 4, raras nível 7, comuns nível 9.\",\"在友谊战中，您出战卡组中的卡牌等级为：传奇卡1级，史诗卡4级，稀有卡7级，普通卡9级。\",\"在友誼戰中，您出戰牌組中的卡牌等級為：傳奇卡1級，史詩卡4級，稀有卡7級，普通卡9級。\",\"در طول یک نبرد دوستانه، کارت‌های داخل دست نبرد در سطوح: سطح افسانه‌ای 1، سطح حماسی 4، سطح کمیاب 7، سطح عادی 9 تقسیم میشن.\",\"Selama Pertempuran Persahabatan, kartu di Dek Tempurmu naik level ke: Legendaris level 1, Epik level 4, Langka level 7, Umum level 9.\",\"Semasa Pertempuran Persahabatan, kad dalam Dek Pertempuran anda dinaikkan tahap ke: Legenda tahap 1, Epik tahap 4, Jarang tahap 7, Biasa tahap 9.\"\n\"TID_HINT_TOURNEY_BATTLES1\",\"During a Tournament or Challenge, both players' cards are leveled down to \\qTournament Rules\\q for a fair game!\",\"Au cours d'un tournoi ou d'un défi, les cartes des deux joueurs sont mises au niveau du \\qrèglement des tournois\\q pour que le combat soit juste.\",\"Während eines Turniers oder einer Herausforderung werden die Karten beider Spieler auf das Level der \\qTurnierregeln\\q reduziert, um für ein faires Spiel zu sorgen!\",\"Durante los torneos o desafíos, las cartas de ambos jugadores bajan a los niveles de las \\qreglas del torneo\\q para que la competición sea justa.\",\"Durante un torneo o una sfida, le carte di entrambi i giocatori sono impostate al livello delle \\qregole da torneo\\q per garantire uno scontro equo.\",\"Tijdens een toernooi of uitdaging dalen de levels van de gevechtskaarten van beide spelers volgens de 'toernooiregels', zodat de wedstrijd eerlijk is.\",\"For å gjøre turneringer og utfordringer rettferdige justeres nivået på begge spillernes kort ned til nivået som gjelder for \\qturneringsreglene\\q.\",\"Bir Turnuva veya Mücadele sırasında her iki oyuncunun kartları, daha adil bir oyun için \\qTurnuva Kurallarına\\q göre aynı seviyeye indirilir!\",\"大会やチャレンジでは公平性を期すため、双方のプレイヤーのカードが\\q大会ルール\\qで規定されたレベルに統一されます！\",\"토너먼트나 도전에서는 공정한 플레이를 위해 양쪽 플레이어의 카드 레벨이 \\q토너먼트 규칙\\q에 맞춰 하향 조정됩니다.\",\"Во время турнира или испытания уровни карт обоих игроков понижаются до \\qправил турнира\\q, чтобы все было честно!\",\"أثناء البطولة أو التحدي، يتم خفض مستوى بطاقات كلا اللاعبين وفقًا \\qلقواعد البطولة\\q لتحقيق مناخ لعب متكافئ!\",\"Em um torneio ou desafio, as cartas dos dois jogadores são ajustadas de acordo com as \\qRegras do Torneio\\q para garantir um jogo justo.\",\"锦标赛和挑战采用\\q锦标赛规则\\q，设置了卡牌等级上限和皇家塔等级上限，使得对战相对公平。\",\"聯賽和挑戰採用\\q聯賽規則\\q，設定了卡牌等級上限和皇家塔等級上限，使得對戰相對公平。\",\"در طول یک مسابقه یا مبارزه طلبی، برای یک بازی عادلانه، کارت‌های هر دو بازیکن در \\qقوانین مسابقه\\q به پایین سطح بندی میشن.\",\"Selama Turnamen atau Tantangan, kartu kedua pemain turun level ke \\qAturan Turnamen\\q agar adil!\",\"Semasa Pertandingan atau Cabaran, kad kedua-dua pemain diturunkan tahap ke \\qPeraturan Pertandingan\\q untuk permainan adil!\"\n\"TID_HINT_TOURNEY_BATTLES2\",\"During a Tournament or Challenge, cards in your Battle Deck are leveled down to: Legendary level 1, Epic level 4, Rare level 7, Common level 9.\",\"Pendant un tournoi ou un défi, vos cartes de combat sont mises aux niveaux suivants : légendaire 1, épique 4, rare 7, commune 9.\",\"Bei einem Turnier oder einer Herausforderung gelten folgende Level für die Karten in deinem Kampfdeck: Legendär - Level 1, Episch - Level 4, Selten - Level 7, Gewöhnlich - Level 9.\",\"Durante los torneos o desafíos, las cartas bajan de nivel como se indica a continuación: nivel 1 para las legendarias, nivel 4 para las épicas, nivel 7 para las especiales y nivel 9 para las comunes.\",\"Durante un torneo o una sfida, il livello delle carte nel tuo mazzo da battaglia è impostato a: leggendarie livello 1, epiche livello 4, rare livello 7, comuni livello 9.\",\"Tijdens een toernooi of uitdaging dalen de levels van je gevechtskaarten naar: legendarisch level 1, episch level 4, zeldzaam level 7, gewoon level 9.\",\"I turneringer og utfordringer justeres kampkortene dine ned til: legendariske - nivå 1, episke - nivå 4, sjeldne - nivå 7, vanlige - nivå 9.\",\"Bir Turnuva ya da Mücadele sırasında Savaş Destendeki kartlar şu seviyelere düşürülür: Efsanevi 1. seviye, Destansı 4. seviye, Ender 7. seviye, Sıradan 9. seviye.\",\"大会やチャレンジでは、バトルデッキのカードレベルが以下のように制限されます： ウルトラレア＝レベル1、スーパーレア＝レベル4、レア＝レベル7、ノーマル＝レベル9\",\"토너먼트나 도전에서는 전투 덱에 있는 카드가 전설 1레벨, 영웅 4레벨, 희귀 7레벨, 일반 9레벨로 하향 조정됩니다.\",\"Во время турнира или испытания уровни карт становятся следующими: легендарный уровень 1, эпический уровень 4, редкий уровень 7, обычный уровень 9.\",\"أثناء بطولة أو تحدي ما، يتم خفض مستوى البطاقات في مجموعة المعركة لديك إلى: أسطورية من المستوى 1، ممتازة من المستوى 4، نادرة من المستوى 7، عادية من المستوى 9.\",\"Em um torneio ou desafio, as cartas do seu deck de batalha são limitadas a: lendárias nível 1, épicas nível 4, raras nível 7, comuns nível 9.\",\"在锦标赛和挑战中，您出战卡组中的卡牌等级上限为：传奇卡1级，史诗卡4级，稀有卡7级，普通卡9级。\",\"在聯賽和挑戰中，您出戰牌組中的卡牌等級上限為：傳奇卡1級，史詩卡4級，稀有卡7級，普通卡9級。\",\"در طول مسابقه یا مبارزه طلبی، کارت‌های داخل دست نبرد در سطوح پایین: سطح افسانه‌ای 1، سطح حماسی 4، سطح کمیاب 7، سطح عادی 9 تقسیم میشن.\",\"Selama Turnamen atau Tantangan, kartu di Dek Tempurmu turun level ke: Legendaris level 1, Epik level 4, Langka level 7, Umum level 9.\",\"Semasa Pertandingan atau Cabaran, kad dalam Dek Pertempuran anda diturunkan tahap ke: Legenda tahap 1, Epik tahap 4, Jarang tahap 7, Biasa tahap 9.\"\n\"TID_VIEW\",\"View\",\"Voir\",\"Ansehen\",\"Ver\",\"Visualizza\",\"Bekijken\",\"Vis\",\"Görüntüle\",\"見る\",\"보기\",\"Просмотр\",\"عرض\",\"Ver\",\"查看\",\"查看\",\"مشاهده\",\"Lihat\",\"Paparan\"\n\"TID_SEASON_RESULTS\",\"Season Results\",\"Résultats de la saison\",\"Saisonresultate\",\"Resultados de temporada\",\"Risultati stagione\",\"Seizoensresultaten\",\"Sesongresultater\",\"Sezon Sonuçları\",\"シーズン成績\",\"시즌 결과\",\"Результаты сезона\",\"نتائج الموسم\",\"Resultados da temporada\",\"赛季成绩\",\"賽季成績\",\"نتایج فصل\",\"Hasil Musim\",\"Keputusan Musim\"\n\"TID_SEASON_RANKING\",\"Season Ranking\",\"Classement de la saison\",\"Saisonrangliste\",\"Clasificación de temporada\",\"Graduatoria stagione\",\"Seizoensklassement\",\"Sesongrangering\",\"Sezon Sıralamaları\",\"シーズンランキング\",\"시즌 랭킹\",\"Ранги сезона\",\"تصنيف الموسم\",\"Ranking da temporada\",\"赛季排名\",\"賽季排名\",\"فصل رتبه‌بندی\",\"Peringkat Musim\",\"Kedudukan Musim\"\n\"TID_FINAL_TROPHY_COUNT\",\"Final Trophy Count\",\"Nombre final de trophées\",\"Endgültige Trophäenanzahl\",\"Recuento final de trofeos\",\"Conteggio trofei finali\",\"Uiteindelijke aantal trofeeën\",\"Endelig troféantall\",\"Son Kupa Sayısı\",\"最終トロフィーカウント\",\"최종 트로피 수\",\"Финальное число трофеев\",\"عدد الكؤوس النهائي\",\"Contagem final de troféus\",\"最终奖杯数\",\"最終獎盃數\",\"تعداد نهایی جام\",\"Jumlah Trofi Akhir\",\"Kiraan Trofi Akhir\"\n\"TID_LEGEND_TROPHIES_GAINED\",\"Legend Trophies Gained\",\"Trophées légendaires obtenus\",\"Erhaltene Legenden-Trophäen\",\"Trofeos de leyenda ganados\",\"Trofei leggenda ottenuti\",\"Verdiende legendarische trofeeën\",\"Legendetrofeer mottatt\",\"Kazanılan Efsane Kupalar\",\"獲得レジェンドトロフィー\",\"획득한 전설 트로피\",\"Получено легендарных трофеев\",\"كؤوس الأسطورة المكتسبة\",\"Troféus lendários obtidos\",\"获得的传奇奖杯\",\"獲得的傳奇獎盃\",\"جام افسانه​ای به دست اومد\",\"Perolehan Trofi Legenda\",\"Trofi Legenda yang Diperoleh\"\n\"TID_PREVIOUS_SEASON_RESULTS\",\"Previous Season Results\",\"Résultats de la saison précédente\",\"Resultate der vorherigen Saison\",\"Resultados de la temporada anterior\",\"Risultati stagione precedente\",\"Resultaten vorige seizoen\",\"Resultater fra forrige sesong\",\"Önceki Sezonun Sonuçları\",\"前シーズン成績\",\"이전 시즌 결과\",\"Результаты прошлого сезона\",\"نتائج الموسم السابق\",\"Resultados da temporada anterior\",\"上一赛季成绩\",\"上一賽季成績\",\"نتایج فصل قبلی\",\"Hasil Musim Sebelumnya\",\"Keputusan Musim Sebelum Ini\"\n\"TID_LEGEND_SEASON_ENDED\",\"League Season Ended\",\"Saison de ligue terminée\",\"Ligasaison beendet\",\"Temporada de liga finalizada\",\"Stagione della lega terminata\",\"Divisieseizoen afgelopen\",\"Ligasesongen er slutt\",\"Lig Sezonu Bitti\",\"リーグシーズンが終了しました\",\"리그 시즌 종료\",\"Сезон лиги закончился\",\"انتهى موسم الدوري\",\"Temporada de ligas encerrada\",\"联赛赛季已结束\",\"聯盟賽賽季已結束\",\"فصل لیگ تموم شد\",\"Musim Liga Berakhir\",\"Musim Liga Tamat\"\n\"TID_LEGENDARY_ARENA_RECORDS\",\"Legendary Arena Records\",\"Records de l'arène légendaire\",\"Legendäre Arenarekorde\",\"Récords de la Arena Legendaria\",\"Record arena leggendaria\",\"Gegevens legendarische arena\",\"Legendarisk arena-rekorder\",\"Efsanevi Arena Rekorları\",\"レジェンドアリーナ記録\",\"전설 아레나 기록\",\"Рекорды Легендарной арены\",\"سجلات الساحة الأسطورية\",\"Registros da Arena Lendária\",\"传奇竞技场纪录\",\"傳奇競技場紀錄\",\"گزارش‌های میدان نبرد افسانه‌ای\",\"Rekor Arena Legendaris\",\"Rekod Arena Legenda\"\n\"TID_LEGEND_TROPHY_TIP\",\"In Leagues, Trophies are reset at the end of each season.\",\"Dans les ligues, les trophées sont réinitialisés au terme de chaque saison.\",\"In Ligen werden die Trophäen am Ende jeder Saison zurückgesetzt.\",\"En las ligas, los trofeos se reiniciarán al final de cada temporada.\",\"Nelle leghe, i trofei vengono riportati a una certa quota al termine di ogni stagione.\",\"In divisies worden de trofeeën aan het einde van elk seizoen teruggezet.\",\"I ligaene tilbakestilles trofeer etter endt sesong.\",\"Liglerde her sezon sonunda kupalar başlangıç sayısına döner.\",\"リーグでは、シーズンごとにトロフィーがリセットされます。\",\"리그에서는 시즌이 끝날 때마다 트로피가 초기화됩니다.\",\"Количество трофеев в лигах сбрасывается в конце каждого сезона.\",\"في بطولات الدوري، تتم إعادة تعيين الكؤوس في نهاية كل موسم.\",\"Nas ligas, o limite de troféus é ajustado no fim de cada temporada.\",\"每个赛季结束时，各个联赛中玩家的奖杯数会重置。\",\"每個賽季結束時，各個聯盟賽中玩家的獎盃數會重置。\",\"در لیگ‌ها، جام‌ها در انتهای هر فصل بازنشانی می‌شن.\",\"Dalam Liga, Trofi diatur ulang pada akhir setiap musim.\",\"Dalam Liga, Trofi ditetapkan semula pada penghujung setiap musim.\"\n\"TID_LEGACY_LEGEND_TROPHY_TIP\",\"Legend Trophies no longer accumulate after each season.\",\"Vous ne pouvez plus cumuler les trophées légendaires d'une saison à l'autre.\",\"Legenden-Trophäen häufen sich nach Saisonende nicht mehr an.\",\"Los trofeos de leyenda no se acumularán tras cada temporada.\",\"I trofei leggenda non si accumulano più dopo ogni stagione.\",\"Legendarische trofeeën worden na elk seizoen niet langer bij elkaar opgeteld.\",\"Legendetrofeer akkumuleres ikke lenger etter hver sesong.\",\"Artık her sezondan sonra Efsane Kupa birikmez.\",\"レジェンドトロフィーは、シーズン終了後に累積しなくなりました。\",\"전설 트로피는 각 시즌이 끝나고 누적되지 않습니다.\",\"Легендарные трофеи больше не накапливаются с каждым сезоном.\",\"لم تعُد الكؤوس الأسطورية تتراكم بعد كل موسم.\",\"Troféus lendários não se acumulam mais após cada temporada.\",\"传奇奖杯现已无法获得。\",\"傳奇獎盃現已無法獲得。\",\"دیگر پس از هر فصل، جام‌های افسانه​ای روی هم انباشته نمی‌شوند.\",\"Trofi Legenda tidak lagi terakumulasi seusai tiap musim.\",\"Trofi Legenda tidak lagi dikumpul selepas setiap musim.\"\n\"TID_LEAGUE_SEASON\",\"League Season\",\"Saison de ligue\",\"Ligasaison\",\"Temporada de liga\",\"Stagione della lega\",\"Divisieseizoen\",\"Ligasesong\",\"Lig Sezonu\",\"リーグシーズン\",\"리그 시즌\",\"Сезон лиги\",\"موسم الدوري\",\"Temporada de ligas\",\"联赛赛季\",\"聯盟賽賽季\",\"فصل لیگ\",\"Musim Liga\",\"Musim Liga\"\n\"TID_CHEST_GIANT\",\"Giant Chest\",\"Coffre géant\",\"Riesentruhe\",\"Cofre gigante\",\"Baule gigante\",\"Reuzenkist\",\"Kjempekiste\",\"Dev Sandık\",\"巨大宝箱\",\"자이언트 상자\",\"Огромный сундук\",\"صندوق عملاق\",\"Baú gigante\",\"巨型宝箱\",\"巨型寶箱\",\"صندوقچه بزرگ\",\"Peti Raksasa\",\"Peti Gergasi\"\n\"TID_CHEST_SUPER\",\"Super Magical Chest\",\"Super coffre magique\",\"Super-Magietruhe\",\"Cofre supermágico\",\"Baule super magico\",\"Supermagische kist\",\"Super magisk kiste\",\"Süper Büyülü Sandık\",\"スーパー魔法の宝箱\",\"슈퍼 마법 상자\",\"Супер-магический сундук\",\"صندوق سحري خارق\",\"Baú supermágico\",\"超级神奇宝箱\",\"超級神奇寶箱\",\"صندوقچه سوپر جادویی\",\"Peti Magis Super\",\"Peti Super Ajaib\"\n\"TID_CHEST_GIANT_NOTIFICATION\",\"Giant Chest unlocked!\",\"Coffre géant débloqué !\",\"Riesentruhe kann geöffnet werden!\",\"¡Cofre gigante desbloqueado!\",\"Baule gigante sbloccato!\",\"Reuzenkist ontgrendeld!\",\"Kjempekiste opplåst!\",\"Dev Sandığın kilidi açıldı!\",\"巨大宝箱がアンロックされました！\",\"자이언트 상자 열림!\",\"Открыт огромный сундук!\",\"تم فتح صندوق عملاق!\",\"Baú gigante aberto!\",\"巨型宝箱已解锁！\",\"巨型寶箱已解鎖！\",\"صندوقچه بزرگ قفل‌گشایی شد!\",\"Peti Raksasa terbuka!\",\"Peti Gergasi dibuka kunci!\"\n\"TID_CHEST_SUPER_NOTIFICATION\",\"Super Magical Chest unlocked!\",\"Super coffre magique débloqué !\",\"Super-Magietruhe kann geöffnet werden!\",\"¡Cofre supermágico desbloqueado!\",\"Baule super magico sbloccato!\",\"Supermagische kist ontgrendeld!\",\"Super magisk kiste låst opp!\",\"Süper Büyülü Sandığın kilidi açıldı!\",\"スーパー魔法の宝箱がアンロックされました！\",\"슈퍼 마법 상자 열림!\",\"Супермагический сундук открыт!\",\"تم فتح صندوق سحري خارق!\",\"Baú super mágico aberto!\",\"超级神奇宝箱已解锁！\",\"超級神奇寶箱已解鎖！\",\"صندوقچه سوپر جادویی قفل‌گشایی شد!\",\"Peti Magis Super terbuka!\",\"Peti Super Ajaib dibuka kunci!\"\n\"TID_CHARACTER_ICE_WIZARD\",\"Ice Wizard\",\"Sorcier de glace\",\"Eismagier\",\"Mago de hielo\",\"Stregone di ghiaccio\",\"IJstovenaar\",\"Is-trollmann\",\"Buz Büyücüsü\",\"アイスウィザード\",\"얼음 마법사\",\"Ледяной колдун\",\"ساحر الثلج\",\"Mago de Gelo\",\"寒冰法师\",\"寒冰法師\",\"جادوگر یخ\",\"Penyihir Es\",\"Ahli Sihir Ais\"\n\"TID_CHARACTER_FLYING_MACHINE\",\"Flying Machine\",\"Machine volante\",\"Flugmaschine\",\"Máquina voladora\",\"Macchina volante\",\"Vliegmachine\",\"Flymaskin\",\"Uçan Makine\",\"ホバリング砲\",\"플라잉 머신\",\"Летучка\",\"آلة طائرة\",\"Máquina Voadora\",\"飞行器\",\"飛行器\",\"ماشین پرنده\",\"Mesin Terbang\",\"Mesin Terbang\"\n\"TID_SPELL_ICE_WIZARD\",\"Ice Wizard\",\"Sorcier de glace\",\"Eismagier\",\"Mago de hielo\",\"Stregone di ghiaccio\",\"IJstovenaar\",\"Is-trollmann\",\"Buz Büyücüsü\",\"アイスウィザード\",\"얼음 마법사\",\"Ледяной колдун\",\"ساحر الثلج\",\"Mago de Gelo\",\"寒冰法师\",\"寒冰法師\",\"جادوگر یخ\",\"Penyihir Es\",\"Ahli Sihir Ais\"\n\"TID_SPELL_INFO_ICE_WIZARD\",\"This chill caster throws ice shards that slow down enemies' movement and attack speed. Despite being freezing cold, he has a handlebar mustache that's too hot for TV.\",\"Ce magicien projette sur les ennemis des éclats de glace qui ralentissent leur vitesse de déplacement et d'attaque. Certes, ça jette un froid, mais il a quand même la moustache en guidon la plus torride du royaume.\",\"Dieser Frostwirker wirft Eissplitter, die die Bewegungs- und Angriffsgeschwindigkeit von Feinden reduzieren. Er ist zwar eiskalt, aber sein Schnurrbart ist total heiß.\",\"Este señor tan frío dispara fragmentos de hielo a sus enemigos y ralentiza su velocidad de movimiento y de ataque. Aunque él sea un témpano de hielo, su bigote hace que suba la temperatura en la arena.\",\"Questo freddo incantatore lancia schegge di ghiaccio ai nemici, rallentandone il movimento e la velocità di attacco. Anche se è gelido come la neve, porta un paio di baffi a manubrio troppo focosi per mostrarli in TV.\",\"Deze ijskoude magiër gooit ijsscherven naar vijanden om hun verplaatsings- en aanvalssnelheid te vertragen. Ondanks het feit dat het een koele kikker is, heeft hij een supersexy krulsnor!\",\"Denne iskalde trollmannen kaster isskår som reduserer hastigheten på fiendens bevegelser og angrep. Selv om han er iskald, har han en snurrebart som er for heit for TV.\",\"Bu soğutma uzmanı, buz parçaları fırlatarak düşman birliklerinin hareket ve saldırı hızlarını yavaşlatır. Karakteri biraz soğuk olsa da şekilli bıyığıyla sosyal ortamları kasıp kavurmayı da bilir.\",\"敵に氷の欠片をあびせて、移動速度や攻撃速度を低下させます。クールな男ですが、「口ひげがセクシーすぎてテレビ出演を断られた」などとホットなうわさが絶えません。\",\"얼음 조각을 던져 적의 이동 속도 및 공격 속도를 느리게 만드는 쌀쌀맞은 마법사입니다. 얼음처럼 냉정하지만, TV에 나오기엔 너무 섹시한 콧수염의 반전 매력이 있습니다.\",\"Аж мурашки по коже! Стреляет во врагов кусочками льда, замедляя скорость передвижения и атаки. Да, он ледяной, но его усы слишком горячи (их едва пропустила цензура).\",\"قاذف الثلج هذا يلقي قطع ثلج تبطئ حركة الأعداء وسرعة هجومهم. ورغم برودته الشديدة إلا أنه لديه شارب جذاب للغاية.\",\"Lança gelo para diminuir a velocidade de movimento e de ataque dos inimigos. A personalidade é gélida, mas o charme do bigode é \\qcaliente\\q!\",\"这位超酷的法师会向敌人发射冰晶，降低他们的移动速度和攻击速度。虽然寒冰法师外表冷酷，但他那迷人的胡子透露出的热情就已经足够让他在皇室TV人气大旺了。\",\"這位超酷的法師會向敵人發射冰晶，降低他們的移動速度和攻擊速度。雖然寒冰法師外表冷酷，但他那迷人的鬍子透露出的熱情就已經足夠讓他在皇室TV人氣大旺了。\",\"این ریخته‌گر سرما، خرده یخ‌هایی رو پرتاپ می‌کنه که حرکت و سرعت حمله دشمنان رو کم می‌کنه. علیرغم اینکه خیلی سرده، یک سبیل چخماقی داره که برای TV خیلی داغه.\",\"Pelempar dingin ini melemparkan keping es yang memperlambat pergerakan dan kecepatan serang musuh. Meski amat dingin, kumis melengkungnya terlalu panas untuk TV.\",\"Penyiar sejuk ini membaling Syard Ais yang memperlahankan pergerakan dan kelajuan serangan musuh. Meskipun sejuk beku, dia mempunyai misai setang yang terlalu hangat untuk TV.\"\n\"TID_NEW_MESSAGES\",\"New Messages\",\"Nouveaux messages\",\"Neue Nachrichten\",\"Mensajes nuevos\",\"Nuovi messaggi\",\"Nieuwe berichten\",\"Nye meldinger\",\"Yeni Mesajlar\",\"新しいメッセージ\",\"새 메시지\",\"Новые сообщения\",\"رسائل جديدة\",\"Novas mensagens\",\"新消息\",\"新消息\",\"پیام‌های جدید\",\"Pesan Baru\",\"Mesej baharu\"\n\"TID_ALLIANCE_MAIL_NOTIFICATION\",\"You have new Clan mail!\",\"Nouveau message de clan !\",\"Du hast neue Clanpost!\",\"¡Tienes un mensaje del clan!\",\"Hai ricevuto nuovi messaggi del clan!\",\"Er is een nieuw bericht van je clan!\",\"Du har fått nye klanmeldinger!\",\"Yeni Klan postan var!\",\"新しいクランメールが届きました！\",\"새 클랜 메일이 왔습니다!\",\"Новое письмо клана!\",\"لديك رسالة جديدة من القبيلة!\",\"Você tem uma nova mensagem do clã!\",\"您有一封新的部落邮件！\",\"您有一封新的部落郵件！\",\"نامه جدید قبیله داری!\",\"Ada satu surat Klan baru!\",\"Mel Klan baharu anda!\"\n\"TID_RANK\",\"Rank\",\"Rang\",\"Rang\",\"Rango\",\"Posizione\",\"Rang\",\"Grad\",\"Derece\",\"ランク\",\"랭킹\",\"Ранг\",\"رتبة\",\"Posição\",\"排名\",\"排名\",\"رتبه\",\"Peringkat\",\"Kedudukan\"\n\"TID_SPELL_INFO_ROYAL_GIANT\",\"Destroying enemy buildings with his massive cannon is his job; making a raggedy blond beard look good is his passion.\",\"Si la destruction des bâtiments ennemis avec son énorme canon est son devoir, sa passion est de dompter sa barbe blonde tout en finesse.\",\"Sein Job ist es, Feindgebäude mit seiner riesigen Kanone zu zerstören. Doch seine Leidenschaft ist es, seinen blonden Zottelbart gut aussehen zu lassen.\",\"Su trabajo consiste en cargarse las estructuras enemigas a cañonazo limpio. Además, tiene una barba rubia que parece sacada de un anuncio de televisión.\",\"Il suo lavoro è distruggere gli edifici nemici con il suo imponente cannone; la sua passione è far sembrare di moda una malconcia barba bionda.\",\"Zijn baan is het verwoesten van vijandelijke gebouwen met zijn reusachtige kanon. Zijn passie is zijn ruige blonde baard tot in de puntjes stylen.\",\"Jobben hans er å ødelegge fiendtlige bygninger med den massive kanonen. Lidenskapen hans er å få et rufsete, lyst skjegg til å se bra ut.\",\"Görevi, dev topuyla düşman binalarını yok etmektir. Tutkusu, kötü görünen sarı sakalları iyi göstermektir.\",\"手に抱えた大砲で、敵の建物をことごとく粉砕します。趣味は自慢のブロンド口ひげの手入れです。\",\"커다란 대포로 상대방 건물을 파괴하는 게 이 친구의 일입니다. 북실북실한 금발 수염이 매력 포인트입니다.\",\"Уничтожение зданий огромной пушкой — его работа. Поддержание светлой бороды в отличном состоянии — его страсть.\",\"وظيفته هي تدمير مباني العدو بمدفعه الهائل، وشغفه هو أن يجعل اللحية الرثة تبدو أنيقة.\",\"Destruir construções inimigas com seu canhão enorme é seu trabalho. Cuidar da barba loura é sua paixão.\",\"用手中的巨型加农炮摧毁敌方建筑是皇家巨人的职责；打理好自己杂乱的金色胡须则是皇家巨人的爱好。\",\"用手中的巨型加農炮摧毀敵方建築是皇家巨人的職責；打理好自己雜亂的金色鬍鬚則是皇家巨人的愛好。\",\"کارش خراب کردن ساختمون‌های دشمن با این توپ عظیمه؛ علاقه داره که یک ریش بلوند ژولیده که به نظر خوب بیاد درست کنه.\",\"Menghancurkan bangunan musuh dengan meriam masif adalah pekerjaannya; membuat jenggot pirang kasar terlihat tampan adalah hobinya.\",\"Memusnahkan bangunan musuh dengan meriam besar-besaran adalah tugasnya; membuatkan jambang perang lusuh kelihatan tampan menjadi minatnya.\"\n\"TID_SPELL_INFO_FLYING_MACHINE\",\"Flying Machine info missing\",\"Machine volante - Infos manquantes\",\"Flugmaschinen-Info fehlt\",\"Falta la información de la máquina voladora.\",\"Info mancanti macchina volante\",\"Info vliegmachine ontbreekt\",\"Mangler info om flygemaskin\",\"Uçan Makinenin bilgisi eksik\",\"ホバリング砲の情報がありません\",\"플라잉 머신 정보 없음\",\"Нет информации летучки\",\"معلومات الآلة الطائرة مفقودة\",\"Falta informação da Máquina Voadora.\",\"暂无飞行器相关介绍\",\"暫無飛行器相關介紹\",\"اطلاعات ماشین پرنده وجود نداره\",\"Info Mesin Terbang tidak ada\",\"Maklumat Mesin Terbang tiada\"\n\"TID_SPELL_ROYAL_GIANT\",\"Royal Giant\",\"Géant royal\",\"Königsriese\",\"Gigante noble\",\"Gigante Royale\",\"Koninklijke reus\",\"Kongelig kjempe\",\"Kraliyet Devi\",\"ロイヤルジャイアント\",\"로얄 자이언트\",\"Королевский гигант\",\"عملاق ملكي\",\"Gigante Real\",\"皇家巨人\",\"皇家巨人\",\"غول سلطنتی\",\"Raksasa Royal\",\"Gergasi Diraja\"\n\"TID_SPELL_FLYING_MACHINE\",\"Flying Machine\",\"Machine volante\",\"Flugmaschine\",\"Máquina voladora\",\"Macchina volante\",\"Vliegmachine\",\"Flymaskin\",\"Uçan Makine\",\"ホバリング砲\",\"플라잉 머신\",\"Летучка\",\"آلة طائرة\",\"Máquina Voadora\",\"飞行器\",\"飛行器\",\"ماشین پرنده\",\"Mesin Terbang\",\"Mesin Terbang\"\n\"TID_SPELL_DARK_PRINCE\",\"Dark Prince\",\"Prince ténébreux\",\"Dunkler Prinz\",\"Príncipe oscuro\",\"Principe nero\",\"Duistere prins\",\"Den mørke prinsen\",\"Kara Prens\",\"ダークプリンス\",\"다크 프린스\",\"Темный принц\",\"أمير الظلام\",\"Príncipe das Trevas\",\"黑暗王子\",\"黑暗王子\",\"شاهزاده سیاه\",\"Pangeran Hitam\",\"Putera Kejahatan\"\n\"TID_SPELL_INFO_DARK_PRINCE\",\"The Dark Prince deals area damage and lets his spiked club do the talking for him - because when he does talk, it sounds like he has a bucket on his head.\",\"Le prince ténébreux inflige des dégâts de zone et laisse son gourdin à pointes s'exprimer à sa place... parce que quand il parle, on a l'impression qu'il a un seau sur la tête.\",\"Der dunkle Prinz teilt Flächenschaden aus und lässt seine mit Spitzen versehene Keule für sich sprechen - denn wenn er selbst das Wort ergreift, klingt es, als hätte er einen Eimer auf dem Kopf.\",\"El príncipe oscuro inflige daño de área y deja que su maza de púas hable por él. Mejor así, porque cuando abre la boca, suena como si tuviera un cubo en la cabeza. Literalmente.\",\"Il principe nero infligge danno ad area e lascia che la sua mazza ferrata parli per lui; anche perché, quando è lui a parlare, sembra che abbia un secchio in testa.\",\"De duistere prins veroorzaakt gebiedsschade en laat zijn knots met punten het woord doen. Want als hij zelf praat, klinkt het alsof hij een emmer op z'n kop heeft.\",\"Den mørke prinsen påfører områdeskade og lar den piggete klubben snakke for seg. For når han faktisk åpner munnen og sier noe, høres det ut som om han har en bøtte på hodet.\",\"Kara Prens, alan hasarı verip dikenli sopasının onun adına konuşmasını sağlar. Çünkü kendisi konuştuğunda sesi kafasında bir kova varmış gibi çıkar.\",\"ダークプリンスは範囲ダメージを与え、トゲ付き棍棒にものを言わせて攻撃してきます。自分でしゃべると、バケツをかぶって話しているように聞こえるからです。\",\"범위 공격을 하는 다크 프린스는 말 대신 가시 달린 몽둥이로 의사를 표현합니다. 다크 프린스가 입을 열면 양동이를 쓰고 말하는 것 같기 때문이죠.\",\"Темный принц наносит урон по области, позволяя копью говорить за себя. Потому что когда говорит он сам, это звучит так, будто у него ведро на голове.\",\"يسبب أمير الظلام ضررًا في المنطقة ويدع هراوته المدببة تتحدث نيابةً عنه - لأنه عندما يتحدث، يبدو وكأن هناك دلو على رأسه.\",\"O Príncipe das Trevas causa dano em área e deixa seu amigo espinhento resolver tudo, porque, quando ele fala, parece ter um balde na cabeça.\",\"黑暗王子可以造成范围伤害，他用狼牙棒为自己代言 — 因为当他说话时，听起来就像头上罩了个水桶。\",\"黑暗王子可以造成範圍傷害，他用狼牙棒為自己代言 — 因為當他說話時，聽起來就像頭上罩了個水桶。\",\"شاهزاده سیاه به ناحیه آسیب وارد می‌کنه و میذاره گرزش به جای خودش حرف بزنه - چون وقتی صحبت می‌کنه، صداش شبیه کسایی هست که یک سطل روی سرشون گذاشتن.\",\"Pangeran Hitam menimbulkan kerusakan area dan membiarkan pentung berdurinya berbicara - karena jika dia yang berbicara, suaranya seperti sedang memakai ember di kepala.\",\"Putera Kegelapan menyebabkan kerosakan kawasan dan membiarkan kayu pepakunya menyampaikan kata-katanya - kerana apabila dia bercakap, bunyinya seperti terdapat baldi di atas kepalanya.\"\n\"TID_NOT_IN_USE\",\"NOT IN USE!\",\"NON UTILISÉ(E) !\",\"WIRD NICHT VERWENDET.\",\"SIN USAR\",\"NOT IN USE!\",\"NIET GEBRUIKT!\",\"IKKE I BRUK\",\"KULLANILMIYOR!\",\"使用されていません！\",\"사용하지 않음!\",\"НЕ ИСПОЛЬЗУЕТСЯ!\",\"غير مستخدم!\",\"FORA DE USO!\",\"未使用！\",\"未使用！\",\"در حال استفاده نیست!\",\"TIDAK DIGUNAKAN!\",\"TIDAK DIGUNAKAN!\"\n\"TID_ADDITIONAL_GEM_TOOLTIP_FOR_JAPAN\",\"Paid Gems: <PAID_GEMS>\\nFree Gems: <FREE_GEMS>\\nTotal: <TOTAL_GEMS>\",\"Gemmes payantes : <PAID_GEMS>\\nGemmes gratuites : <FREE_GEMS>\\nTotal : <TOTAL_GEMS>\",\"Bezahlte Juwelen: <PAID_GEMS>\\nGratisjuwelen: <FREE_GEMS>\\nGesamt: <TOTAL_GEMS>\",\"Gemas de pago: <PAID_GEMS>\\nGemas gratis: <FREE_GEMS>\\nTotal: <TOTAL_GEMS>\",\"Gemme pagate: <PAID_GEMS>\\nGemme gratuite: <FREE_GEMS>\\nTotale: <TOTAL_GEMS>\",\"Betaalde edelstenen: <PAID_GEMS>\\nGratis edelstenen: <FREE_GEMS>\\nTotaal: <TOTAL_GEMS>\",\"Kjøpte juveler: <PAID_GEMS>\\nGratis juveler: <FREE_GEMS>\\nTotalt: <TOTAL_GEMS>\",\"Ödenen Taşlar: <PAID_GEMS>\\nÜcretsiz Taş: <FREE_GEMS>\\nToplam: <TOTAL_GEMS>\",\"払ったエメラルド：<PAID_GEMS>\\n無料のエメラルド：<FREE_GEMS>\\n総計：<TOTAL_GEMS>\",\"구매한 보석: <PAID_GEMS>\\n무료 보석: <FREE_GEMS>\\n합계: <TOTAL_GEMS>\",\"Платные кристаллы: <PAID_GEMS>\\nБесплатные кристаллы: <FREE_GEMS>\\nВсего: <TOTAL_GEMS>\",\"جواهر مدفوعة: <PAID_GEMS>\\nجواهر مجانية: <FREE_GEMS>\\nالإجمالي: <TOTAL_GEMS>\",\"Gemas pagas: <PAID_GEMS>\\nGemas grátis: <FREE_GEMS>\\nTotal: <TOTAL_GEMS>\",\"购买的宝石：<PAID_GEMS>\\n免费宝石：<FREE_GEMS>\\n总计：<TOTAL_GEMS>\",\"購買的寶石：<PAID_GEMS>\\n免費寶石：<FREE_GEMS>\\n總計：<TOTAL_GEMS>\",\"جواهرات پرداخت شده: <PAID_GEMS>\\nجواهرات رایگان: <FREE_GEMS>\\nمجموع: <TOTAL_GEMS>\",\"Permata Dibeli: <PAID_GEMS>\\nPermata Gratis: <FREE_GEMS>\\nTotal: <TOTAL_GEMS>\",\"Permata yang Dibayar: <PAID_GEMS>\\nPermata Percuma: <FREE_GEMS>\\nJumlah: <TOTAL_GEMS>\"\n\"TID_AVATAR_MESSAGE_SENDER_PLAYER_SUPPORT\",\"Player Support\",\"Service d'assistance\",\"Spielersupport\",\"Asistencia al jugador\",\"Assistenza giocatore\",\"Spelersondersteuning\",\"Spillerstøtte\",\"Oyuncu Desteği\",\"プレイヤーサポート\",\"고객 지원\",\"Поддержка\",\"دعم اللاعب\",\"Suporte ao jogador\",\"玩家支持\",\"玩家支援\",\"پشتیبانی از بازیکن\",\"Dukungan Pemain\",\"Sokongan Pemain\"\n\"TID_AVATAR_MESSAGE_TEXT_GEM_REVOKE\",\"A refund was requested for this account and it has been approved on <refundDate>. The refund will be made to the form of payment used when the order was made.\\n\\nA total of <totalRevokedGems> gems have been deducted from your account, to match the value of your refund. This may result in a negative gem balance. A positive balance can be restored by making additional orders and collecting resources in-game.\",\"Un remboursement demandé pour ce compte a été autorisé le <refundDate>. Le remboursement sera effectué via la méthode de paiement utilisée lors de l'achat.\\n\\nAu total, <totalRevokedGems> gemmes ont été retirées de votre compte, ce qui correspond à la valeur de votre remboursement. Ceci peut entraîner un solde négatif de gemmes. Votre solde redeviendra positif lorsque vous effectuerez d'autres commandes ou que vous récupérerez des ressources en jeu.\",\"Es wurde eine Rückerstattung für dieses Konto beantragt, die am <refundDate> genehmigt wurde. Die Rückerstattung erfolgt mittels der Zahlungsart, die bei der Bestellung verwendet wurde.\\n\\nDeinem Konto wurden insgesamt <totalRevokedGems> Juwelen abgezogen, um den Wert deiner Rückerstattung auszugleichen. Dies kann zu einer negativen Juwelenbilanz führen. Eine positive Bilanz lässt sich durch zusätzliche Bestellungen und das Sammeln von Ressourcen im Spiel erreichen.\",\"El <refundDate> se aprobó un reembolso solicitado para esta cuenta. Este reembolso se realizará en la misma forma de pago que se usó al hacer la compra.\\n\\nSe ha deducido un total de <totalRevokedGems> gemas de tu cuenta, que corresponde al valor del reembolso. Esto puede resultar en una cantidad negativa de gemas. Para volver a tener una cantidad positiva, compra más gemas y recoge recursos del juego.\",\"In data <refundDate> è stato approvato il rimborso richiesto per questo account. Il rimborso verrà effettuato tramite la forma di pagamento usata al momento dell'ordine.\\n\\nDall'account sono state rimosse <totalRevokedGems> gemme, corrispondenti al valore del rimborso. Ciò potrebbe portare a un saldo gemme negativo. È possibile tornare a un saldo positivo effettuando altri ordini e raccogliendo risorse nel gioco.\",\"Er is om een terugbetaling gevraagd voor dit account. Dit verzoek is goedgekeurd op <refundDate>. De terugbetaling vindt plaats via dezelfde betalingsmethode die voor de bestelling werd gebruikt.\\n\\nEr zijn in totaal <totalRevokedGems> edelstenen afgetrokken van je account, overeenkomstig de waarde van je terugbetaling. Hierdoor kan je edelsteensaldo nu negatief zijn. Je kunt weer een positief saldo krijgen door extra bestellingen te doen en grondstoffen te verzamelen in het spel.\",\"Det ble bedt om refundering på denne kontoen. Forespørselen ble godkjent <refundDate>. Midlene vil refunderes via betalingsmåten som ble brukt ved bestilling.\\n\\nTotalt <totalRevokedGems> juveler er trukket fra kontoen din, noe som tilsvarer verdien på de refunderte midlene. Dette kan føre til en negativ juvelbalanse. Du kan få en positiv balanse ved å foreta ekstra bestillinger og samle ressurser i spillet.\",\"Bu hesap için bir iade talep edildi ve <refundDate> tarihinde onaylandı. İade, sipariş verildiğinde kullanılan ödeme şekline göre yapılacak.\\n\\nİadenin değerine uygun olarak hesabından toplam <totalRevokedGems> taş eksildi. Bu, negatif bir taş bakiyesiyle sonuçlanabilir. Ek siparişler vererek ve oyun içi kaynaklar toplayarak yeniden pozitif bir bakiyeye ulaşabilirsin.\",\"このアカウントからリクエストされた払い戻しは、<refundDate>に受理されました。払い戻しは、支払い時に選択した決済手段を通じて行われます。\\n\\n払い戻しの額に基づいて、お客様のアカウントからは総計<totalRevokedGems>個のエメラルドが差し引かれますが、所持数によってはエメラルドの残高がマイナスの値になる場合もございます。その場合、追加でご購入いただくかゲーム内で収集することで、エメラルドの残高をプラスの値に戻すことができます。\",\"이 계정에서 환불을 신청했으며 <refundDate>에 승인되었습니다. 주문한 결제 수단을 통해 환불이 진행됩니다.\\n\\n환불 금액에 맞춰 총 <totalRevokedGems>개의 보석이 계정에서 차감되었으며, 이로 인해 보석 수가 마이너스로 내려갈 수 있습니다. 추가로 보석을 주문하거나 게임에서 보석을 획득하면 다시 회복됩니다.\",\"Запрошенный этой учетной записью возврат средств был одобрен <refundDate>. Средства будут возвращены туда, откуда была произведена оплата.\\n\\nВсего с вашего счета было списано <totalRevokedGems> крист., что соответствует сумме возврата. Это может привести к негативному балансу. Восстановить баланс можно, совершив дополнительные покупки или собирая ресурсы в игре.\",\"تم طلب استرداد أموال لهذا الحساب وقد تمت الموافقة عليه على <refundDate>. سيتم تنفيذ استرداد المال على شكل الدفعة التي نُفذت عند إجراء الطلب.\\n\\nإجمالي <totalRevokedGems> من الجواهر قد تم خصمه من حسابك، لمطابقة قيمة استرداد الأموال. قد يؤدي هذا إلى توازن جواهر سلبي. يمكن استعادة التوازن الإيجابي بإجراء طلبات إضافية وجمع الموارد في اللعبة.\",\"Foi solicitado o reembolso de uma compra nesta conta, e ele foi aprovado no dia <refundDate>. A devolução será feita diretamente à forma de pagamento utilizada para fazer o pedido.\\n\\nUm total de <totalRevokedGems> gemas foi deduzido de sua conta, de acordo com o valor reembolsado. Isso pode resultar em um saldo negativo de gemas. Para ter um saldo positivo novamente, faça novos pedidos ou colete recursos no jogo.\",\"此帐户申请退款，且申请已于<refundDate>获得批准。退款将通过您购买时使用的付款方式退回。\\n\\n您的帐户已被扣除共<totalRevokedGems>颗宝石，该数额与您的退款金额相符。您的宝石余额可能因此变为负数，您可以通过再次购买或在游戏中收集资源来将其变为正数。\",\"此帳戶申請退款，且申請已於<refundDate>獲得批准。退款將通過您購買時使用的付款方式退回。\\n\\n您的帳戶已被扣除共<totalRevokedGems>顆寶石，該數額與您的退款金額相符。您的寶石餘額可能因此變為負數，您可以透過再次購買或在遊戲中收集資源來將其變為正數。\",\"بازپرداختی برای این حساب درخواست شده و در <refundDate> تأیید شده. بازپرداخت به گونه‌ای که پرداخت در زمان انجام سفارش صورت گرفته هست، انجام خواهد شد.\\n\\nمجموع <totalRevokedGems> جواهر از حسابت کسر شده تا با مقدار بازپرداخت مطابقت داشته باشه. ممکنه منجر به تراز منفی جواهر بشه. می‌تونی با انجام سفارش‌های دیگر و جمع‌آوری منابع درون‌بازی، تراز مثبت رو بازیابی کنی.\",\"Pengembalian dana diminta untuk akun ini dan telah disetujui pada tanggal <refundDate>. Pengembalian dana akan dilakukan ke dalam bentuk pembayaran yang digunakan saat memesan.\\n\\nTotal sejumlah <totalRevokedGems> permata telah dikurangi dari akun sesuai dengan nilai pengembalian dana. Hal ini dapat berakibat saldo permata negatif. Saldo positif dapat dipulihkan dengan melakukan pesanan tambahan dan mengumpulkan sumber daya dalam game.\",\"Bayaran balik diminta untuk akaun ini dan telah diluluskan pada <refundDate>. Bayaran balik akan dibuat dalam bentuk pembayaran digunakan semasa pesanan dibuat.\\n\\nSejumlah <totalRevokedGems> permata telah dikurangkan daripada akaun anda, untuk dipadankan dengan nilai bayaran balik anda. Ini mungkin menyebabkan baki permata negatif. Baki positif boleh dipulihkan dengan membuat pesanan tambahan dan mengumpul sumber dalam permainan.\"\n\"TID_AVATAR_MESSAGE_TEXT_GEM_REVOKE_PLURAL\",\"Refunds were requested for this account and they have been approved on <refundDate>. The refunds will be made to the form of payment used when the orders were made.\\n\\nA total of <totalRevokedGems> gems have been deducted from your account, to match the value of your refunds. This may result in a negative gem balance. A positive balance can be restored by making additional orders and collecting resources in-game.\",\"Des remboursements demandés pour ce compte ont été autorisés le <refundDate>. Les remboursements seront effectués via la méthode de paiement utilisée lors de l'achat.\\n\\nAu total, <totalRevokedGems> gemmes ont été retirées de votre compte, ce qui correspond à la valeur de vos remboursements. Ceci peut entraîner un solde négatif de gemmes. Votre solde redeviendra positif lorsque vous effectuerez d'autres commandes ou que vous récupérerez des ressources en jeu.\",\"Es wurden Rückerstattungen für dieses Konto beantragt, die am <refundDate> genehmigt wurden. Die Rückerstattungen erfolgen mittels der Zahlungsart, die bei den Bestellungen verwendet wurde.\\n\\nDeinem Konto wurden insgesamt <totalRevokedGems> Juwelen abgezogen, um den Wert deiner Rückerstattungen auszugleichen. Dies kann zu einer negativen Juwelenbilanz führen. Eine positive Bilanz lässt sich durch zusätzliche Bestellungen und das Sammeln von Ressourcen im Spiel erreichen.\",\"El <refundDate> se aprobaron reembolsos solicitados para esta cuenta. Estos reembolsos se realizarán en la misma forma de pago que se usó al hacer la compra.\\n\\nSe ha deducido un total de <totalRevokedGems> gemas de tu cuenta, que corresponde al valor de los reembolsos. Esto puede resultar en una cantidad negativa de gemas. Para volver a tener una cantidad positiva, compra más gemas y recoge recursos del juego.\",\"In data <refundDate> sono stati approvati i rimborsi richiesti per questo account. I rimborsi verranno effettuati tramite la forma di pagamento usata al momento degli ordini.\\n\\nDall'account sono state rimosse <totalRevokedGems> gemme, corrispondenti al valore dei rimborsi. Ciò potrebbe portare a un saldo gemme negativo. È possibile tornare a un saldo positivo effettuando altri ordini e raccogliendo risorse nel gioco.\",\"Er is om terugbetalingen gevraagd voor dit account. Deze verzoeken zijn goedgekeurd op <refundDate>. De terugbetalingen vinden plaats via dezelfde betalingsmethode die voor de bestellingen werd gebruikt.\\n\\nEr zijn in totaal <totalRevokedGems> edelstenen afgetrokken van je account, overeenkomstig de waarde van je terugbetalingen. Hierdoor kan je edelsteensaldo nu negatief zijn. Je kunt weer een positief saldo krijgen door extra bestellingen te doen en grondstoffen te verzamelen in het spel.\",\"Det ble bedt om refunderinger på denne kontoen. Forespørselen ble godkjent <refundDate>. Midlene vil refunderes via betalingsmåten som ble brukt ved bestilling.\\n\\nTotalt <totalRevokedGems> juveler er trukket fra kontoen din, noe som tilsvarer verdien på de refunderte midlene. Dette kan føre til en negativ juvelbalanse. Du kan få en positiv balanse ved å foreta ekstra bestillinger og samle ressurser i spillet.\",\"Bu hesap için birden fazla iade talep edildi ve <refundDate> tarihinde onaylandı. İadeler, siparişler verildiğinde kullanılan ödeme şekline göre yapılacak.\\n\\nİadelerin değerine uygun olarak hesabından toplam <totalRevokedGems> taş eksildi. Bu, negatif bir taş bakiyesiyle sonuçlanabilir. Ek siparişler vererek ve oyun içi kaynaklar toplayarak yeniden pozitif bir bakiyeye ulaşabilirsin.\",\"このアカウントからリクエストされた払い戻しは、<refundDate>に受理されました。払い戻しは、支払い時に選択した決済手段を通じて行われます。\\n\\n払い戻しの額に基づいて、お客様のアカウントからは総計<totalRevokedGems>個のエメラルドが差し引かれますが、所持数によってはエメラルドの残高がマイナスの値になる場合もございます。その場合、追加でご購入いただくかゲーム内で収集することで、エメラルドの残高をプラスの値に戻すことができます。\",\"이 계정에서 환불을 신청했으며 <refundDate>에 승인되었습니다. 주문한 결제 수단을 통해 환불이 진행됩니다.\\n\\n환불 금액에 맞춰 총 <totalRevokedGems>개의 보석이 계정에서 차감되었으며, 이로 인해 보석 수가 마이너스로 내려갈 수 있습니다. 추가로 보석을 주문하거나 게임에서 보석을 획득하면 다시 회복됩니다.\",\"Запрошенные этой учетной записью возвраты средств были одобрены <refundDate>. Средства будут возвращены туда, откуда была произведена оплата.\\n\\nВсего с вашего счета было списано <totalRevokedGems> крист., что соответствует сумме возвратов. Это может привести к негативному балансу. Восстановить баланс можно, совершив дополнительные покупки или собирая ресурсы в игре.\",\"تم طلب استرداد أموال لهذا الحساب وقد تمت الموافقة عليه على <refundDate>. سيتم تنفيذ استرداد المال على شكل الدفعة التي نُفذت عند إجراء الطلب.\\n\\nإجمالي <totalRevokedGems> من الجواهر قد تم خصمه من حسابك، لمطابقة قيمة استرداد الأموال. قد يؤدي هذا إلى توازن جواهر سلبي. يمكن استعادة التوازن الإيجابي بإجراء طلبات إضافية وجمع الموارد في اللعبة.\",\"Foram solicitados reembolsos de compras nesta conta, e eles foram aprovados no dia <refundDate>. A devolução será feita diretamente à forma de pagamento utilizada para fazer cada pedido.\\n\\nUm total de <totalRevokedGems> gemas foi deduzido de sua conta, de acordo com o valor reembolsado. Isso pode resultar em um saldo negativo de gemas. Para ter um saldo positivo novamente, faça novos pedidos ou colete recursos no jogo.\",\"此帐户申请退款，且请求已于<refundDate>获得批准。退款将通过您购买时使用的付款方式退回。\\n\\n您的帐户已被扣除共<totalRevokedGems>颗宝石，该数额与您的退款金额相符。您的宝石余额可能因此变为负数，您可以通过再次购买或在游戏中收集资源来将其变为正数。\",\"此帳戶申請退款，且請求已於<refundDate>獲得批准。退款將經由您購買時使用的付款方式退回。\\n\\n您的帳戶已被扣除共<totalRevokedGems>顆寶石，該數額與您的退款金額相符。您的寶石餘額可能因此變為負數，您可以透過再次購買或在遊戲中收集資源來將其變為正數。\",\"بازپرداختی برای این حساب درخواست شده و در <refundDate> تأیید شده. بازپرداخت به گونه‌ای که پرداخت در زمان انجام سفارش صورت گرفته هست، انجام خواهد شد.\\n\\nمجموع <totalRevokedGems> جواهر از حسابت کسر شده تا با مقدار بازپرداخت مطابقت داشته باشه. ممکنه منجر به تراز منفی جواهر بشه. می‌تونی با انجام سفارش‌های دیگر و جمع‌آوری منابع درون‌بازی، تراز مثبت رو بازیابی کنی.\",\"Beberapa pengembalian dana diminta untuk akun ini dan telah disetujui pada tanggal <refundDate>. Pengembalian dana akan dilakukan ke dalam bentuk pembayaran yang digunakan saat memesan.\\n\\nTotal sejumlah <totalRevokedGems> permata telah dikurangi dari akun sesuai dengan nilai pengembalian dana. Hal ini dapat berakibat saldo permata negatif. Saldo positif dapat dipulihkan dengan melakukan pesanan tambahan dan mengumpulkan sumber daya dalam game.\",\"Bayaran balik diminta untuk akaun ini dan telah diluluskan pada <refundDate>. Bayaran balik akan dibuat dalam bentuk pembayaran digunakan semasa pesanan dibuat.\\n\\nSejumlah <totalRevokedGems> permata telah dikurangkan daripada akaun anda, untuk dipadankan dengan nilai bayaran balik anda. Ini mungkin menyebabkan baki permata negatif. Baki positif boleh dipulihkan dengan membuat pesanan tambahan dan mengumpul sumber dalam permainan.\"\n\"TID_AVATAR_MESSAGE_BUTTON_MORE_INFO\",\"More Info\",\"Plus d'infos\",\"Mehr Infos\",\"Más información\",\"Altre info\",\"Meer info\",\"Mer info\",\"Daha Fazla Bilgi\",\"さらに詳しく\",\"자세한 정보\",\"Информация\",\"مزيد من المعلومات\",\"Mais informações\",\"更多信息\",\"詳細資訊\",\"اطلاعات بیشتر\",\"Info Selengkapnya\",\"Maklumat Lanjut\"\n\"TID_AVATAR_MESSAGE_BUTTON_SUPPORT\",\"Contact Support\",\"Contacter l'assistance\",\"Support kontaktieren\",\"Pedir asistencia\",\"Contatta l'assistenza\",\"Contact met ondersteuning opnemen\",\"Kontakt brukerstøtte\",\"Destek ile İletişime Geç\",\"サポートに連絡\",\"고객 지원팀에 문의\",\"Связь с поддержкой\",\"الاتصال بالدعم\",\"Entre em contato com o suporte\",\"联系玩家支持\",\"聯絡玩家支援\",\"پشتیبانی تماس\",\"Hubungi Dukungan\",\"Hubungi Sokongan\"\n\"TID_SPELL_ATTRIBUTE_SHIELD_HEALTH\",\"Shield Hitpoints\",\"Points de vie du bouclier\",\"Schild-Trefferpunkte\",\"Puntos de vida de escudo\",\"Punti ferita scudo\",\"Schild-levenspunten\",\"Skjold-treffpoeng\",\"Kalkan İsabet Puanları\",\"シールドのヒットポイント\",\"보호막 HP\",\"Прочность щита\",\"نقاط إصابة الدرع\",\"Vida do escudo\",\"护盾生命值\",\"護盾生命值\",\"تحمل ضربه سپر\",\"Nyawa Perisai\",\"Nilai nyawa Pelindung\"\n\"TID_CHALLENGE_BUTTON\",\"Friendly\\nBattle\",\"Combat\\namical\",\"Testspiel\",\"Batalla\\namistosa\",\"Amichevole\",\"Vriendelijk\\ngevecht\",\"Vennskaps-\\nkamp\",\"Dostluk\\nSavaşı\",\"フレンド\\nバトル\",\"친선전\",\"Дружеский\\nбой\",\"معركة\\nودية\",\"Batalha\\namistosa\",\"友谊战\",\"友誼戰\",\"نبرد\\nدوستانه\",\"Pertempuran\\nPersahabatan\",\"Pertempuran\\nPersahabatan\"\n\"TID_CHARACTER_DARK_PRINCE\",\"Dark Prince\",\"Prince ténébreux\",\"Dunkler Prinz\",\"Príncipe oscuro\",\"Principe nero\",\"Duistere prins\",\"Den mørke prinsen\",\"Kara Prens\",\"ダークプリンス\",\"다크 프린스\",\"Темный принц\",\"أمير الظلام\",\"Príncipe das Trevas\",\"黑暗王子\",\"黑暗王子\",\"شاهزاده سیاه\",\"Pangeran Hitam\",\"Putera Kegelapan\"\n\"TID_HINT_CHEST_LEGENDARY1\",\"Legendary Chests contain a Legendary Card from any Arena!\",\"Les coffres légendaires contiennent une carte légendaire de n'importe quelle arène !\",\"Die legendäre Truhe enthält eine legendäre Karte aus einer zufälligen Arena!\",\"¡Los cofres legendarios contienen cartas legendarias de cualquier arena!\",\"I bauli leggendari contengono una carta leggendaria di un'arena qualsiasi!\",\"Legendarische kisten bevatten een legendarische kaart van een willekeurige arena!\",\"Legendariske kister inneholder et legendarisk kort fra en av arenaene!\",\"Efsanevi Sandıklar, herhangi bir Arenadan bir Efsanevi Kart içerir!\",\"ウルトラレア宝箱には、アリーナレベルを問わず、ウルトラレアカードが入っています！\",\"전설 상자에는 모든 아레나의 전설 카드 중 한 장이 들어있습니다!\",\"В Легендарном сундуке могут быть Легендарные карты с любой Арены!\",\"تحتوي الصناديق الأسطورية على بطاقة أسطورية من أي ساحة!\",\"Baús lendários contêm uma carta lendária de qualquer arena!\",\"传奇宝箱藏有一张可能来自任意等级竞技场的传奇卡！\",\"傳奇寶箱藏有一張可能來自任意等級競技場的傳奇卡！\",\"صندوقچه‌های افسانه‌ای شامل یک کارت افسانه‌ای برای هر میدان نبردی هست!\",\"Peti Legendaris berisi satu Kartu Legendaris dari Arena mana pun!\",\"Peti Legenda mengandungi Kad Legenda dari sebarang Arena!\"\n\"TID_HINT_CHEST_LEGENDARY2\",\"Legendary Chests can be won from battle, but they're incredibly rare!\",\"Les combats peuvent rapporter des coffres légendaires, mais ils sont extrêmement rares !\",\"Legendäre Truhen können im Kampf gewonnen werden - aber sie sind ungemein selten!\",\"Los cofres legendarios se pueden obtener en las batallas, ¡pero es dificilísimo encontrarlos!\",\"Puoi vincere bauli leggendari in battaglia, ma sono incredibilmente rari!\",\"Je kunt legendarische kisten winnen in gevechten, maar ze zijn uitzonderlijk zeldzaam!\",\"Du kan vinne legendariske kister i kamp, men de er ekstremt sjeldne!\",\"Efsanevi Sandıklar savaşlardan kazanılır ancak son derece enderdirler!\",\"ウルトラレア宝箱はバトルで手に入ることも\\nありますが、滅多に手に入りません！\",\"전투에서 전설 상자를 얻을 수는 있지만 확률이 극단적으로 낮습니다!\",\"Легендарный сундук можно выиграть в бою, но они очень редкие!\",\"يمكن ربح الصناديق الأسطورية الخارقة من المعارك، لكنها نادرة للغاية!\",\"Os baús lendários podem ser obtidos em batalhas, mas são extremamente raros!\",\"您可以在对战中赢取传奇宝箱，但这种宝箱非常罕见！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您可以在對戰中贏取傳奇寶箱，但這種寶箱非常罕見！\",\"صندوقچه‌های افسانه‌ای رو می‌توان از طریق نبرد به دست آورد، اما به طرز شگفت‌آوری نایاب هستن!\",\"Peti Legendaris dapat dimenangkan dari pertempuran, tetapi sangat langka!\",\"Peti Legenda boleh dimenangi daripada pertempuran, tetapi sangat jarang!\"\n\"TID_HINT_CHEST_SUPER_MAGICAL1\",\"Super Magical Chests have a high chance of containing a Legendary Card.\",\"Les super coffres magiques ont une chance élevée de contenir une carte légendaire.\",\"Super-Magietruhen gewähren eine hohe Chance auf eine legendäre Karte.\",\"Tienes una alta probabilidad de encontrar una carta legendaria en los cofres supermágicos.\",\"I bauli super magici hanno un'elevata probabilità di contenere una carta leggendaria.\",\"Supermagische kisten leveren een hogere kans op een legendarische kaart op.\",\"Det er stor sjanse for at supre magiske kister inneholder et legendarisk kort.\",\"Süper Büyülü Sandıklarda Efsanevi Kart olma ihtimali yüksektir.\",\"スーパー魔法の宝箱には、高確率で\\nウルトラレアカードが入っています。\",\"슈퍼 마법 상자에는 전설 카드가 들어 있을 확률이 더 높습니다.\",\"В супермагическом сундуке больше шансов найти легендарную карту.\",\"الصناديق السحرية الخارقة لديها فرصة عالية في الاحتواء على بطاقة أسطورية.\",\"Baús muito mágicos têm grandes chances conter cartas lendárias.\",\"超级神奇宝箱开出传奇卡的几率较高。\",\"超級神奇寶箱開出傳奇卡的機率較高。\",\"صندوقچه‌های سوپر جادویی از شانس بالای داشتن یک کارت افسانه‌ای برخوردار هستند.\",\"Peti Magis Super berpeluang besar berisi satu Kartu Legendaris.\",\"Peti Super Ajaib mempunyai peluang besar mengandungi Kad Legenda.\"\n\"TID_HINT_CHEST_SUPER_MAGICAL2\",\"Super Magical Chests can be won from battle, but they're incredibly rare!\",\"Les combats peuvent rapporter des super coffres magiques, mais ils sont extrêmement rares !\",\"Super-Magietruhen können im Kampf gewonnen werden - aber sie sind ungemein selten!\",\"Los cofres supermágicos se pueden obtener en las batallas, ¡pero es dificilísimo encontrarlos!\",\"Puoi vincere bauli super magici in battaglia, ma sono incredibilmente rari!\",\"Je kunt supermagische kisten winnen in gevechten, maar ze zijn uitzonderlijk zeldzaam!\",\"Du kan vinne supre magiske kister i kamp, men de er ekstremt sjeldne!\",\"Süper Büyülü Sandıklar savaşlardan kazanılır ancak son derece enderdirler!\",\"スーパー魔法の宝箱はバトルでも獲得できますが\\n運のいい人でも滅多に手に入りません！\",\"전투에서 슈퍼 마법 상자를 얻을 수는 있지만 확률이 매우 낮습니다!\",\"Супермагический сундук можно выиграть в бою, но они очень редкие!\",\"يمكن ربح الصناديق السحرية الخارقة من المعارك، لكنها نادرة للغاية!\",\"Os baús supermágicos podem ser obtidos em batalhas, mas são extremamente raros.\",\"您可以从对战中赢取超级神奇宝箱，但这种宝箱非常罕见！\",\"你可以從對戰中獲得超級神奇寶箱，但是十分稀有！\",\"صندوقچه‌های سوپر جادویی رو می‌توان از طریق نبرد به دست آورد، اما به طرز شگفت‌آوری نایاب هستن!\",\"Peti Magis Super dapat dimenangkan dari pertempuran, tetapi sangat langka!\",\"Peti Super Ajaib boleh dimenangi daripada pertempuran, tetapi sangat jarang!\"\n\"TID_HINT_CHEST_GIANT1\",\"Giant Chests can be won from battle, but they're quite rare!\",\"Les combats peuvent rapporter des coffres géants, mais ils sont plutôt rares !\",\"Riesentruhen können im Kampf gewonnen werden - aber sie sind recht selten!\",\"Los cofres gigantes se pueden obtener en las batallas, pero es bastante difícil encontrarlos.\",\"Puoi vincere bauli giganti in battaglia, ma sono piuttosto rari!\",\"Je kunt reuzenkisten winnen in gevechten, maar ze zijn erg zeldzaam!\",\"Du kan vinne kjempekister i kamp, men de er ganske sjeldne!\",\"Dev Sandıklar savaşlardan kazanılır ancak çok enderdirler!\",\"巨大宝箱はバトルでも獲得できますが、\\nなかなか手に入りません！\",\"전투에서 자이언트 상자를 얻을 수는 있지만 확률이 낮습니다!\",\"Огромный сундук можно выиграть в бою, но они довольно редкие!\",\"يمكن ربح صناديق العمالقة من المعارك، لكنها نادرة!\",\"Os baús gigantes podem ser obtidos em batalhas, mas são extremamente raros.\",\"您可以从对战中赢取巨型宝箱，但这种宝箱相当罕见！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"你可以從對戰中獲得巨型寶箱，但是相當罕見！\",\"صندوقچه‌های بزرگ رو می‌توان از طریق نبرد به دست آورد، اما به طرز شگفت‌آوری نایاب هستن!\",\"Peti Raksasa dapat dimenangkan dari pertempuran, tetapi agak langka!\",\"Peti Gergasi boleh dimenangi daripada pertempuran, tetapi agak jarang!\"\n\"TID_HINT_CHEST_GIANT2\",\"Giant Chests contain a huge amount of Common and Rare Cards, but few Epic Cards.\",\"Les coffres géants contiennent un grand nombre de cartes communes et rares, mais peu de cartes épiques.\",\"Riesentruhen enthalten sehr viele gewöhnliche und seltene Karten, aber nur wenige epische Karten.\",\"Los cofres gigantes contienen un montón de cartas comunes y especiales, pero muy pocas épicas.\",\"I bauli giganti contengono una grande quantità di carte comuni e rare, ma poche carte epiche.\",\"Reuzenkisten bevatten grote hoeveelheden gewone en zeldzame kaarten, maar weinig epische kaarten.\",\"Kjempekister inneholder enorme mengder vanlige og sjeldne kort, men få episke.\",\"Dev Sandıklar çok sayıda Sıradan ve Ender Kart bulundururken az sayıda Destansı Kart içerir.\",\"巨大宝箱にはノーマルカードやレアカードが\\n大量に入っていますが、スーパーレアカードは\\nあまり入っていません。\",\"자이언트 상자에는 일반 및 희귀 카드가 많이 들어 있지만 영웅 카드는 거의 없습니다.\",\"В огромных сундуках находится множество обычных и редких карт, но мало эпических.\",\"صناديق العمالقة تحتوي على كمية ضخمة من البطاقات العادية والنادرة، ولكن القليل من البطاقات الممتازة.\",\"Os baús gigantes contêm uma quantidade enorme de cartas comuns e raras, mas poucas épicas.\",\"巨型宝箱内藏有大量的普通卡和稀有卡，但很少有史诗卡。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"巨型寶箱內含大量的普通卡與稀有卡，但很少有史詩卡。\",\"صندوق‌های غول‌پیکر حاوی میزان زیادی کارت عادی و کارت کمیاب هستند، اما تعداد کمی کارت حماسی دارن.\",\"Peti Raksasa berisi banyak Kartu Umum dan Langka, tetapi Kartu Epiknya sedikit.\",\"Peti Gergasi mengandungi banyak Kad Biasa dan Jarang, tetapi kurang Kad Epik.\"\n\"TID_HINT_THREE_MUSKETEERS\",\"Three Musketeers pack triple the punch of one, at a little over double the cost. Value!\",\"Trois mousquetaires sont trois fois plus efficaces qu'une seule et coûtent un peu plus de deux fois son prix ! Ça vaut le coup !\",\"Drei Musketierinnen haben die dreifache Wirkung für ungefähr den doppelten Preis - das lohnt sich!\",\"Un trío de mosqueteras hace el triple de pupa que una sola, ¡y solo cuesta un poco más del doble!\",\"Tre moschettieri picchiano tre volte più forte di uno, a poco più del doppio del prezzo. Convenienza!\",\"Drie musketiers zijn driemaal zo sterk als één musketier en kosten iets meer dan het dubbele. Je krijgt dus waar voor je geld!\",\"Tre musketerer gir tre ganger så mye kraft som én, til en pris som bare er litt over det dobbelte. Valuta for pengene!\",\"Üç Silahşorlar iki katın biraz üstü bir maliyetle tek darbeyle üç kat hasar verir!\",\"三銃士の攻撃力はマスケット銃士3人分ですが、ギャラは2人分少々とお得です。\",\"삼총사의 엘릭서 비용은 머스킷병의 두 배가 약간 넘지만 공격력은 세 배입니다. 가성비가 좋죠!\",\"Команда из трех мушкетеров бьет в три раза сильнее, а стоит чуть больше, чем два — сплошная выгода!\",\"مجموعة الفارسات الثلاث تضاعف القيمة ثلاث مرات، بأكثر من ضعف التكلفة بقليل!\",\"As Três Mosqueteiras causam o triplo de estrago por pouco mais do que o dobro do preço. É muita vantagem!\",\"三个火枪手的破坏力是单个火枪手的3倍，但圣水消耗只比她的2倍多一点。超值！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"三個火槍手的破壞力是單個火槍手的3倍，但聖水消耗只比她的2倍多一點。超值！\",\"بسته سه تفنگدار، ضربه یکی رو سه برابر می‌کنه، آن هم فقط کمی بالاتر از هزینه دو مورد. ارزش داره!\",\"Tiga Musketeer mengemas tiga serangan sekaligus, dengan biaya hanya sedikit di atas dua kali lipat. Hemat!\",\"Tiga Musketeer berpakat tiga kali ganda tumbukan sekali, lebih sedikit kos berganda. Berbaloi!\"\n\"TID_HINT_DARK_PRINCE\",\"Break the Dark Prince's shield first, then you can start to whittle down his hitpoints.\",\"Commencez par briser le bouclier du prince ténébreux. Ensuite, vous pourrez lui arracher ses points de vie.\",\"Zerstöre zunächst den Schild des Dunklen Prinzen. Anschließend kannst du dich über seine Trefferpunkte hermachen.\",\"Lo primero que tienes que hacer es romper el escudo del príncipe oscuro, y entonces podrás empezar a buscarle las cosquillas.\",\"Infrangi per prima cosa lo scudo del principe nero, poi potrai iniziare ad intaccare i suoi punti ferita.\",\"Breek eerst het schild van de duistere prins. Daarna kun je hem beroven van zijn levenspunten.\",\"Knus Den mørke prinsens skjold først, så kan du begynne å redusere treffpoengene hans.\",\"Kara Prensin önce kalkanını kır, sonra isabet puanlarını almaya başla.\",\"ダークプリンスは、まず盾を壊しましょう。\\nそうしないとダメージを与えられません。\",\"다크 프린스의 보호막을 먼저 제거해야 실질적인 피해를 입힐 수 있습니다.\",\"Чтобы нанести раны темному принцу, сначала нужно пробить его щит.\",\"اكسر درع أمير الظلام أولاً، ثم يمكنك البدء في تحجيم نقاط إصابته.\",\"Quebre o escudo do Príncipe das Trevas primeiro para depois começar a reduzir os pontos de vida dele.\",\"先打破黑暗王子的护盾，然后你才能对他造成伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"先打破黑暗王子的護盾，之後你才能對他造成傷害。\",\"ابتدا سپر شاهزاده سیاه رو بشکون، بعد می‌تونی تحمل ضربه او رو پایین بیاری!\",\"Hancurkan tameng Pangeran Hitam dulu, lalu kamu bisa mulai mengikis nyawanya.\",\"Pecahkan pelindung Putera Kejahatan dahulu, kemudian anda boleh mula beransur-ansur mengurangkan nilai nyawa.\"\n\"TID_HINT_ICE_WIZARD\",\"Despite the Ice Wizard being freezing cold, he has a handlebar mustache that's too hot for TV.\",\"Certes, le sorcier de glace jette un froid, mais il a quand même la moustache en guidon la plus torride du royaume.\",\"Obwohl der Eismagier eiskalt ist, hat er einen total heißen Schnurrbart.\",\"Aunque el mago de hielo sea un témpano congelado, su bigote hace que suba la temperatura en la arena.\",\"Anche se lo stregone di ghiaccio è gelido come la neve, porta un paio di baffi a manubrio troppo focosi per mostrarli in TV.\",\"Ondanks het feit dat de ijstovenaar een koele kikker is, heeft hij een supersexy krulsnor!\",\"Selv om is-trollmannen er iskald, har han en snurrebart som er for heit for TV.\",\"Buz Büyücüsü, buz gibi dondursa da insanın içini ısıtan bir pala bıyığı vardır.\",\"アイスウィザードはクールな男ですが、「口ひげがセクシーすぎてテレビ出演を断られた」などとホットなうわさが絶えません。\",\"얼음 마법사는 얼음처럼 냉정하지만, TV에 나오기엔 너무 섹시한 콧수염의 반전 매력이 있습니다.\",\"Да, он ледяной колдун, но его усы слишком горячи (их едва пропустила цензура).\",\"رغم برودة ساحر الثلج الشديدة، إلا أنه لديه شارب جذاب للغاية.\",\"O Mago de Gelo tem uma personalidade gélida, mas o charme do bigode é \\qcaliente\\q!\",\"虽然寒冰法师外表冷酷，但他那迷人的胡子透露出的热情就已经足够让他在皇室TV人气大旺了。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"雖然寒冰法師外表冷酷，但他那迷人的鬍子透露出的熱情就已經足夠讓他在皇室TV人氣大旺了。\",\"با وجود اینکه جادوگر یخی خیلی سرده، اما یک سبیل فردار داره که واسه تلویزیون زیادی داغه.\",\"Meski Penyihir Es amat dingin, ia memiliki kumis melengkung yang terlalu panas untuk TV.\",\"Meskipun terdapat Ahli Sihir Ais menjadi sejuk membeku, dia mempunyai misai bar pemegang yang terlalu hangat untuk TV.\"\n\"TID_HINT_PRINCESS\",\"If you're feeling warm feelings towards the Princess, it's probably because you're on fire.\",\"Si vous avez l'impression de vous consumer pour la princesse, c'est probablement que vous êtes en feu.\",\"Wer eine gewisse Wärme für die Prinzessin verspürt, wurde wahrscheinlich schon von ihr in Brand gesetzt.\",\"Si la princesa te despierta sentimientos cálidos seguramente sea porque estás en llamas.\",\"Se in presenza della principessa ti si scalda il cuore, probabilmente è perché stai andando a fuoco.\",\"Als je warme gevoelens voor de prinses koestert, is dat waarschijnlijk omdat je in de fik staat.\",\"Hvis du har varme følelser for prinsessen, er det sannsynligvis fordi du står i fyr og flamme.\",\"Prensesi görüp yanaklarını ateş bastıysa bunun sebebi yanıyor olmandır.\",\"あのプリンセスに近づくと顔が熱くなるのは恋？\\nいいえ、あなたの頭が燃えているんですよ。\",\"프린세스를 보고 뜨거워진다면 불화살을 맞은 게 분명합니다.\",\"Если у тебя возникли теплые чувства к принцессе, проверь, не горишь ли ты.\",\"إذا كنت تشعر بالدفء تجاه الأميرة، فهذا غالبًا لأنك تحترق.\",\"Se esta bela Princesa aquece o seu coração, é porque você pegou fogo.\",\"如果你看到公主时感到很温暖，当心了，这可能是因为你身上着火了。\",\"如果你看到公主時感到很溫暖，當心了，這可能是因為你身上著火了。\",\"اگر احساس می‌کنی با دیدن شاهزاده خانم دلگرم شدی، احتمالاً به این خاطر هست که تو هم از تیرهاش آتیش گرفتی.\",\"Jika hatimu meleleh saat melihat si Putri, mungkin karena kamu terbakar.\",\"Jika anda berasa mesra dengannya, mungkin disebabkan anda hebat.\"\n\"TID_HINT_ROYAL_GIANT\",\"Royal Giants target buildings from range and ignore enemy troops.\",\"Les géants royaux ciblent les bâtiments à distance et ignorent les combattants ennemis.\",\"Königsriesen greifen Gebäude aus der Ferne an und ignorieren feindliche Einheiten.\",\"Los gigantes nobles atacan las estructuras en su radio de alcance e ignoran a las tropas enemigas.\",\"I giganti Royale bersagliano gli edifici dalla distanza e ignorano le truppe nemiche.\",\"Koninklijke reuzen vallen gebouwen vanaf afstand aan en negeren vijandelijke eenheden.\",\"Kongelige kjemper går etter bygninger fra langt hold, men ignorerer fiendens tropper.\",\"Kraliyet Devleri menzildeki binaları hedef alır ve düşman birliklerini görmezden gelir.\",\"ロイヤルジャイアントは敵ユニットを無視して\\n攻撃範囲内にある建物を狙います。\",\"로얄 자이언트는 적 유닛은 무시하고 원거리에서 건물만 공격합니다.\",\"Королевские гиганты атакуют здания издали и игнорируют вражеские войска.\",\"العمالقة الملكيون يستهدفون المباني من نطاق بعيد ويتجاهلون القوات الصغيرة.\",\"Gigantes Reais atacam construções de longe e ignoram tropas inimigas.\",\"皇家巨人无视敌方军队，直接从远处瞄准并攻击敌方建筑物。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"皇家巨人無視敵方部隊，直接從遠方瞄準建築物。\",\"غول‌های سلطنتی از دور به سمت ساختمون‌ها حمله می‌کنن و نیروهای دشمن رو نادیده می‌گیرن.\",\"Raksasa Royale menarget bangunan dan mengabaikan peleton musuh.\",\"Gergasi Diraja menyasarkan bangunan dan mengabaikan askar musuh.\"\n\"TID_HINT_POISON\",\"Poison covers the area in a deadly toxin, damaging enemy troops and buildings over time.\",\"Le poison recouvre la zone cible d'une toxine gluante qui inflige des dégâts aux combattants et bâtiments ennemis au fil du temps.\",\"Tödliches Gift bedeckt den Zielbereich, das feindlichen Truppen und Gebäuden kontinuierlichen Schaden zufügt.\",\"El veneno cubre la zona afectada con una toxina letal que daña a las tropas y estructuras enemigas con el paso del tiempo.\",\"Il Veleno copre l'area bersaglio con una tossina appiccicosa, danneggiando truppe ed edifici nemici nel tempo.\",\"Bedek het doelgebied met het dodelijke gif, waardoor vijandelijke troepen en gebouwen schade oplopen naarmate de tijd verstrijkt.\",\"Gift dekker området med en dødelig gift som skader fiendtlige tropper og bygninger over tid.\",\"Zehir, ölümcül bir zehirle bölgeyi kaplayarak zamanla düşman birlikleri ve binalarına hasar verir ve onları yavaşlatır.\",\"ポイズンは範囲内に猛毒をまきちらして、ユニットや建物にダメージを与えます。\",\"독 마법은 목표 지역을 치명적인 독으로 덮어 유닛과 건물에 피해를 입힙니다.\",\"Яд покрывает зону смертоносным токсином, который в течение времени наносит урон войскам и зданиям.\",\"يغطي السم المنطقة بسم مميت يصيب قوات ومباني العدو بمرور الوقت.\",\"O Veneno cobre a área com uma toxina mortal, danificando tropas e construções inimigas. Mas deixa a grama verdinha e saudável. Vai entender...\",\"毒药法术会用致命的毒素覆盖目标区域，并对区域内的军队和建筑造成持续性伤害。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"毒藥法術會用致命的毒素覆蓋目標區域，並對區域內的軍隊和建築造成持續性傷害。\",\"سم کل ناحیه رو با یک سم مرگبار می‌پوشونه، به نیروها و ساختمون‌های دشمن آسیب میزنه.\",\"Racun menyelimuti area dengan toksin maut, merusak peleton dan bangunan musuh seiring waktu.\",\"Racun meliputi kawasan yang sangat toksin, merosakkan askar dan bangunan musuh berkali-kali.\"\n\"TID_DOWNLOADING_UPDATE\",\"Updating...\",\"Mise à jour...\",\"Aktualisieren ...\",\"Actualizando...\",\"Aggiornamento in corso...\",\"Bezig met updaten...\",\"Oppdaterer ...\",\"Güncelleniyor...\",\"アップデート中...\",\"업데이트중...\",\"Обновляем...\",\"جارٍ التحديث...\",\"Atualizando...\",\"正在更新...\",\"正在更新...\",\"درحال به‌روزرسانی...\",\"Memperbarui...\",\"Mengemas kini...\"\n\"TID_SPELL_INFO_SKELETON_WARRIORS\",\"Three ruthless bone brothers with shields. Knock off their shields and all that's left are three ruthless bone brothers.\",\"Trois sacs d'os impitoyables armés de boucliers. Enlevez-leur leurs boucliers et qu'est-ce qui reste ? Trois sacs d'os impitoyables.\",\"Drei skrupellose Knochenbrüder mit Schilden. Wenn du ihre Schilde weghaust, bleiben nur noch ... drei skrupellose Knochenbrüder.\",\"Estos tres hermanos huesudos con escudos son un poco brutos. Si consigues quitarles los escudos, solo te quedarán tres hermanos huesudos un poco brutos.\",\"Tre spietati fratelli ossuti dotati di scudi. Spezza i loro scudi e rimarranno solo tre spietati fratelli ossuti.\",\"Drie meedogenloze bottenbroers met schilden. Sla hun schilden weg en dan blijven er gewoon drie meedogenloze bottenbroers over.\",\"Tre nådeløse beinbrødre med skjold. Ta vekk skjoldene deres, og alt som er igjen, er tre nådeløse beinbrødre.\",\"Kalkanlı üç gaddar kardeşin kalkanlarını elinden alırsan geriye üç gaddar kardeş kalır.\",\"盾を構えた、恐るべき恐怖のガイコツ三兄弟です。でも盾を叩き落としてしまえば、ただの恐怖のガイコツ三兄弟になってしまいます。\",\"방패를 든 세 명의 무자비한 해골 형제들입니다. 방패를 떨어뜨리면 세 명의 무자비한 해골 형제들이 남습니다.\",\"Трое беспощадных костяных братьев с щитами. Выбить у них щиты и все, что останется — трое беспощадных костяных братьев.\",\"ثلاثة إخوة أقوياء بدروع. أسقط دروعهم ولن يتبقى سوى ثلاثة إخوة أقوياء.\",\"Três irmãos esqueléticos e destemidos com escudos. Derrube os escudos e só sobrarão três irmãos esqueléticos e destemidos.\",\"骷髅三兄弟，手持盾牌，冷酷无情。即使被打掉了盾牌，他们也会战斗到底。\",\"骷髏三兄弟，手持盾牌，冷酷無情。即使被打掉了盾牌，他們也會戰鬥到底。\",\"سه برادر استخوانی بی‌رحم با سپر. سپرهاشون رو بنداز و تمام چیزی که باقی میمونه سه برادر استخوانی بی‌رحمه.\",\"Tiga bersaudara tulang yang keji dan bertameng. Jatuhkan tameng mereka dan yang tersisa hanyalah tiga bersaudara tulang yang keji.\",\"Tiga adik-beradik lelaki tulang tiada belas kasihan ini dengan pelindung. Hancurkan pelindung mereka dan biarkan mereka hanya tiga adik-beradik lelaki tulang yang tiada belas kasihan.\"\n\"TID_SPELL_SKELETON_WARRIORS\",\"Guards\",\"Gardes\",\"Wächter\",\"Guardias\",\"Guardie\",\"Wachters\",\"Vakter\",\"Korumalar\",\"盾の戦士\",\"가드\",\"Стражи\",\"حراس\",\"Guardas\",\"骷髅守卫\",\"骷髏守衛\",\"حفاظ‌ها\",\"Penjaga\",\"Pengawal\"\n\"TID_CHARACTER_SKELETON_WARRIOR\",\"Guards\",\"Gardes\",\"Wächter\",\"Guardias\",\"Guardie\",\"Wachters\",\"Vakter\",\"Korumalar\",\"盾の戦士\",\"가드\",\"Стражи\",\"حراس\",\"Guardas\",\"骷髅守卫\",\"骷髏守衛\",\"نگهبان‌ها\",\"Penjaga\",\"Pengawal\"\n\"TID_CHEST_CONTENTS_AND_DONATION_INFO\",\"Chest & Donation info\",\"Infos Coffres et dons\",\"Truhen- und Spendeninfo\",\"Información sobre las donaciones y los cofres\",\"Informazioni su bauli e donazioni\",\"Info over kisten en donaties\",\"Informasjon om kister og donasjoner\",\"Sandık & Bağış bilgisi\",\"宝箱と寄付情報\",\"상자 및 지원 정보\",\"О сундуках и пожертвованиях\",\"معلومات الصندوق والتبرع\",\"Informações sobre baú e doações\",\"奖励&捐赠\",\"獎勵&捐贈\",\"اطلاعات صندوق‌ها و اهداها\",\"Info Peti & Sumbangan\",\"Maklumat Peti & Derma\"\n\"TID_ARENA_CHESTS\",\"Battle Rewards\",\"Récompenses de combat\",\"Kampfbelohnungen\",\"Recompensas de batalla\",\"Ricompense battaglia\",\"Gevechtsbeloningen\",\"Kampbelønninger\",\"Savaş Ödülleri\",\"バトル報酬\",\"전투 보상\",\"Боевые награды\",\"جوائز المعركة\",\"Recompensas pela batalha\",\"对战获胜奖励\",\"對戰獲勝獎勵\",\"جوایز نبرد\",\"Hadiah Pertempuran\",\"Ganjaran Pertempuran\"\n\"TID_DONATIONS_AND_REQUESTS\",\"Clan Donations & Requests\",\"Dons et demandes de clan\",\"Clanspenden und Anfragen\",\"Donaciones y peticiones del clan\",\"Donazioni e richieste clan\",\"Clandonaties en verzoeken\",\"Klandonasjoner og -forespørsler\",\"Klan Bağışları ve İstekler\",\"クランの寄付とリクエスト\",\"클랜 지원 및 요청\",\"Пожертвования и запросы клана\",\"طلبات وتبرعات القبيلة\",\"Doações e solicitações do clã\",\"捐赠卡牌&请求捐赠\",\"捐贈卡牌&請求捐贈\",\"درخواست‌ها و اهداهای قبیله\",\"Sumbangan & Permintaan Klan\",\"Derma & Minta Klan\"\n\"TID_DONATION_CAPACITY\",\"Donate (to each request)\",\"Donner (à chaque demande)\",\"Spenden (pro Anfrage)\",\"Dona (a cada petición)\",\"Dona (a ogni richiesta)\",\"Donatie (voor elk verzoek)\",\"Doner (til hver forespørsel)\",\"Bağış (her istek için)\",\"寄付(1リクエストにつき)\",\"지원 (각 요청 마다)\",\"Пожертвование (на каждый запрос)\",\"تبرع (لكل طلب)\",\"Doação (para cada pedido)\",\"每次可捐赠卡牌：\",\"每次可捐贈卡牌：\",\"اهدا (به هر درخواست)\",\"Sumbang (ke setiap permintaan)\",\"Derma (kepada setiap permintaan)\"\n\"TID_REQUEST_CAPACITY\",\"Request (every 7 hours)\",\"Demander (toutes les 7 h)\",\"Anfragen (alle 7 Stunden)\",\"Pide (cada 7 horas)\",\"Richiedi (ogni 7 ore)\",\"Verzoek (om de 7 uur)\",\"Forespørsel (hver 7. time)\",\"İstek (her 7 saatte bir)\",\"リクエスト(7時間おきに)\",\"요청 (7시간마다)\",\"Запрос (каждые 7 часов)\",\"الطلب (كل 7 ساعات)\",\"Pedido (a cada 7h)\",\"每7小时可请求捐赠：\",\"每7小時可請求捐贈：\",\"درخواست (هر 7 ساعت)\",\"Minta (setiap 7 jam)\",\"Permintaan (setiap 7 jam)\"\n\"TID_OR\",\"OR\",\"OU\",\"ODER\",\"O\",\"OPPURE\",\"OF\",\"ELLER\",\"VEYA\",\"または\",\"또는\",\"ИЛИ\",\"أو\",\"OU\",\"或\",\"或\",\"یا\",\"ATAU\",\"ATAU\"\n\"TID_BUY_CARD_STACK\",\"BUY STACK\",\"ACHETER UN JEU\",\"STAPEL KAUFEN\",\"COMPRAR MONTÓN\",\"ACQUISTA PILA\",\"STAPEL KOPEN\",\"KJØP KORTSTOKK\",\"YIĞIN SATIN AL\",\"パックで買う\",\"스택 구매\",\"КУПИТЬ КОЛОДУ\",\"شراء مجموعة ورق\",\"COMPRAR PILHA\",\"购买卡包\",\"購買卡包\",\"خرید دسته\",\"BELI TUMPUKAN\",\"BELI TINDANAN\"\n\"TID_BUY_CARD_NUMBER\",\"BUY <num> CARDS\",\"ACHETER <num> CARTES\",\"KAUFE <num> KARTEN\",\"COMPRAR <num> CARTAS\",\"ACQUISTA <num> CARTE\",\"KOOP <num> KAARTEN\",\"KJØP <num> KORT\",\"<num> KART SATIN AL\",\"カードを<num>枚購入\",\"카드 <num>장 구매\",\"КУПИТЬ <num> КАРТ.\",\"شراء <num> من البطاقات\",\"COMPRE <num> CARTAS\",\"购买<num>张\",\"購買<num>張\",\"خرید <num> کارت\",\"BELI <num> KARTU\",\"BELI <num> KAD\"\n\"TID_BUY_CARD_SINGLE\",\"BUY 1 CARD\",\"ACHETER 1 CARTE\",\"KAUFE 1 KARTE\",\"COMPRAR 1 CARTA\",\"ACQUISTA 1 CARTA\",\"KOOP 1 KAART\",\"KJØP 1 KORT\",\"1 KART SATIN AL\",\"カードを1枚購入\",\"카드 1장 구매\",\"КУПИТЬ 1 КАРТУ\",\"شراء بطاقة واحدة\",\"COMPRE 1 CARTA\",\"购买1张\",\"購買1張\",\"خرید 1 کارت\",\"BELI 1 KARTU\",\"BELI 1 KAD\"\n\"TID_CARDS_LEFT\",\"Cards left:\",\"Cartes restantes :\",\"Verbleibende Karten:\",\"Cartas restantes:\",\"Carte rimanenti:\",\"Kaarten over:\",\"Kort igjen:\",\"Kalan kart sayısı:\",\"カード残り：\",\"남은 카드:\",\"Карт осталось:\",\"البطاقات المتبقية:\",\"Cartas restantes:\",\"还可购买：\",\"還可購買：\",\"کارت‌های باقی‌مانده:\",\"Sisa kartu:\",\"Baki kad:\"\n\"TID_SOLD_OUT\",\"Sold Out\",\"Rupture de stock\",\"Ausverkauft\",\"Agotada\",\"Esaurito\",\"Uitverkocht\",\"Utsolgt\",\"Tükendi\",\"売り切れ\",\"매진\",\"Распродано\",\"نفذت\",\"Esgotadas\",\"已售完\",\"已售完\",\"فروش تمام شد\",\"Habis Terjual\",\"Habis Dijual\"\n\"TID_VICTORY_GOLD_DAILY\",\"Victory Gold:\",\"Or de la victoire :\",\"Siegesgold:\",\"Oro de victoria:\",\"Oro vittoria:\",\"Overwinningsgoud:\",\"Seiersgull:\",\"Zafer Altını:\",\"勝利ゴールド\",\"승리 골드:\",\"Золото за победу:\",\"ذهب النصر\",\"Ouro da vitória:\",\"获胜金币奖励：\",\"獲勝金幣獎勵：\",\"طلای پیروزی:\",\"Emas Kemenangan:\",\"Emas Kemenangan:\"\n\"TID_REPLAY\",\"Replay\",\"Visionnage\",\"Wiederholung\",\"Repetición\",\"Replay\",\"Herhaling\",\"Reprise\",\"Tekrar\",\"リプレイ\",\"리플레이\",\"Повтор\",\"إعادة العرض\",\"Replay\",\"回放\",\"重播\",\"بازپخش\",\"Tayangan Ulang\",\"Main Semula\"\n\"TID_NO_CHEST_WARNING\",\"Cannot receive chests from battle, play anyway?\",\"Vous ne recevrez pas de coffre pour ce combat. Jouer quand même ?\",\"Für den Kampf gibt es keine Truhen. Trotzdem spielen?\",\"No recibirás cofres de la batalla. ¿Quieres jugar de todas formas?\",\"Non puoi ricevere bauli dalla battaglia, vuoi giocare comunque?\",\"Je kunt geen kisten krijgen na een gevecht. Toch spelen?\",\"Kan ikke motta kister fra kampen. Spille likevel?\",\"Savaştan sandık alamasan da oynamaya devam etmek istiyor musun?\",\"勝っても宝箱はもらえませんが、プレイしますか？\",\"전투에서 상자를 받을 수 없습니다. 그래도 플레이하시겠습니까?\",\"Невозможно получить сундук за бой. Все равно играть?\",\"لا يمكن تلقي الصناديق من المعركة، اللعب على أي حال؟\",\"Você não receberá baús pela batalha. Quer mesmo jogar?\",\"对战胜利后您不会获得新的宝箱，仍要开始对战吗？\",\"對戰勝利後您不會獲得新的寶箱，仍要開始對戰嗎？\",\"نمی‌تونی از نبرد صندوق دریافت کنی، با این وجود بازی می‌کنی؟\",\"Tidak dapat menerima peti dari pertempuran, tetap main?\",\"Tidak dapat menerima peti daripada pertempuran, main juga?\"\n\"TID_DAILY_LIMIT_REACHED\",\"Daily limit reached\",\"Limite quotidienne atteinte !\",\"Tageslimit erreicht\",\"Límite diario alcanzado\",\"Limite quotidiano raggiunto\",\"Dagelijkse limiet bereikt!\",\"Du har nådd den daglige grensen!\",\"Günlük limitine erişildi\",\"1日の上限に達しました\",\"일일 한도 도달\",\"Дневной лимит исчерпан\",\"وصلت إلى الحد اليومي\",\"Limite diário atingido!\",\"已达每日奖励上限\",\"已達每日獎勵上限\",\"به محدودیت روزانه رسیدی\",\"Batas harian tercapai\",\"Had harian dicapai!\"\n\"TID_START_MATCH_ANYWAY\",\"Cannot receive rewards from battle, play anyway?\",\"Vous ne recevrez pas de récompense pour ce combat. Jouer quand même ?\",\"Für den Kampf gibt es keine Belohnungen. Trotzdem spielen?\",\"No recibirás recompensas de la batalla. ¿Quieres jugar de todas formas?\",\"Non puoi ricevere ricompense dalla battaglia, vuoi giocare comunque?\",\"Je kunt geen beloningen krijgen na een gevecht. Toch spelen?\",\"Kan ikke motta belønninger fra kampen. Spille likevel?\",\"Savaştan ödül alamasan da oynamaya devam etmek istiyor musun?\",\"勝っても報酬はもらえませんが、プレイしますか？\",\"전투에서 보상을 받을 수 없습니다. 그래도 플레이하시겠습니까?\",\"Невозможно получить награду за бой. Все равно играть?\",\"لا يمكن تلقي الجوائز من المعركة، اللعب على أي حال؟\",\"Você não receberá recompensas pela batalha. Quer mesmo jogar?\",\"对战胜利后您不会获得金币奖励，仍要开始对战吗？\",\"對戰勝利後您不會獲得金幣獎勵，仍要開始對戰嗎？\",\"نمی‌تونی از نبرد جایزه دریافت کنی، با این وجود بازی می‌کنی\",\"Tidak dapat menerima hadiah dari pertempuran, tetap main?\",\"Tidak dapat menerima ganjaran daripada pertempuran, main juga?\"\n\"TID_REWARD_LIMIT_WARNING_TITLE\",\"Reward limit reached!\",\"Limite de récompenses atteinte !\",\"Belohnungslimit erreicht!\",\"¡Límite de recompensas alcanzado!\",\"Limite ricompense raggiunto!\",\"Beloningenlimiet bereikt!\",\"Du har nådd grensen for belønninger!\",\"Ödül limitine erişildi!\",\"報酬の上限に達しました！\",\"보상 한도 초과!\",\"Лимит награды исчерпан!\",\"وصلت إلى حد الجوائز!\",\"Limite de recompensas atingido!\",\"已达奖励上限\",\"已達獎勵上限\",\"به محدودیت جایزه رسیدی!\",\"Batas hadiah tercapai!\",\"Had ganjaran dicapai!\"\n\"TID_REWARD_LIMIT_TOOLTIP\",\"All the battle rewards collected for now:\\n\\n- Chest slots full\\n- Crown Chest completed\\n- Daily Victory Gold collected\",\"État de vos récompenses de combat :\\n\\n- Emplacements de coffres occupés\\n- Coffre à couronne terminé\\n- Or quotidien de la victoire récupéré\",\"Aktuell verfügbare Belohnungen gesammelt:\\n\\n- Truhenplätze voll\\n- Kronentruhe abgeschlossen\\n- Tägliches Siegesgold gesammelt\",\"Todas las recompensas de batalla recogidas hasta ahora:\\n\\n— Huecos para cofres llenos\\n— Cofre de coronas completado\\n— Oro de victoria diario recogido\",\"Tutte le ricompense battaglia ottenute per il momento:\\n\\n- Slot baule pieni\\n- Baule della corona completato\\n- Oro vittoria quotidiano ottenuto\",\"Alle gevechtsbeloningen zijn op dit moment verzameld:\\n\\n- Kistvakken vol\\n- Kroonkist voltooid\\n- Dagelijkse overwinningsgoud verzameld\",\"Alle kampbelønningene som er innkassert til nå:\\n\\n- Ingen flere kisteplasser\\n- Kronekiste fullført\\n- Daglig seiersgull innkassert\",\"Şu ana dek toplanan savaş ödülleri:\\n\\n- Sandık bölmeleri dolu\\n- Taç Sandıkları tamamlandı\\n- Günlük Zafer Altını toplandı\",\"今までに集めたバトル報酬：\\n\\n-宝箱スロット：フル\\n-クラウン宝箱：完了\\n-本日の勝利ゴールド：\\n回収済み\",\"현재까지 받은 전투 보상:\\n\\n-상자 슬롯 가득 참\\n- 크라운 상자 완료\\n- 일일 승리 골드 받음\",\"На данный момент собраны все боевые награды:\\n\\n— ячейки для сундуков заполнены;\\n— королевский сундук собран;\\n— ежедневное золото за победу собрано.\",\"كل جوائز المعركة التي تم جمعها حتى الآن:\\n\\n- مواضع الصناديق ممتلئة\\n- صندوق التاج مكتمل\\n- تم جمع ذهب النصر اليومي\",\"Recompensas por batalhas coletadas até agora:\\n\\n-Espaços para baús cheios.\\n-Baú da coroa completo.\\n-Ouro diário por vitória coletado.\",\"当前已收集的所有对战奖励：\\n\\n-宝箱位已满\\n-皇冠宝箱已收集完\\n-每日获胜金币奖励已达上限\",\"當前已收集的所有對戰獎勵：\\n\\n-寶箱位已滿\\n-皇冠寶箱已收集完\\n-每日獲勝金幣獎勵已達上限\",\"تمام جایزه‌های نبردی که تا الان جمع شده:\\n\\n-ردیف صندوق پر\\n-صندوق تاج کامل شد\\n-طلای پیروزی روزانه جمع‌آوری شد\",\"Semua hadiah pertempuran sudah diambil untuk saat ini:\\n\\n- Slot peti penuh\\n- Peti Mahkota selesai\\n- Emas Kemenangan Harian sudah diambil\",\"Semua ganjaran pertempuran dikumpul setakat ini:\\n\\n- Slot peti penuh\\n- Peti Mahkota lengkap\\n- Emas Kemenangan harian dikumpul\"\n\"TID_CHEST_SLOTS_FULL\",\"Chest slots full!\",\"Emplacements de coffres occupés !\",\"Truhenplätze voll!\",\"¡Huecos para cofres llenos!\",\"Slot baule pieni!\",\"Kistvakken vol!\",\"Ingen flere kisteplasser!\",\"Sandık bölmeleri dolu!\",\"宝箱スロットが一杯です！\",\"상자 슬롯이 가득 찼습니다!\",\"Нет места для сундуков!\",\"مواضع الصناديق ممتلئة!\",\"Sem espaço para baús!\",\"宝箱位已满！\",\"寶箱位已滿！\",\"ردیف‌های صندوقچه پر هست!\",\"Slot peti penuh!\",\"Slot peti penuh!\"\n\"TID_GOLD_REWARDS_PER_DAY\",\"(x20 per day)\",\"(x20 par jour)\",\"(20x pro Tag)\",\"(20 al día)\",\"(x20 al giorno)\",\"(20x per dag)\",\"(x20 per dag)\",\"(günde 20 tane)\",\"(x20/日)\",\"(하루 20번)\",\"(х20 в день)\",\"(في اليوم x20)\",\"(x20 por dia)\",\"（每天可赢取20次）\",\"（每天可獲取20次）\",\"(20 برابر در روز)\",\"(x20 per hari)\",\"(x20 setiap hari)\"\n\"TID_BATTLE_STARTED\",\"Battle started\",\"Début du combat\",\"Kampf hat begonnen\",\"Batalla iniciada\",\"Battaglia cominciata\",\"Gevecht gestart\",\"Kamp startet\",\"Savaş başladı\",\"戦闘中\",\"전투 시작됨\",\"Бой начался\",\"بدأت المعركة\",\"Batalha iniciada\",\"对战开始于\",\"對戰開始於\",\"نبرد شروع شد\",\"Pertempuran dimulai\",\"Pertempuran bermula\"\n\"TID_BATTLE_STARTED_AGO\",\"<time> ago\",\"il y a <time>\",\"vor <time>\",\"hace <time>\",\"<time> fa\",\"<time> geleden\",\"for <time> siden\",\"<time> önce\",\"（<time>前に開始）\",\"<time> 전\",\"<time> назад\",\"منذ <time>\",\"<time> atrás\",\"<time>前\",\"<time>前\",\"<time> قبل\",\"<time> yang lalu\",\"<time> yang lalu\"\n\"TID_WATCH\",\"Spectate\",\"Regarder\",\"Zuschauen\",\"Ver\",\"Assisti\",\"Kijken\",\"Vær tilskuer\",\"İzle\",\"観戦\",\"관전하기\",\"Наблюдать\",\"مشاهدة\",\"Assistir\",\"观战\",\"觀戰\",\"تماشا\",\"Tonton\",\"Tonton\"\n\"TID_LIVE\",\"Live\",\"Live\",\"Live\",\"En directo\",\"Live\",\"Live\",\"Live\",\"Canlı\",\"ライブ\",\"라이브\",\"Прямой эфир\",\"مشاهدة حية\",\"Ao vivo\",\"Live\",\"Live\",\"زنده\",\"Langsung\",\"Langsung\"\n\"TID_FRIENDLY_BATTLE_STARTS_IN\",\"Friendly Battle starts in\",\"Début du combat amical dans\",\"Testspiel beginnt in:\",\"La batalla amistosa empieza en\",\"La battaglia amichevole inizia tra:\",\"Vriendelijk gevecht begint over:\",\"Vennskapskamp starter om:\",\"Dostluk Savaşını başlamasına:\",\"フレンドバトル開始まで\",\"친선전 시작까지\",\"Дружеский бой начнется через\",\"ستبدأ المعركة الودية خلال\",\"A batalha amistosa começa em\",\"离友谊战开始还有\",\"距離友誼戰開始時間\",\"شروع نبرد دوستانه در\",\"Pertempuran Persahabatan dimulai dalam\",\"Pertempuran Persahabatan bermula dalam\"\n\"TID_FRIENDLY_BATTLE_IN_PROGRESS\",\"Friendly Battle in progress: <cfffffe><time></c>\",\"Combat amical en cours : <cfffffe><time></c>\",\"Testspiel läuft: <cfffffe><time></c>\",\"Batalla amistosa en progreso: <cfffffe><time></c>\",\"Battaglia amichevole in corso: <cfffffe><time></c>\",\"Vriendelijk gevecht aan de gang: <cfffffe><time></c>\",\"Vennskapskamp pågår: <cfffffe><time></c>\",\"Dostluk Savaşı sürüyor: <cfffffe><time></c>\",\"フレンドバトル進行中：<cfffffe><time></c>\",\"친선전 진행 경과: <cfffffe><time></c>\",\"Дружеский бой идет: <cfffffe><time></c>\",\"المعركة الودية القائمة: <cfffffe><time></c>\",\"Batalha amistosa em andamento: <cfffffe><time></c>\",\"友谊战进行中：<cfffffe><time></c>\",\"友誼戰進行中：<cfffffe><time></c>\",\"نبرد دوستانه در حال انجام: <cfffffe><time></c>\",\"Pertempuran sdg berlangsung: <cfffffe><time></c>\",\"Pertempuran sdg berlangsung: <cfffffe><time></c>\"\n\"TID_FRIENDLY_BATTLE_DONE\",\"Friendly Battle Results\",\"Résultats du combat amical\",\"Testspielresultate\",\"Resultados de la batalla amistosa\",\"Risultati battaglia amichevole\",\"Resultaten vriendelijk gevecht\",\"Resultater fra vennskapskamp\",\"Dostluk Savaşı Sonuçları\",\"フレンドバトル結果\",\"친선전 결과\",\"Результаты дружеского боя\",\"نتائج المعركة الودية\",\"Resultado da batalha amistosa\",\"友谊战结果\",\"友誼戰結果\",\"نتایج نبرد دوستانه\",\"Hasil Pertempuran Persahabatan\",\"Keputusan Pertempuran Persahabatan\"\n\"TID_FRIENDLY_BATTLE_EVENT_DONE\",\"<name> Results\",\"Résultats de <name>\",\"Ergebnis: <name>\",\"Resultados de <name>\",\"Risultati <name>\",\"Resultaten <name>\",\"<name> - resultater\",\"<name> Sonuçları\",\"<name>の結果\",\"<name> 결과\",\"<name>: результаты\",\"نتائج <name>\",\"Resultados de <name>\",\"<name>结果\",\"<name>結果\",\"نتایج <name>\",\"Hasil <name>\",\"Keputusan <name>\"\n\"TID_COPY_DECK_BUTTON\",\"Copy\",\"Copier\",\"Kopieren\",\"Copiar\",\"Copia\",\"Kopiëren\",\"Kopier\",\"Kopyala\",\"コピー\",\"복사\",\"Копировать\",\"نسخ\",\"Copiar\",\"复制\",\"複製\",\"کپی\",\"Salin\",\"Salin\"\n\"TID_DECK_COPIED_FLOATER\",\"Deck copied to slot <SLOT>\",\"Cartes de combat copiées à l'emplacement <SLOT>\",\"Deck auf Platz <SLOT> kopiert\",\"Baraja copiada al hueco <SLOT>\",\"Mazzo copiato nello slot <SLOT>\",\"Gevechtskaarten gekopieerd naar vak <SLOT>\",\"Kampkort kopiert til plass <SLOT>\",\"Deste <SLOT> bölmesine kopyalandı\",\"デッキをスロット<SLOT>へコピーしました\",\"덱이 <SLOT>슬롯에 복사되었습니다.\",\"Колода скопирована в ячейку <SLOT>\",\"تم نسخ المجموعة إلى الموضع <SLOT>\",\"Deck copiado para o espaço <SLOT>.\",\"该卡组已复制到您的出战卡组<SLOT>\",\"該牌組已複製到您的出戰牌組<SLOT>\",\"دست بازی روی ردیف <SLOT> کپی شد\",\"Dek tersalin ke slot <SLOT>\",\"Dek disalin ke slot <SLOT>\"\n\"TID_REPLACE_WITH_DECK\",\"Copy to deck:\",\"Copier dans les cartes de combat :\",\"In Deck kopieren:\",\"Copiar a la baraja:\",\"Copia nel mazzo:\",\"Kopiëren naar gevechtskaarten:\",\"Kopier til kampkort:\",\"Desteye kopyala\",\"デッキにコピー：\",\"덱에 복사하기:\",\"Скопировать в колоду:\",\"نسخ إلى المجموعة:\",\"Copiar para o deck:\",\"复制到出战卡组：\",\"複製到出戰牌組：\",\"کپی به دست:\",\"Salin ke dek:\",\"Salin ke dek:\"\n\"TID_CHALLENGE_ALREADY_STARTED\",\"Challenge already started\",\"Défi déjà commencé\",\"Herausforderung hat schon begonnen.\",\"Desafío iniciado\",\"Sfida già cominciata\",\"Uitdaging is al gestart\",\"Utfordringen har allerede begynt\",\"Mücadele zaten başladı\",\"バトルはすでに開始されています\",\"도전이 이미 시작되었습니다\",\"Испытание уже опубликовано\",\"بدأ التحدي بالفعل\",\"O desafio já começou\",\"挑战已开始\",\"挑戰已開始\",\"چالش قبلاً شروع شده\",\"Tantangan sudah dimulai\",\"Cabaran sudah bermula\"\n\"TID_CANNOT_COPY_DECK\",\"Cannot copy deck, missing <NUM> cards\",\"Impossible de copier les cartes de combat : il manque <NUM> cartes.\",\"Deck kann nicht kopiert werden. Fehlende Karten: <NUM>\",\"No se puede copiar la baraja. Cartas necesarias: <NUM>\",\"Impossibile copiare il mazzo. Carte mancanti: <NUM>\",\"Kan gevechtskaarten niet kopiëren. Er ontbreken <NUM> kaart(en).\",\"Kan ikke kopiere kampkort, du mangler <NUM> kort\",\"Deste kopyalanamıyor, <NUM> kart eksik\",\"デッキをコピーできません。カードが<NUM>枚足りません\",\"덱을 복사할 수 없습니다. 카드 <NUM>장이 부족합니다.\",\"Не удалось скопировать колоду. Нужны еще карты (<NUM> шт.)\",\"لا يمكن نسخ المجموعة، <NUM> من البطاقات مفقودة\",\"Impossível copiar deck. <NUM> cartas faltando.\",\"无法复制该卡组，您还缺少<NUM>种卡牌\",\"無法複製該牌組，您還缺少<NUM>種卡牌\",\"امکان کپی دسته نیست، <NUM> کارت کم هست\",\"Tidak dapat menyalin dek, kurang <NUM> kartu\",\"Tidak dapat menyalin dek, <NUM> kad tiada\"\n\"TID_CARD_SHOP\",\"Card Shop\",\"Magasin de cartes\",\"Karten-Shop\",\"Tienda de cartas\",\"Negozio carte\",\"Kaartenwinkel\",\"Kortbutikk\",\"Kart Dükkanı\",\"カードショップ\",\"카드 상점\",\"Карточный магазин\",\"متجر البطاقات\",\"Loja de cartas\",\"卡牌商店\",\"卡牌商店\",\"فروشگاه کارت\",\"Toko Kartu\",\"Kedai Kad\"\n\"TID_SPELL_ZAPMACHINE\",\"Sparky\",\"Zappy\",\"Funki\",\"Chispitas\",\"Scintilla\",\"Vonkje\",\"Gnist\",\"Kıvılcım\",\"スパーキー\",\"스파키\",\"Спарки\",\"سباركي\",\"Sparky\",\"电磁炮\",\"電磁炮\",\"اسپارکی\",\"Sparky\",\"Sparky\"\n\"TID_SPELL_INFO_ZAPMACHINE\",\"Sparky slowly charges up, then unloads MASSIVE area damage. Overkill isn't in her vocabulary.\",\"Zappy se charge lentement, puis décharge toute son énergie sur une ÉNORME zone de dégâts. Zappy ne fait pas dans la dentelle.\",\"Funki lädt sich langsam auf und sorgt für GEWALTIGEN Flächenschaden. Nichts ist zu viel des Guten!\",\"Chispitas se carga de energía lentamente y la descarga causando enormes daños de área. En su vocabulario no entra la palabra masacre.\",\"Scintilla si carica lentamente per poi scatenare un ENORME danno ad area. Il verbo esagerare non esiste nel suo vocabolario.\",\"Vonkje laadt langzaam op en veroorzaakt dan MEGAVEEL gebiedsschade. Wat haar betreft, kan het nooit te veel zijn.\",\"Gnist lader langsomt opp før hun påfører ENORM områdeskade. Hun sparer ikke på kruttet.\",\"Kıvılcım, yavaşça hazırlanır ve BÜYÜK bir alan hasarı verir. Aşırı güç kullanımı ne demektir bilmez.\",\"スパーキーは、ゆっくりとチャージを行ってから強力な範囲攻撃を行います。スパーキーの辞書にオーバーキルという言葉はありません。\",\"스파키는 천천히 에너지를 모은 다음 발사해 막대한 범위 피해를 줍니다. 지나치다는 말은 스파키 사전에 없죠.\",\"Спарки атакует медленно, но ее удар наносит ОГРОМНЫЙ урон. Ей незнакома фраза «слишком много убийств».\",\"تنطلق سباركي ببطء، ثم تحدث ضررًا هائلاً في المنطقة. لكن القتل المبالغ ليس في قاموسها.\",\"Sparky carrega lentamente, depois causa um dano TREMENDO em área. Sobrecarga é apelido.\",\"电磁炮会慢慢充能，然后可造成巨量范围伤害。她的字典里可没有伤害过量这个词。\",\"電磁炮會慢慢累積能量，然後施放出海量範圍傷害。她的字典裡可沒有傷害過量這個詞。\",\"اسپارکی به آرامی شارژ میشه، بعد آسیب ناحیه‌ای عظیمی ایجاد می‌کنه. اصلاً حالیش نیست تندروی در کشتار یعنی چی.\",\"Sparky pelan-pelan terisi, lalu mengeluarkan kerusakan area MASIF. Pembunuhan berlebih tidak ada dalam kosakatanya.\",\"Sparky mengecas dengan perlahan, kemudian memuat naik kerosakan kawasan BESAR-BESARAN. Pembunuhan berlebihan tidak ada di dalam kamus beliau.\"\n\"TID_CHARACTER_ZAPMACHINE\",\"Sparky\",\"Zappy\",\"Funki\",\"Chispitas\",\"Scintilla\",\"Vonkje\",\"Gnist\",\"Kıvılcım\",\"スパーキー\",\"스파키\",\"Спарки\",\"سباركي\",\"Sparky\",\"电磁炮\",\"電磁炮\",\"اسپارکی\",\"Sparky\",\"Sparky\"\n\"TID_HINT_LEGENDARY_MAX_LEVEL\",\"Legendary Cards can be upgraded to level 5.\",\"Les cartes légendaires peuvent être améliorées jusqu'au niveau 5.\",\"Legendäre Karten können bis Level 5 verbessert werden.\",\"Las cartas legendarias se pueden mejorar hasta el nivel 5.\",\"Le carte leggendarie possono essere migliorate fino al livello 5.\",\"Je kunt legendarische kaarten upgraden tot level 5.\",\"Legendariske kort kan oppgraderes til nivå 5.\",\"Efsanevi Kartlar, 5. seviyeye kadar yükseltilebilir.\",\"ウルトラレアカードはレベル5まで\\nアップグレード可能です。\",\"전설 카드는 5레벨까지 업그레이드 가능합니다.\",\"Легендарные карты можно улучшить до 5 уровня.\",\"يمكن ترقية البطاقات الأسطورية إلى المستوى 5.\",\"As cartas lendárias podem ser melhoradas até o nível 5.\",\"传奇卡可升至5级。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"傳奇卡可升至5級。\",\"کارت‌های افسانه‌ای رو میشه به سطح 5 ارتقا داد.\",\"Kartu Legendaris dapat ditingkatkan ke level 5.\",\"Kad Legenda boleh dinaik taraf ke tahap 5.\"\n\"TID_HINT_GOLD_PER_WIN\",\"You receive gold for each win, even when your chest slots are full.\",\"Vous recevez de l'or à chaque victoire, même quand les emplacements des coffres sont occupés.\",\"Du erhältst auch Gold für Siege, wenn deine Truhenplätze voll sind.\",\"Recibirás oro por cada victoria, incluso cuando los huecos para cofres estén llenos.\",\"Ricevi oro per ogni vittoria, anche se i tuoi slot baule sono pieni.\",\"Je krijgt goud voor elke overwinning, zelfs als je kistvakken vol zijn.\",\"Du mottar gull for hver seier, selv når du går tom for kisteplasser.\",\"Sandık bölmelerin dolu olduğunda bile her galibiyette altın alırsın.\",\"宝箱スロットがいっぱいの時でも\\n勝利するとゴールドがもらえます。\",\"상자 슬롯이 가득 차 있어도 승리할 때마다 골드를 받습니다.\",\"За каждую победу ты получишь золото, даже если все ячейки для сундуков заняты.\",\"ستتلقى الذهب عن كل فوز، حتى عندما تكون مواضع الصناديق لديك ممتلئة.\",\"Você sempre ganha ouro por suas vitórias, mesmo quando não há espaços para novos baús.\",\"即使宝箱位已满，对战胜利您仍可获得金币奖励。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"即使寶箱位已滿，對戰勝利您仍可獲得金幣獎勵。\",\"برای هر پیروزی طلا دریافت می‌کنی، حتی وقتی که تمام ردیف‌های صندوق پر باشه.\",\"Kamu mendapatkan emas setiap kali menang, bahkan jika slot petimu penuh.\",\"Anda menerima emas untuk setiap kemenangan, walaupun apabila slot peti anda penuh.\"\n\"TID_HINT_LAVA_HOUND\",\"The Lava Hound is a majestic flying beast. The Lava Pups are less majestic angry babies.\",\"Le molosse de lave est une majestueuse créature volante. Les roquets de lave sont des chiots énervés moins majestueux.\",\"Der Lavahund ist eine majestätische, fliegende Bestie. Die Lavawelpen sind weniger majestätische, aber wütende Babys.\",\"El sabueso de lava es una majestuosa bestia voladora. Los cachorros son un poco menos majestuosos, pero igual de bestias...\",\"Il mastino lavico è una maestosa creatura volante. I cuccioli lavici sono creaturine infuriate un po' meno maestose.\",\"De lavahond is een majestueus, vliegend beest. De lavapups zijn minder majestueuze, boze baby's.\",\"Lavahunden er et majestetisk flygende beist. Lavavalpene er mindre majestetiske, sinte babyer.\",\"Lav Tazısı, muhteşem bir uçan yaratıktır. Lav Köpekleri ise daha az muhteşem, kızgın bebeklerdir.\",\"ラヴァハウンドは威厳に満ちた空飛ぶ魔犬で、建物を攻撃します。ラヴァパピィは威厳には欠けるものの、やはり凶暴な子犬です。\",\"라바 하운드는 우아하게 날아다니는 야수입니다. 라바 펍은 조금 덜 우아하게 날아다니는 까칠한 아가들입니다.\",\"Адская гончая — величественное летающее создание. Адские щенки не такие величественные, зато очень злые.\",\"كلب الحمم هو وحش طائر مهيب. جراء الحمم هم صغار أقل هيبة.\",\"O Lava Hound é uma majestosa fera voadora. Os Lava Pups são bebês irritados e deselegantes.\",\"熔岩猎犬是一只飞行巨兽，熔岩幼犬的个头虽没那么大，但脾气却很暴躁。\",\"熔岩獵犬是一隻飛行巨獸，熔岩幼犬的個頭雖沒那麼大，但脾氣卻很暴躁。\",\"سگ گدازه‌ای یک هیولای پرنده عظیم هست. توله‌سگ‌های گدازه‌ای بچه‌های عصبانی‌ هستند که عظمت کمتری دارن.\",\"Anjing Lava adalah monster terbang yang menawan. Anak Anjing Lava adalah bayi pemarah yang kurang menawan.\",\"Buru Lava ialah binatang terbang megah. Pup Lava ialah bayi pemarah kurang pemarah.\"\n\"TID_HINT_MINER\",\"The Miner can burrow his way underground and appear anywhere in the Arena. It's not magic, it's a shovel.\",\"Le mineur creuse des tunnels souterrains et apparaît n'importe où dans l'arène. Ce n'est pas de la magie, juste une pelle.\",\"Der Tunnelgräber kann sich unterirdisch einen Weg bahnen und überall in der Arena auftauchen. Das ist keine Zauberei, sondern eine Schaufel!\",\"El minero es capaz de excavar un túnel para aparecer en cualquier lugar de la arena. No es magia, es una pala.\",\"Il minatore può scavare una galleria sotterranea e apparire in un punto qualsiasi dell'arena. Non è magia, è una pala.\",\"De mijnwerker graaft zich ondergronds een weg en kan overal in de arena weer boven de grond komen. Dat heeft niets met magie te maken, maar alles met een goede schep.\",\"Graveren kan grave seg vei under bakken og dukke opp hvor som helst i arenaen. Det er ikke magi, det er en spade.\",\"Madenci, yeraltında yol açarak Arenanın herhangi bir yerinde belirir. Büyü değil, kürek kullanır.\",\"ディガーは地下にトンネルを掘ることで、アリーナのどこにでも出現することができます。魔法ではなく、ショベルの力です！\",\"광부는 땅을 파고 이동해 아레나 어디에나 나타날 수 있습니다. 마법이 아니라 삽질의 힘이죠.\",\"Шахтер может перемещаться под землей и появиться где угодно на Арене. Это не магия, это лопата.\",\"يمكن لعامل المنجم أن يحفر طريقه تحت الأرض ويظهر في أي مكان في الساحة. هذا ليس سحرًا، بل مجرفة.\",\"O Mineiro consegue passar por debaixo da terra e aparecer em qualquer lugar da arena. Não é mágica. Chama-se pá!\",\"掘地矿工可以掘地三尺并在竞技场中的任何位置破土而出。这可不是什么魔法，他靠的是他的铲子。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"掘地礦工可以掘地三尺並在競技場中的任何位置破土而出。這可不是什麼魔法，他靠的是他的鏟子。\",\"معدنچی می‌تونه زیر زمین راه خودش رو درست کنه و هر جا از میدان نبرد که خواست ظاهر بشه. جادویی در کار نیست، فقط یک بیل داره.\",\"Penambang dapat menggali jalan di bawah tanah dan muncul di mana saja di Arena. Bukan sihir, hanya sekop.\",\"Pelombong boleh mengorek ke bawah tanah dan muncul di mana-mana dalam Arena. Itu bukan ajaib, itu penyodok.\"\n\"TID_HINT_SPARKY\",\"Overkill isn't in Sparky's vocabulary.\",\"Zappy ne fait pas dans la dentelle.\",\"Für Funki ist nichts zu viel des Guten!\",\"Chispitas no conoce la palabra masacre.\",\"Il verbo esagerare non esiste nel vocabolario di Scintilla.\",\"Wat Vonkje betreft, kan het nooit te veel zijn.\",\"Gnist sparer ikke på kruttet.\",\"Kıvılcım aşırı güç kullanımı ne demek, bilmez.\",\"スパーキーの辞書にオーバーキルという言葉はありません。\",\"지나치다는 말은 스파키의 사전에 없죠.\",\"Спарки незнакома фраза «слишком много смертей».\",\"القتل المبالغ ليس في قاموس سباركي.\",\"Matar demais não existe para Sparky.\",\"电磁炮的字典里可没有伤害过量这个词。\",\"電磁炮的字典裡可沒有傷害過量這個詞。\",\"اسپارکی اصلاً حالیش نیست تندروی در کشتار یعنی چی.\",\"Pembunuhan berlebih tidak ada dalam kosakata Sparky.\",\"Sparky tidak melakukan bunuh berlebihan.\"\n\"TID_HINT_LEGENDARY_CARDS\",\"Legendary Cards can appear in your Shop once you've reached Arena 10.\",\"Les cartes légendaires peuvent apparaître dans le magasin une fois l'arène 10 atteinte.\",\"Legendäre Karten können im Shop erscheinen, wenn du Arena 10 erreicht hast.\",\"Las cartas legendarias pueden aparecer en la tienda una vez alcanzada la arena 10.\",\"Le carte leggendarie possono apparire nel negozio dopo che hai raggiunto l'arena 10.\",\"Zodra je arena 10 hebt bereikt, kunnen er legendarische kaarten in de winkel verschijnen.\",\"Legendariske kort kan dukke opp i butikken din når du har nådd arena 10.\",\"Efsanevi Kartlar, 10. Arenaya eriştiğin zaman Dükkan'da ortaya çıkabilir.\",\"アリーナ10に到達するとショップにウルトラレアカードが並ぶことがあります。\",\"아레나 10에 진출하면 전설 카드가 상점에 나타날 수 있습니다.\",\"Стоит добраться до 10-й арены, как в магазине начнут появляться легендарные карты.\",\"قد تظهر البطاقات الأسطورية في المتجر بمجرد وصولك إلى الساحة 10.\",\"Há chances das cartas lendárias aparecerem na loja depois que você chegar à Arena 10.\",\"您进入10阶竞技场后，商店中有可能出现传奇卡。\",\"在您進入10階競技場後，商店中將有機會出現傳奇卡。\",\"وقتی به میدان نبرد 10 برسی کارت‌های افسانه‌ای در فروشگاه پیدا میشن.\",\"Kartu Legendaris dapat muncul di Toko begitu kamu mencapai Arena 10.\",\"Kad Legenda boleh kelihatan dalam Kedai anda setelah anda mencapai Arena 10.\"\n\"TID_ELDER_KICK_FAIL_COOLDOWN\",\"You have recently kicked a Clanmate. Try again in <time>.\",\"Vous avez récemment expulsé un membre de votre clan. Réessayez dans <time>.\",\"Du hast erst kürzlich ein Clanmitglied rausgeworfen. Versuche es in <time> erneut.\",\"Has expulsado recientemente a un aliado. Inténtalo de nuevo en <time>.\",\"Di recente hai espulso un membro del clan. Riprova tra <time>.\",\"Je hebt onlangs een clangenoot verwijderd. Probeer het opnieuw over <time>.\",\"Du har nylig sparket ut en klanvenn. Prøv igjen om <time>.\",\"Yakın zamanda bir Klan Arkadaşını attın. <time> sonra tekrar dene.\",\"最近クランメンバーを追放したばかりです。<time>後に再度お試しください。\",\"최근에 클랜원을 추방했습니다. <time> 후에 다시 시도해주세요.\",\"Ты изгнал кого-то из клана совсем недавно. Попробуй снова через <time>.\",\"لقد طردت زميل قبيلة مؤخرًا. حاول مجددًا خلال <time>.\",\"Você excluiu um colega recentemente. Tente de novo em <time>.\",\"您已于不久前踢出了一个部落成员，请等待<time>再执行该操作。\",\"您已於不久前請出了一個部落成員，請等待<time>再執行該操作。\",\"به تازگی یکی از هم‌قبیله‌ای‌ها رو بیرون انداختی. بعد از <time> امتحان کن.\",\"Kamu baru-baru ini sudah menendang seorang Rekan Klan. Coba lagi dalam <time>.\",\"Anda telah membuang Rakan Klan baru-baru ini. Cuba lagi dalam <time>.\"\n\"TID_BATTLE_RESULTS\",\"Battle Result\",\"Résultat du combat\",\"Kampfresultat\",\"Resultado de la batalla\",\"Risultato battaglia\",\"Resultaat gevecht\",\"Kampresultat\",\"Savaş Sonucu\",\"バトル結果\",\"전투 결과\",\"Результаты боя\",\"نتيحة المعركة\",\"Resultado da batalha\",\"对战结果\",\"對戰結果\",\"نتیجه نبرد\",\"Hasil Pertempuran\",\"Keputusan Pertempuran\"\n\"TID_SURVIVAL_RESULTS\",\"Challenge Result\",\"Résultat du défi\",\"Ergebnis\",\"Resultado del desafío\",\"Risultato sfida\",\"Uitdagingsresultaat\",\"Resultat i utfordring\",\"Mücadele Sonucu\",\"チャレンジ結果\",\"도전 결과\",\"Результат испытания\",\"نتيجة التحدي\",\"Resultado do Desafio\",\"挑战结果\",\"挑戰結果\",\"نتیجه مبارزه طلبی\",\"Hasil Tantangan\",\"Keputusan Cabaran\"\n\"TID_SPELL_SORTING_ARENA\",\"By Arena\",\"Par arène\",\"Nach Arena\",\"Por arena\",\"Per arena\",\"Op arena\",\"Etter arena\",\"Arena açısından\",\"アリーナ\",\"아레나 기준\",\"По Арене\",\"بالساحة\",\"Por arena\",\"按竞技场排列\",\"按競技場排列\",\"بر اساس میدان نبرد\",\"Menurut Arena\",\"Mengikut Arena\"\n\"TID_SPELL_SORTING_ELIXIR\",\"By Elixir\",\"Par élixir\",\"Nach Elixier\",\"Por elixir\",\"Per elisir\",\"Op elixir\",\"Etter eliksir\",\"İksir açısından\",\"エリクサー\",\"엘릭서 기준\",\"По эликсиру\",\"بالإكسير\",\"Por elixir\",\"按圣水花费排列\",\"按聖水花費排列\",\"براساس اکسیر\",\"Menurut Eliksir\",\"Mengikut Eliksir\"\n\"TID_SPELL_SORTING_RARITY\",\"By Rarity\",\"Par rareté\",\"Nach Seltenheit\",\"Por calidad\",\"Per rarità\",\"Op zeldzaamheid\",\"Etter forekomst\",\"Enderlik açısından\",\"レア度\",\"희귀도 기준\",\"По редкости\",\"بمدى الندرة\",\"Por raridade\",\"按稀有度排列\",\"按稀有度排列\",\"براساس کمیابی\",\"Menurut Kelangkaan\",\"Mengikut Kekerapan\"\n\"TID_REQUEST\",\"Request\",\"Demander\",\"Anfordern\",\"Pedir\",\"Richiedi\",\"Vragen\",\"Forespørsel\",\"İstek\",\"リクエスト\",\"요청\",\"Запрос\",\"طلب\",\"Pedir\",\"请求\",\"請求\",\"درخواست\",\"Permintaan\",\"Permintaan\"\n\"TID_TOURNAMENTS_BROWSE\",\"Tournaments\",\"Tournois\",\"Turniere\",\"Torneos\",\"Tornei\",\"Toernooien\",\"Turneringer\",\"Turnuvalar\",\"大会\",\"토너먼트\",\"Турниры\",\"بطولات\",\"Torneios\",\"锦标赛\",\"聯賽\",\"مسابقات\",\"Turnamen\",\"Pertandingan\"\n\"TID_TOURNAMENTS_SEARCH\",\"Search\",\"Rechercher\",\"Suchen\",\"Buscar\",\"Cerca\",\"Zoeken\",\"Søk\",\"Ara\",\"検索\",\"검색\",\"Поиск\",\"بحث\",\"Buscar\",\"搜索\",\"搜尋\",\"جستجو\",\"Cari\",\"Cari\"\n\"TID_TOURNAMENTS_LOG\",\"Log\",\"Journal\",\"Turnierlog\",\"Registro\",\"Registro\",\"Logboek\",\"Logg\",\"Günlük\",\"ログ\",\"기록\",\"Журнал\",\"السجل\",\"Registro\",\"日志\",\"記錄\",\"گزارش\",\"Log\",\"Log\"\n\"TID_TOURNAMENTS_CREATE\",\"Create\",\"Créer\",\"Erstellen\",\"Crear\",\"Crea\",\"Organiseren\",\"Opprett\",\"Oluştur\",\"作成\",\"생성\",\"Создать\",\"إنشاء\",\"Criar\",\"创建\",\"創建\",\"ایجاد\",\"Buat\",\"Cipta\"\n\"TID_TOURNAMENT_NAME_TOO_SHORT\",\"Name too short!\",\"Nom trop court !\",\"Name zu kurz!\",\"El nombre es demasiado corto.\",\"Nome troppo corto!\",\"Naam te kort!\",\"Navnet er for kort!\",\"Ad çok kısa!\",\"名前が短すぎます！\",\"이름이 너무 짧습니다!\",\"Слишком короткое название!\",\"الاسم قصير للغاية!\",\"Nome muito curto!\",\"名称太短！\",\"名稱太短！\",\"اسم زیادی کوتاهه!\",\"Nama terlalu pendek!\",\"Nama terlalu pendek!\"\n\"TID_TOURNAMENT_JOINED\",\"Tournament joined!\",\"Tournoi rejoint !\",\"Turnier beigetreten!\",\"Te has unido al torneo.\",\"Accesso al torneo effettuato!\",\"Je doet mee aan het toernooi!\",\"Du ble med i turneringen!\",\"Turnuvaya katıldın!\",\"大会に参加しました！\",\"토너먼트에 참가했습니다!\",\"Ты участвуешь!\",\"تم الانضمام للبطولة!\",\"Participando do torneio!\",\"您加入了锦标赛！\",\"您加入了聯賽！\",\"شرکت در مسابقه!\",\"Berhasil ikut turnamen!\",\"Pertandingan disertai!\"\n\"TID_TOURNAMENT_CREATED\",\"Tournament created\",\"Tournoi créé\",\"Turnier erstellt\",\"Has creado el torneo.\",\"Torneo creato\",\"Toernooi georganiseerd!\",\"Turnering opprettet\",\"Turnuva oluşturuldu\",\"大会を作成しました！\",\"토너먼트를 생성했습니다\",\"Турнир создан\",\"تم إنشاء البطولة\",\"Torneio criado\",\"锦标赛创建成功！\",\"聯賽創建成功！\",\"ایجاد مسابقه\",\"Turnamen terbuat\",\"Pertandingan dicipta\"\n\"TID_TOURNAMENT_LEFT\",\"You have left the tournament!\",\"Vous avez quitté le tournoi !\",\"Du hast das Turnier verlassen!\",\"Has abandonado el torneo.\",\"Hai abbandonato il torneo!\",\"Je hebt het toernooi verlaten!\",\"Du har forlatt turneringen!\",\"Turnuvadan ayrıldın!\",\"大会を離脱しました！\",\"토너먼트를 떠났습니다!\",\"Ты больше не участвуешь в турнире!\",\"لقد غادرت البطولة!\",\"Você saiu do torneio.\",\"您已退出锦标赛！\",\"您已退出聯賽！\",\"تو از مسابقه خارج شدی!\",\"Kamu telah keluar dari turnamen!\",\"Anda telah meninggalkan pertandingan!\"\n\"TID_TOURNAMENT_LOCATION\",\"Location\",\"Lieu\",\"Region\",\"Ubicación\",\"Posizione:\",\"Locatie:\",\"Sted\",\"Konum\",\"場所\",\"위치\",\"Расположение\",\"الموقع\",\"Localização\",\"位置\",\"位置\",\"موقعیت\",\"Lokasi\",\"Lokasi\"\n\"TID_TOURNAMENT_CAPACITY\",\"Capacity:\",\"Capacité :\",\"Kapazität:\",\"Capacidad:\",\"Capacità:\",\"Capaciteit:\",\"Kapasitet:\",\"Kapasite:\",\"プレイヤー数\",\"참가 인원:\",\"Количество участников:\",\"السعة:\",\"Capacidade:\",\"比赛规模：\",\"比賽規模：\",\"ظرفیت:\",\"Kapasitas:\",\"Kapasiti:\"\n\"TID_TOURNAMENT_LENGTH\",\"Length:\",\"Longueur :\",\"Dauer:\",\"Duración:\",\"Durata:\",\"Duur:\",\"Lengde:\",\"Uzunluk:\",\"開催時間\",\"기간:\",\"Длительность:\",\"الطول:\",\"Duração:\",\"比赛时长：\",\"比賽時長：\",\"طول:\",\"Lama:\",\"Panjang:\"\n\"TID_TOURNAMENT_PREPARATION\",\"Preparation:\",\"Préparation :\",\"Vorbereitung:\",\"Preparación:\",\"Preparativi:\",\"Voorbereiding:\",\"Forberedelse:\",\"Hazırlık:\",\"準備時間\",\"준비:\",\"Подготовка:\",\"الاستعداد:\",\"Preparação:\",\"准备时间：\",\"準備時間：\",\"آماده‌سازی:\",\"Persiapan:\",\"Persediaan:\"\n\"TID_TOURNAMENT_REWARDS\",\"Rewards:\",\"Récompenses :\",\"Belohnungen:\",\"Recompensas:\",\"Ricompense:\",\"Beloningen:\",\"Belønninger:\",\"Ödüller:\",\"報酬\",\"보상:\",\"Награды:\",\"جوائز:\",\"Recompensa:\",\"奖励：\",\"獎勵：\",\"جوایز:\",\"Hadiah:\",\"Ganjaran:\"\n\"TID_CREATE\",\"Create\",\"Créer\",\"Erstellen\",\"Crear\",\"Crea\",\"Organiseren\",\"Opprett\",\"Oluştur\",\"作成\",\"생성\",\"Создать\",\"إنشاء\",\"Criar\",\"创建\",\"創建\",\"ایجاد\",\"Buat\",\"Cipta\"\n\"TID_CREATE_PRIVATE_LADDER\",\"Create a Custom Tournament\",\"Créer un tournoi personnalisé\",\"Benutzerdefiniertes Turnier erstellen\",\"Crear un torneo privado\",\"Crea un torneo personalizzato\",\"Organiseer een aangepast toernooi\",\"Opprett en spesialturnering\",\"Bir Özel Turnuva Oluştur\",\"カスタム大会の作成\",\"커스텀 토너먼트 생성\",\"Создать частный турнир\",\"إنشاء بطولة مخصصة\",\"Criar um torneio personalizado\",\"创建一场自定义模式锦标赛\",\"創建一場自訂模式聯賽\",\"ایجاد یک مسابقه سفارشی\",\"Buat Turnamen Khusus\",\"Cipta Pertandingan Tersuai\"\n\"TID_TOURNAMENT_NOTE\",\"NOTE! Once a tournament is created, it cannot be cancelled.\",\"ATTENTION : une fois le tournoi créé, il ne peut pas être annulé.\",\"ACHTUNG! Sobald ein Turnier erstellt wurde, kann es nicht mehr abgebrochen werden.\",\"AVISO: Una vez creado el torneo, no se puede cancelar.\",\"ATTENZIONE! Non puoi annullare un torneo una volta creato.\",\"LET OP! Nadat een toernooi is georganiseerd, kan het niet meer geannuleerd worden.\",\"OBS! Du kan ikke kansellere en turnering når du har opprettet den.\",\"NOT! Turnuva oluşturulduktan sonra iptal edilemez.\",\"注意： 作成した大会はキャンセルできません。\",\"주의! 토너먼트가 일단 생성되면 취소할 수 없습니다.\",\"ВНИМАНИЕ! После создания турнир нельзя отменить.\",\"ملاحظة! بمجرد إنشاء بطولة، لا يمكن إلغاؤها.\",\"ATENÇÃO! Depois de criado, o torneio não poderá ser cancelado.\",\"请注意！锦标赛一旦创建成功便不能取消。\",\"請注意！聯賽一旦創建成功便不能取消。\",\"توجه! وقتی یک مسابقه ایجاد بشه، نمیشه لغوش کرد.\",\"INGAT! Turnamen yang sudah dibuat tidak dapat dibatalkan.\",\"PERHATIAN! Setelah pertandingan dicipta, pertandingan tidak boleh dibatalkan.\"\n\"TID_TOURNAMENT_TYPE\",\"Type:\",\"Type :\",\"Typ:\",\"Tipo:\",\"Tipo:\",\"Type:\",\"Type:\",\"Tür:\",\"タイプ\",\"유형:\",\"Тип:\",\"النوع:\",\"Tipo:\",\"类型：\",\"類型：\",\"نوع:\",\"Tipe:\",\"Jenis:\"\n\"TID_TOURNAMENT_TAG\",\"Tournament tag:\",\"Identifiant du tournoi :\",\"Turnierkürzel:\",\"Etiqueta del torneo:\",\"Tag del torneo:\",\"Toernooitag:\",\"Turneringstagg:\",\"Turnuva etiketi:\",\"大会タグ\",\"토너먼트 태그:\",\"Тег турнира:\",\"شعار البطولة:\",\"Tag do torneio:\",\"锦标赛标签：\",\"聯賽標籤：\",\"برچسب مسابقه:\",\"Tag turnamen:\",\"Tag pertandingan:\"\n\"TID_SET_PASSWORD\",\"Set password\",\"Définir un mot de passe\",\"Passwort festlegen\",\"Establecer contraseña\",\"Imposta password\",\"Wachtwoord:\",\"Angi passord\",\"Şifre belirle\",\"パスワードを設定\",\"암호 설정\",\"Добавить пароль\",\"تحديد كلمة سر\",\"Definir senha\",\"设置密码\",\"設定密碼\",\"تنظیم رمزعبور\",\"Tetapkan kata sandi\",\"Tetapkan kata laluan\"\n\"TID_START_NOW\",\"Start now\",\"Commencer maintenant\",\"Jetzt beginnen\",\"Empezar ya\",\"Inizia subito\",\"Nu starten\",\"Start nå\",\"Hemen başla\",\"今すぐ開始\",\"지금 시작\",\"Начать\",\"البدء الآن\",\"Começar agora\",\"现在开始\",\"現在開始\",\"حالا شروع کن\",\"Mulai sekarang\",\"Mula sekarang\"\n\"TID_ENDS_IN\",\"Ends in\",\"Fin dans\",\"Endet in:\",\"Termina en\",\"Termina tra\",\"Eindigt over\",\"Slutter om\",\"Bitmesine:\",\"終了まで\",\"남은 시간\",\"Конец через:\",\"ينتهي خلال\",\"Termina em\",\"离结束还有\",\"距離結束時間\",\"اتمام بعد از\",\"Berakhir dalam\",\"Tamat dalam\"\n\"TID_STARTS_IN\",\"Starts in\",\"Début dans\",\"Beginnt in:\",\"Empieza en\",\"Inizia tra\",\"Begint over\",\"Starter om\",\"Başlamasına:\",\"開始まで\",\"시작까지\",\"Начало через:\",\"يبدأ خلال\",\"Começa em\",\"离开始还有\",\"距離開始時間\",\"شروع بعد از\",\"Dimulai dalam\",\"Bermula dalam\"\n\"TID_TOURNAMENT_PLAYERS\",\"Players: <VALUE>/<MAX>\",\"Joueurs : <VALUE>/<MAX>\",\"Spieler: <VALUE>/<MAX>\",\"Jugadores: <VALUE>/<MAX>\",\"Giocatori: <VALUE>/<MAX>\",\"Spelers: <VALUE>/<MAX>\",\"Spillere: <VALUE>/<MAX>\",\"Oyuncular: <VALUE>/<MAX>\",\"プレイヤー数<VALUE>/<MAX>\",\"플레이어: <VALUE>/<MAX>\",\"Игроки: <VALUE>/<MAX>\",\"لاعبون: <VALUE>/<MAX>\",\"Jogadores: <VALUE>/<MAX>\",\"参赛人数：<VALUE>/<MAX>\",\"參賽人數：<VALUE>/<MAX>\",\"بازیکنان: <VALUE>/<MAX>\",\"Pemain: <VALUE>/<MAX>\",\"Pemain: <VALUE>/<MAX>\"\n\"TID_TOURNAMENT_SEARCH_TYPE\",\"Type the tournament name or tag you want to search.\",\"Entrez le nom ou l'identifiant du tournoi recherché.\",\"Gib den Turniernamen oder das -kürzel ein, nach dem du suchen willst.\",\"Escribe el nombre o la etiqueta del torneo que buscas.\",\"Digita il nome o il tag del torneo che cerchi.\",\"Typ de toernooinaam of toernooitag waarnaar je wilt zoeken.\",\"Skriv inn turneringsnavnet eller -taggen du ønsker å søke etter.\",\"Aramak istediğin turnuva adı ya da etiketini gir.\",\"検索したい大会名もしくはタグを入力してください。\",\"검색하고 싶은 토너먼트 이름 또는 태그를 입력해주세요.\",\"Впиши название или тег турнира, который хочешь найти.\",\"اكتب اسم البطولة أو الشعار الذي تريد البحث عنه.\",\"Digite o nome do torneio ou a tag que deseja buscar.\",\"输入您要搜索的锦标赛名称或标签。\",\"輸入您要搜索的聯賽名稱或標籤。\",\"اسم مسابقه یا برچسبی که می‌خوای جستجو کنی رو تایپ کن.\",\"Ketik nama atau tag turnamen yang ingin kamu cari.\",\"Taipkan nama atau tag pertandingan yang anda ingin cari\"\n\"TID_JOIN_A_TOURNAMENT\",\"Join or create a tournament:\",\"Rejoignez ou créez un tournoi :\",\"Turnier erstellen oder beitreten:\",\"Únete o crea un torneo:\",\"Partecipa a un torneo o creane uno:\",\"Doe mee aan een toernooi of organiseer er een:\",\"Bli med i eller opprett en turnering:\",\"Bir turnuvaya katıl ya da turnuva oluştur:\",\"大会への参加または作成\",\"토너먼트 참가 또는 생성:\",\"Присоединись или создай турнир:\",\"الانضمام إلى بطولة أو إنشاء بطولة:\",\"Entre para um torneio ou crie um:\",\"参加或创建一场锦标赛：\",\"參加或創建一場聯賽：\",\"ایجاد یا پیوستن به یک مسابقه:\",\"Ikut atau buat turnamen:\",\"Sertai atau cipta pertandingan:\"\n\"TID_TOURNAMENT_PERKS\",\"Compete to WIN REWARDS!\",\"Participez pour GAGNER DES RÉCOMPENSES !\",\"Nimm teil und GEWINNE BELOHNUNGEN!\",\"¡Compite para ganar recompensas!\",\"Competi per VINCERE RICOMPENSE!\",\"Neem deel om BELONINGEN TE WINNEN!\",\"Konkurrer for å VINNE BELØNNINGER!\",\"ÖDÜL KAZANMAK için rekabet et!\",\"競い合って報酬をゲットしましょう！\",\"승리해서 보상을 받으세요!\",\"Сразись за НАГРАДУ!\",\"تنافس لربح الجوائز!\",\"Lute para GANHAR PRÊMIOS!\",\"参与角逐，赢得奖励！\",\"參與角逐，贏得獎勵！\",\"برای بردن جوایز رقابت کن!\",\"Bersainglah untuk MEMENANGKAN HADIAH!\",\"Bersaing untuk MEMENANGI GANJARAN!\"\n\"TID_TOURNAMENT_RECOMMENDATIONS\",\"Here are some custom tournaments from\\nyour Clanmates:\",\"Voici quelques tournois personnalisés créés par\\nles membres de votre clan :\",\"Benutzerdefinierte Turniere\\ndeiner Clankameraden:\",\"Estos son algunos torneos privados\\nde tus aliados:\",\"Ecco alcuni tornei personalizzati dei\\nmembri del tuo clan:\",\"Hier vind je een aantal aangepaste\\ntoernooien van je clangenoten:\",\"Her er noen spesialturneringer fra\\nklanvennene dine:\",\"İşte, Klan Arkadaşlarından\\nbirkaç özel turnuva:\",\"お近くで開催されているカスタム大会\",\"클랜원이 만든\\n커스텀 토너먼트 목록:\",\"Вот частные турниры\\nтвоих соклановцев:\",\"ها هي بعض البطولات المخصصة\\nمن أعضاء قبيلتك:\",\"Aqui estão alguns torneios personalizados\\ndos seus colegas de clã:\",\"以下是您部落的成员创建的自定义模式锦标赛：\",\"以下是您部落的成員創建的自訂模式聯賽：\",\"چندین مسابقه سفارشی از\\nهم‌قبیله‌ای‌های شما:\",\"Inilah beberapa turnamen khusus dari\\nRekan Klanmu:\",\"Ini beberapa pertandingan tersuai daripada\\nRakan Klan anda:\"\n\"TID_JOIN_UPTO_3_TOURNAMENTS\",\"You may join up to three tournaments\",\"Vous pouvez rejoindre au maximum trois tournois\",\"Du kannst bis zu drei Turnieren beitreten.\",\"Puedes unirte a un máximo de tres torneos.\",\"Puoi partecipare a un massimo di tre tornei\",\"Je mag meedoen aan maximaal drie toernooien\",\"Du kan bli med i inntil tre turneringer\",\"Üçten fazla turnuvaya katılamazsın\",\"大会には最大3つまで参加できます\",\"최대 3개 토너먼트까지 참가 가능합니다.\",\"Ты можешь участвовать в трех турнирах\",\"يمكنك الانضمام إلى ثلاث بطولات بحد أقصى\",\"Você pode participar de até três torneios.\",\"您可能最多参加3场锦标赛\",\"您可能最多參加3場聯賽\",\"می‌تونی حداکثر در سه مسابقه مجزا شرکت کنی\",\"Kamu boleh mengikuti hingga tiga turnamen\",\"Anda boleh menyertai sehingga tiga pertandingan\"\n\"TID_SPEEDUP\",\"Speed up\",\"Accélérer\",\"Beschleunigen\",\"Acelerar\",\"Accelera\",\"Versnellen\",\"Øk farten\",\"Hızlandır\",\"スピードアップ\",\"속도 향상\",\"Ускорение\",\"زيادة سرعة\",\"Acelerar\",\"加速\",\"加速\",\"افزایش سرعت\",\"Percepat\",\"Percepatkan\"\n\"TID_TOURNAMENT_TYPE_OPEN\",\"Open\",\"Ouvert\",\"Offen\",\"Público\",\"Aperto\",\"Openbaar\",\"Åpne\",\"Aç\",\"オープン\",\"공개\",\"Открытый\",\"فتح\",\"Aberto\",\"任何人可加入\",\"任何人可加入\",\"باز کردن\",\"Buka\",\"Buka\"\n\"TID_TOURNAMENT_TYPE_PASSWORD_PROTECTED\",\"Password protected\",\"Avec mot de passe\",\"Passwortgeschützt\",\"Privado\",\"Protetto da password\",\"Wachtwoord vereist\",\"Passordbeskyttet\",\"Şifre korumalı\",\"パスワード保護\",\"비공개\",\"Доступ с паролем\",\"محمي بكلمة سر\",\"Senha obrigatória\",\"加入需要密码\",\"加入需要密碼\",\"رمزعبور محافظت‌شده\",\"Dilindungi kata sandi\",\"Kata laluan dilindungi\"\n\"TID_TOURNAMENT_CREATE_TITLE\",\"Create new tournament\",\"Créer un tournoi\",\"Neues Turnier erstellen\",\"Crear un nuevo torneo\",\"Crea nuovo torneo\",\"Nieuw toernooi organiseren\",\"Opprett ny turnering\",\"Yeni turnuva oluştur\",\"新しい大会の作成\",\"새 토너먼트 생성\",\"Создание турнира\",\"إنشاء بطولة جديدة\",\"Criar novo torneio\",\"创建新的锦标赛\",\"創建新的聯賽\",\"ایجاد مسابقه جدید\",\"Buat turnamen baru\",\"Cipta pertandingan baharu\"\n\"TID_TOURNAMENT_CREATE_MAX_PLAYERS\",\"Max Players <number>\",\"<number> joueurs max.\",\"Max. Spieler: <number>\",\"Máximo de jugadores: <number>\",\"Max giocatori: <number>\",\"Max. spelers: <number>\",\"Maks antall spillere: <number>\",\"Maksimum <number> Oyuncu\",\"最大プレイヤー数<number>\",\"최대 플레이어 수: <number>\",\"Макс. игроков <number>\",\"الحد الأقصى للاعبين <number>\",\"Máximo de jogadores: <number>\",\"最大参赛人数 <number>\",\"最大參賽人數 <number>\",\"حداکثر بازیکنان <number>\",\"Pemain Maks <number>\",\"Pemain Maks<number>\"\n\"TID_PASSWORD_SET\",\"Set\",\"Définir\",\"Festlegen\",\"Establecer\",\"Imposta\",\"Instellen\",\"Angi\",\"Belirle\",\"設定\",\"설정\",\"Сохранить\",\"تحديد\",\"Definir\",\"设定\",\"設定\",\"تنظیم\",\"Tetapkan\",\"Tetapkan\"\n\"TID_PASSWORD_CLEAR\",\"Clear\",\"Effacer\",\"Löschen\",\"Borrar\",\"Cancella\",\"Wissen\",\"Fjern\",\"Temizle\",\"クリア\",\"지우기\",\"Очистить\",\"إزالة\",\"Limpar\",\"清除\",\"清除\",\"پاک کردن\",\"Hapus\",\"Kosongkan\"\n\"TID_PASSWORD_CHANGE\",\"Change\",\"Changer\",\"Ändern\",\"Cambiar\",\"Cambia\",\"Wijzigen\",\"Endre\",\"Değiştir\",\"変更\",\"변경\",\"Изменить\",\"تغيير\",\"Alterar\",\"更改\",\"更改\",\"تغییر\",\"Ubah\",\"Tukar\"\n\"TID_TOURNAMENT_CREATE_NAME_TEMPLATE\",\"Tournament Name\",\"Nom du tournoi\",\"Turniername\",\"Nombre del torneo\",\"Nome torneo\",\"Toernooinaam\",\"Turneringsnavn\",\"Turnuva Adı\",\"大会名\",\"토너먼트 이름\",\"Название турнира\",\"اسم البطولة\",\"Nome do torneio\",\"锦标赛名称\",\"聯賽名稱\",\"اسم مسابقه\",\"Nama Turnamen\",\"Nama Pertandingan\"\n\"TID_TOURNAMENT_CREATE_DESCRIPTION_TEMPLATE\",\"Write description here...\",\"Rédigez la description ici...\",\"Gib hier deine Beschreibung ein ...\",\"Escribe una descripción...\",\"Scrivi qui una descrizione...\",\"Typ hier een beschrijving...\",\"Skriv beskrivelse her ...\",\"Açıklamayı buraya yaz...\",\"説明を記入してください\",\"여기에 설명을 입력해 주세요...\",\"Придумай описание...\",\"كتابة الوصف هنا...\",\"Escreva a descrição aqui...\",\"在此输入描述......\",\"在此輸入簡介......\",\"اینجا توضیح بنویس...\",\"Tulis deskripsi di sini...\",\"Tuliskan perihalan di sini...\"\n\"TID_TOURNAMENT_CREATE_PASSWORD_TEMPLATE\",\"Password\",\"Mot de passe\",\"Passwort\",\"Contraseña\",\"Password\",\"Wachtwoord\",\"Passord\",\"Şifre\",\"パスワード\",\"암호\",\"Пароль\",\"كلمة سر\",\"Senha\",\"密码\",\"密碼\",\"رمزعبور\",\"Kata Sandi\",\"Kata laluan\"\n\"TID_LOCATION_UNKNOWN\",\"Unknown\",\"Inconnu\",\"Unbekannt\",\"Desconocida\",\"Sconosciuto\",\"Onbekend\",\"Ukjent\",\"Bilinmiyor\",\"不明\",\"알 수 없음\",\"Неизвестно\",\"مجهول\",\"Desconhecido\",\"未知\",\"未知\",\"ناشناس\",\"Tidak diketahui\",\"Tidak diketahui\"\n\"TID_LOCATION_COORDINATE\",\"<latitude>° N, <longitude>° E\",\"<latitude>° N, <longitude>° E\",\"<latitude>° N, <longitude>° O\",\"<latitude>° N, <longitude>° E\",\"<latitude>° N, <longitude>° E\",\"<latitude>° N, <longitude>° O\",\"<latitude>° N, <longitude>° Ø\",\"<latitude>° K, <longitude>° D\",\"北緯<latitude>°、東経<longitude>°\",\"<latitude>° N, <longitude>° E\",\"<latitude>° N, <longitude>° E\",\"<latitude>° شمالاً، <longitude>° شرقًا\",\"<latitude>° N, <longitude>° L\",\"纬度<latitude>°， 经度<longitude>°\",\"緯度<latitude>°， 經度<longitude>°\",\"<latitude>درجه شمال، <longitude> درجه شرق\",\"<latitude>° lintang Utara, <longitude>° bujur Timur\",\"<latitude>° N, <longitude>° E\"\n\"TID_BUTTON_EDIT\",\"Edit\",\"Modifier\",\"Bearbeiten\",\"Editar\",\"Modifica\",\"Bewerken\",\"Rediger\",\"Düzenle\",\"編集\",\"편집\",\"Изменить\",\"تعديل\",\"Editar\",\"编辑\",\"編輯\",\"ویرایش\",\"Edit\",\"Edit\"\n\"TID_TOURNAMENT_SETTING\",\"Tournament Settings\",\"Paramètres du tournoi\",\"Turniereinstellungen\",\"Ajustes del torneo\",\"Impostazioni torneo\",\"Toernooi-instellingen\",\"Turneringsinnstillinger\",\"Turnuva Ayarları\",\"大会設定\",\"토너먼트 설정\",\"Настройки турнира\",\"إعدادات البطولة\",\"Configurações do torneio\",\"锦标赛设置\",\"聯賽設定\",\"تنظیمات مسابقه\",\"Setelan Turnamen\",\"Tetapan Pertandingan\"\n\"TID_TOURNAMENT_PREPARATION_TIMER\",\"Starts in: <time>\",\"Début dans : <time>\",\"Beginnt in: <time>\",\"Empieza en <time>\",\"Inizia tra: <time>\",\"Begint over: <time>\",\"Starter om: <time>\",\"Başlamasına: <time>\",\"開始まで：<time>\",\"시작까지: <time>\",\"Начало через: <time>\",\"يبدأ خلال: <time>\",\"Começa em: <time>\",\"离开始还有：<time>\",\"距離開始時間：<time>\",\"شروع پس از: <time>\",\"Dimulai dalam: <time>\",\"Bermula dalam: <time>\"\n\"TID_TOURNAMENT_TIMER\",\"Ends in: <time>\",\"Fin dans : <time>\",\"Endet in: <time>\",\"Termina en <time>\",\"Termina tra: <time>\",\"Eindigt over: <time>\",\"Slutter om: <time>\",\"Bitmesine: <time>\",\"終了まで：<time>\",\"남은 시간: <time>\",\"Конец через: <time>\",\"ينتهي خلال: <time>\",\"Termina em: <time>\",\"离结束还有：<time>\",\"距離結束時間：<time>\",\"اتمام پس از: <time>\",\"Berakhir dalam: <time>\",\"Tamat dalam: <time>\"\n\"TID_TOURNAMENT_STARTING\",\"Starting...\",\"Démarrage...\",\"Beginnt ...\",\"Iniciándose...\",\"Avvio...\",\"Beginnen...\",\"Starter ...\",\"Başlıyor...\",\"開始中...\",\"시작....\",\"Начинаем...\",\"جارِ البدء...\",\"Começando...\",\"即将开始...\",\"即將開始...\",\"درحال شروع...\",\"Memulai...\",\"Bermula...\"\n\"TID_TOURNAMENT_JOINING\",\"Joining...\",\"Accès...\",\"Beitritt ...\",\"Uniéndote...\",\"Accesso...\",\"Meedoen...\",\"Blir med ...\",\"Katılıyor...\",\"参加中...\",\"참가 중...\",\"Присоединяемся...\",\"جار الانضمام...\",\"Entrando...\",\"正在加入...\",\"正在加入...\",\"درحال پیوستن...\",\"Sedang bergabung...\",\"Menyertai...\"\n\"TID_TOURNAMENT_JOIN_FAILED\",\"Failed to join tournament\",\"Impossible de rejoindre le tournoi\",\"Turnierbeitritt nicht möglich\",\"No has podido unirte al torneo.\",\"Impossibile partecipare al torneo\",\"Meedoen aan toernooi mislukt\",\"Du kunne ikke bli med i turneringen\",\"Turnuvaya katılma başarısız oldu\",\"大会に参加できませんでした\",\"토너먼트 참가에 실패했습니다.\",\"Не удалось присоединиться\",\"فشل الانضمام إلى بطولة\",\"Não foi possível entrar no torneio.\",\"未能加入锦标赛\",\"未能加入聯賽\",\"پیوستن به مسابقه انجام نشد\",\"Gagal ikut turnamen\",\"Gagal menyertai pertandingan\"\n\"TID_TOURNAMENT_JOIN_FAILED_FULL\",\"Tournament is full\",\"Le tournoi est au complet\",\"Turnier ist voll\",\"¡El torneo está lleno!\",\"Il torneo è al completo\",\"Toernooi is vol\",\"Turneringen er full\",\"Turnuva dolu\",\"大会は満員です\",\"토너먼트 인원이 다 찼습니다.\",\"Все места заняты\",\"البطولة ممتلئة\",\"O torneio está cheio.\",\"参赛人数已满\",\"參賽人數已滿\",\"مسابقه پر هست\",\"Turnamen penuh\",\"Pertandingan penuh\"\n\"TID_TOURNAMENT_JOIN_FAILED_COOLDOWN\",\"Wait for the tournament join cooldown: <time>\",\"Période d'attente pour rejoindre le tournoi : <time>\",\"Abklingzeit für den Turnierbeitritt: <time>\",\"Tiempo de espera para unirte a otro torneo: <time>\",\"Attendi il termine del periodo di inattività per partecipare al torneo: <time>\",\"Wachttijd tot je weer kunt proberen mee te doen aan toernooi: <time>\",\"Ventetid for å bli med i turnering: <time>\",\"Turnuvaya katılmak için kalan bekleme süresi: <time>\",\"大会参加への残りクールダウン時間：<time>\",\"토너먼트 참가 대기시간:<time>\",\"Снова участвовать в турнире можно через: <time>\",\"انتظر فترة تهدئة الانضمام إلى بطولة: <time>\",\"Período de espera para entrar em outro torneio: <time>.\",\"再次加入锦标赛需等待：<time>\",\"再次加入聯賽需等待：<time>\",\"منتظر خنک شدن امکان پیوستن به مسابقه باشید: <time>\",\"Tunggu masa tenang bergabung ke turnamen: <time>\",\"Menunggu untuk masa menunggu menyertai pertandingan: <time>\"\n\"TID_TOURNAMENT_JOIN_FAILED_ROOMS_FULL\",\"You can only be part of maximum <number> tournaments\",\"Vous pouvez participer à un maximum de <number> tournois\",\"Du kannst an höchstens <number> Turnieren teilnehmen.\",\"Solo puedes participar en un máximo de <number> torneos.\",\"Puoi prendere parte a un massimo di <number> tornei\",\"Je kunt maar meedoen aan maximaal <number> toernooien\",\"Du kan bare være med i <number> turneringer totalt\",\"Maksimum <number> turnuvaya dahil olabilirsin\",\"参加できる大会は<number>個までです\",\"토너먼트는 최대 <number>개까지 참가할 수 있습니다.\",\"Можно участвовать в ограниченном количестве турниров: <number>\",\"يمكنك أن تشارك في عدد <number> من البطولات بحد أقصى\",\"Você só pode participar de <number> torneios ao mesmo tempo.\",\"您最多只能参加<number>场锦标赛\",\"您最多只能參加<number>場聯賽\",\"می‌تونی فقط در حداکثر <number> مسابقه شرکت کنی\",\"Kamu hanya boleh ikut maksimum <number> turnamen\",\"Anda hanya boleh memasuki maksimum <number> pertandingan\"\n\"TID_TOURNAMENT_JOIN_FAILED_PASSWORD\",\"Wrong password\",\"Mot de passe erroné\",\"Falsches Passwort\",\"Contraseña incorrecta\",\"Password errata\",\"Verkeerd wachtwoord\",\"Feil passord\",\"Şifre yanlış\",\"パスワードが間違っています\",\"잘못된 암호\",\"Неверный пароль\",\"كلمة سر خاطئة\",\"Senha incorreta\",\"密码错误\",\"密碼錯誤\",\"رمزعبور اشتباه\",\"Kata sandi salah\",\"Kata laluan salah\"\n\"TID_TOURNAMENT_JOIN_FAILED_ALREADY_JOINED\",\"Already in a tournament\",\"Déjà dans un tournoi\",\"Bereits in einem Turnier\",\"Ya participas en un torneo.\",\"Sei già in un torneo\",\"Neemt al deel aan toernooi\",\"Du er allerede med i en turnering!\",\"Zaten bir turnuvadasın\",\"すでに大会に参加しています\",\"토너먼트 진행 중\",\"Уже участник турнира\",\"في بطولة بالفعل\",\"Já em um torneio\",\"您已经加入了一个锦标赛\",\"您已經加入了一個聯賽\",\"قبلا در یک مسابقه شرکت کردی\",\"Sudah dalam turnamen\",\"Sudah berada dalam pertandingan\"\n\"TID_TOURNAMENT_NO_LOG_TITLE\",\"No tournament log available\",\"Aucun journal de tournoi disponible\",\"Kein Turnierlog verfügbar\",\"Registro de torneos no disponible\",\"Nessun registro tornei disponibile\",\"Geen toernooilogboek beschikbaar\",\"Ingen turneringslogg tilgjengelig\",\"Turnuva günlüğü mevcut değil\",\"大会ログがありません\",\"토너먼트 기록을 볼 수 없습니다.\",\"Нет доступных журналов турнира\",\"لا يوجد سجل بطولة متاح\",\"Nenhum registro de torneio disponível.\",\"无锦标赛日志\",\"無聯賽記錄\",\"هیچ گزارش مسابقه‌ای در دسترس نیست\",\"Tidak ada log turnamen\",\"Tiada log pertandingan yang tersedia\"\n\"TID_TOURNAMENT_NO_LOG_TEXT\",\"Finished tournaments will appear here\",\"Les tournois terminés apparaîtront ici\",\"Beendete Turniere erscheinen hier.\",\"Aquí se mostrarán los torneos finalizados.\",\"I tornei terminati appariranno qui\",\"Hier worden voltooide toernooien weergegeven\",\"Avsluttede turneringer vises her\",\"Biten turnuvalar burada görünür\",\"大会が終了すると、ここに表示されます\",\"완료된 토너먼트는 여기에 표시됩니다.\",\"Здесь будут показаны завершенные турниры\",\"البطولات المنتهية ستظهر هنا\",\"Os torneios encerrados aparecerão aqui.\",\"已结束的锦标赛会在此处显示\",\"已結束的聯賽會在此處顯示\",\"مسابقاتی که تمام شدن در اینجا قرار دارن\",\"Turnamen yang selesai akan muncul di sini\",\"Pertandingan yang telah selesai akan kelihatan di sini\"\n\"TID_TOURNAMENT_PASSWORD_RESPONSE_NO_PERMISSIONS\",\"No permissions to edit tournament!\",\"Vous n'avez pas les droits requis pour modifier le tournoi !\",\"Du bist nicht berechtigt, das Turnier zu bearbeiten.\",\"No tienes permiso para editar el torneo.\",\"Non hai i permessi di modificare il torneo!\",\"Geen toestemming om toernooi te bewerken!\",\"Du har ikke tillatelse til å redigere turneringen!\",\"Turnuvayı düzenleme izni yok!\",\"大会を編集する権限がありません！\",\"토너먼트를 수정할 권한이 없습니다!\",\"Нельзя изменить турнир!\",\"ما من صلاحيات لديك لتعديل البطولة!\",\"Sem permissão para editar o torneio.\",\"没有锦标赛编辑权限\",\"沒有聯賽編輯許可權\",\"اجازه ویرایش مسابقه رو نداری!\",\"Tidak ada izin untuk mengedit turnamen!\",\"Tiada kebenaran untuk mengedit pertandingan!\"\n\"TID_TOURNAMENT_PASSWORD_RESPONSE_FAILED\",\"Failed to edit tournament\",\"Impossible de modifier le tournoi\",\"Turnierbearbeitung fehlgeschlagen\",\"Imposible editar el torneo\",\"Impossibile modificare il torneo\",\"Toernooi bewerken mislukt\",\"Kunne ikke redigere turneringen\",\"Turnuvayı düzenleme başarısız oldu\",\"大会を編集できませんでした\",\"토너먼트를 수정하지 못했습니다.\",\"Не получилось изменить турнир\",\"فشل تعديل البطولة\",\"Não foi possível editar o torneio.\",\"锦标赛编辑失败\",\"聯賽編輯失敗\",\"ویرایش مسابقه انجام نشد\",\"Gagal mengedit turnamen\",\"Gagal mengedit pertandingan\"\n\"TID_TOURNAMENT_CREATE_FAILED_LIST_FULL\",\"Tournament list is full\",\"La liste du tournoi est pleine\",\"Turnierliste ist voll\",\"La lista de torneos está llena.\",\"La lista del torneo è al completo\",\"Toernooilijst is vol\",\"Turneringslisten er full\",\"Turnuva listesi dolu\",\"大会リストがいっぱいです\",\"토너먼트 목록이 가득 찼습니다.\",\"Список участников полон\",\"قائمة البطولة ممتلئة\",\"A lista do torneio está cheia.\",\"锦标赛列表已满\",\"聯賽列表已滿\",\"فهرست مسابقه پر هست\",\"Daftar turnamen penuh\",\"Senarai pertandingan penuh\"\n\"TID_TOURNAMENT_CREATE_FAILED\",\"Tournament creation failed\",\"Échec de la création du tournoi\",\"Turniererstellung fehlgeschlagen\",\"Imposible crear el torneo\",\"Creazione torneo fallita\",\"Toernooi organiseren mislukt\",\"Kunne ikke opprette turnering\",\"Turnuva oluşturma başarısız oldu\",\"大会を作成できませんでした\",\"토너먼트를 생성하지 못했습니다.\",\"Не удалось создать турнир\",\"فشل إنشاء القبيلة\",\"Falha na criação do torneio.\",\"锦标赛创建失败\",\"聯賽創建失敗\",\"مسابقه ایجاد نشد\",\"Gagal membuat turnamen\",\"Gagal penciptaan pertandingan\"\n\"TID_TOURNAMENT_RESULTS\",\"Tournament results\",\"Résultats du tournoi\",\"Turnierergebnisse\",\"Resultados del torneo\",\"Risultati torneo\",\"Toernooiresultaten\",\"Turneringsresultater\",\"Turnuva sonuçları\",\"大会結果\",\"토너먼트 결과\",\"Результаты турнира\",\"نتائج البطولة\",\"Resultados do torneio\",\"锦标赛结果\",\"聯賽結果\",\"نتایج مسابقه\",\"Hasil turnamen\",\"Keputusan pertandingan\"\n\"TID_TOURNAMENT_NO_DESCRIPTION\",\"No description\",\"Aucune description\",\"Keine Beschreibung\",\"No hay descripción.\",\"Nessuna descrizione\",\"Geen beschrijving\",\"Ingen beskrivelse\",\"Açıklama yok\",\"説明なし\",\"설명 없음\",\"Нет описания\",\"بلا وصف\",\"Sem descrição\",\"无描述\",\"無簡介\",\"توضیح نداره\",\"Tidak ada deskripsi\",\"Tiada perihalan\"\n\"TID_YOUR_PRIZE\",\"Your prize\",\"Votre prix\",\"Dein Preis\",\"Tu premio\",\"Il tuo premio\",\"Je prijs\",\"Din premie\",\"Ödülün\",\"あなたの報酬\",\"내 상품\",\"Твой приз\",\"جائزتك\",\"Seu prêmio\",\"您的奖励\",\"您的獎勵\",\"جایزه شما\",\"Hadiahmu\",\"Hadiah anda\"\n\"TID_YOU_DIDNT_GET_PRIZE\",\"You didn't get a prize\",\"Vous n'avez pas obtenu de prix\",\"Keinen Preis erhalten\",\"No has ganado ningún premio...\",\"Non hai ottenuto un premio\",\"Je hebt geen prijs gekregen\",\"Du fikk ingen premie\",\"Bir ödül kazanmadın\",\"報酬を獲得しませんでした\",\"상품을 받지 못했습니다.\",\"У тебя нет призов\",\"لم تحصل على جائزة\",\"Você não ganhou um prêmio.\",\"您没有获得奖励\",\"您沒有獲得獎勵\",\"جایزه‌ای نگرفتی\",\"Kamu tidak mendapatkan hadiah\",\"Anda tidak mendapat hadiah\"\n\"TID_BUTTON_CLAIM_REWARD\",\"Claim\",\"Récupérer\",\"Einfordern\",\"Recoger\",\"Ricevi\",\"Ophalen\",\"Innkasser\",\"Al\",\"取得\",\"받기\",\"Забрать\",\"مطالبة\",\"Resgatar\",\"领取\",\"領取\",\"مطالبه\",\"Klaim\",\"Tuntut\"\n\"TID_TOURNAMENT_SEARCH_ANY\",\"Any\",\"Indifférent\",\"Beliebig\",\"Cualquiera\",\"Qualsiasi\",\"Willekeurig\",\"Alle\",\"Herhangi\",\"すべて\",\"모두\",\"Любой\",\"أي\",\"Qualquer\",\"任何\",\"任何\",\"هر مورد\",\"Bebas\",\"Apa jua\"\n\"TID_TOURNAMENT_SEARCH_NEAR\",\"Nearby tournaments\",\"Tournois à proximité\",\"Turniere in der Nähe\",\"Torneos cercanos\",\"Tornei vicini\",\"Toernooien in de buurt\",\"Turneringer i nærheten\",\"Yakındaki turnuvalar\",\"お近くの大会\",\"가까운 토너먼트\",\"Турниры поблизости\",\"بطولات قريبة\",\"Torneios por perto\",\"附近的锦标赛\",\"附近的聯賽\",\"مسابقات نزدیک\",\"Turnamen di sekitar\",\"Pertandingan berdekatan\"\n\"TID_CLAIM_PRIZE\",\"Claim Prize\",\"Récupérer le prix\",\"Preis einfordern\",\"Recoger premio\",\"Ricevi premio\",\"Prijs ophalen\",\"Innkasser premie\",\"Ödülünü Al\",\"報酬を取得\",\"상품 받기\",\"Забрать приз\",\"المطالبة بالجائزة\",\"Resgatar prêmio\",\"领取奖励\",\"領取獎勵\",\"مطالبه جایزه\",\"Klaim Hadiah\",\"Tuntut Hadiah\"\n\"TID_BUY_CARDS_CONFIRMATION_TITLE\",\"Buy Cards\",\"Achat des cartes\",\"Karten kaufen\",\"Comprar cartas\",\"Acquista carte\",\"Kaarten kopen\",\"Kjøp kort\",\"Kart Satın Al\",\"カード購入\",\"카드 구매\",\"Купить карты\",\"شراء البطاقات\",\"Comprar cartas\",\"购买卡牌\",\"購買卡牌\",\"خرید کارت\",\"Beli Kartu\",\"Beli Kad\"\n\"TID_BUY_CARDS_CONFIRMATION_TEXT\",\"Buy <num>x <name> cards for <price> Gold?\",\"Acheter <num>x <name> pour <price> pièces d'or ?\",\"<num>x <name> für <price> Gold kaufen?\",\"¿Quieres comprar <num> cartas de <name> por <price> de oro?\",\"Acquistare <num> carte <name> per <price> in oro?\",\"<num>x <name> kaarten kopen voor <price> goud?\",\"Vil du kjøpe <num>x <name>-kort for <price> gull?\",\"<price> Altın ile <num> kat <name> satın almak ister misin?\",\"<num>枚の<name>を<price>ゴールドで購入しますか？\",\"<name> x <num>장을 골드 <price>개로 구매하시겠습니까?\",\"<name> Х<num>: купить карты за золотые (<price>)?\",\"أتريد شراء <num> من بطاقات <name> مقابل <price> من الذهب؟\",\"Comprar <num>x <name> por <price> em ouro?\",\"用<price>金币购买<num>张<name>吗？\",\"用<price>金幣購買<num>張<name>嗎？\",\"خرید <num> عدد کارت <name> به قیمت <price> طلا؟\",\"Beli <num>x <name> kartu seharga <price> Emas?\",\"Beli <num>x <name> kad dengan <price> Emas?\"\n\"TID_BUY_CARDS_CONFIRMATION_TEXT_DIAMONDS\",\"Buy <num>x <name> cards for <price> Gems?\",\"Acheter <num>x <name> pour <price> gemmes ?\",\"<num>x <name> für <price> Juwelen kaufen?\",\"¿Quieres comprar <num> cartas de <name> por <price> gemas?\",\"Acquistare <num> carte <name> per <price> gemme?\",\"<num>x <name> kaarten kopen voor <price> edelstenen?\",\"Vil du kjøpe <num>x <name>-kort for <price> juveler?\",\"<price> Taş ile <num> kat <name> satın almak ister misin?\",\"<num>枚の<name>を<price>エメラルドで購入しますか？\",\"<name> x <num>장을 보석 <price>개로 구매하시겠습니까?\",\"<name> Х<num>: купить карты за кристаллы (<price>)?\",\"أتريد شراء <num> من بطاقات <name> من <price> من الذهب؟\",\"Comprar <num>x <name> por <price> gemas?\",\"用<price>颗宝石购买<num>张<name>吗？\",\"用<price>顆寶石購買<num>張<name>嗎？\",\"خرید <num> عدد کارت <name> به قیمت <price> جواهر؟\",\"Beli <num>x <name> kartu seharga <price> Permata?\",\"Beli <num>x <name>kad dengan <price> Permata?\"\n\"TID_GAME_ROOM_SPECTATE_FAILED\",\"Failed to spectate match\",\"Impossible de regarder le combat\",\"Zuschauen nicht möglich\",\"No puedes ver la partida.\",\"Impossibile assistere alla partita\",\"Gevecht kijken mislukt\",\"Kunne ikke være tilskuer til kamp\",\"Maç izleme başarısız oldu\",\"マッチを観戦できませんでした\",\"매치를 관전하지 못했습니다.\",\"Понаблюдать не получилось\",\"فشل مشاهدة المباراة\",\"Não foi possível ver a partida.\",\"无法观战\",\"無法觀戰\",\"تماشای بازی انجام نشد\",\"Gagal menonton pertandingan\",\"Gagal menonton perlawanan\"\n\"TID_GAME_ROOM_SPECTATE_FAILED_NO_LONGER_AVAILBLE\",\"Spectating no longer available\",\"La diffusion n'est plus disponible\",\"Zuschauen nicht mehr möglich\",\"El seguimiento ya no está disponible.\",\"Modalità spettatore non più disponibile\",\"Kijken niet langer beschikbaar\",\"Du kan ikke lenger være tilskuer\",\"İzleme artık mevcut değil\",\"現在は観戦できません\",\"더 이상 경기를 관전할 수 없습니다.\",\"Наблюдение больше не доступно\",\"لم تعد المشاهدة متوفرة\",\"Não é mais possível ver a partida.\",\"观战已失效\",\"觀戰已失效\",\"تماشای بازی دیگه در دسترس نیست\",\"Tidak bisa menonton lagi\",\"Tidak tersedia untuk menonton lagi\"\n\"TID_GAME_ROOM_SPECTATE_FAILED_NO_PERMISSIONS\",\"No permissions to spectate\",\"Vous n'avez pas les droits requis pour regarder\",\"Keine Berechtigung zum Zuschauen\",\"No tienes permiso para ver esto.\",\"Non hai i permessi per assistere\",\"Geen toestemming om te kijken\",\"Du har ikke tillatelse til å være tilskuer\",\"İzleme izni yok\",\"観戦する権限がありません\",\"관전이 허용되지 않습니다.\",\"Нет разрешения на наблюдение\",\"لا تصريح للمشاهدة\",\"Você não tem permissão para ver a partida.\",\"没有观战权限\",\"沒有觀戰許可權\",\"اجازه تماشا نداری\",\"Tidak ada izin untuk menonton\",\"Tiada kebenaran untuk menonton\"\n\"TID_NO_NEARBY_GAME_ROOMS_FOUND\",\"No nearby tournaments found\",\"Aucun tournoi trouvé à proximité\",\"Keine Turniere in der Nähe gefunden\",\"No se han encontrado torneos cercanos.\",\"Nessun torneo vicino rilevato\",\"Geen toernooien in de buurt gevonden\",\"Fant ingen turneringer i nærheten\",\"Yakında turnuva bulunamadı\",\"お近くの大会が見つかりませんでした\",\"가까운 토너먼트를 찾지 못했습니다.\",\"Турниры поблизости не найдены\",\"لم يتم العثور على بطولات قريبة\",\"Nenhum torneio encontrado.\",\"附近没有锦标赛\",\"附近沒有聯賽\",\"هیچ مسابقه‌ای در این نزدیکی نیست\",\"Tidak ditemukan turnamen di sekitar\",\"Tiada pertandingan berdekatan ditemui\"\n\"TID_PUSH_MATCHMAKING_GAMEROOM\",\"There's a battle waiting for you in the Tournament!\",\"Un combat vous attend dans le tournoi !\",\"Ein Kampf erwartet dich beim Turnier!\",\"¡Te espera una batalla en el torneo!\",\"La battaglia ti attende nel torneo!\",\"Er wacht een toernooigevecht op je!\",\"En kamp venter på deg i turneringen!\",\"Turnuvada seni bekleyen bir savaş var!\",\"大会のバトルが待っています！\",\"토너먼트에서 시합이 기다리고 있습니다!\",\"Тебя ждет сражение на турнире!\",\"هناك معركة تنتظرك في البطولة!\",\"Há uma batalha esperando por você no torneio!\",\"锦标赛中有对手正在等待您的挑战！\",\"聯賽中有對手正在等待您的挑戰！\",\"در مسابقه یک نبرد انتظارت رو می‌کشه!\",\"Ada pertempuran menunggumu di Turnamen!\",\"Terdapat pertempuran menunggu anda dalam Pertandingan!\"\n\"TID_PUSH_GAMEROOM_STARTED\",\"Tournament <TOURNAMENT> just started!\",\"Le tournoi <TOURNAMENT> vient de commencer !\",\"Turnier \\q<TOURNAMENT>\\q hat gerade begonnen!\",\"¡Ha empezado el torneo <TOURNAMENT>!\",\"Il torneo <TOURNAMENT> è appena iniziato!\",\"Toernooi <TOURNAMENT> is zojuist begonnen!\",\"Turneringen <TOURNAMENT> har nettopp begynt!\",\"<TOURNAMENT> Turnuvası başladı!\",\"大会「<TOURNAMENT>」が始まりました！\",\"<TOURNAMENT> 토너먼트가 지금 시작되었습니다!\",\"Турнир «<TOURNAMENT>» только что начался!\",\"بدأت بطولة <TOURNAMENT> لتوّها!\",\"O torneio <TOURNAMENT> acabou de começar!\",\"<TOURNAMENT>锦标赛已经开始啦！\",\"<TOURNAMENT>聯賽已經開始啦！\",\"مسابقه <TOURNAMENT> تازه شروع شده!\",\"Turnamen <TOURNAMENT> baru saja dimulai!\",\"Pertandingan <TOURNAMENT> baru bermula!\"\n\"TID_HOSTED_BY\",\"Hosted by:\",\"Hôte :\",\"Veranstalter:\",\"Anfitrión:\",\"Host:\",\"Organisator:\",\"Arrangert av:\",\"Ev sahibi:\",\"ホスト：\",\"개최자:\",\"Распорядитель:\",\"يستضيفها:\",\"Criado por:\",\"组织者：\",\"主辦者：\",\"میزبانی توسط:\",\"Tuan rumah:\",\"Dihoskan oleh:\"\n\"TID_BATTLES_WILL_BEGIN_SOON\",\"Battle button will be available when preparation ends.\",\"Le bouton Combattre sera disponible une fois la préparation terminée.\",\"Die Kampfschaltfläche wird nach der Vorbereitung verfügbar sein.\",\"El botón de batalla estará disponible cuando termine la preparación.\",\"Il pulsante Battaglia sarà disponibile al termine dei preparativi.\",\"De gevechtsknop komt beschikbaar als de voorbereidingen klaar zijn.\",\"Kamp-knappen blir tilgjengelig når forberedelsene er over.\",\"Hazırlık bittiğinde savaş düğmesi görünecek.\",\"準備が完了すると「バトル」ボタンが使用可能になります。\",\"전투 버튼은 준비가 끝나면 활성화됩니다.\",\"Кнопка сражения будет доступна по окончании подготовки.\",\"سيكون زر المعركة متاحًا عند نهاية الاستعداد.\",\"O botão de batalha estará disponível quando acabar a preparação.\",\"对战按钮将在准备阶段结束后可用\",\"對戰按鈕將在準備階段結束後可用\",\"وقتی آماده‌سازی تمام بشه دکمه نبرد در دسترس قرار می‌گیره.\",\"Tombol Tempur akan tersedia saat persiapan berakhir.\",\"Butang Pertempuran akan disediakan apabila persediaan tamat.\"\n\"TID_TOURNAMENT_TOP_PRIZE\",\"Top Prize\",\"Meilleur prix\",\"Hauptpreis\",\"Primer premio\",\"Primo premio\",\"Hoofdprijs\",\"Førstepremie\",\"Büyük Ödül\",\"報酬\",\"1등 상품\",\"Главный приз\",\"الجائزة الكبرى\",\"Melhor prêmio\",\"最高奖励\",\"最高獎勵\",\"جایزه اول\",\"Hadiah Utama\",\"Hadiah Utama\"\n\"TID_PRIZES\",\"Prizes\",\"Prix\",\"Preise\",\"Premios\",\"Premi\",\"Prijzen\",\"Premier\",\"Ödüller\",\"報酬\",\"상품\",\"Призы\",\"الجوائز\",\"Prêmios\",\"奖励\",\"獎勵\",\"جوایز\",\"Hadiah\",\"Hadiah\"\n\"TID_TOURNAMENT_ENDED\",\"Tournament has ended\",\"Tournoi terminé\",\"Turnier ist zu Ende\",\"¡El torneo ha terminado!\",\"Il torneo è terminato\",\"Toernooi is afgelopen\",\"Turneringen er over\",\"Turnuva bitti\",\"大会は終了しました\",\"토너먼트가 종료되었습니다.\",\"Турнир окончен\",\"انتهت البطولة\",\"O torneio acabou.\",\"锦标赛已结束\",\"聯賽已結束\",\"مسابقه به اتمام رسید\",\"Turnamen telah berakhir\",\"Pertandingan telah tamat\"\n\"TID_LEADERBOARD_NO_PRIZE\",\"No\\nPrize\",\"Aucun\\nprix\",\"Kein\\nPreis\",\"Sin\\npremio\",\"Nessun\\npremio\",\"Geen\\nprijs\",\"Ingen\\npremie\",\"Ödül\\nyok\",\"報酬\\nなし\",\"상품\\n없음\",\"Нет\\nприза\",\"لا\\nجائزة\",\"Nenhum\\nprêmio\",\"没有\\n奖励\",\"沒有\\n獎勵\",\"بدون\\nجایزه\",\"Tiada\\nHadiah\",\"Tiada\\nHadiah\"\n\"TID_YOU_DIDNT_WIN_PRIZE\",\"You didn't make a prize bracket.\\nBetter luck next time!\",\"Vous n'avez pas décroché de prix.\\nCe sera pour la prochaine fois !\",\"Du hast keine Preisklasse erreicht.\\nViel Glück beim nächsten Mal!\",\"No te has clasificado para recibir un premio.\\n¡Otra vez será!\",\"Non sei riuscito a vincere un premio.\\nAndrà meglio la prossima volta!\",\"Je komt niet in aanmerking voor een prijs.\\nDe volgende keer beter!\",\"Du klarte ikke å sikre deg en premie.\\nLykke til neste gang!\",\"Ödülden pay alamadın.\\nSonraki sefere!\",\"報酬圏内に入れませんでした。\\n次回また頑張りましょう！\",\"순위 안에 들지 못했군요.\\n다음엔 더 좋은 결과가 있기를!\",\"Ты не получаешь приз в этом турнире.\\nУдачи в следующий раз!\",\"لم تحقق حصيلة جوائز.\\nحظًا أفضل في المرة القادمة!\",\"Você não conseguiu nenhum prêmio.\\nBoa sorte na próxima!\",\"您的排名不能获得奖励\\n下次再接再厉哦！\",\"您的排名不能獲得獎勵\\n下次再接再厲哦！\",\"هیچ جایزه‌ای نبردی.\\nایشالله دفعه بعد!\",\"Kamu tidak masuk braket hadiah.\\nSemoga beruntung lain kali!\",\"Anda tidak membuat bingkai hadiah.\\nSemoga berjaya lain kali!\"\n\"TID_TOURNAMENT_CHEST_NOTIFICATION\",\"Tournament Chest unlocked!\",\"Coffre de tournoi débloqué !\",\"Turniertruhe kann geöffnet werden!\",\"¡Cofre de torneo desbloqueado!\",\"Baule da torneo sbloccato!\",\"Toernooikist ontgrendeld!\",\"Turneringskiste låst opp!\",\"Turnuva Sandığının kilidi açıldı!\",\"賞品宝箱をアンロック！\",\"토너먼트 상자 열림!\",\"Открыт турнирный сундук!\",\"تم فتح صندوق البطولة!\",\"Baú do torneio aberto!\",\"锦标赛宝箱已解锁！\",\"聯賽寶箱已解鎖！\",\"قفل صندوق مسابقه باز شد!\",\"Peti Turnamen terbuka!\",\"Peti Pertandingan dibuka kunci!\"\n\"TID_TOURNAMENT_CHEST_2ND_NOTIFICATION\",\"Tournament Chest unlocked! You can join a new tournament now!\",\"Coffre de tournoi débloqué ! Vous pouvez rejoindre un nouveau tournoi !\",\"Turniertruhe offen! Du kannst nun einem neuen Turnier beitreten!\",\"¡Cofre de torneo desbloqueado! Ya puedes unirte a otro torneo.\",\"Baule da torneo sbloccato! Ora puoi partecipare a un nuovo torneo!\",\"Toernooikist ontgrendeld! Je kunt nu meedoen aan een nieuw toernooi!\",\"Turneringskiste låst opp! Nå kan du bli med i en ny turnering!\",\"Turnuva Sandığı'nın kilidi açıldı! Artık yeni bir turnuvaya katılabilirsin!\",\"賞品宝箱をアンロックしました！ 別の大会に参加できます！\",\"토너먼트 상자 열림! 이제 새 토너먼트에 참가할 수 있습니다!\",\"Турнирный сундук открыт! Теперь ты можешь участвовать в новом турнире!\",\"تم فتح صندوق البطولة! يمكنك الانضمام إلى بطولة جديدة الآن!\",\"Baú do torneio aberto! Agora, você pode participar de outro torneio!\",\"锦标赛宝箱已解锁！您可以加入新的锦标赛啦！\",\"聯賽寶箱已解鎖！您可以加入新的聯賽啦！\",\"قفل صندوق مسابقه باز شد! الان می‌تونی به مسابقه ملحق بشی!\",\"Peti Turnamen terbuka! Bisa bergabung ke turnamen baru sekarang!\",\"Peti Pertandingan dibuka kunci! Anda boleh menyertai pertandingan baharu sekarang!\"\n\"TID_TOURNAMENT_ENDED_NOTIFICATION\",\"Tournament has ended!\",\"Le tournoi est terminé !\",\"Turnier ist zu Ende!\",\"¡El torneo ha terminado!\",\"Il torneo è terminato!\",\"Het toernooi is afgelopen!\",\"Turneringen er over!\",\"Turnuva bitti!\",\"大会は終了しました！\",\"토너먼트 종료!\",\"Турнир окончен!\",\"انتهت البطولة!\",\"O torneio acabou!\",\"锦标赛已结束！\",\"聯賽已結束！\",\"مسابقه تموم شده!\",\"Turnamen telah berakhir!\",\"Pertandingan telah tamat!\"\n\"TID_TOURNAMENT_MATCHMAKE_FAILED\",\"Tournament matchmaking failed!\",\"Échec de la recherche d'adversaire pour le tournoi !\",\"Turnier-Spielersuche fehlgeschlagen!\",\"El emparejamiento del torneo ha fallado.\",\"Matchmaking torneo fallito!\",\"Koppelprocedure toernooi mislukt\",\"Fant ikke motstander til turneringen!\",\"Turnuva Eşleştirmesi başarısız oldu!\",\"大会のマッチメイクに失敗しました！\",\"토너먼트 매치메이킹 실패!\",\"Не удалось найти противника на турнир!\",\"فشلت مطابقة البطولة!\",\"Falha para encontrar adversário para o torneio!\",\"锦标赛匹配失败！\",\"聯賽配對失敗！\",\"تطابق‌یابی مسابقه انجام نشد!\",\"Pencarian lawan Turnamen gagal!\",\"Gagal padanan pertandingan!\"\n\"TID_TOURNAMENT_MATCHMAKE_FAILED_PROCESSING\",\"Cannot battle, processing tournament results.\",\"Impossible de combattre, résultats du tournoi en cours de traitement.\",\"Kampf nicht möglich. Turnierergebnisse werden verarbeitet.\",\"No se puede combatir mientras se calculan los resultados del torneo.\",\"Impossibile combattere, risultati torneo in elaborazione.\",\"Er kan niet worden gevochten. Toernooiresultaten worden verwerkt.\",\"Du kan ikke delta i kamp. Turneringsresultatene behandles.\",\"Turnuva sonuçları işlendiği için savaşılamıyor.\",\"大会結果を処理中のため、バトルできません。\",\"경기를 하지 못했습니다. 토너먼트 결과로 넘어갑니다.\",\"Сражение невозможно, идет обработка результатов.\",\"لا يمكن القتال، جاري معالجة نتائج البطولة.\",\"Não é possível lutar. Processando os resultados do torneio.\",\"锦标赛结果整理中，无法对战。\",\"聯賽結果整理中，無法對戰。\",\"امکان نبرد نیست، نتایج مسابقه در حال بررسی هستند.\",\"Tidak dapat bertempur, memproses hasil turnamen.\",\"Tidak boleh bertempur, memproses keputusan pertandingan.\"\n\"TID_MATCHMAKE_FAILED\",\"Matchmaking failed!\",\"Échec de la recherche d'adversaire !\",\"Spielersuche fehlgeschlagen!\",\"Fallo de emparejamiento\",\"Matchmaking fallito!\",\"Koppelprocedure mislukt!\",\"Fant ikke motstander!\",\"Eşleştirme başarısız oldu!\",\"マッチメイクに失敗しました！\",\"매치메이킹 실패!\",\"Ошибка при подборе противников!\",\"فشلت المطابقة!\",\"Falha ao buscar adversário!\",\"匹配失败！\",\"配對失敗！\",\"تطابق‌یابی انجام نشد!\",\"Pencarian lawan gagal!\",\"Padanan gagal!\"\n\"TID_TOURNAMENT_TIME_LEFT\",\"<tournament> ends in: <time>\",\"<tournament> terminé dans : <time>\",\"\\q<tournament>\\q endet in: <time>\",\"<tournament> termina en <time>.\",\"<tournament> termina tra: <time>\",\"<tournament> eindigt over: <time>\",\"<tournament> slutter om: <time>\",\"<tournament> turnuvasının bitmesine: <time>\",\"「<tournament>」終了まで：<time>\",\"<tournament> 남은 시간: <time>\",\"<tournament> закончится через: <time>\",\"تنتهي بطولة <tournament> خلال: <time>\",\"<tournament> termina em: <time>\",\"<tournament>锦标赛将于<time>后结束\",\"<tournament>聯賽將於<time>後結束\",\"اتمام <tournament> بعد از: <time>\",\"<tournament> berakhir dalam: <time>\",\"<tournament> tamat dalam: <time>\"\n\"TID_TOURNAMENT_INGAME_PREPARATION_FINISHED\",\"<tournament> preparation has finished, time to battle!\",\"Préparation terminée pour <tournament>, le combat peut commencer !\",\"Die Vorbereitung für \\q<tournament>\\q ist abgeschlossen. Zeit für den Kampf!\",\"La preparación de <tournament> ha terminado. ¡A luchar!\",\"I preparativi per <tournament> sono terminati, è l'ora della battaglia!\",\"Voorbereidingen voor <tournament> zijn klaar. Tijd om te vechten!\",\"Forberedelsene til <tournament> er over, det er tid for kamp!\",\"<tournament> turnuvasının hazırlığı bitti, savaş başlasın!\",\"「<tournament>」の準備が完了しました。バトルを開始しましょう！\",\"<tournament> 준비가 끝났습니다. 전투 시간입니다!\",\"Подготовка к турниру «<tournament>» окончена. Время сражаться!\",\"انتهت استعدادات بطولة <tournament>، حان وقت المعركة!\",\"A preparação do <tournament> terminou. É hora da batalha!\",\"<tournament>锦标赛准备阶段已结束，是时候发起对战了!\",\"<tournament>聯賽準備階段已結束，是時候發起對戰了!\",\"آماده‌سازی <tournament> به پایان رسیده، وقت نبرد رسیده!\",\"Persiapan <tournament> telah usai, waktunya bertempur!\",\"<tournament> persediaan telah selesai, masa untuk bertempur!\"\n\"TID_TOURNAMENT_INGAME_ENDED\",\"<tournament> has ended!\",\"<tournament> est terminé !\",\"\\q<tournament>\\q ist zu Ende!\",\"¡Ha terminado el torneo <tournament>!\",\"<tournament> è terminato!\",\"<tournament> is afgelopen!\",\"<tournament> er over!\",\"<tournament> turnuvası bitti!\",\"「<tournament>」が終了しました！\",\"<tournament> 종료!\",\"Турнир «<tournament>» окончен!\",\"انتهت بطولة <tournament>!\",\"<tournament> terminou!\",\"<tournament>锦标赛已结束\",\"<tournament>聯賽已結束\",\"<tournament> به پایان رسیده!\",\"<tournament> telah berakhir!\",\"<tournament> telah tamat!\"\n\"TID_TOURNAMENT_LEAVE_CONFIRMATION_TITLE\",\"Leave Tournament?\",\"Quitter le tournoi ?\",\"Turnier verlassen?\",\"Abandonar el torneo\",\"Abbandonare il torneo?\",\"Toernooi verlaten?\",\"Vil du forlate turneringen?\",\"Turnuvadan ayrıl?\",\"大会を離脱しますか？\",\"토너먼트를 나갈까요?\",\"Покинуть турнир?\",\"أتريد مغادرة البطولة؟\",\"Sair do torneio?\",\"要退出锦标赛吗？\",\"要退出聯賽嗎？\",\"از مسابقه خارج میشی؟\",\"Keluar dari Turnamen?\",\"Tinggalkan Pertandingan?\"\n\"TID_TOURNAMENT_LEAVE_CONFIRMATION\",\"Do you really want to leave:\",\"Voulez-vous vraiment quitter :\",\"Möchtest das folgende Turnier wirklich verlassen?\",\"¿Seguro que quieres abandonar este torneo?\",\"Vuoi davvero abbandonare:\",\"Weet je zeker dat je dit wilt verlaten?\",\"Vil du virkelig forlate:\",\"Buradan gerçekten ayrılmak istiyor musun:\",\"離脱してもよろしいですか？\",\"이 토너먼트에서 정말 나가시겠습니까?\",\"Ты точно хочешь выйти из:\",\"هل ترغب حقًا في المغادرة؟\",\"Quer mesmo sair?\",\"您确定要退出锦标赛：\",\"您確定要退出聯賽：\",\"واقعاً می‌خوای که خارج بشی:\",\"Yakinkah kamu ingin keluar dari:\",\"Anda benar-benar ingin meninggalkan klan:\"\n\"TID_TOURNAMENT_MATCHMAKE_NOTIFICATION\",\"Someone in your tournament is looking for a match\",\"Un participant à votre tournoi recherche un adversaire\",\"Jemand in deinem Turnier sucht einen Kampf.\",\"Alguien de tu torneo busca un rival.\",\"Qualcuno nel tuo torneo sta cercando uno scontro\",\"Iemand in jouw toernooi is op zoek naar een tegenstander\",\"Noen i turneringen din ser etter en motstander!\",\"Turnuvandaki biri bir eşleşme arıyor\",\"大会の参加者がマッチ相手を探しています\",\"토너먼트 참가자가 상대방을 찾고 있습니다.\",\"Участник турнира ищет противника\",\"هناك أحد ما في بطولتك يبحث عن مباراة\",\"Alguém em seu torneio está procurando por um adversário.\",\"您加入的锦标赛中有参赛者正在搜索对手\",\"您加入的聯賽中有參賽者正在搜尋對手\",\"یک نفدر در مسابقه دنبال یک بازی می‌گرده\",\"Seseorang di turnamenmu sedang mencari lawan tanding\",\"Seseorang dalam pertandingan anda mencari padanan\"\n\"TID_TOURNAMENTS\",\"Tournaments\",\"Tournois\",\"Turniere\",\"Torneos\",\"Tornei\",\"Toernooien\",\"Turneringer\",\"Turnuvalar\",\"大会\",\"토너먼트\",\"Турниры\",\"بطولات\",\"Torneios\",\"锦标赛\",\"聯賽\",\"مسابقات\",\"Turnamen\",\"Pertandingan\"\n\"TID_TOP_PRIZE\",\"Top Prize\",\"Meilleur prix\",\"Hauptpreis\",\"Primer premio\",\"Primo premio\",\"Hoofdprijs\",\"Førstepremie\",\"Büyük Ödül\",\"トップ報酬\",\"1등 상품\",\"Главный приз\",\"الجائزة الكبرى\",\"Melhor prêmio\",\"最高奖励\",\"最高獎勵\",\"جایزه برتر\",\"Hadiah Utama\",\"Hadiah Utama\"\n\"TID_LAST_GAMES_IN_PROGRESS\",\"Waiting for the last battles to end!\",\"En attente de la fin des derniers combats !\",\"Warten auf das Ende der letzten Kämpfe\",\"Esperando a que terminen las últimas batallas...\",\"In attesa della conclusione delle ultime battaglie!\",\"Wachten tot de laatste gevechten afgelopen zijn!\",\"Venter på at de siste kampene skal avsluttes!\",\"Son savaşların bitmesi bekleniyor!\",\"最後のバトルの終了を待っています！\",\"마지막 전투가 끝나길 기다리고 있습니다!\",\"Ждем окончания последних сражений!\",\"في انتظار نهاية آخر المعارك!\",\"Esperando o fim das últimas batalhas!\",\"等待最后的对战结束！\",\"等待最後的對戰結束！\",\"منتظر تمام شدن آخرین نبرد!\",\"Menunggu berakhirnya pertempuran terakhir!\",\"Menunggu untuk pertempuran terakhir tamat!\"\n\"TID_BATTLE_BUTTON_HIDDEN\",\"Battle button will activate when preparation ends.\",\"Le bouton Combattre sera activé une fois la préparation terminée.\",\"Die Kampfschaltfläche wird nach der Vorbereitung aktiviert.\",\"El botón de batalla se activará cuando termine la preparación.\",\"Il pulsante Battaglia si attiverà al termine dei preparativi.\",\"De gevechtsknop wordt actief, zodra de voorbereidingen klaar zijn.\",\"Kamp-knappen aktiveres når forberedelsene er over.\",\"Hazırlık bittiğinde savaş düğmesi etkinleşecek.\",\"準備が完了すると「バトル」ボタンが有効になります。\",\"전투 버튼은 준비가 끝나면 활성화됩니다.\",\"Кнопка сражения будет доступна по окончании подготовки.\",\"سيتم تفعيل زر المعركة عند نهاية الاستعداد.\",\"O botão de batalha estará disponível quando acabar a preparação.\",\"对战按钮会在准备阶段结束时激活\",\"對戰按鈕會在準備階段結束時啟動\",\"وقتی آماده‌سازی تمام بشه دکمه نبرد فعال میشه.\",\"Tombol Tempur akan diaktifkan setelah persiapan berakhir.\",\"Butang Pertempuran akan diaktifkan apabila persediaan tamat.\"\n\"TID_CREATE_TOURNAMENT\",\"Create Custom Tournament\",\"Créer un tournoi personnalisé\",\"Benutzerdefiniertes Turnier erstellen\",\"Crear torneo privado\",\"Crea torneo personalizzato\",\"Aangepast toernooi organiseren\",\"Opprett spesialturnering\",\"Özel Turnuva oluştur\",\"カスタム大会の作成\",\"커스텀 토너먼트 생성\",\"Создать турнир\",\"إنشاء بطولة مخصصة\",\"Criar torneio personalizado\",\"创建自定义模式锦标赛\",\"創建自訂模式聯賽\",\"مسابقه سفارشی ایجاد کن\",\"Buat Turnamen Khusus\",\"Cipta Pertandingan Tersuai\"\n\"TID_TERMS_AND_CONDITIONS\",\"Community Tournament Guidelines\",\"Règlement des tournois de la communauté\",\"Community-Turnierregeln\",\"Reglas de torneos comunitarios\",\"Linee guida per i tornei della community\",\"Richtlijnen voor communitytoernooien\",\"Retningslinjer for turneringer\",\"Topluluk Turnuvası Kuralları\",\"コミュニティ大会ガイドライン\",\"커뮤니티 토너먼트 가이드라인\",\"Турнирное руководство сообщества\",\"إرشادات مجتمع اللاعبين حول البطولة\",\"Regras para o torneio comunitário\",\"玩家赛事筹备指南\",\"玩家賽事籌備指南\",\"دستورالعمل‌های شرکت‌کنندگان مسابقه\",\"Panduan Turnamen Komunitas\",\"Garis Panduan Pertandingan Komuniti\"\n\"TID_TOURNAMENT_SEARCH_EMPTY\",\"No search results found\",\"Aucun résultat trouvé\",\"Keine Suchergebnisse\",\"Sin resultados\",\"Nessun risultato trovato\",\"Geen zoekresultaten gevonden\",\"Søket ga ingen resultater\",\"Arama sonucu bulunamadı\",\"該当なし\",\"검색 결과가 없습니다.\",\"Поиск не дал результатов\",\"لم يتم العثور على نتائج بحث\",\"Nenhum resultado encontrado.\",\"没有搜索到任何结果\",\"沒有搜索到任何結果\",\"هیچ نتیجه‌ای برای جستجو پیدا نشد\",\"Tidak ada hasil pencarian\",\"Tiada keputusan carian ditemui\"\n\"TID_TOURNAMENT_RECOMMENDED_EMPTY\",\"No tournaments found\",\"Aucun tournoi trouvé\",\"Keine Turniere gefunden\",\"No se han encontrado torneos.\",\"Nessun torneo rilevato\",\"Geen toernooien gevonden\",\"Fant ingen turneringer\",\"Turnuva bulunamadı\",\"大会が見つかりません\",\"토너먼트를 찾지 못했습니다.\",\"Турниры не найдены\",\"لم يتم العثور على بطولات\",\"Nenhum torneio encontrado\",\"暂无锦标赛\",\"暫無聯賽\",\"هیچ مسابقه‌ای پیدا نشد\",\"Turnamen tidak ditemukan\",\"Tiada pertandingan ditemui\"\n\"TID_HINT_BOWLER\",\"The Bowler is a big blue dude who digs the simple things in life - Dark Elixir drinks and throwing rocks.\",\"Le bouliste est un gros bonhomme bleu qui apprécie les choses simples de la vie : l'élixir noir et le lancer de rochers.\",\"Der Bowler ist ein großer blauer Kerl, der die einfachen Dinge im Leben mag - Dunkles Elixier trinken und Steine werfen.\",\"El lanzarrocas es un grandullón de piel azul al que le gustan las cosas sencillas: un buen trago de elixir oscuro mientras lanza unas cuantas piedras.\",\"Il bocciatore è un omaccione blu che adora le cose semplici della vita: bere Elisir nero e lanciare rocce.\",\"De bowler is een grote blauwe gast die van de eenvoudige dingen in het leven houdt: duister-elixirdrankjes en met stenen gooien.\",\"Bowler er en stor, blå kar som liker de enkle tingene i tilværelsen, som å drikke mørke eliksirer og kaste stein.\",\"Atıcı, Kara İksir içmek ve kaya fırlatmak gibi basit şeylerden zevk alan büyük, mavi bir adam.\",\"ボウラーは大きな青いユニットで、ダークエリクサーを飲んで岩を投げるという、実にシンプルな生活を送っています。\",\"이 덩치 크고 시퍼런 친구는 단순하게 사는 걸 좋아합니다. 바로 다크 엘릭서를 마시고 바위를 던지는 것이죠.\",\"Вышибала — фиолетовый здоровяк, которому по душе простые удовольствия: напитки из темного эликсира и швыряние камней.\",\"الباولر هو كائن أزرق كبير يحب الأشياء البسيطة في الحياة - يشرب إكسير الظلام ويلقي الصخور.\",\"O Lançador é um grandalhão azul que gosta das coisas boas da vida: drinques com Elixir Negro e jogar pedras.\",\"这个蓝皮大个子一辈子只做两件简单的事：豪饮暗黑重油、投掷巨型岩石。\",\"這個藍皮大個子一輩子只做兩件簡單的事：豪飲暗黑重油、投擲巨型岩石。\",\"له‌کننده یک غول گنده آبی رنگه که به چیزهای ساده توی زندگی علاقه داره - اکسیر سیاه می‌خوره و سنگ پرتاب می‌کنه.\",\"Bowler adalah cowok biru besar yang menyukai hal-hal sederhana dalam hidup - minuman Eliksir Hitam dan melempar batu.\",\"Pembaling ialah lelaki biru besar yang inginkan perkara mudah dalam hidup - minuman Eliksir Kejahatan dan batu untuk dibaling.\"\n\"TID_NATIVE_DIALOG_JUPITER_ACCOUNT_CONFLICT_TITLE\",\"Conflicting Account\",\"Conflit de compte\",\"In Konflikt stehendes Konto\",\"Conflicto de cuentas\",\"Account in conflitto\",\"Conflicterend account\",\"Ikke samme konto\",\"Hesap Uyuşmazlığı\",\"競合するアカウント\",\"다른 계정\",\"Конфликтующая учетная запись\",\"حساب متضارب\",\"Conta em conflito\",\"账号冲突\",\"帳號衝突\",\"حساب متعارض\",\"Akun Bentrok\",\"Akaun Berkonflik\"\n\"TID_NATIVE_DIALOG_JUPITER_ACCOUNT_CONFLICT_MESSAGE\",\"The account you try to log in with is different from the account stored locally, do you want to switch to the new one?\",\"Le compte avec lequel vous essayez de vous connecter est différent de votre compte local. Voulez-vous utiliser ce nouveau compte ?\",\"Das Konto, mit dem du dich anmelden willst, ist nicht das lokal gespeicherte Konto. Möchtest du zum neuen Konto wechseln?\",\"La cuenta con la que intentas iniciar sesión es diferente a la cuenta local. ¿Quieres cambiar a la nueva?\",\"L'account con cui stai cercando di accedere è diverso da quello memorizzato in locale. Vuoi passare al nuovo account?\",\"Het account waarmee je je probeert aan te melden verschilt van het lokaal opgeslagen account. Wil je wisselen naar het nieuwe?\",\"Kontoen du prøver å logge på med, er en annen enn den som er lagret lokalt. Vil du bytte til den nye?\",\"Giriş yapmaya çalıştığın hesap yerel olarak saklanan hesaptan farklı. Yeni bir hesaba geçiş yapmak istiyor musun?\",\"ログインしようとしているアカウントは、ローカルに保存されているアカウントと異なります。新しいアカウントに切り替えますか？\",\"현재 로그인하려는 계정은 기기에 저장된 계정과 다릅니다. 계정을 변경하시겠습니까?\",\"Учётная запись, с которой вы пытаетесь войти, отличается от сохраненной на устройстве. Хотите переключиться на новую?\",\"الحساب الذي تحاول تسجيل الدخول به مختلف عن الحساب المخزن محليًا، هل تريد التبديل إلى الجديد؟\",\"A conta na qual você tentou entrar é diferente da armazenada neste aparelho. Quer mudar para ela?\",\"您登录的账号并不是设备上已保存的账号，确定切换至新账号吗？\",\"您登入的帳號並不是裝置上已保存的帳號，確定切換至新帳號嗎？\",\"حسابی که سعی می‌کنی واردش بشی با حسابی که ذخیره کردی تفاوت داره، آیا می‌خوای به حساب جدید منتقل بشی؟\",\"Akun yang kamu coba gunakan untuk masuk berbeda dengan akun yang tersimpan secara lokal. Ingin beralih ke yang baru?\",\"Akaun yang anda cuba log masuk berbeza daripada akaun yang disimpan secara setempat, anda ingin menukar yang baharu?\"\n\"TID_NATIVE_DIALOG_JUPITER_ACCOUNT_CONFLICT_YES_BUTTON\",\"Yes, switch to current account.\",\"Oui, utiliser le nouveau compte\",\"Ja, zu aktuellem Konto wechseln\",\"Sí, cambiar a la cuenta nueva\",\"Sì, passa al nuovo account.\",\"Ja, wissel naar het huidige account.\",\"Ja, bytt til nåværende konto.\",\"Evet, şimdiki hesaba geçiş yap.\",\"はい、このアカウントに切り替えます。\",\"네, 현재 계정으로 변경합니다.\",\"Да, переключиться на новую.\",\"أجل، قم بالتبديل إلى الحساب الحالي.\",\"Sim, mudar para conta atual.\",\"是，我想切换至当前账号。\",\"是，我想切換至當前帳號。\",\"بله، به حساب فعلی منتقل شو.\",\"Ya, beralih ke akun saat ini.\",\"Ya, tukar ke akaun semasa.\"\n\"TID_NATIVE_DIALOG_JUPITER_ACCOUNT_CONFLICT_NO_BUTTON\",\"No, use the original one.\",\"Non, utiliser le compte d'origine\",\"Nein, ursprüngliches Konto verwenden\",\"No, usar la cuenta local\",\"No, usa l'account originale.\",\"Nee, gebruik het oorspronkelijke account.\",\"Nei, bruk den opprinnelige.\",\"Hayır, orijinal hesabı kullan.\",\"いいえ、元のアカウントを使用します。\",\"아니요, 기기에 저장된 계정을 사용합니다.\",\"Нет, использовать прежнюю.\",\"كلا، استخدم الحساب الأصلي.\",\"Não, usar a original.\",\"不，我想使用原来的账号。\",\"不，我想使用原來的帳號。\",\"نه، از حساب اصلی استفاده کن.\",\"Tidak, gunakan akun asli.\",\"Tidak, gunakan yang asal.\"\n\"TID_WECHAT_QQ_LOGIN\",\"Friends from either WeChat or QQ appear when you're logged into the service.\",\"Vos amis de WeChat ou QQ apparaissent ici lorsque vous êtes connecté(e) à ce réseau.\",\"Freunde von WeChat oder QQ erscheinen, wenn du bei dem jeweiligen Dienst angemeldet bist.\",\"Tus amigos de WeChat o QQ aparecerán cuando conectes con esta red social.\",\"Gli amici di WeChat o QQ appaiono quando hai effettuato l'accesso al servizio.\",\"WeChat- of QQ-vrienden verschijnen als je bent aangemeld bij deze dienst.\",\"Vennene dine på WeChat eller QQ vises når du er logget på tjenesten.\",\"WeChat veya QQ arkadaşları, hizmette oturum açtığında görünür.\",\"WeChatまたはQQからのフレンドは、各サービスにログインすると表示されます。\",\"WeChat 또는 QQ에 로그인하면 친구들이 표시됩니다.\",\"Друзья из WeChat или QQ появляются при подключении.\",\"يظهر الأصدقاء على WeChat أو QQعند تسجيل الدخول إلى الخدمة.\",\"Os amigos do WeChat ou QQ aparecem quando você está conectado a ele.\",\"登录微信或QQ后，您的微信或QQ好友就会显示在这里。\",\"登入微信或QQ後，您的微信或QQ好友就會顯示在這裡。\",\"وقتی وارد سیستم خدمات بشی دوستان روی WeChat یا QQ پیدا میشن.\",\"Teman dari WeChat atau QQ muncul saat kamu masuk ke layanan tersebut.\",\"Rakan dari WeChat atau QQ kelihatan apabila anda melog masuk ke perkhidmatan.\"\n\"TID_HINT_RAGE_LOG\",\"The Lumberjack and The Log go way back...\",\"Le bûcheron et La bûche sont de vieilles connaissances...\",\"Der Holzfäller und das Kampfholz haben eine lange gemeinsame Geschichte ...\",\"El leñador y el Tronco se conocen desde hace tiempo...\",\"Il boscaiolo e il Tronco sono vecchie conoscenze...\",\"De houthakker en de stam kennen elkaar al heel lang...\",\"Tømmerhoggeren og tømmerstokken har en lang historie ...\",\"Oduncu ve Tomruk'un arasındakiler çok eskiye dayanıyor...\",\"ランバージャックとローリングウッドの起源は、有史以前にさかのぼります...\",\"나무꾼과 통나무는 오랜 앙숙입니다...\",\"У Дровосека и Бревна сложная история...\",\"الحطّاب والجذع يعرفان بعضهما منذ فترة طويلة...\",\"O Lenhador e O Tronco se conhecem há muito tempo...\",\"狂暴樵夫和复仇滚木可是死对头......\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"狂暴伐木工和復仇滾木可是死對頭......\",\"چوب‌بر و الوار مربوط به خیلی وقت پیش میشن...\",\"Penebang dan Sang Kayu telah lama saling mengenal...\",\"Pembalak dan Kayu Balak berundur...\"\n\"TID_TOURNAMENT_UNLOCKED\",\"Unlocked!\",\"Débloqué !\",\"Freigeschaltet!\",\"¡Desbloqueados!\",\"Sbloccato!\",\"Ontgrendeld!\",\"Opplåst!\",\"Kilidi açıldı!\",\"アンロックされました！\",\"잠금 해제!\",\"Доступно!\",\"مفتوح!\",\"Desbloqueada!\",\"已解锁！\",\"已解鎖！\",\"قفل باز شد!\",\"Terbuka!\",\"Dibuka kunci!\"\n\"TID_WECHAT_LOGGED_IN\",\"Logged in to WeChat\",\"Connexion à WeChat établie\",\"Bei WeChat angemeldet\",\"Has conectado con WeChat\",\"Accesso a WeChat effettuato\",\"Je bent nu aangemeld bij WeChat\",\"Du er nå logget på WeChat\",\"WeChat'e giriş yapıldı\",\"WeChatにログインしました\",\"WeChat에 로그인했습니다.\",\"Вы вошли в WeChat\",\"مسجل الدخول الآن إلى WeChat\",\"Logado no WeChat\",\"已登录微信\",\"已登入微信\",\"به WeChat وارد شد\",\"Telah masuk ke WeChat\",\"Dilog masuk ke WeChat\"\n\"TID_QQ_LOGGED_IN\",\"Logged in to QQ\",\"Connexion à QQ établie\",\"Bei QQ angemeldet\",\"Has conectado con QQ\",\"Accesso a QQ effettuato\",\"Je bent nu aangemeld bij QQ\",\"Du er nå logget på QQ\",\"QQ'ya giriş yapıldı\",\"QQにログインしました\",\"QQ에 로그인했습니다.\",\"Вы вошли в QQ\",\"مسجل الدخول الآن إلى QQ\",\"Logado no QQ\",\"已登录QQ\",\"已登入QQ\",\"به QQ وارد شد\",\"Telah masuk ke QQ\",\"Dilog masuk ke QQ\"\n\"TID_LOG_OUT_BUTTON\",\"Log out\",\"Déconnexion\",\"Abmelden\",\"Desconectar\",\"Esci\",\"Afmelden\",\"Logg av\",\"Çıkış yap\",\"ログアウト\",\"로그아웃\",\"Выйти\",\"تسجيل الخروج\",\"Sair\",\"退出登录\",\"退出登入\",\"خروج\",\"Keluar\",\"Log keluar\"\n\"TID_TOURNAMENT_GAME\",\"Tournament Game\",\"Jeu des tournois\",\"Turnierspiel\",\"Partida de torneo\",\"Partita di torneo\",\"Toernooispel\",\"Turneringskamp\",\"Turnuva Oyunu\",\"大会バトル\",\"토너먼트 게임\",\"Турнирная игра\",\"لعبة البطولة\",\"Jogo do torneio\",\"锦标赛比赛\",\"聯賽比賽\",\"بازی مسابقه\",\"Permainan Turnamen\",\"Permainan Pertandingan\"\n\"TID_UNLOCK_CHEST_TO_JOIN\",\"Unlock chest to join another tournament\",\"Débloquer le coffre pour rejoindre un autre tournoi\",\"Truhe öffnen, um noch einem Turnier beizutreten\",\"Desbloquea el cofre para unirte a otro torneo.\",\"Sblocca il baule per partecipare a un altro torneo\",\"Ontgrendel kist om mee te doen aan een ander toernooi\",\"Lås opp kisten for å bli med i en annen turnering\",\"Başka bir turnuvaya katılmak için sandığın kilidini aç\",\"別の大会に参加するには、宝箱をアンロックしてください\",\"다른 토너먼트에 참가하려면 상자를 여세요.\",\"Открой сундук, чтобы участвовать в другом турнире\",\"افتح الصندوق للانضمام إلى بطولة أخرى\",\"Abra o baú para participar de outro torneio.\",\"要加入新的锦标赛，您需要先解锁锦标赛宝箱。\",\"要加入新的聯賽，您需要先解鎖聯賽寶箱。\",\"برای پیوستن به مسابقه دیگه صندوق باز کن\",\"Buka peti untuk bergabung ke turnamen lain\",\"Buka kunci peti untuk menyertai pertandingan lain\"\n\"TID_BATTLE_WITH_TOURNAMENT_RULES\",\"Battle using Tournament Rules!\",\"Combattez suivant le règlement des tournois !\",\"Kämpfe nach Turnierregeln!\",\"¡Lucha con las reglas del torneo!\",\"Combatti utilizzando le regole da torneo!\",\"Vecht volgens de toernooiregels!\",\"Spill kamper med turneringsregler!\",\"Bu savaşlarda Turnuva Kuralları geçerlidir!\",\"対戦は大会ルールに基づいて行われます！\",\"전투는 토너먼트 규칙을 사용합니다!\",\"Сражайся по правилам турнира!\",\"قاتل باستخدام قواعد البطولة!\",\"Lute usando as Regras do Torneio!\",\"对战采用锦标赛规则！\",\"對戰採用聯賽規則！\",\"با استفاده از قوانین مسابقه نبرد کن!\",\"Bertempur menggunakan Aturan Turnamen!\",\"Bertempur menggunakan Peraturan Pertandingan!\"\n\"TID_GAIN_TOURNAMENT_TROPHIES\",\"Gain Tournament Trophies!\",\"Remportez des trophées de tournoi !\",\"Gewinne Turniertrophäen!\",\"¡Gana trofeos de torneo!\",\"Guadagna trofei da torneo!\",\"Verdien toernooitrofeeën!\",\"Vinn turneringstrofeer!\",\"Turnuva Kupaları kazan!\",\"大会トロフィーを手に入れましょう！\",\"토너먼트 트로피를 획득하세요!\",\"Получай турнирные трофеи!\",\"اقتنص كؤوس البطولة!\",\"Ganhe troféus no torneio!\",\"获得锦标赛奖杯！\",\"獲得聯賽獎盃！\",\"جام مسابقه به دست بیار!\",\"Dapatkan Trofi Turnamen!\",\"Dapatkan Trofi Pertandingan!\"\n\"TID_TOURNAMENT_TROPHY_EXPLAINED\",\"Battle for Tournament Trophies to climb the tournament leaderboard!\",\"Combattez pour décrocher des trophées et grimper au classement des tournois !\",\"Kämpfe um Turniertrophäen und erklimme die Turnierrangliste!\",\"Lucha por ganar trofeos de torneo para subir puestos en la clasificación.\",\"Combatti per i trofei da torneo per scalarne la classifica!\",\"Verdien toernooitrofeeën om te stijgen in het toernooiklassement!\",\"Kjemp om turneringstrofeer for å klatre på turneringens resultatliste!\",\"Turnuvanın liderlik tablosunda tırmanmak için Turnuva Kupalarında savaş!\",\"戦って大会トロフィーを集め、大会ランキングの上位を目指しましょう！\",\"토너먼트 트로피를 획득해서 토너먼트 순위를 올려보세요!\",\"Сразись за турнирные трофеи, чтобы подняться в списке лидеров!\",\"صارع من أجل كؤوس البطولة لاعتلاء المراكز الأولى في لوحة الصدارة!\",\"Batalhe para ganhar troféus do torneio e subir no ranking!\",\"进行锦标赛对战，赢取锦标赛奖杯，提升锦标赛排名！\",\"進行聯賽對戰，贏取聯賽獎盃，提升聯賽排名！\",\"برای بردن جام مسابقه نبرد کن تا در رده‌بندی صعود کنی!\",\"Bertempur demi Trofi Turnamen untuk mendaki papan peringkat turnamen!\",\"Bertempur untuk mendapatkan Trofi Pertandingan untuk menaiki papan peneraju pertandingan!\"\n\"TID_MORE_TROPHIES_BIGGER_PRIZES\",\"Unlock Tournament Chests!\",\"Débloquez des coffres de tournoi !\",\"Schalte Turniertruhen frei!\",\"¡Desbloquea cofres de torneo!\",\"Sblocca bauli da torneo!\",\"Ontgrendel toernooikisten!\",\"Lås opp turneringskister!\",\"Turnuva Sandıklarının Kilidini Aç!\",\"賞品宝箱をアンロックしましょう！\",\"토너먼트 상자 잠금 해제!\",\"Открой турнирный сундук!\",\"فتح صناديق البطولة!\",\"Abra baús de torneio!\",\"解锁锦标赛宝箱！\",\"解鎖聯賽寶箱！\",\"قفل صندوق‌های مسابقه رو باز کن!\",\"Buka Peti Turnamen!\",\"Buka Kunci Peti Pertandingan!\"\n\"TID_TOURNAMENT_PRIZES_EXPLAINED\",\"Place higher on the tournament leaderboard to earn better prizes!\",\"Atteignez le haut du classement des tournois pour de gagner de meilleurs prix !\",\"Erreiche einen höheren Platz auf der Turnierrangliste, um bessere Turnierpreise zu gewinnen!\",\"Posiciónate más alto en la clasificación del torneo para ganar mejores premios.\",\"Ottieni premi migliori conquistando posizioni più alte in classifica!\",\"Verover een hogere positie in het toernooiklassement om betere prijzen te krijgen!\",\"Få en høyere plassering på resultatlisten for å vinne bedre premier!\",\"Daha iyi ödüller kazanmak için turnuva liderlik tablosunda daha yüksek bir pozisyona gel!\",\"大会ランキングで上位に入れば、より大きな賞品をゲットできます！\",\"토너먼트 순위표에서 상위권을 차지하면 더 좋은 보상을 받습니다!\",\"Чем выше ты в списке лидеров, тем больше твой приз!\",\"حقق مركزًا متقدمًا على لوحة صدارة البطولة للحصول على جوائز أفضل!\",\"Fique em melhores colocações no ranking do torneio para ganhar prêmios ainda melhores!\",\"锦标赛中排名越靠前，赢得的奖励也越丰厚！\",\"聯賽中排名越高，贏得的獎勵也越豐厚！\",\"برای بردن جوایز بهتر در رده‌بندی مسابقه جایگاه بالاتری به دست بیار!\",\"Naikkan posisimu di papan peringkat turnamen untuk meraih hadiah yang lebih baik!\",\"Letakkan lebih tinggi pada papan peneraju pertandingan untuk mendapatkan hadiah yang lebih baik!\"\n\"TID_ARE_YOU_SURE_CREATE_TOURNAMENT\",\"Are you sure you want to create:\",\"Voulez-vous vraiment créer :\",\"Möchtest du das folgende Turnier wirklich erstellen?\",\"¿Seguro que quieres crear este torneo?\",\"Vuoi davvero creare:\",\"Weet je zeker dat je dit wilt organiseren?\",\"Er du sikker på at du vil opprette:\",\"Bunu oluşturmak istediğinden emin misin:\",\"大会を作成してもよろしいですか？\",\"정말로 해당 토너먼트를 생성하시겠습니까?\",\"Ты точно хочешь создать:\",\"هل تريد بالتأكيد إنشاء:\",\"Deseja mesmo criar:\",\"您确定要创建：\",\"您確定要創建：\",\"واقعاً مطمئنی که می‌خوای ایجاد کنی:\",\"Yakinkah kamu ingin membuat:\",\"Anda pasti ingin mencipta:\"\n\"TID_HINT_TOURNEY1\",\"Create and finish your first Custom Tournament to receive 100 gems for completing the achievement.\",\"Créez et terminez votre premier tournoi personnalisé et gagnez 100 gemmes pour le succès correspondant.\",\"Erstelle und schließe dein erstes benutzerdefiniertes Turnier ab, um 100 Juwelen für die Errungenschaft zu erhalten.\",\"Crea y termina tu primer torneo privado y recibirás 100 gemas por completar el logro.\",\"Crea e termina un torneo personalizzato, riceverai 100 gemme per aver raggiunto l'obiettivo.\",\"Organiseer je eerste aangepaste toernooi en voltooi het. Je krijgt 100 edelstenen voor het voltooien van de prestatie.\",\"Opprett og avslutt din første spesialturnering, så får du 100 juveler for å ha fullført utmerkelsen.\",\"Bu başarıyı tamamlayarak 100 taş kazanmak için ilk Özel Turnuvanı oluştur ve tamamla.\",\"初めてカスタム大会を作成して完了すると、達成項目をクリアして100エメラルドを獲得します。\",\"커스텀 토너먼트를 처음으로 생성하고 완료하면 도전 과제 완료 보상으로 보석 100개를 받을 수 있습니다.\",\"Создай и проведи свой первый турнир и получи 100 кристаллов за достижение.\",\"قم بإنشاء بطولتك المخصصة الأولى وإنهائها لتلقي 100 جوهرة مكافأةً على إكمال الإنجاز.\",\"Crie e conclua o seu primeiro torneio personalizado para ganhar 100 gemas por completar a conquista.\",\"创建并完成您的第一场自定义模式锦标赛，您将完成成就，并获得100颗宝石。\",\"創建並完成您的第一場自訂模式聯賽，您將完成成就，並獲得100顆寶石。\",\"اولین مسابقه سفارشی خودت رو ایجاد و تموم کن تا 100 جواهر به خاطر تکمیل دستاورد دریافت کنی.\",\"Buat dan selesaikan Turnamen Khusus pertamamu demi memperoleh 100 permata setelah menyelesaikan pencapaian.\",\"Cipta dan selesaikan Pertandingan Tersuai pertama anda untuk menerima 100 permata bagi melengkapkan pencapaian.\"\n\"TID_HINT_TOURNEY2\",\"Tournaments and Challenges unlock at level 8.\",\"Tournois et défis débloqués au niveau 8.\",\"Turniere und Herausforderungen werden ab Level 8 freigeschaltet.\",\"Los torneos y los desafíos se desbloquean en el nivel 8.\",\"I tornei e le sfide si sbloccano al livello 8.\",\"Toernooien en uitdagingen ontgrendelen op level 8.\",\"Turneringer og utfordringer låses opp på nivå 8.\",\"Turnuva ve Mücadelelerin kilidi 8. seviyede açılır.\",\"大会やチャレンジはレベル8からアンロックされます。\",\"토너먼트와 도전은 8레벨에서 잠금 해제됩니다.\",\"Турниры и испытания открываются на уровне 8.\",\"يتم فتح البطولات والتحديات عند المستوى 8.\",\"Os torneios e desafios são desbloqueados no nível 8.\",\"锦标赛和挑战模式在8级解锁。\",\"聯賽和挑戰模式在8級解鎖。\",\"قفل مسابقات و مبارزه‌طلبی‌ها در سطح 8 باز میشه.\",\"Turnamen dan Tantangan terbuka di level 8.\",\"Pertandingan dan Cabaran dibuka kunci pada tahap 8.\"\n\"TID_HINT_TOURNEY3\",\"Tournaments and Challenges are played using \\qTournament Rules\\q.\",\"Tournois et défis se déroulent selon le \\qrèglement des tournois\\q.\",\"Turniere und Herausforderungen werden nach \\qTurnierregeln\\q gespielt.\",\"Los torneos y desafíos se juegan con las \\qreglas del torneo\\q.\",\"I tornei e le sfide vengono giocati utilizzando le \\qregole da torneo\\q.\",\"Toernooien en uitdagingen worden volgens de 'toernooiregels' gespeeld.\",\"Turneringer og utfordringer spilles med \\qturneringsregler\\q.\",\"Turnuva ve Mücadeleler \\qTurnuva Kurallarına\\q göre oynanır.\",\"大会やチャレンジは、\\q大会ルール\\qに基づいて\\n対戦が行われます。\",\"토너먼트 및 도전은 \\q토너먼트 규칙\\q으로 진행됩니다.\",\"Во время турниров и испытаний используются \\qправила турнира\\q.\",\"يتم لعب البطولات والتحديات وفقًا \\qلقواعد البطولة\\q.\",\"Os torneios e desafios são jogados segundo as \\qRegras do Torneio\\q.\",\"锦标赛和挑战采用\\q锦标赛规则\\q。\",\"聯賽和挑戰採用\\q聯賽規則\\q。\",\"مسابقه‌ها و چالش‏ها با پیروی از \\qقوانین مسابقه\\q بازی میشن.\",\"Turnamen dan Tantangan dimainkan menggunakan \\qAturan Turnamen\\q.\",\"Pertandingan dan Cabaran dimainkan menggunakan \\qPeraturan Pertandingan\\q.\"\n\"TID_HINT_TOURNEY4\",\"You can play in one Custom Tournament and one Challenge at a time.\",\"Vous ne pouvez participer qu'à un tournoi personnalisé et un défi à la fois.\",\"Du kannst nicht an mehr als einem benutzerdefinierten Turnier und einer Herausforderung gleichzeitig teilnehmen.\",\"Puedes participar en un torneo privado y en un desafío a la vez.\",\"Puoi partecipare a un solo torneo personalizzato e a una sola sfida alla volta.\",\"Je kunt maar aan één aangepast toernooi en aan één uitdaging tegelijkertijd meedoen.\",\"Du kan spille i én spesialturnering og én utfordring om gangen.\",\"Aynı anda sadece bir Özel Turnuvada ve bir Mücadelede oynayabilirsin.\",\"同時にプレイできるのは、カスタム大会1つとチャレンジ1つまでです。\",\"커스텀 토너먼트와 도전 토너먼트는 한 번에 하나만 플레이할 수 있습니다.\",\"Одновременно ты можешь участвовать в одном частном турнире и одном испытании.\",\"يمكنك اللعب في بطولة مخصصة واحدة وتحد واحد في نفس الوقت.\",\"Você só pode participar de um torneio personalizado e um desafio por vez.\",\"您一次只能加入一场自定义模式锦标赛和一场挑战。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您一次只能加入一場自訂模式聯賽和一場挑戰。\",\"هر بار فقط می‌توانی در یک مسابقه و یک مبارزه‌طلبی سفارشی و مسابقه چالشی شرکت کنی.\",\"Kamu dapat bermain di satu Turnamen Khusus dan satu Tantangan sekaligus.\",\"Anda boleh bermain satu Pertandingan Tersuai dan satu Cabaran pada satu masa.\"\n\"TID_HINT_TOURNEY5\",\"Every win in a Challenge increases your prize!\",\"Dans un défi, chaque victoire améliore votre récompense !\",\"Jeder Sieg in einer Herausforderung steigert deinen Preis!\",\"El premio crece cada vez que ganas en un desafío.\",\"Ogni vittoria in una sfida aumenta il tuo premio!\",\"Elke overwinning in een uitdaging zorgt voor een grotere prijs!\",\"Hver seier i en utfordring gjør premien din større!\",\"Bir Mücadelede alacağın her galibiyet, ödülünü artırır!\",\"チャレンジでは、勝利数が多いほど\\n報酬がグレードアップします！\",\"도전에서 승리할 때마다 보상이 늘어납니다!\",\"Каждая победа в испытании увеличивает твою награду!\",\"يزيد كل فوز في تحد من جائزتك!\",\"Cada vitória em um desafio aumenta o seu prêmio!\",\"在挑战模式中，您每获得一场胜利，奖励都会有所增加。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在挑戰模式中，您每獲得一場勝利，獎勵都會有所增加。\",\"با هر پیروزی در یک مبارزه طلبی جایزه بیشتر میشه!\",\"Setiap kemenangan di Tantangan akan menambah hadiahmu!\",\"Setiap kemenangan dalam Cabaran akan meningkatkan hadiah anda!\"\n\"TID_HINT_TOURNEY6\",\"A Challenge ends at either 12 wins or 3 losses - whichever comes first.\",\"Un défi se termine au bout de 12 victoires ou 3 défaites, selon la première de ces deux éventualités.\",\"Eine Herausforderung endet nach 12 Siegen oder 3 Niederlagen - je nachdem, was zuerst eintritt.\",\"Un desafío termina tras 12 victorias o 3 derrotas, lo que ocurra primero.\",\"Una sfida termina al raggiungimento di 12 vittorie o 3 sconfitte, a seconda di quale dei due eventi si verifica prima.\",\"Een uitdaging eindigt na 12 overwinningen of na 3 nederlagen, afhankelijk van welke situatie zich het eerst voordoet.\",\"En utfordring avsluttes ved enten 12 seire eller 3 tap - avhengig av hva som kommer først.\",\"Bir Mücadele, hangisinin daha önce gerçekleştiğine bağlı olarak ya 12 galibiyet ya da 3 yenilgi ile sonlanır.\",\"チャレンジは、12勝または3敗すると終了します。\",\"도전은 12승을 하거나 3패를 하면 끝납니다.\",\"Испытание заканчивается после 12-ти побед или 3-х поражений. Тут уж как получится.\",\"ينتهي التحدي إما بتحقيق 12 انتصارًا أو 3 مرات خسارة؛ أيهما يأتي أولاً.\",\"Um desafio acaba com 12 vitórias ou 3 derrotas, o que vier primeiro.\",\"在挑战模式中，当您赢得12场对战或输掉3场对战时，挑战结束。\",\"在挑戰模式中，當您贏得12場對戰或輸掉3場對戰時，挑戰結束。\",\"یک مبارزه طلبی با 12 پیروزی یا 3 شکست به پایان میرسه - هر کدوم که اول اتفاق بیوفته.\",\"Tantangan berakhir setelah 12 kemenangan atau 3 kekalahan - mana yang lebih dulu.\",\"Cabaran tamat pada kemenangan ke-12 atau kekalahan ke-3 - mana-mana yang berlaku dahulu.\"\n\"TID_HINT_TOURNEY7\",\"In a Challenge, your opponents are selected based on your current wins in that Challenge.\",\"Pendant un défi, vos adversaires sont choisis en fonction de vos victoires dans ce défi.\",\"Bei einer Herausforderung werden deine Gegner auf Grundlage der aktuellen Anzahl deiner Siege bei der Herausforderung ausgesucht.\",\"En los desafíos se te asignarán rivales en función de tu número de victorias en dicho desafío.\",\"In una sfida, i tuoi avversari vengono selezionati in base al tuo attuale numero di vittorie in quella sfida.\",\"In een uitdaging worden je tegenstanders gekozen op basis van je huidige aantal overwinningen in de betreffende uitdaging.\",\"I en utfordring velges motstanderne dine basert på antallet seire du for øyeblikket har i den utfordringen.\",\"Bir Mücadelede rakiplerin, o Mücadeledeki mevcut galibiyet sayına göre belirlenir.\",\"チャレンジでは、現在のチャレンジにおける勝率に応じて対戦相手が選ばれます。\",\"도전에서는 해당 도전에서의 승수에 따라 상대방이 결정됩니다.\",\"Противники в испытании подбираются в зависимости от твоих в нем побед.\",\"في التحدي، يتم اختيار خصومك بناء على انتصاراتك الحالية في ذلك التحدي.\",\"Em um desafio, seus adversários são selecionados com base nas suas vitórias atuais naquele desafio.\",\"在挑战模式中，系统会根据您目前在本次挑战中的获胜场数为您匹配对手。\",\"在挑戰模式中，系統會根據您目前在本次挑戰中的獲勝場數為您配對對手。\",\"در یک مبارزه طلبی، حریفان براساس بردهای فعلی در اون چالش انتخاب میشن.\",\"Di Tantangan, lawanmu dipilih berdasarkan jumlah kemenanganmu yang terkini di Tantangan itu.\",\"Dalam Cabaran, pihak lawan anda dipilih berdasarkan kemenangan semasa anda dalam Cabaran tersebut.\"\n\"TID_HINT_TOURNEY8\",\"In a Custom Tournament, your opponents are selected based on your Tournament Trophy count.\",\"Pendant un tournoi personnalisé, vos adversaires sont choisis selon votre nombre de trophées.\",\"Bei einem benutzerdefinierten Turnier werden deine Gegner auf Grundlage deiner Turnier-Trophäenzahl ausgesucht.\",\"En los torneos privados se te asignarán rivales en función de tu número de trofeos de torneo.\",\"In un torneo personalizzato, i tuoi avversari vengono selezionati in base al conteggio dei tuoi trofei da torneo.\",\"In een aangepast toernooi worden je tegenstanders gekozen op basis van je aantal toernooitrofeeën.\",\"I spesialturneringer velges motstanderne dine basert på antallet turneringstrofeer du har.\",\"Bir Özel Turnuvada rakiplerin, Turnuva Kupa sayına göre belirlenir.\",\"カスタム大会では、自分の大会トロフィー数に応じて対戦相手が選ばれます。\",\"커스텀 토너먼트에서는 토너먼트 트로피 수에 따라 상대방이 결정됩니다.\",\"Противники в частном турнире подбираются в зависимости от твоего количества турнирных трофеев.\",\"في البطولة المخصصة، يتم اختيار خصومك بناء على حساب كؤوس البطولة.\",\"Em um torneio personalizado, seus adversários são selecionados com base nos seus troféus de torneio.\",\"自定义模式锦标赛会根据您的锦标赛奖杯数为您匹配对手。\",\"自訂模式聯賽會根據您的聯賽獎盃數為您配對對手。\",\"در یک مسابقه سفارشی، حریفان برساسا تعداد جام مسابقه انتخاب میشن.\",\"Di Turnamen Khusus, lawanmu dipilih berdasarkan jumlah Trofi Turnamenmu.\",\"Dalam Pertandingan Tersuai, pihak lawan anda dipilih berdasarkan kiraan Trofi Pertandingan anda.\"\n\"TID_HINT_TOURNEY9\",\"Spectate Custom Tournament games by tapping the \\qeye\\q icon on the tournament leaderboard.\",\"Regardez les combats du tournoi personnalisé en touchant l'icône en forme d'\\qœil\\q dans le classement.\",\"Tippe auf das \\qAuge\\q an der Turnierrangliste, um bei benutzerdefinierten Turnierspielen zuzuschauen.\",\"Toca el icono del \\qojo\\q que aparece en la clasificación del torneo y sigue las partidas del torneo privado.\",\"Assisti a partite da torneo personalizzato toccando l'icona \\qocchio\\q sulla classifica del torneo.\",\"Bekijk aangepaste toernooispellen door op het \\qoog\\q-pictogram in het toernooiklassement te tikken.\",\"Hvis du vil være tilskuer til spesialturneringskamper, trykker du på \\qøye\\q-ikonet på turneringens resultatliste.\",\"Turnuva liderlik tablosunda bulunan \\qgöz\\q simgesine dokunarak Özel Turnuva oyunlarını izle.\",\"大会ランキング上の\\q目\\qアイコンをタップすると、カスタム大会を観戦できます。\",\"커스텀 토너먼트 순위표에서 \\q눈\\q 아이콘을 눌러 토너먼트를 관전할 수 있습니다.\",\"Ты можешь наблюдать за ходом частного турнира, коснувшись иконки с \\qглазом\\q в списке лидеров турнира.\",\"شاهد مباريات البطولة المخصصة بالنقر على أيقونة \\qالعين\\q في لوحة صدارة البطولة.\",\"Veja batalhas do torneio personalizado ao tocar no ícone de \\qolho\\q no ranking do torneio.\",\"在锦标赛排行榜上点击\\q眼睛\\q图标即可观看自定义模式锦标赛对战。\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"在聯賽排行榜上點擊\\q眼睛\\q圖示即可觀看自訂模式聯賽對戰。\",\"با ضربه زدن روی نماد \\qچشم\\q روی جدول رده‌بندی مسابقه بازی‌های مسابقه سفارشی رو تماشا کن.\",\"Tonton permainan Turnamen Khusus dengan mengetuk ikon \\qmata\\q di papan peringkat turnamen.\",\"Tonton Permainan Pertandingan Tersuai dengan mengetik ikon \\qmata\\q pada papan peneraju pertandingan.\"\n\"TID_INPUT_PASSWORD\",\"Password\",\"Mot de passe\",\"Passwort\",\"Contraseña\",\"Password\",\"Wachtwoord\",\"Passord\",\"Şifre\",\"パスワード\",\"암호\",\"Пароль\",\"كلمة سر\",\"Senha\",\"密码\",\"密碼\",\"رمزعبور\",\"Kata Sandi\",\"Kata laluan\"\n\"TID_SETTINGS_QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\",\"QQ\"\n\"TID_SETTINGS_WECHAT\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"WeChat\",\"微信\",\"微信\",\"WeChat\",\"WeChat\",\"WeChat\"\n\"TID_LOGIN_GUEST\",\"Guest Login\",\"Connexion invité\",\"Als Gast anmelden\",\"Conectar como invitado\",\"Accesso come ospite\",\"Aanmelden als gast\",\"Logg på som gjest\",\"Misafir Girişi\",\"ゲストログイン\",\"게스트 로그인\",\"Войти как гость\",\"تسجيل الدخول للضيف\",\"Entrar como convidado\",\"游客登录\",\"遊客登入\",\"ورود مهمان\",\"Akses Tamu\",\"Log Masuk Tetamu\"\n\"TID_LOGIN_WECHAT\",\"WeChat Login\",\"Connexion WeChat\",\"Bei WeChat anmelden\",\"Conectar con WeChat\",\"Accesso WeChat\",\"Aanmelden bij WeChat\",\"Logg på WeChat\",\"WeChat Girişi\",\"WeChatログイン\",\"WeChat 로그인\",\"Логин WeChat\",\"تسجيل الدخول إلى WeChat\",\"Entrar com o WeChat\",\"微信登录\",\"微信登入\",\"ورود WeChat\",\"Masuk WeChat\",\"Log Masuk WeChat\"\n\"TID_LOGIN_QQ\",\"QQ Login\",\"Connexion QQ\",\"Bei QQ anmelden\",\"Conectar con QQ\",\"Accesso QQ\",\"Aanmelden bij QQ\",\"Logg på QQ\",\"QQ Girişi\",\"QQログイン\",\"QQ 로그인\",\"Логин QQ\",\"تسجيل الدخول إلى QQ\",\"Entrar com o QQ\",\"QQ登录\",\"QQ登入\",\"ورود QQ\",\"Masuk QQ\",\"Log Masuk QQ\"\n\"TID_LOGIN_ON_THIS_DEVICE\",\"On this Device\",\"Sur cet appareil\",\"Auf diesem Gerät\",\"En este dispositivo\",\"Su questo dispositivo\",\"Op dit apparaat\",\"På denne enheten\",\"Bu Cihazda\",\"このデバイス上\",\"이 기기에서\",\"На этом устройстве\",\"على هذا الجهاز\",\"Neste dispositivo\",\"在此设备\",\"在此裝置\",\"روی این دستگاه\",\"Di Perangkat ini\",\"Pada Peranti ini\"\n\"TID_LOGIN_IN_THE_CLOUD\",\"In the Cloud\",\"Dans le Cloud\",\"In der Cloud\",\"En la nube\",\"Su Cloud\",\"In de cloud\",\"I nettskyen\",\"Cloud'da\",\"クラウド上\",\"클라우드에서\",\"В облаке\",\"على الذاكرة السحابية\",\"Na nuvem\",\"在云端\",\"在雲端\",\"در فضای ابری\",\"Di Cloud\",\"Dalam Cloud\"\n\"TID_LOGIN_WHAT_IS_THIS\",\"What is this?\",\"Qu'est-ce que c'est ?\",\"Was ist das?\",\"¿Qué es esto?\",\"Cos'è questo?\",\"Wat is dit?\",\"Hva er dette?\",\"Bu nedir?\",\"これは何ですか？\",\"이건 무엇인가요?\",\"Что это?\",\"ما هذا؟\",\"O que é isso?\",\"这是什么？\",\"這是什麼？\",\"این چیه؟\",\"Apa ini?\",\"Apakah ini?\"\n\"TID_WECHAT_NOT_INSTALLED\",\"You haven't installed WeChat yet\",\"Vous n'avez pas encore installé WeChat.\",\"Du hast WeChat noch nicht installiert.\",\"WeChat no está instalado.\",\"Non hai ancora installato WeChat\",\"Je hebt WeChat nog niet geïnstalleerd\",\"Du har ikke installert WeChat ennå.\",\"WeChat'i daha kurmadın\",\"WeChatがインストールされていません\",\"아직 WeChat을 설치하지 않았습니다.\",\"Сначала нужно установить WeChat\",\"لم تقم بتثبيت WeChat بعد\",\"Você ainda não instalou o WeChat\",\"您的设备尚未安装微信！\",\"您的裝置尚未安裝微信！\",\"هنوز WeChat نصب نکردی\",\"WeChat belum dipasang\",\"Anda belum memasang WeChat\"\n\"TID_NO_BATTLES_TOOK_PLACE_IN\",\"Unfortunately, no battles took place in:\",\"Malheureusement, aucun combat n'a eu lieu dans :\",\"Leider gab es im folgenden Turnier keine Kämpfe:\",\"Lamentablemente, no ha habido batallas en\",\"Sfortunatamente, non si è svolta alcuna battaglia in:\",\"Er hebben helaas geen gevechten plaatsgevonden in:\",\"Dessverre ble det ikke spilt noen kamper i:\",\"Şu turnuvada ne yazık ki savaş gerçekleşmedi:\",\"残念ながら、以下ではバトルが行われませんでした\",\"아쉽게도 해당 토너먼트에서 발생한 전투가 없습니다.\",\"К сожалению, бои не проходили в:\",\"لسوء الحظ، لم تُقم أي معارك في:\",\"Infelizmente, não aconteceu nenhuma batalha em:\",\"很遗憾，本次锦标赛中没有玩家进行对战：\",\"很遺憾，本次聯賽中沒有玩家進行對戰：\",\"متأسفانه، اینجا هیچ نبردی اتفاق نیافتاده:\",\"Sayangnya, tidak ada pertempuran di:\",\"Malangnya, tiada pertempuran yang berlaku dalam:\"\n\"TID_YOU_ARE_REFUNDED\",\"You are refunded:\",\"Remboursement effectué :\",\"Deine Rückerstattung:\",\"Se te han reembolsado:\",\"Ti sono stati rimborsati:\",\"Je krijgt terug:\",\"Du har fått refusjon:\",\"Sana geri ödenen:\",\"払い戻し\",\"환불받은 보석:\",\"Вот возмещение:\",\"تمت إعادة الأموال إليك:\",\"Você foi reembolsado:\",\"向您退还宝石：\",\"向您退還寶石：\",\"هزینه‌ای که پرداختی برگشت:\",\"Danamu dikembalikan sebesar:\",\"Anda dibayar balik:\"\n\"TID_TOURNAMENT_REFUND\",\"Tournament Refund\",\"Remboursement du tournoi\",\"Turnier-Rückerstattung\",\"Reembolso por torneo\",\"Rimborso torneo\",\"Toernooirestitutie\",\"Turneringsrefusjon\",\"Turnuva Geri Ödemesi\",\"大会費用の払い戻し\",\"토너먼트 환불\",\"Возмещение за турнир\",\"إعادة أموال البطولة\",\"Reembolso do torneio\",\"锦标赛宝石退还\",\"聯賽寶石退還\",\"بازپرداخت هزینه مسابقه\",\"Pengembalian Dana Turnamen\",\"Bayaran Balik Pertandingan\"\n\"TID_TOURNAMENT_ENDED_AGO\",\"Ended <time> ago\",\"Terminé il y a <time>\",\"Vor <time> beendet\",\"Acabó hace <time>\",\"Terminato <time> fa\",\"<time> geleden afgelopen\",\"Ble avsluttet for <time> siden\",\"<time> önce bitti\",\"<time>前に終了\",\"<time> 전에 종료\",\"Закончился <time> назад\",\"انتهى منذ <time>\",\"Acabou há <time>\",\"<time>前结束\",\"<time>前結束\",\"<time> پیش تمام شد\",\"Berakhir <time> yang lalu\",\"Telah tamat <time> yang lalu\"\n\"TID_TOURNAMENT_ITEM_PLAYERS\",\"Players:\",\"Joueurs :\",\"Spieler:\",\"Jugadores:\",\"Giocatori:\",\"Spelers:\",\"Spillere:\",\"Oyuncular:\",\"プレイヤー数\",\"플레이어:\",\"Участники:\",\"اللاعبون:\",\"Jogadores:\",\"参赛人数：\",\"參賽人數：\",\"بازیکنان:\",\"Pemain:\",\"Pemain:\"\n\"TID_INVALID_PASSWORD\",\"INVALID PASSWORD!\",\"MOT DE PASSE NON VALIDE !\",\"UNGÜLTIGES PASSWORT!\",\"Contraseña incorrecta\",\"PASSWORD NON VALIDA!\",\"ONGELDIG WACHTWOORD!\",\"UGYLDIG PASSORD\",\"GEÇERSİZ ŞİFRE!\",\"無効なパスワードです！\",\"잘못된 암호!\",\"НЕВЕРНЫЙ ПАРОЛЬ!\",\"كلة سر غير صحيحة!\",\"SENHA INVÁLIDA!\",\"密码无效！\",\"密碼無效！\",\"رمزعبور نامعتبر!\",\"KATA SANDI TIDAK VALID!\",\"KATA LALUAN TIDAK SAH!\"\n\"TID_PLEASE_ENTER_PW_TO_JOIN\",\"Please type the correct password above and\\ntap the 'JOIN' button to enter.\",\"Entrez le mot de passe correct ci-dessus et\\ntouchez le bouton REJOINDRE pour participer.\",\"Bitte gib oben das richtige Passwort ein und\\ntippe auf \\qBEITRETEN\\q, um teilzunehmen.\",\"Escribe la contraseña correcta\\ny toca el botón Unirse para entrar.\",\"Digita la password corretta in alto e\\ntocca il pulsante 'UNISCITI' per accedere.\",\"Typ het juiste wachtwoord hierboven en\\ntik op de knop 'Aansluiten' om mee te doen.\",\"Skriv inn det riktige passordet over og\\ntrykk på BLI MED-knappen.\",\"Lütfen yukarıya doğru şifreyi gir ve\\ngirmek için \\qKATIL\\q düğmesine dokun.\",\"正しいパスワードを入力し\\n「参加」をタップしてください。\",\"올바른 암호를 입력한 뒤\\n'참가' 버튼을 누르세요.\",\"Пожалуйста, введи правильный пароль и\\nкоснись «ПРИСОЕДИНИТЬСЯ».\",\"من فضلك اكتب كلمة السر في الأعلى و\\nانقر على زر \\qالانضمام\\q للدخول.\",\"Digite a senha correta acima e\\ntoque no botão ENTRAR.\",\"请在上方输入正确的密码后\\n点击\\q加入\\q按钮来加入该锦标赛。\",\"請在上方輸入正確的密碼後\\n點擊\\q加入\\q按鈕來加入該聯賽。\",\"لطفاً رمزعبور درست رو در بالا تایپ کن و برای ورود\\nروی دکمه «پیوستن» ضربه بزن.\",\"Ketik kata sandi yang benar di atas, lalu\\nketuk tombol 'GABUNG' untuk masuk.\",\"Sila taipkan kata laluan yang betul di atas dan\\nketik butang 'SERTAI' untuk masuk.\"\n\"TID_THIS_TOURNAMENT_IS_PW_PROTECTED\",\"This tournament is password protected.\",\"Ce tournoi est protégé par mot de passe.\",\"Dieses Turnier ist passwortgeschützt.\",\"Este torneo está protegido por contraseña.\",\"Questo torneo è protetto da password.\",\"Voor dit toernooi is een wachtwoord vereist.\",\"Denne turneringen er passordbeskyttet.\",\"Bu turnuva, şifre ile korunuyor.\",\"この大会はパスワード保護されています。\",\"이 토너먼트는 암호로 보호되어 있습니다.\",\"Вход на турнир защищен паролем.\",\"هذه البطولة محمية بكلمة سر.\",\"O torneio está protegido por senha.\",\"该锦标赛设置了密码保护。\",\"該聯賽設定了密碼保護。\",\"این مسابقه با رمزعبور محافظت می‌شود.\",\"Turnamen ini dilindungi kata sandi.\",\"Pertandingan ini dilindungi dengan kata laluan.\"\n\"TID_TENCENT_AUTH_EXPIRED\",\"The authorization has expired, please login again.\",\"L'autorisation a expiré, veuillez vous reconnecter.\",\"Die Autorisierung ist abgelaufen. Bitte melde dich erneut an.\",\"La autorización ha caducado. Vuelve a iniciar sesión.\",\"L'autorizzazione è scaduta, effettua di nuovo l'accesso.\",\"De autorisatie is verlopen. Meld je opnieuw aan.\",\"Autorisasjonen er utløpt. Logg inn på nytt.\",\"Yetkinin süresi doldu, lütfen tekrar giriş yap.\",\"認証が期限切れになりました。ログインしなおしてください。\",\"인증이 만료되었습니다. 다시 로그인해 주세요.\",\"Закончилось время в сети. Пожалуйста, войдите снова.\",\"انتهت صلاحية التفويض، من فضلك قم بتسجيل الدخول ثانية.\",\"A autorização venceu. Faça login novamente.\",\"授权已过期，请重新登录。\",\"授權已過期，請重新登入。\",\"تأیید اعتبار منقضی شده، لطفاً دوباره وارد سیستم شو.\",\"Otorisasi sudah tidak berlaku, silakan masuk lagi.\",\"Kebenaran telah tamat tempoh, sila log masuk sekali lagi.\"\n\"TID_BATTLE_WITH_TOURNAMENT_RULES2\",\"Note: Tournament Rules apply.\",\"Remarque : le règlement des tournois est appliqué.\",\"Hinweis: Es gelten die Turnierregeln.\",\"Nota: Se aplican las reglas del torneo.\",\"Nota: si applicano le regole da torneo.\",\"Let op: de toernooiregels zijn van toepassing.\",\"Obs: Turneringsregler gjelder.\",\"Not: Turnuva Kuralları uygulanır.\",\"注意： 大会ルールが適用されます。\",\"주의: 토너먼트 규칙이 적용됩니다.\",\"Внимание: действуют Правила турнира.\",\"ملاحظة: تُطبّق قواعد البطولة.\",\"Atenção: eles seguem as Regras do Torneio.\",\"注意：对战采用锦标赛规则。\",\"注意：對戰採用聯賽規則。\",\"توجه: قوانین مسابقه حکم فرماست.\",\"Catatan: Aturan Turnamen berlaku.\",\"Nota: Mengikut Peraturan Pertandingan.\"\n\"TID_NEED_PLAYERS\",\"Battle button will activate when players join this tournament.\",\"Le bouton Combattre sera activé lorsque des joueurs auront rejoint ce tournoi.\",\"Die Kampfschaltfläche wird nach dem Beitritt von Spielern aktiviert.\",\"El botón de batalla se activará cuando los jugadores se unan al torneo.\",\"Il pulsante Battaglia si attiverà quando dei giocatori si uniranno al torneo.\",\"De gevechtsknop wordt actief, zodra er spelers meedoen aan het toernooi.\",\"Kamp-knappen aktiveres når spillere blir med i turneringen.\",\"Oyuncular bu turnuvaya katıldığında savaş düğmesi etkinleşecek.\",\"プレイヤーが大会に参加すると、「バトル」ボタンが有効になります。\",\"플레이어들이 토너먼트에 참가하면 전투 버튼이 활성화됩니다.\",\"Кнопка сражения будет доступна, когда игроки присоединятся к турниру.\",\"سيتم تفعيل زر المعركة عند انضمام اللاعب إلى هذه البطولة.\",\"O botão de batalha será ativado quando os jogadores entrarem no torneio.\",\"其他玩家加入锦标赛后将会出现\\q对战\\q按钮。\",\"在其他玩家加入聯賽後將會出現\\q對戰\\q按鈕。\",\"دکمه نبرد وقتی فعال میشه که بازیکنان به این مسابقه ملحق بشن.\",\"Tombol Tempur akan diaktifkan saat pemain bergabung di turnamen ini.\",\"Butang Pertempuran akan diaktifkan apabila pemain menyertai pertandingan ini.\"\n\"TID_TOURNEY_CANNOT_JOIN\",\"Tournament Chest unlocking!\",\"​Déblocage du coffre de tournoi !\",\"​Turniertruhe wird geöffnet!\",\"Desbloqueando cofre de torneo...\",\"Stai aprendo un baule da torneo!\",\"Toernooikist wordt ontgrendeld!\",\"Turneringskiste låses opp!\",\"Turnuva Sandığı kilidi açılıyor!\",\"賞品宝箱をアンロックしています！\",\"토너먼트 상자 여는 중!\",\"Открывается турнирный сундук!\",\"فتح صندوق البطولة!\",\"Baú de torneio sendo aberto!\",\"锦标赛宝箱正在解锁！\",\"聯賽寶箱正在解鎖！\",\"باز کردن قفل مسابقه!\",\"Peti Turnamen sedang dibuka!\",\"Peti Pertandingan dibuka kunci!\"\n\"TID_YOU_WILL_LOSE_PROGRESS_AND_PRIZE\",\"Note: Your progress and prize in this tournament will be lost.\",\"Remarque : votre progression et votre prix pour ce tournoi seront perdus.\",\"Achtung: Dein Fortschritt und dein Preis bei diesem Turnier gehen verloren.\",\"Nota: Perderás tu progreso y el premio de este torneo.\",\"Attenzione: i progressi e i premi in questo torneo andranno perduti.\",\"Let op: je voortgang en prijs voor dit toernooi gaan verloren.\",\"Obs! Fremdriften og premiene dine i denne turneringen vil gå tapt.\",\"Not: Bu turnuvadaki ilerlemen ve ödülün kaybolacak.\",\"注意： この大会における進行状況と賞品は失われます。\",\"주의: 해당 토너먼트 진행 상황과 상품을 잃게 됩니다.\",\"Внимание: твое продвижение и приз пропадут.\",\"ملحوظة: سيتم فقدان تقدمك وجائزتك في هذه البطولة.\",\"Atenção: Seu progresso e seus prêmios deste torneio serão perdidos.\",\"注意：您在本次锦标赛中的进程和奖励将会丢失。\",\"注意：您在本次聯賽中的進度和獎勵將會丟失。\",\"توجه: پیشرفت و جایزه تو در این مسابقه از دست خواهد رفت.\",\"Catatan: Kemajuan dan hadiahmu di turnamen ini akan hilang.\",\"Nota: Perkembangan dan hadiah anda dalam pertandingan ini akan hilang.\"\n\"TID_HINT_ARENA_PACK\",\"When you reach a new Arena, a special one time \\qArena Value Pack\\q will be available to purchase from the Shop.\",\"Lorsque vous atteindrez une nouvelle arène, un \\qpack éco d'arène\\q exclusif sera en vente dans le magasin.\",\"Wenn du eine neue Arena erreichst, ist ein besonderes und einmaliges \\qArenapaket\\q im Shop erhältlich.\",\"Cada vez que llegues a una arena nueva, podrás comprar un lote de arena especial y único en la tienda.\",\"Quando raggiungi una nuova arena, nel negozio sarà possibile acquistare un'unica volta uno speciale \\qpacchetto arena\\q molto conveniente.\",\"Als je een nieuwe arena bereikt, kun je in de winkel eenmalig een speciaal 'arenapakket' kopen.\",\"Når du har tatt deg til en ny arena, blir en spesiell \\qarena-verdipakke\\q tilgjengelig for kjøp i butikken. Dette tilbudet får du bare én gang.\",\"Yeni bir Arenaya ulaştığında özel ve tek seferlik bir \\qArena Fırsat Paketini\\q Dükkandan satın alabileceksin.\",\"アリーナレベルが上がった際に、ショップから\\qアリーナバリューパック\\qを1度だけ購入できます。\",\"새 아레나에 도달하면 상점에서 일회성 특별 \\q아레나 알뜰 팩\\q을 구매할 수 있습니다.\",\"Перейдя на новую арену ты сможешь купить особый \\qПакет арены\\q в магазине.\",\"عندما تصل إلى ساحة جديدة، ستتاح \\qحزمة قيمة ساحة\\q خاصة لمرة واحدة يمكنك شراؤها من المتجر.\",\"Sempre que você chegar a uma nova arena, um \\qPacote de Arena\\q especial estará disponível na loja, para uma compra única.\",\"每进入一个新的竞技场，商店会刷新出\\n一个\\q竞技场超值礼包\\q，该礼包只能购买一次。\",\"每進入一個新的競技場，商店會刷新出\\n一個\\q競技場超值特惠禮包\\q，該特惠禮包只能購買一次。\",\"وقتی به یک میدان نبرد جدید برسی، یک \\qبسته میدان نبرد\\q یک بار مصرف برای خرید در فروشگاه قرار می‌گیره.\",\"Saat kamu mencapai Arena baru, \\qPaket Hemat Arena\\q spesial satu kali bisa dibeli di Toko.\",\"Apabila anda mencapai Arena baharu, \\qPek Nilai Arena\\q istimewa akan disediakan sekali dan boleh dibeli dari Kedai.\"\n\"TID_HINT_FRIENDS_LIST1\",\"Challenge your friends to a Friendly Battle from the friends list!\",\"Défiez vos amis en leur proposant un combat amical via votre liste d'amis !\",\"Fordere deine Freunde aus der Freundesliste zu einem Testspiel heraus!\",\"¡Desafía a tus amigos a una batalla amistosa desde la lista de amigos!\",\"Sfida gli amici a un'amichevole dalla lista di amici!\",\"Daag je vrienden uit voor een vriendelijk gevecht via de vriendenlijst!\",\"Utfordre vennene dine til en vennskapskamp fra vennelisten!\",\"Arkadaş listenden arkadaşlarını bir Dostluk Savaşına davet et!\",\"フレンドバトルで、フレンドリストから\\n友達に挑戦しましょう！\",\"친구 목록에서 친선전을 요청해 보세요!\",\"Сразись с друзьями из списка в дружеском бою!\",\"تحد أصدقاءك في معركة ودية من قائمة الأصدقاء!\",\"Desafie seus amigos da lista para uma batalha amistosa!\",\"向好友列表中的朋友发出友谊战邀请，一决高下！\",\"向好友列表中的朋友發出友誼戰邀請，一決高下！\",\"با نبرد دوستانه از کسایی که فهرست دوستان قرار دارن رو به مبارزه دعوت کن!\",\"Tantang temanmu ke Pertempuran Persahabatan dari daftar teman!\",\"Cabar rakan anda ke Pertempuran Persahabatan daripada senarai rakan!\"\n\"TID_HINT_FRIENDS_LIST2\",\"You can see when friends are online and spectate their battles from the friends list.\",\"Vous pouvez voir quand vos amis sont en ligne et assister à leurs combats via votre liste d'amis.\",\"Du siehst, wenn Freunde online sind, und kannst dir ihre Kämpfe über die Freundesliste anschauen.\",\"En la lista de amigos puedes ver cuándo se conectan tus amigos y seguir sus batallas.\",\"Puoi vedere quando i tuoi amici sono online e assistere alle loro battaglie dalla lista di amici.\",\"Je kunt zien wanneer vrienden online zijn en hun gevechten volgen als toeschouwer via de vriendenlijst.\",\"Du kan se når venner er pålogget, og være tilskuer til kampene deres fra vennelisten.\",\"Arkadaş listenden, çevrimiçi arkadaşlarını görebilir ve onların savaşlarını izleyebilirsin.\",\"フレンドリストから、友達のオンライン状態を確認できるほか、彼らの戦いも観戦できます。\",\"친구 목록에서 친구의 온라인 상태 여부를 확인하고 친구의 경기를 관전할 수 있습니다.\",\"Ты можешь видеть, когда друзья в сети, и наблюдать за их сражениями из списка друзей.\",\"يمكنك أن ترى الأصدقاء عندما يكونون متصلين ومشاهدة معاركهم من قائمة الأصدقاء.\",\"Você pode ver quando seus amigos estão on-line e assistir às suas batalhas a partir da lista de amigos.\",\"您可以通过好友列表查看好友是否在线，还可观看他们的对战。\",\"您可以透過好友列表查看好友是否在線，還可觀看他們的對戰。\",\"می‌تونی ببینی دوستانت چه موقع آنلاین هستن و از فهرست دوستان نبردهاشون رو مشاهده کنی.\",\"Kamu dapat melihat teman yang online dan menonton pertempuran mereka dari daftar teman.\",\"Anda boleh nampak bila rakan anda berada dalam talian dan menonton pertempuran mereka daripada senarai rakan.\"\n\"TID_TOURNAMENT_PASSWORD\",\"Tournament Password\",\"Mot de passe du tournoi\",\"Turnierpasswort\",\"Contraseña del torneo\",\"Password del torneo\",\"Toernooiwachtwoord\",\"Passord for turnering\",\"Turnuva Şifresi\",\"大会パスワード\",\"토너먼트 암호\",\"Пароль турнира\",\"كلمة سر البطولة\",\"Senha do torneio\",\"锦标赛密码\",\"聯賽密碼\",\"رمزعبور مسابقه\",\"Kata Sandi Turnamen\",\"Kata Laluan Pertandingan\"\n\"TID_TOURNAMENT_REWARDS_TOOLTIP\",\"Rewards:\\n1st: x<REWARD1> cards\\n2nd: x<REWARD2> cards\\n3rd: x<REWARD3> cards\\n\\n(Top <REWARD4> players will receive a prize based on their leaderboard position)\",\"Récompenses :\\n1er : x<REWARD1> cartes\\n2e : x<REWARD2> cartes\\n3e : x<REWARD3> cartes\\n\\n(Un prix sera attribué aux <REWARD4> meilleurs joueurs selon leur position au classement.)\",\"Belohnung:\\n1.: x<REWARD1> Karten\\n2.: x<REWARD2> Karten\\n3.: x<REWARD3> Karten\\n\\n(Die besten <REWARD4> Spieler erhalten einen Preis je nach ihrer Ranglistenplatzierung.)\",\"Recompensas:\\n1.º: <REWARD1> cartas\\n2.º: <REWARD2> cartas\\n3.º: <REWARD3> cartas\\n\\n(Los <REWARD4> mejores jugadores recibirán un premio según su puesto en la clasificación).\",\"Ricompense:\\nPrimo posto: <REWARD1> carte\\nSecondo posto: <REWARD2> carte\\nTerzo posto: <REWARD3> carte\\n\\n(I migliori <REWARD4> giocatori riceveranno un premio in base alla loro posizione in classifica)\",\"Beloningen:\\n1e: <REWARD1>x kaarten\\n2e: <REWARD2>x kaarten\\n3e: <REWARD3>x kaarten\\n\\n(De beste <REWARD4> spelers krijgen een prijs op basis van hun positie in het klassement)\",\"Belønninger:\\n1.: <REWARD1> kort\\n2.: <REWARD2> kort\\n3.: <REWARD3> kort\\n\\n(De <REWARD4> beste spillerne mottar en premie basert på plasseringen deres på resultatlisten.)\",\"Ödüller:\\n1.: x<REWARD1> kart\\n2.: x<REWARD2> kart\\n3.: x<REWARD3> kart\\n\\n(En iyi <REWARD4> oyuncu liderlik tablosu konumuna göre bir ödül alacak)\",\"報酬：\\n1位： カード<REWARD1>枚\\n2位： カード<REWARD2>枚\\n3位： カード<REWARD3>枚\\n\\n（上位<REWARD4>名のプレイヤーは、ランキング順位に応じた報酬を獲得します）\",\"보상:\\n1위: 카드 <REWARD1>장\\n2위: 카드 <REWARD2>장\\n3위: 카드 <REWARD3>장\\n\\n(상위 플레이어 <REWARD4>명은 순위표 순위에 따라 보상을 받습니다.)\",\"Награды:\\n1: <REWARD1> шт. карт\\n2: <REWARD2> шт. карт\\n3: <REWARD3> шт. карт\\n\\nИгроки (<REWARD4>) с верхушки таблицы получат награду в зависимости от своего места в списке.\",\"الجوائز:\\nالمركز الأول: x<REWARD1> من البطاقات\\nالمركز الثاني: x<REWARD2> من البطاقات\\nالمركز الثالث: x<REWARD3> من البطاقات\\n\\n(سيتلقى أول <REWARD4> لاعبين جائزة بناءً على مركزهم في لوحة صدارة اللاعبين)\",\"Recompensas:\\n1º: <REWARD1>x cartas\\n2º: <REWARD2>x cartas\\n3º: <REWARD3>x cartas\\n\\n(Os <REWARD4> melhores jogadores receberão um prêmio de acordo com sua posição no ranking).\",\"奖励:\\n第一名：x<REWARD1>张卡牌\\n第二名：x<REWARD2>张卡牌\\n第三名：x<REWARD3>张卡牌\\n\\n（其他排名前<REWARD4>的玩家将根据其具体排名获得相应奖励。）\",\"獎勵:\\n第一名：x<REWARD1>張卡牌\\n第二名：x<REWARD2>張卡牌\\n第三名：x<REWARD3>張卡牌\\n\\n（其他排名前<REWARD4>的玩家將根據其具體排名獲得對應獎勵。）\",\"جوایز:\\nاول: <REWARD1> عدد کارت\\nدوم: <REWARD2> عدد کارت\\nسوم: <REWARD3> عدد کارت\\n\\n(<REWARD4> بازیکن اول با توجه به موقعیتی که در جدول رده‌بندی دارن جایزه می‌گیرن)\",\"Hadiah:\\nJuara 1: x<REWARD1> kartu\\nJuara 2: x<REWARD2> kartu\\nJuara 3: x<REWARD3> kartu\\n\\n(<REWARD4> pemain teratas akan memperoleh hadiah berdasarkan posisi papan peringkat mereka)\",\"Ganjaran:\\nPertama: x<REWARD1> kad\\nke-2: x<REWARD2> kad\\nke-3: x<REWARD3> kad\\n\\n(Pemain <REWARD4> teratas akan menerima hadiah berdasarkan pada kedudukan papan peneraju mereka)\"\n\"TID_HINT_MUTE\",\"You can mute your opponent during each battle from the emote button.\",\"Vous pouvez masquer les réactions de votre adversaire pendant chaque combat à l'aide du bouton des émoticônes.\",\"Du kannst deinen Gegner während eines Kampfes über die Emote-Schaltfläche stumm schalten.\",\"Puedes silenciar al rival en cada batalla tocando el botón de reacción.\",\"Puoi zittire l'avversario durante le battaglie dal pulsante delle provocazioni.\",\"Je kunt er tijdens elk gevecht voor kiezen om de emotes die je tegenstander gebruikt uit te schakelen.\",\"Du kan bruke uttrykksikonknappen til å dempe motstanderen din under hver kamp.\",\"Duygu düğmesini kullanarak her maçta rakibini susturabilirsin.\",\"スタンプボタンから、バトルごとに相手をミュートできるようになりました。\",\"이모티콘 버튼을 사용해 전투 중에 상대방의 이모티콘을 보지 않을 수 있습니다.\",\"С помощью кнопки эмодзи ты можешь заглушить противника в бою.\",\"يمكنك كتم الصوت لخصومك أثناء المعركة من زر الأشكال التعبيرية.\",\"Você pode silenciar seu adversário em cada batalha a partir do botão de emote.\",\"在对战中您可以点击表情屏蔽按钮来屏蔽对手发送的表情。\",\"您可以在對戰中點擊表情隱藏按鈕來隱藏對手發送的表情。\",\"در طول هر نبرد می‌تونی صدای حریفت رو با دکمه ابراز احساسات ببندی.\",\"Kamu bisa membisukan lawan selama tiap pertempuran dari tombol emote.\",\"Anda boleh membisukan pihak lawan anda sewaktu setiap pertempuran daripada butang emote.\"\n\"TID_TOURNAMENT_STATS\",\"Tournament Stats\",\"Stats du tournoi\",\"Turnierstatistik\",\"Estadísticas de torneo\",\"Statistiche del torneo\",\"Toernooistatistieken\",\"Turneringsstatistikk\",\"Turnuva İstatistikleri\",\"大会データ\",\"토너먼트 통계\",\"Статистика турнира\",\"إحصاءات البطولة\",\"Estatísticas do torneio\",\"自定义模式锦标赛数据\",\"自訂模式聯賽數據\",\"آمار مسابقه\",\"Statistik Turnamen\",\"Statistik Pertandingan\"\n\"TID_TOURNAMENT_MATCHES_PLAYED\",\"Matches Played\",\"Parties jouées\",\"Gespielte Kämpfe\",\"Partidas jugadas\",\"Scontri giocati\",\"Gespeelde wedstrijden\",\"Kamper spilt\",\"Oynanan Maçlar\",\"プレイしたマッチ\",\"매치 수\",\"Сыграно боев\",\"المباريات التي تم لعبها\",\"Partidas jogadas\",\"对战次数\",\"對戰次數\",\"بازی‌های انجام‌شده\",\"Pertandingan Dimainkan\",\"Perlawanan Dimainkan\"\n\"TID_TOURNAMENT_CARDS_WON\",\"Cards Won\",\"Cartes gagnées\",\"Gewonnene Karten\",\"Cartas ganadas\",\"Carte vinte\",\"Gewonnen kaarten\",\"Kort vunnet\",\"Kazanılan Kartlar\",\"獲得したカード\",\"획득한 카드\",\"Выиграно карт\",\"البطاقات التي تم الفوز بها\",\"Cartas ganhas\",\"赢得卡牌数\",\"贏得卡牌數\",\"کارت‌های برنده‌شد\",\"Kartu Dimenangkan\",\"Kad Dimenangi\"\n\"TID_CHALLENGE_STATS\",\"Challenge Stats\",\"Stats du défi\",\"Herausforderungsstatistik\",\"Estadísticas de desafío\",\"Statistiche sfida\",\"Uitdagingsstatistieken\",\"Utfordringsstatistikk\",\"Mücadele İstatistikleri\",\"チャレンジデータ\",\"도전 통계\",\"Статистика испытания\",\"إحصاءات التحدي\",\"Estatísticas de desafios\",\"挑战模式数据\",\"挑戰模式數據\",\"آمار چالش\",\"Statistik Tantangan\",\"Statistik Cabaran\"\n\"TID_MAX_CHALLENGE_WINS\",\"Max Wins\",\"Max. de victoires\",\"Max. Siege\",\"Victorias máx.\",\"Record vittorie\",\"Max. overwinningen\",\"Maks antall seire\",\"Maks. Galibiyet\",\"最大勝利数\",\"최대 승리 수\",\"Максимум побед\",\"الحد الأقصى من الانتصارات\",\"Máx. de vitórias\",\"最多胜场\",\"最多勝場\",\"حداکثر پیروزی‌ها\",\"Kemenangan Maks\",\"Kemenangan Maks\"\n\"TID_CHALLENGE_CARDS_WON\",\"Cards Won\",\"Cartes gagnées\",\"Gewonnene Karten\",\"Cartas ganadas\",\"Carte vinte\",\"Gewonnen kaarten\",\"Kort vunnet\",\"Kazanılan Kartlar\",\"獲得したカード\",\"획득한 카드\",\"Выиграно карт\",\"البطاقات التي تم الفوز بها\",\"Cartas ganhas\",\"赢得卡牌数\",\"贏得卡牌數\",\"کارت‌های برنده شده\",\"Kartu Dimenangkan\",\"Kad Dimenangi\"\n\"TID_TOURNAMENT_ITEM_FULL\",\"(full)\",\"(plein)\",\"(voll)\",\"(lleno)\",\"(completo)\",\"(vol)\",\"(fullt)\",\"(dolu)\",\"（一杯）\",\"(가득 참)\",\"(все)\",\"(ممتلئ)\",\"(cheio)\",\"（已满）\",\"（已滿）\",\"(پر)\",\"(penuh)\",\"(Penuh)\"\n\"TID_TOURNAMENT_SCROLL_TOP\",\"Top\",\"En tête\",\"Nach oben\",\"Mejores\",\"In cima\",\"Top\",\"Topp\",\"En Yüksek\",\"トップ\",\"최상위\",\"Топ\",\"أعلى\",\"Topo\",\"顶端\",\"頂端\",\"برتر\",\"Teratas\",\"Utama\"\n\"TID_TOURNAMENT_SCROLL_YOU\",\"You\",\"Vous\",\"Du\",\"Tú\",\"Tu\",\"Jij\",\"Du\",\"Sen\",\"あなた\",\"나\",\"Ты\",\"أنت\",\"Você\",\"您\",\"您\",\"تو\",\"Kamu\",\"Anda\"\n\"TID_FRIEND_ONLINE\",\"Friend online\",\"Ami en ligne\",\"Freund online\",\"Amigo conectado\",\"Amico online\",\"Vriend online\",\"Venn pålogget\",\"Arkadaş çevrimiçi\",\"オンライン\",\"온라인 친구\",\"Друг в сети\",\"صديق متصل\",\"Amigo on-line\",\"好友在线\",\"好友在線\",\"دوست آنلاین\",\"Teman online\",\"Rakan dalam talian\"\n\"TID_FRIEND_BUSY\",\"Friend busy\",\"Ami occupé\",\"Freund beschäftigt\",\"Amigo ocupado\",\"Amico occupato\",\"Vriend bezig\",\"Venn opptatt\",\"Arkadaş meşgul\",\"取り込み中\",\"바쁜 친구\",\"Друг занят\",\"صديق مشغول\",\"Amigo ocupado\",\"好友忙碌\",\"好友忙碌\",\"دوست مشغول\",\"Teman sibuk\",\"Rakan sibuk\"\n\"TID_FRIEND_OFFLINE\",\"Friend offline\",\"Ami hors ligne\",\"Freund offline\",\"Amigo desconectado\",\"Amico offline\",\"Vriend offline\",\"Venn frakoblet\",\"Arkadaş çevrimdışı\",\"オフライン\",\"오프라인 친구\",\"Друг не в сети\",\"صديق غير متصل\",\"Amigo off-line\",\"好友离线\",\"好友離線\",\"دوست آفلاین\",\"Teman offline\",\"Rakan luar talian\"\n\"TID_REQUEST_A_FRIENDLY_BATTLE_TEXT\",\"Request a battle with <PLAYER_NAME>\",\"Inviter <PLAYER_NAME> à vous affronter\",\"<PLAYER_NAME> um Kampf bitten\",\"Solicita una batalla a <PLAYER_NAME>.\",\"Richiedi una battaglia con <PLAYER_NAME>\",\"<PLAYER_NAME> uitnodigen voor een gevecht\",\"Be om en kamp mot <PLAYER_NAME>\",\"<PLAYER_NAME> adlı oyuncuya savaş isteğinde bulun\",\"<PLAYER_NAME>とのバトルを要求する\",\"<PLAYER_NAME> 님에게 전투를 요청합니다.\",\"Предложить бой с игроком <PLAYER_NAME>\",\"طلب معركة مع <PLAYER_NAME>\",\"Solicitar batalha com <PLAYER_NAME>.\",\"向<PLAYER_NAME>发送友谊战邀请\",\"向<PLAYER_NAME>發送友誼戰邀請\",\"درخواست یک نبرد با <PLAYER_NAME>\",\"Minta bertempur dengan <PLAYER_NAME>\",\"Minta pertempuran dengan <PLAYER_NAME>\"\n\"TID_FRIENDLY_BATTLE_WAITING_FOR_PLAYER\",\"Waiting for <PLAYER_NAME>\",\"En attente de <PLAYER_NAME>\",\"Warten auf <PLAYER_NAME> ...\",\"Esperando a <PLAYER_NAME>...\",\"Attendi <PLAYER_NAME>\",\"Wachten op <PLAYER_NAME>\",\"Venter på <PLAYER_NAME>\",\"<PLAYER_NAME> bekleniyor\",\"<PLAYER_NAME>を待っています\",\"<PLAYER_NAME> 님을 기다리는 중입니다.\",\"Ждем игрока: <PLAYER_NAME>\",\"في انتظار <PLAYER_NAME>\",\"Esperando por <PLAYER_NAME>.\",\"等待<PLAYER_NAME>回应\",\"等待<PLAYER_NAME>回應\",\"در انتظار <PLAYER_NAME>\",\"Menunggu <PLAYER_NAME>\",\"Menunggu <PLAYER_NAME>\"\n\"TID_FRIENDLY_CHALLENGE_DECLINED\",\"Friendly Battle was declined.\",\"Combat amical refusé.\",\"Testspiel wurde abgelehnt.\",\"La batalla amistosa ha sido rechazada.\",\"L'amichevole è stata rifiutata.\",\"Vriendelijk gevecht werd afgewezen.\",\"Tilbudet om en vennskapskamp ble avslått.\",\"Dostluk Savaşı, kabul edilmedi.\",\"フレンドバトルが拒否されました。\",\"친선전이 거절되었습니다.\",\"В дружеском бою отказано.\",\"تم رفض المعركة الودية.\",\"Batalha amistosa recusada.\",\"友谊战邀请被拒绝。\",\"友誼戰邀請被拒絕。\",\"نبرد دوستانه رد شد.\",\"Pertempuran Persahabatan ditolak.\",\"Pertempuran Persahabatan ditolak.\"\n\"TID_FRIENDLY_CHALLENGE_CANCELED\",\"Friendly Battle was canceled.\",\"Combat amical annulé.\",\"Testspiel wurde abgebrochen.\",\"La batalla amistosa ha sido cancelada.\",\"L'amichevole è stata annullata.\",\"Vriendelijk gevecht werd geannuleerd.\",\"Vennskapskampen ble avlyst.\",\"Dostluk Savaşı, iptal edildi.\",\"フレンドバトルはキャンセルされました。\",\"친선전이 취소되었습니다.\",\"Дружеский бой отменен.\",\"تم إلغاء المعركة الودية.\",\"Batalha amistosa cancelada.\",\"友谊战邀请已取消。\",\"友誼戰邀請已取消。\",\"نبرد دوستانه لغو شد.\",\"Pertempuran Persahabatan dibatalkan.\",\"Pertempuran Persahabatan dibatalkan.\"\n\"TID_FRIENDLY_BATTLE_NOTIFICATION\",\"<PLAYER_NAME> challenged you to a Friendly Battle!\",\"<PLAYER_NAME> vous défie de l'affronter en combat amical !\",\"<PLAYER_NAME> hat dich zu einem Testspiel herausgefordert!\",\"¡<PLAYER_NAME> te ha desafiado a una batalla amistosa!\",\"<PLAYER_NAME> ti ha sfidato a un'amichevole!\",\"<PLAYER_NAME> heeft je uitgedaagd voor een vriendelijk gevecht!\",\"<PLAYER_NAME> har utfordret deg til en vennskapskamp!\",\"<PLAYER_NAME>, seni bir Dostluk Savaşına davet etti!\",\"<PLAYER_NAME>からフレンドバトルの挑戦を受けました！\",\"<PLAYER_NAME> 님이 친선전을 요청했습니다.\",\"Игрок <PLAYER_NAME> вызывает тебя на дружеский бой!\",\"<PLAYER_NAME> تحداك في معركة ودية!\",\"<PLAYER_NAME> te desafiou para uma batalha amistosa!\",\"<PLAYER_NAME>向您发起了友谊战！\",\"<PLAYER_NAME>向您發起了友誼戰！\",\"<PLAYER_NAME> تو رو به یک نبرد دوستانه دعوت کرد!\",\"<PLAYER_NAME> menantangmu ke Pertempuran Persahabatan!\",\"<PLAYER_NAME> telah mencabar anda ke Pertempuran Persahabatan!\"\n\"TID_FRIENDLY_CHALLENGE_FAILED_PENDING\",\"Player already has a challenge pending.\",\"Ce joueur a déjà un défi en attente.\",\"Der Spieler hat eine ausstehende Herausforderung.\",\"El jugador ya tiene un desafío pendiente.\",\"Il giocatore ha già una sfida in sospeso.\",\"Deze speler heeft al een uitdaging in de wacht staan.\",\"Spilleren har allerede en utfordring på vent.\",\"Oyuncunun zaten bekleyen bir mücadelesi var.\",\"すでに保留中の挑戦が残っています。\",\"플레이어가 이미 도전을 받고 있습니다.\",\"Игрок уже ждет испытания.\",\"لدى اللاعب تحدي قيد الانتظار بالفعل.\",\"Jogador já tem um desafio pendente.\",\"该玩家已有一个待处理的友谊战邀请。\",\"該玩家已有一個待處理的友誼戰邀請。\",\"بازیکن از قبل یک چالش بدون پاسخ داره.\",\"Pemain memiliki tantangan yang belum dijawab.\",\"Pemain sudah mempunyai cabaran belum selesai.\"\n\"TID_PUBLIC_TOURNAMENT_CAPACITY\",\"<value> Players\",\"<value> joueurs\",\"<value> Spieler\",\"<value> jugadores\",\"<value> giocatori\",\"<value> spelers\",\"<value> spillere\",\"<value> Oyuncular\",\"<value>人のプレイヤー\",\"플레이어 <value>명\",\"Игроки: <value>\",\"<value> من اللاعبين\",\"<value> jogadores\",\"<value>位玩家\",\"<value>位玩家\",\"<value> بازیکنان\",\"<value> Pemain\",\"<value> Pemain\"\n\"TID_PUBLIC_TOURNAMENT_BRONZE\",\"Classic Challenge\",\"Défi classique\",\"Klassische Herausforderung\",\"Desafío clásico\",\"Sfida classica\",\"Klassieke uitdaging\",\"Klassisk utfordring\",\"Klasik Mücadele\",\"クラシックチャレンジ\",\"클래식 도전\",\"Классическое испытание\",\"تحدي تقليدي\",\"Desafio clássico\",\"经典挑战\",\"經典挑戰\",\"چالش کلاسیک\",\"Tantangan Klasik\",\"Cabaran Klasik\"\n\"TID_PUBLIC_TOURNAMENT_GOLD\",\"Grand Challenge\",\"Super défi\",\"Große Herausforderung\",\"Gran desafío\",\"Sfida grandiosa\",\"Nobele uitdaging\",\"Stor utfordring\",\"Büyük Mücadele\",\"グランドチャレンジ\",\"그랜드 도전\",\"Большое испытание\",\"تحدي كبير\",\"Grande Desafio\",\"终极挑战\",\"終極挑戰\",\"چالش اعظم\",\"Tantangan Akbar\",\"Cabaran Besar\"\n\"TID_PUBLIC_TOURNAMENT_JOINING\",\"Joining\",\"Accès\",\"Beitritt ...\",\"Uniéndote\",\"Accesso\",\"Meedoen...\",\"Blir med\",\"Katılıyor\",\"参加中\",\"참가 중\",\"Присоединяемся...\",\"جار الانضمام\",\"Entrando\",\"正在加入\",\"正在加入\",\"ملحق شدن\",\"Sedang bergabung\",\"Menyertai\"\n\"TID_SHOP_SECRET_LEGENDARY\",\"???\",\"???\",\"???\",\"¿?\",\"???\",\"???\",\"???\",\"???\",\"？？？\",\"???\",\"???\",\"؟؟؟\",\"???\",\"???\",\"???\",\"؟؟؟\",\"???\",\"???\"\n\"TID_SHOP_SECRET_EPIC\",\"???\",\"???\",\"???\",\"¿?\",\"???\",\"???\",\"???\",\"???\",\"？？？\",\"???\",\"???\",\"؟؟؟\",\"???\",\"???\",\"???\",\"؟؟؟\",\"???\",\"???\"\n\"TID_NEW_CARD_AVAILABLE\",\"New card available!\",\"Nouvelle carte disponible !\",\"Neue Karte verfügbar!\",\"¡Nueva carta disponible!\",\"Nuova carta disponibile!\",\"Er is een nieuwe kaart beschikbaar!\",\"Nytt kort tilgjengelig!\",\"Yeni kart çıktı!\",\"新カードが登場！\",\"새 카드 이용 가능!\",\"Доступна новая карта!\",\"بطاقة جديدة متاحة!\",\"Nova carta disponível!\",\"有新卡牌了！\",\"有新卡牌了！\",\"کارت‌های جدید در دسترس هستند!\",\"Kartu baru kini tersedia!\",\"Kad baharu disediakan!\"\n\"TID_SHARE_FRIENDLY_CHALLENGE_WECHAT\",\"Call on your WeChat friends for a Friendly Battle. Send them a message now.\",\"Invite tes amis WeChat à t'affronter en combat amical. Envoie-leur un message maintenant.\",\"Fordere deine WeChat-Freunde zu einem Testspiel heraus. Schicke ihnen gleich eine Nachricht.\",\"Desafía a tus amigos de WeChat a una batalla amistosa. Envíales un mensaje ya.\",\"Invita i tuoi amici di WeChat a disputare un'amichevole. Mandagli subito un messaggio.\",\"Nodig je WeChat-vrienden uit voor een vriendelijk gevecht. Stuur ze nu een bericht.\",\"Inviter vennene dine på WeChat til en vennskapskamp. Send dem en melding nå.\",\"Bir Dostluk Savaşı için WeChat arkadaşlarını ara. Hemen onlara bir mesaj gönder.\",\"WeChatのお友達を、フレンドバトルに誘いましょう。メッセージを送りましょう。\",\"WeChat 친구들에게 메시지를 보내 친선전을 신청해 보세요.\",\"Вызови своих друзей из WeChat на дружеский бой. Отправь сообщение прямо сейчас.\",\"اطلب من أصدقائك على WeChat خوض معركة ودية. أرسل لهم رسالة الآن.\",\"Chame seus amigos do WeChat para uma batalha amistosa. Mande uma mensagem agora!\",\"邀请您的微信好友进行一场友谊战。立即给他们发送信息。\",\"邀請您的微信好友進行一場友誼戰。立即給他們發送訊息。\",\"برای یک نبرد دوستانه با دوست‌هاتون روی WeChat تماس بگیرین. همین الان براشون پیام بفرستین.\",\"Panggil teman WeChat untuk Pertempuran Persahabatan. Kirimi mereka pesan sekarang.\",\"Hubungi rakan WeChat anda untuk Pertempuran Persahabatan. Hantar mesej kepada mereka sekarang.\"\n\"TID_SHARE_FRIENDLY_CHALLENGE_QQ\",\"Call on your QQ friends for a Friendly Battle. Send them a message now.\",\"Invite tes amis QQ à t'affronter en combat amical. Envoie-leur un message maintenant.\",\"Fordere deine QQ-Freunde zu einem Testspiel heraus. Schicke ihnen gleich eine Nachricht.\",\"Desafía a tus amigos de QQ a una batalla amistosa. Envíales un mensaje ya.\",\"Invita i tuoi amici di QQ a disputare un'amichevole. Mandagli subito un messaggio.\",\"Nodig je QQ-vrienden uit voor een vriendelijk gevecht. Stuur ze nu een bericht.\",\"Inviter vennene dine på QQ til en vennskapskamp. Send dem en melding nå.\",\"Bir Dostluk Savaşı için QQ arkadaşlarını ara. Hemen onlara bir mesaj gönder.\",\"QQのお友達を、フレンドバトルに誘いましょう。メッセージを送りましょう。\",\"QQ 친구들에게 메시지를 보내 친선전을 신청해 보세요.\",\"Вызови своих друзей из QQ на дружеский бой. Отправь сообщение прямо сейчас.\",\"اطلب من أصدقائك على QQ خوض معركة ودية. أرسل لهم رسالة الآن.\",\"Chame seus amigos do QQ para uma batalha amistosa. Mande uma mensagem agora!\",\"邀请您的QQ好友进行一场友谊战。立即给他们发送信息。\",\"邀請您的QQ好友進行一場友誼戰。立即給他們發送訊息。\",\"برای یک نبرد دوستانه با دوست‌هاتون روی QQ تماس بگیرین. همین الان براشون پیام بفرستین.\",\"Panggil teman QQ untuk Pertempuran Persahabatan. Kirimi mereka pesan sekarang.\",\"Hubungi rakan QQ anda untuk Pertempuran Persahabatan. Hantar mesej kepada mereka sekarang.\"\n\"TID_SHARED_FRIENDLY_BATTLE_WAITING\",\"Waiting for friends\",\"En attente des amis\",\"Warten auf Freunde ...\",\"Esperando a amigos...\",\"In attesa di amici\",\"Wachten op vrienden\",\"Venter på venner\",\"Arkadaşlar bekleniyor\",\"友達を待っています\",\"친구를 기다리는 중\",\"Ждем друзей\",\"في انتظار الأصدقاء\",\"Esperando amigos\",\"等待好友加入\",\"等待好友加入\",\"منتظر دوستان\",\"Menunggu teman\",\"Menunggu rakan\"\n\"TID_SHARED_FRIENDLY_CHALLENGE_ERROR_ALREADY_STARTED\",\"Someone else already accepted the battle.\",\"Quelqu'un a déjà accepté le combat.\",\"Jemand hat dem Kampf bereits zugestimmt.\",\"Alguien ya ha aceptado la batalla.\",\"Qualcun altro ha già accettato la battaglia.\",\"Iemand anders heeft het gevecht al geaccepteerd.\",\"Noen andre har allerede akseptert kampen.\",\"Başka birisi savaşı kabul etti.\",\"すでに誰かがバトルを受けて立ちました。\",\"누군가가 이미 대결을 수락했습니다.\",\"Кто-то другой уже согласился на бой.\",\"قام شخص آخر بقبول المعركة بالفعل.\",\"Outra pessoa já aceitou a batalha.\",\"已有其他玩家接受了友谊战邀请。\",\"已有其他玩家接受了友誼戰邀請。\",\"قبلاً یک نفر نبرد رو پذیرفته.\",\"Orang lain sudah menerima pertempuran ini.\",\"Ada orang lain sudah menerima pertempuran.\"\n\"TID_SHARED_FRIENDLY_CHALLENGE_ERROR_EXPIRED\",\"Friendly Battle has expired.\",\"Le combat amical a expiré.\",\"Das Testspiel ist abgelaufen.\",\"La batalla amistosa ha caducado.\",\"L'amichevole è scaduta.\",\"Vriendelijk gevecht is verlopen.\",\"Vennskapskampen har utløpt.\",\"Dostluk Savaşının süresi geçti.\",\"フレンドバトルの期限が切れました。\",\"친선전이 만료되었습니다.\",\"Время ожидания боя истекло.\",\"انتهت المعركة الودية.\",\"A batalha amistosa expirou.\",\"友谊战已过期。\",\"友誼戰已過有效時間。\",\"نبرد دوستانه منقضی شد.\",\"Pertempuran Persahabatan sudah berakhir.\",\"Pertempuran Persahabatan telah tamat tempoh.\"\n\"TID_SHARED_FRIENDLY_CHALLENGE_ERROR_FAILED\",\"Starting Friendly Battle failed. Error code <ERROR>\",\"Le démarrage du combat amical a échoué. Code d'erreur <ERROR>\",\"Testspiel konnte nicht gestartet werden. Fehlercode <ERROR>.\",\"No se ha iniciado la batalla amistosa. Código de error: <ERROR>\",\"Inizio amichevole non riuscito. Codice errore <ERROR>\",\"Starten vriendelijk gevecht mislukt. Foutcode <ERROR>\",\"Kunne ikke starte vennskapskampen. Feilkode <ERROR>\",\"Dostluk Savaşı başlatılamadı. Hata kodu <ERROR>\",\"フレンドバトルを開始できませんでした。エラーコード：<ERROR>\",\"친선전을 시작하지 못했습니다. (오류 코드 <ERROR>)\",\"Не получилось начать дружеский бой. Код ошибки: <ERROR>.\",\"فشل بدء المعركة الودية. كود الخطأ <ERROR>\",\"Falha ao iniciar batalha amistosa. Código de erro <ERROR>.\",\"无法开始友谊战。错误代码<ERROR>\",\"無法開始友誼戰。錯誤代碼<ERROR>\",\"نبرد دوستانه شروع نشد. خطای کد <ERROR>\",\"Gagal memulai Pertempuran Persahabatan. Kode kesalahan <ERROR>\",\"Gagal memulakan Pertempuran Persahabatan. Kod ralat <ERROR>\"\n\"TID_CHALLENGE_ITEM_TOP_PRIZE\",\"Top Prize\",\"Meilleur prix\",\"Hauptpreis\",\"Primer premio\",\"Primo premio\",\"Hoofdprijs\",\"Førstepremie\",\"Büyük Ödül\",\"トップ報酬\",\"1등 상품\",\"Главный приз\",\"الجائزة الكبرى\",\"Melhor prêmio\",\"最高奖励\",\"最高獎勵\",\"جایزه برتر\",\"Hadiah Utama\",\"Hadiah Utama\"\n\"TID_CHALLENGE_ITEM_CURRENT_PRIZE\",\"Your prize\",\"Votre prix\",\"Dein Preis\",\"Tu premio\",\"Il tuo premio\",\"Je prijs\",\"Din premie\",\"Ödülün\",\"あなたの報酬\",\"내 상품\",\"Твой приз\",\"جائزتك\",\"Seu prêmio\",\"您的奖励\",\"您的獎勵\",\"جایزه تو\",\"Hadiahmu\",\"Hadiah anda\"\n\"TID_ENTRY\",\"Entry Fee\",\"Frais de participation\",\"Teilnahmegebühr\",\"Tasa de ingreso\",\"Quota di iscrizione\",\"Toegangsprijs\",\"Påmeldingsavgift\",\"Giriş Ücreti\",\"参加費用\",\"입장료\",\"Плата за вход\",\"رسوم المشاركة\",\"Taxa de entrada\",\"参加费用\",\"參加費用\",\"هزینه ورودی\",\"Biaya Masuk\",\"Bayaran kemasukan\"\n\"TID_YOUR_PROGRESS\",\"Your Progress\",\"Votre progression\",\"Dein Fortschritt\",\"Tu progreso\",\"I tuoi progressi\",\"Je voortgang\",\"Din fremdrift\",\"İlerlemen\",\"あなたの成績\",\"내 진행 상황\",\"Твой прогресс\",\"تقدمك\",\"Seu progresso\",\"您的比赛进度\",\"您的比賽進度\",\"پیشرفت شما\",\"Kemajuanmu\",\"Perkembangan Anda\"\n\"TID_DIVIDER_OPEN_CHALLENGE\",\"Victory Challenges\",\"Défis de la victoire\",\"Herausforderungen\",\"Desafíos de victoria\",\"Sfide per la vittoria\",\"Uitdagingen\",\"Seiersutfordringer\",\"Zafer Mücadeleleri\",\"勝利数チャレンジ\",\"승리의 도전\",\"Победа в испытаниях\",\"تحديات الانتصار\",\"Desafios de vitória\",\"胜利挑战\",\"勝利挑戰\",\"چالش‌های پیروز\",\"Tantangan Kemenangan\",\"Cabaran Kemenangan\"\n\"TID_DIVIDER_SPECIAL_EVENT\",\"Special Events\",\"Événements spéciaux\",\"Sonderereignis\",\"Eventos especiales\",\"Eventi speciali\",\"Speciale evenementen\",\"Spesialhendelser\",\"Özel Etkinlikler\",\"スペシャルイベント\",\"특별 이벤트\",\"Особые мероприятия\",\"أحداث خاصة\",\"Eventos especiais\",\"特别活动\",\"特別活動\",\"رویدادهای ویژه\",\"Acara Spesial\",\"Acara Istimewa\"\n\"TID_PUBLIC_TOURNAMENT_KINGS_CUP\",\"King's Cup\",\"Coupe du roi\",\"Königspokal\",\"Copa del Rey\",\"Coppa del re\",\"Koningsbeker\",\"Kongecupen\",\"Kral Kupası\",\"キングカップ\",\"킹스 컵\",\"Королевский кубок\",\"كأس الملك\",\"Copa do Rei\",\"国王杯\",\"國王杯\",\"جام پادشاه\",\"Piala Raja\",\"Piala Raja\"\n\"TID_TOURNAMENT_TAB_CHALLENGE\",\"Challenges\",\"Défis\",\"Herausforderungen\",\"Desafíos\",\"Sfide\",\"Uitdagingen\",\"Utfordringer\",\"Mücadeleler\",\"チャレンジ\",\"도전\",\"Испытания\",\"التحديات\",\"Desafios\",\"挑战模式\",\"挑戰模式\",\"چالش‌ها\",\"Tantangan\",\"Cabaran\"\n\"TID_TOURNAMENT_TAB_PRIVATE\",\"Custom\",\"Personnalisé\",\"Benutzerdefiniert\",\"Privado\",\"Personalizzati\",\"Aangepast\",\"Spesial\",\"Özel\",\"カスタム\",\"커스텀\",\"Частный\",\"مخصصة\",\"Personalizado\",\"自定义模式\",\"自訂模式\",\"سفارشی\",\"Khusus\",\"Tersuai\"\n\"TID_SPELL_INFO_ICEGOLEMITE\",\"He's tough, targets buildings and explodes when destroyed, slowing nearby enemies. Made entirely out of ice... or is he?! Yes.\",\"Costaud, il cible les bâtiments et explose lorsqu'il est détruit, ralentissant les ennemis à proximité. Il est entièrement constitué de glace, pas vrai ? Absolument.\",\"Der Eisgolem ist zäh und greift Gebäude an. Wenn er zerstört wird, explodiert er und verlangsamt Feinde in der Nähe. Er besteht ganz aus Eis ... oder? Natürlich.\",\"Es resistente, ataca a los edificios y, cuando lo destruyen, explota y ralentiza a los enemigos cercanos. Está hecho completamente de hielo... ¿o de qué era? Sí, de hielo.\",\"È tenace, bersaglia edifici ed esplode una volta distrutto, rallentando i nemici nelle vicinanze. Ottimo per rompere il ghiaccio e le difese nemiche.\",\"Hij is taai, richt zich op gebouwen en explodeert als hij wordt vernietigd, waardoor hij vijanden in de buurt vertraagt. Een ijskoude bedoeling. Lopen de rillingen al over je rug?\",\"Han er tøff, går etter bygninger og eksploderer når han ødelegges. Da sinker han fiender i nærheten. Han består utelukkende av is ... eller gjør han det? Ja.\",\"Binaları hedef alan ve yok edildiğinde patlayarak yakınlardaki düşmanları yavaşlatan güçlü Buz Golemi, tamamen buzdan yapılmıştır. Şaşırtıcı değil mi? Evet.\",\"建物を攻撃する頑丈なユニットで、撃破されると爆発して周囲の敵の活動速度を低下させます。場を凍りつかせるには、うってつけですね！\",\"터프한 이 친구는 건물을 주로 공격하고, 파괴되면 폭발해 주변의 적을 느리게 합니다. 얼음으로 만들어 졌다는데... 맞나?! 맞군요.\",\"Он крутой, нападает на строения и взрывается при уничтожении, замедляя ближайших противников. И весь сделан изо льда... Да?! Да!\",\"إنه قوي، ويستهدف المباني وينفجر عندما يتم تدميره، مما يبطء من الأعداء المجاورين. إنه مصنوع من الثلج كليًا... أوليس كذلك؟! أجل.\",\"Durão, mira em construções e explode quando é destruído, atrasando inimigos próximos. Feito de gelo. Será? Sim.\",\"强悍的戈仑冰人只会攻击建筑，被摧毁后会爆炸并减缓周围敌军的速度。他全身上下都是冰做的呢......真的是这样吗？千真万确。\",\"強悍的戈侖冰人只會攻擊建築，被摧毀後會爆炸並減緩周圍敵軍的速度。他全身上下都是冰做的呢......真的是這樣嗎？千真萬確。\",\"اون خیلی سرسخته، به ساختمون‌ها حمله می‌کنه و وقت نابودی منفجر میشه و سرعت دشمنان نزدیکش رو کم می‌کنه. کلاً از یخ ساخته شده... یا اینکه اون؟! آره.\",\"Dia tangguh, menarget bangunan dan meledak saat dihancurkan, memperlambat musuh di dekatnya. Terbuat seutuhnya dari es... ah yang benar?! Ya.\",\"Dia kuat, menyasarkan bangunan dan meletup apabila dimusnahkan, memperlahankan musuh berdekatan. Diperbuat secara keseluruhannya daripada ais... atau adakah dia?! Ya.\"\n\"TID_SPELL_ICEGOLEMITE\",\"Ice Golem\",\"Golem de glace\",\"Eisgolem\",\"Gólem de hielo\",\"Golem del ghiaccio\",\"IJsgolem\",\"Isgolem\",\"Buz Golemi\",\"アイスゴーレム\",\"얼음 골렘\",\"Ледяной голем\",\"غولم الجليد\",\"Golem de Gelo\",\"戈仑冰人\",\"戈侖冰人\",\"گالم یخی\",\"Golem Es\",\"Golem Ais\"\n\"TID_STARTING_PRIZE\",\"Guaranteed Prize\",\"Prix garanti\",\"Garantierte Preise\",\"Premio seguro\",\"Premio garantito\",\"Gegarandeerde prijs\",\"Garantert premie\",\"Garanti Ödül\",\"確定報酬\",\"보장 상품\",\"Призы гарантированы\",\"جائزة مضمونة\",\"Prêmio garantido\",\"最低奖励\",\"最低獎勵\",\"جایزه تضمین‌شده\",\"Hadiah Terjamin\",\"Hadiah Terjamin\"\n\"TID_SURVIVAL_RULES\",\"Your reward increases with each victory!\\nWin 12 matches for the top prize!\\nChallenge will end at 12 wins or 3 losses.\",\"Votre récompense s'améliore à chaque victoire !\\nRemportez 12 combats pour obtenir le meilleur prix !\\nLe défi s'achèvera après 12 victoires ou 3 défaites.\",\"Deine Belohnung wird mit jedem Sieg größer!\\nGewinne 12 Kämpfe, um den Hauptpreis zu bekommen!\\nDie Herausforderung endet nach 12 Siegen oder 3 Niederlagen.\",\"¡Tu recompensa crece con cada victoria!\\n¡Gana 12 partidas para llevarte el primer premio!\\nEl desafío termina tras 12 victorias o 3 derrotas.\",\"La tua ricompensa aumenta a ogni vittoria!\\nVinci 12 scontri per ambire al primo premio!\\nLa sfida terminerà a 12 vittorie o 3 sconfitte.\",\"Je beloning neemt toe met elke overwinning!\\nWin 12 wedstrijden voor de hoofdprijs!\\nDe uitdaging eindigt na 12 overwinningen of 3 nederlagen.\",\"Belønningen din øker for hver seier!\\nVinn 12 kamper for å ta førstepremien!\\nUtfordringen avsluttes etter 12 seire eller 3 tap.\",\"Ödülün, her zafer ile birlikte artar!\\nEn yüksek ödül için 12 maç kazan!\\nMücadele, ya 12 galibiyette ya da 3 mağlubiyette sona erecek.\",\"勝つほどに報酬がグレードアップします！\\n12マッチで勝利すれば、トップ報酬を獲得します！\\n12勝または3敗すると、チャレンジは終了します。\",\"승리할 때마다 보상이 늘어납니다!\\n12승을 올려 1등 상품을 받아 보세요!\\n12승 또는 3패를 하면 도전은 종료됩니다.\",\"Твоя награда увеличивается с каждой победой!\\nВыиграй 12 боев, чтобы получить главный приз!\\nИспытание заканчивается после 12-ти побед или 3-х поражений.\",\"تزيد جائزتك مع كل انتصار!\\nحقق الفوز في 12 مباراة للحصول على أفضل الجائزة الكبرى!\\nسينتهي التحدي بتحقيق 12 انتصارًا أو الخسارة 3 مرات.\",\"Seu prêmio aumenta com cada vitória!\\nVença 12 partidas para ganhar o melhor prêmio!\\nO desafio acaba com 12 vitórias ou 3 derrotas.\",\"每获胜一场，您的奖励会随之增加！\\n累计获胜12场可获得最高奖励！\\n当您获胜12场或者战败3场时，本次挑战结束。\",\"每獲勝一場，您的獎勵會隨之增加。\\n累計獲勝12場可獲得最高獎勵。\\n當您獲勝12場或者戰敗3場時，本次挑戰結束。\",\"جایزه تو با هر پیروزی افزایش پیدا می‌کنه!\\nبرای بهترین جایزه 12 بازی رو ببر!\\nچالش با 12 برد و 3 باخت تمام میشه.\",\"Hadiahmu bertambah setiap kali menang!\\nMenangkan 12 pertempuran demi hadiah utama!\\nTantangan akan berakhir pada 12 kemenangan atau 3 kekalahan.\",\"Ganjaran anda bertambah dengan setiap kemenangan!\\nMenangi 12 perlawanan untuk hadiah utama!\\nCabaran akan tamat pada 12 kemenangan atau 3 kekalahan.\"\n\"TID_NEXT_WIN\",\"Next Win\",\"Prochaine victoire\",\"Nächster Sieg\",\"Siguiente victoria\",\"Prossima vittoria\",\"Volgende overwinning\",\"Neste seier\",\"Sonraki Galibiyet\",\"次の勝利時\",\"다음 승리\",\"Следующая победа\",\"الفوز التالي\",\"Próxima vitória\",\"下一场获胜\",\"下一場獲勝\",\"برد بعدی\",\"Kemenangan Berikutnya\",\"Kemenangan Seterusnya\"\n\"TID_CHEST_LEGENDARY\",\"Legendary Chest\",\"Coffre légendaire\",\"Legendäre Truhe\",\"Cofre legendario\",\"Baule leggendario\",\"Legendarische kist\",\"Legendarisk kiste\",\"Efsanevi Sandık\",\"ウルトラレア宝箱\",\"전설 상자\",\"Легендарный сундук\",\"صندوق أسطوري\",\"Baú lendário\",\"传奇宝箱\",\"傳奇寶箱\",\"صندوق افسانه‌ای\",\"Peti Legendaris\",\"Peti Legenda\"\n\"TID_CHEST_EPIC\",\"Epic Chest\",\"Coffre épique\",\"Epische Truhe\",\"Cofre épico\",\"Baule epico\",\"Epische kist\",\"Episk kiste\",\"Destansı Sandık\",\"スーパーレア宝箱\",\"영웅 상자\",\"Эпический сундук\",\"صندوق ممتاز\",\"Baú épico\",\"史诗宝箱\",\"史詩寶箱\",\"صندوق حماسی\",\"Peti Epik\",\"Peti Epik\"\n\"TID_CHEST_SKIN\",\"Tower Chest\",\"Coffre de tour\",\"Turmtruhe\",\"Cofre de torre\",\"Baule della torre\",\"Torenkist\",\"Tårnkiste\",\"Kule Sandığı\",\"タワー宝箱\",\"타워 상자\",\"Сундук башни\",\"صندوق البرج\",\"Baú da torre\",\"防御塔宝箱\",\"防禦塔寶箱\",\"صندوق برج\",\"Peti Menara\",\"Peti Menara\"\n\"TID_SHOP_TIME_LIMITED_OFFER_TXT\",\"This limited offer is a ONE time purchase!\",\"Cette offre limitée n'est disponible qu'une seule fois !\",\"Dieses limitierte Angebot ist nur EINMAL verfügbar!\",\"¡Esta oferta limitada es única!\",\"Questa offerta limitata vale UNA SOLA volta!\",\"Deze tijdelijke aanbieding is EENMALIG!\",\"Det tidsbegrensede tilbudet er et ENGANGSKJØP!\",\"Bu sınırlı teklif, TEK seferlik bir satın alım!\",\"初回限定セールのため1度しか購入できません！\",\"이 한정 상품은 한 번만 구매할 수 있습니다!\",\"Ограниченное предложение: ОДНА покупка!\",\"هذا العرض المحدود يمكن شراؤه مرة واحدة!\",\"Esta oferta é limitada a UMA compra!\",\"该礼包只能购买一次！\",\"該組合包只能購買一次！\",\"این پیشنهاد محدود یک خرید یک باره هست!\",\"Penawaran terbatas ini adalah pembelian SATU kali!\",\"Tawaran terhad ini hanya untuk pembelian SATU kali!\"\n\"TID_SPECIAL_OFFER_ENDS_IN\",\"OFFER ENDS IN: <time>\",\"L'OFFRE SE TERMINE DANS <time>\",\"ANGEBOT ENDET IN: <time>\",\"FIN DE LA OFERTA: <time>\",\"L'OFFERTA TERMINA TRA: <time>\",\"AANBIEDING EINDIGT OVER: <time>\",\"TILBUDET AVSLUTTES OM: <time>\",\"TEKLİFİN BİTMESİNE: <time>\",\"セール終了まで： <time>\",\"상품 판매 종료까지 남은 시간: <time>\",\"ЗАКОНЧИТСЯ ЧЕРЕЗ: <time>\",\"ينتهي العرض خلال: <time>\",\"OFERTA ACABA EM: <time>.\",\"特惠活动剩余时间：<time>\",\"特惠活動剩餘時間：<time>\",\"اتمام پیشنهاد بعد از: <time>\",\"PENAWARAN BERAKHIR DALAM: <time>\",\"TAWARAN TAMAT DALAM: <time>\"\n\"TID_SHOP_SPECIAL_OFFER_TITLE_CHEST\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot!\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SHOP_SPECIAL_OFFER_TITLE_STARTER_PACK\",\"Special Offer Reward\",\"Récompense d'offre spéciale\",\"Sonderangebotsbelohnung\",\"Recompensa de oferta especial\",\"Offerta speciale premio\",\"Speciale aanbieding\",\"Belønning for spesialtilbud\",\"Özel Teklif Ödülü\",\"セール報酬\",\"특가 상품 보상\",\"Спец. предложение в награду\",\"مكافأة العرض الخاص\",\"Recompensa de oferta especial\",\"特惠活动奖励\",\"特惠活動獎勵\",\"جایزه پیشنهاد ویژه\",\"Hadiah Penawaran Spesial\",\"Ganjaran Tawaran Khas\"\n\"TID_CONTAINS\",\"Contains\",\"Contient\",\"Enthält\",\"Contiene\",\"Contiene\",\"Bevat\",\"Inneholder\",\"Şunu içerir:\",\"内容\",\"포함:\",\"Содержит\",\"يحتوي\",\"Contém\",\"包含\",\"包含\",\"شامل\",\"Berisi\",\"Mengandungi\"\n\"TID_YOU_HAVE_ALREADY_BOUGHT_SPECIAL_OFFER_TODAY\",\"Sold Out\",\"Rupture de stock\",\"Ausverkauft\",\"Fin de existencias\",\"Esaurito\",\"Uitverkocht\",\"Utsolgt\",\"Tükendi\",\"売り切れ\",\"매진\",\"Распродано\",\"نفدت\",\"Esgotadas\",\"已售完\",\"已售完\",\"تموم شد\",\"Habis Terjual\",\"Habis Dijual\"\n\"TID_LEGENDARY\",\"Legendaries\",\"Légendaires\",\"Legendäre\",\"Legendarios\",\"Leggendarie\",\"Legendarische\",\"Legendariske\",\"Efsaneviler\",\"ウルトラレア\",\"전설\",\"Легендарные\",\"عناصر أسطورية\",\"Lendárias\",\"张传奇卡\",\"張傳奇卡\",\"افسانه‌ای\",\"Legendaris\",\"Legenda\"\n\"TID_SHOP_STARTER_PACK_ARENA_9\",\"Jungle Arena Pack\",\"Pack Arène sauvage\",\"Dschungelarena-Paket\",\"Lote de arena selvática\",\"Pacchetto arena selvaggia\",\"Jungle-arenapakket\",\"Jungelarenapakke\",\"Orman Arenası Paketi\",\"ジャングルアリーナパック\",\"정글 아레나 팩\",\"Пакет: Арена в джунглях\",\"مجموعة ساحة الغابة\",\"Pacote da Arena da Selva\",\"丛林竞技场礼包\",\"叢林競技場組合包\",\"بسته میدان نبرد جنگل\",\"Paket Arena Hutan\",\"Pek Arena Hutan\"\n\"TID_SHOP_SPECIAL_OFFER_ARENA\",\"Celebrating your progress to <arena>!\",\"Fêtons votre arrivée dans l'<arena> !\",\"Für das Erreichen von <arena>!\",\"¡Celebra tu llegada a <arena>!\",\"Festeggia il tuo arrivo in <arena>!\",\"Om te vieren dat je <arena> hebt bereikt!\",\"Vi feirer at du har nådd <arena>!\",\"<arena> ilerlemeni kutluyoruz!\",\"<arena>への昇格おめでとうございます！\",\"<arena>에 진출하신 걸 축하합니다!\",\"Отпразднуй переход в: <arena>!\",\"الاحتفال بتقدمك إلى <arena>!\",\"Celebre sua chegada à <arena>!\",\"恭喜您进入了<arena>！\",\"恭喜您進入了<arena>！\",\"پیشرفتت به <arena> مبارک باشه!\",\"Merayakan kemajuanmu ke <arena>!\",\"Meraikan perkembangan anda ke <arena>!\"\n\"TID_SHOP_SPECIAL_OFFER_TITLE\",\"<arena> Value Pack\",\"Pack éco <arena>\",\"Paket: <arena>\",\"Lote de <arena>\",\"Pacchetto <arena>\",\"Pakket: <arena>\",\"Verdipakke: <arena>\",\"<arena> Fırsat Paketi\",\"<arena>バリューパック\",\"<arena> 알뜰 팩\",\"Нач. пакет: <arena>\",\"حزمة قيمة <arena>\",\"Combo <arena>\",\"<arena>超值礼包\",\"<arena>超值組合包\",\"بسته ارزش <arena>\",\"Paket Hemat <arena>\",\"Pek Nilai <arena>\"\n\"TID_NEW_CARD_RELEASED\",\"NEW CARD RELEASED!\",\"NOUVELLE CARTE À DÉCOUVRIR !\",\"NEUE KARTE VERÖFFENTLICHT!\",\"¡NUEVA CARTA!\",\"NUOVA CARTA DISPONIBILE!\",\"NIEUWE KAART UITGEBRACHT!\",\"NYTT KORT SLUPPET!\",\"YENİ KART ÇIKTI!\",\"新カードが登場！\",\"새 카드 공개!\",\"ДОСТУПНА НОВАЯ КАРТА!\",\"تم إصدار بطاقة جديدة!\",\"NOVA CARTA LANÇADA!\",\"全新卡牌来啦！\",\"全新卡牌來啦！\",\"کارت جدید آزاد شد!\",\"KARTU BARU DIRILIS!\",\"KAD BAHARU DIKELUARKAN!\"\n\"TID_NOW_AVAILABALE_FROM\",\"Now available from:\",\"Disponible à partir de :\",\"Jetzt erhältlich ab:\",\"Ya disponible desde aquí:\",\"Disponibile a partire da:\",\"Nu beschikbaar vanaf:\",\"Nå tilgjengelig fra:\",\"Açıldığı Arena:\",\"入手条件\",\"획득 가능:\",\"Доступна с:\",\"متاح الآن من:\",\"Agora disponível a partir da:\",\"可解锁于：\",\"可解鎖於：\",\"همین الان در دسترس از:\",\"Kini tersedia dari:\",\"Kini disediakan dari:\"\n\"TID_AND_HIGHER\",\"AND HIGHER\",\"ET PLUS\",\"UND HÖHER\",\"Y SUPERIOR\",\"E SUPERIORI\",\"EN HOGER\",\"OG HØYERE\",\"VE ÜSTÜ\",\"以上\",\"또는 상위 아레나\",\"И ВЫШЕ\",\"وأعلى\",\"E SUPERIOR\",\"及以上\",\"及以上\",\"و بالاتر\",\"KE ATAS\",\"DAN LEBIH TINGGI\"\n\"TID_TOURNAMENT_PRIVATE_INTRO_TEXT\",\"Compete with your friends and Clan for the top position in a private leaderboard.\",\"Affrontez vos amis et les membres de votre clan pour décrocher la meilleure place au classement privé.\",\"Kämpfe mit deinen Freunden und deinem Clan um den Spitzenplatz auf einer privaten Bestenliste.\",\"Compite con tus amigos y el clan por la primera posición en una clasificación privada.\",\"Competi con amici e clan per raggiungere la prima posizione in una classifica privata.\",\"Strijd samen met je vrienden en clan voor de toppositie in een privéklassement.\",\"Konkurrer med vennene dine og klanen om førsteplassen på en privat resultatliste.\",\"Özel bir liderlik panosunda arkadaşların ve Klanın ile en iyi sıra için mücadele et.\",\"友達やクランの仲間と競い合って、個人ランキングのトップを目指しましょう。\",\"개인 순위표에서 클랜원이나 친구와 순위를 겨뤄 보세요.\",\"Потягайся со своими друзьями и соклановцами за лучшие места в вашем собственном списке лидеров.\",\"تنافس مع أصدقائك وقبيلتك لتحقيق أعلى مركز في لوحة صدارة خاصة.\",\"Desafie seus amigos e colegas de clã pelo primeiro lugar em um ranking privado.\",\"与您的好友和部落成员互相对战，在独立的排行榜中争夺最高排名。\",\"與您的好友和部落成員互相對戰，在獨立的排行榜中爭奪最高排名。\",\"در یک جدول رده‌بندی خصوصی با دوستان و قبیله خودت برای بالاترین رتبه‌ها رقابت کن.\",\"Bersainglah dengan teman dan Klan demi posisi teratas di papan peringkat pribadi.\",\"Bersaing dengan rakan dan Klan anda untuk kedudukan teratas dalam papan pemimpin persendirian.\"\n\"TID_TOURNAMENT_OPEN_INTRO_TEXT\",\"Test your skills with\\nChallenge Tournaments!\\nMore wins, bigger prizes!\",\"Mettez vos compétences à l'épreuve\\ndans les tournois défis !\\nLes prix s'améliorent avec le nombre de victoires.\",\"Stelle deine Fähigkeiten mit\\nHerausforderungsturnieren auf die Probe!\\nMehr Siege, größere Preise!\",\"¡Mide tu destreza en los\\ntorneos de desafío!\\nCuantas más victorias, ¡mejor es el premio!\",\"Mettiti alla prova con i\\ntornei sfida!\\nPiù vittorie, più premi!\",\"Stel je vaardigheden op de proef in\\nuitdagingstoernooien!\\nMeer overwinningen, grotere prijzen!\",\"Sett ferdighetene dine på prøve med\\nutfordringsturneringer!\\nJo flere seire, jo flere premier!\",\"\\nMücadele Turnuvaları\\nile yeteneklerini dene! Daha fazla galibiyet, daha büyük ödüller!\",\"チャレンジ大会で\\n腕を試してみましょう！\\n勝てば勝つほど報酬も大きくなります！\",\"도전 토너먼트에서\\n실력을 뽐내 보세요.\\n많이 이길수록 상품이 커집니다!\",\"Проверь свои навыки в\\nиспытаниях!\\nЧем больше побед, тем больше награда!\",\"اختبر مهاراتك مع\\nبطولات التحدي!\\nالمزيد من الانتصارات يعني جوائز أكبر!\",\"Teste suas habilidades com os\\ntorneios de desafio!\\nMais vitórias, maiores prêmios!\",\"在挑战模式中\\n检验您的对战技术！\\n胜场越多，奖励越多！\",\"在挑戰模式中\\n檢驗您的對戰技術！\\n勝場越多，獎勵越多！\",\"با\\nمسابقات چالشی\\nتوانایی‌هات رو آزمایش کن! پیروزی‌های بیشتر، جایزه‌های بزرگ‌تر!\",\"Uji kemahiranmu dengan\\nTurnamen Tantangan!\\nSemakin banyak menang, semakin besar hadiahnya!\",\"Uji kemahiran anda dengan\\nPertandingan Cabaran!\\nLebih banyak kemenangan, lebih besar hadiah!\"\n\"TID_WHAT_IS_A_CHALLENGE\",\"What is a Challenge?\",\"Qu'est-ce qu'un défi ?\",\"Was ist eine Herausforderung?\",\"¿Qué es un desafío?\",\"Cos'è una sfida?\",\"Wat is een uitdaging?\",\"Hva er en utfordring?\",\"Mücadele nedir?\",\"チャレンジとは何ですか？\",\"도전이 뭔가요?\",\"Что такое испытание?\",\"ما هو التحدي؟\",\"O que é um torneio?\",\"什么是挑战模式？\",\"什麼是挑戰模式？\",\"چالش چیه؟\",\"Apa itu Tantangan?\",\"Apakah itu Cabaran?\"\n\"TID_MORE_WINS_BIGGER_PRIZES\",\"More wins, bigger prizes!\",\"Prix suivant vos victoires\",\"Mehr Siege, größere Preise!\",\"Cuantas más victorias, ¡mejor es el premio!\",\"Più vittorie, più premi!\",\"Win meer, grotere prijzen!\",\"Flere seire, større premie!\",\"Daha çok galibiyet, daha çok ödül!\",\"勝つほど報酬がビッグに！\",\"많이 이길수록 상품이 커집니다!\",\"Чем больше побед, тем больше награда!\",\"المزيد من الانتصارات يعني جوائز أكبر!\",\"Mais vitórias, mais prêmios!\",\"胜场越多，奖励越多！\",\"勝場越多，獎勵越多！\",\"پیروزی‌های بیشتر، جایزه‌های بزرگ‌تر!\",\"Semakin banyak menang, semakin besar hadiahnya!\",\"Lebih banyak menang, lebih besar hadiah!\"\n\"TID_TOURNAMENT_OPEN_PRIZE_EXPLAINED\",\"Each win in a Challenge tournament will increase your final prize. At 12 wins, you will receive the top prize!\",\"Chaque victoire lors d'un tournoi défi améliore votre récompense finale. 12 victoires vous octroient le meilleur prix !\",\"Mit jedem Sieg bei einem Herausforderungsturnier wird dein Preis größer. Nach 12 Siegen erhältst du den Hauptpreis!\",\"En un torneo de desafío, el premio final crece con cada victoria. Si logras 12 victorias, ¡recibirás el primer premio!\",\"Ogni vittoria in un torneo sfida farà crescere il tuo premio finale. Con 12 vittorie, riceverai il primo premio!\",\"Na elke overwinning in een uitdagingstoernooi wordt de eindprijs groter. Na 12 overwinningen krijg je de hoofdprijs!\",\"Hver seier i en utfordringsturnering gir deg en bedre sluttpremie. Etter 12 seire får du førstepremien!\",\"Bir Mücadele turnuvasında aldığın her galibiyet, son ödülünü artırır. 12. galibiyette büyük ödülü alırsın!\",\"チャレンジ大会では、勝利数が増えるほど報酬がグレードアップします。12勝を達成すると、トップ報酬が与えられます！\",\"도전 토너먼트에서 많이 승리할수록 최종 상품이 많아집니다. 12승을 달성하면 1등 상품을 받습니다!\",\"Каждая победа в испытании увеличивает твою награду. 12 побед принесут тебе главный приз!\",\"سيزيد كل فوز تحققه في بطولة تحدي من جائزتك النهائية. وبتحقيق 12 انتصارًا، ستتلقى الجائزة الكبرى!\",\"Cada vitória em um torneio de desafio aumenta seu prêmio final. Com 12 vitórias, você recebe o melhor prêmio!\",\"在挑战模式中，每获得一场胜利，您的最终奖励都会有所增加。获胜12场，即可赢得最高奖励！\",\"在挑戰模式中，每獲得一場勝利，您的最終獎勵都會逐步增加。獲勝12場，即可贏得最高獎勵！\",\"پیروزی در هر مسابقه چالشی امتیازی نهاییت رو افزایش میده. با 12 پیروزی، بهترین جایزه رو به دست میاری!\",\"Setiap kemenangan di turnamen Tantangan akan menambah hadiah akhirmu. Pada 12 kemenangan, kamu akan menerima hadiah utama!\",\"Setiap kemenangan dalam pertandingan Cabaran akan menambah hadiah akhir anda. Pada 12 kemenangan, anda akan menerima hadiah utama!\"\n\"TID_TOURNAMENT_OPEN_END_EXPLAINED\",\"3 losses and you're out!\",\"3 défaites et tout s'arrête !\",\"3 Niederlagen und du bist raus!\",\"Si pierdes 3 veces, ¡estarás fuera!\",\"3 sconfitte e sei fuori!\",\"3 nederlagen en je ligt eruit!\",\"3 tap så er du ute!\",\"3 mağlubiyette kaybedersin!\",\"3敗すると、そこで終了です！\",\"3패를 하면 탈락입니다!\",\"3 поражения — испытание окончено!\",\"إذا تلقيت الخسارة 3 مرات ستخرج من البطولة!\",\"3 derrotas, e você está fora!\",\"战败3场，挑战结束！\",\"戰敗3場，挑戰結束！\",\"3 بار ببازی حذف میشی!\",\"3 kekalahan dan kamu dikeluarkan!\",\"3 kekalahan dan anda keluar!\"\n\"TID_WHAT_IS_A_PRIVATE_LADDER\",\"What is a Custom Tournament?\",\"Qu'est-ce qu'un tournoi personnalisé ?\",\"Was ist ein benutzerdefiniertes Turnier?\",\"¿Qué es un torneo privado?\",\"Cos'è un torneo personalizzato?\",\"Wat is een aangepast toernooi?\",\"Hva er en spesialturnering?\",\"Özel Turnuva nedir?\",\"カスタム大会とは何ですか？\",\"커스텀 토너먼트가 뭔가요?\",\"Что такое частный турнир?\",\"ما هي البطولة المخصصة؟\",\"O que é um torneio personalizado?\",\"什么是自定义模式？\",\"什麼是自訂模式？\",\"مسابقه سفارشی چیه؟\",\"Apa itu Turnamen Khusus?\",\"Apakah itu Pertandingan Tersuai?\"\n\"TID_CHALLENGE_PROGRESS\",\"CHALLENGE PROGRESS: <number1>/<number2>\",\"PROGRESSION DU DÉFI : <number1>/<number2>\",\"FORTSCHRITT: <number1>/<number2>\",\"PROGRESO DEL DESAFÍO: <number1>/<number2>\",\"PROGRESSI SFIDA: <number1>/<number2>\",\"UITDAGINGSVOORTGANG: <number1>/<number2>\",\"FREMDRIFT I UTFORDRINGEN: <number1>/<number2>\",\"MÜCADELE İLERLEMESİ: <number1>/<number2>\",\"チャレンジ進行状況： <number1>/<number2>\",\"도전 진행 상황: <number1>/<number2>\",\"ХОД ИСПЫТАНИЯ: <number1>/<number2>\",\"تقدم التحدي: <number1>/<number2>\",\"PROGRESSO DO DESAFIO: <number1>/<number2>\",\"挑战进程：<number1>/<number2>\",\"挑戰進度：<number1>/<number2>\",\"پیشرفت چالش: <number1>/<number2>\",\"KEMAJUAN TANTANGAN: <number1>/<number2>\",\"PERKEMBANGAN CABARAN: <number1>/<number2>\"\n\"TID_LEVEL_UP_CLAN_UNLOCKED\",\"Clans Unlocked!\",\"Clans débloqués !\",\"Clans freigeschaltet!\",\"¡Clanes desbloqueados!\",\"Clan sbloccati!\",\"Clans ontgrendeld!\",\"Klaner låst opp!\",\"Klanların Kilidi Açıldı!\",\"クランをアンロックしました！\",\"클랜 잠금 해제!\",\"Доступны кланы!\",\"تم فتح القبيلة!\",\"Clãs desbloqueados!\",\"部落已解锁！\",\"部落已解鎖！\",\"قفل قبیله‌ها باز شد!\",\"Klan Terbuka!\",\"Klan Dibuka Kunci!\"\n\"TID_LEVEL_UP_TOURNAMENT_UNLOCKED\",\"Tournaments Unlocked!\",\"Tournois débloqués !\",\"Turniere freigeschaltet!\",\"¡Torneos desbloqueados!\",\"Tornei sbloccati!\",\"Toernooien ontgrendeld!\",\"Turneringer låst opp!\",\"Turnuvaların Kilidi Açıldı!\",\"大会をアンロックしました！\",\"토너먼트 잠금 해제!\",\"Доступны турниры!\",\"تم فتح البطولات!\",\"Torneios desbloqueados!\",\"锦标赛已解锁！\",\"聯賽已解鎖！\",\"قفل مسابقات باز شد!\",\"Turnamen Terbuka!\",\"Pertandingan Dibuka Kunci!\"\n\"TID_LEVEL_UP_SKINS_UNLOCKED\",\"Towers Unlocked!\",\"Tours débloquées !\",\"Türme freigeschaltet!\",\"¡Torres desbloqueadas!\",\"Torri sbloccate!\",\"Torens ontgrendeld!\",\"Tårn låst opp!\",\"Kulelerin Kilidi Açıldı!\",\"タワーをアンロック！\",\"타워 잠금 해제!\",\"Открыты башни!\",\"تم فتح الأبراج!\",\"Torres desbloqueadas!\",\"防御塔已解锁！\",\"防禦塔已解鎖！\",\"قفل برج‌ها باز شد!\",\"Menara Terbuka!\",\"Menara Dibuka Kunci!\"\n\"TID_LEVEL_UP_DECK_SLOTS_UNLOCKED\",\"Deck slots unlocked!\",\"Emplacements de cartes débloqués !\",\"Deckplätze freigeschaltet!\",\"¡Huecos de baraja desbloqueados!\",\"Slot mazzo sbloccati!\",\"Vakken voor gevechtskaarten ontgrendeld!\",\"Kampkortplasser låst opp!\",\"Deste yuvalarının kilidi açıldı!\",\"デッキのスロットをアンロック！\",\"덱 슬롯 잠금 해제!\",\"Открыты ячейки колоды!\",\"تم فتح مواضع المجموعة!\",\"Espaços para o deck desbloqueados!\",\"出战卡组栏位已解锁！\",\"出戰牌組欄位已解鎖！\",\"قفل ردیف دسته‌نبرد باز شد!\",\"Slot dek terbuka!\",\"Slot dek dibuka kunci!\"\n\"TID_DIVIDER_OPEN_PRIVATE_LADDER\",\"Custom Tournaments\",\"Tournois personnalisés\",\"Benutzerdefinierte Turniere\",\"Torneos privados\",\"Tornei personalizzati\",\"Aangepaste toernooien\",\"Spesialturneringer\",\"Özel Turnuvalar\",\"カスタム大会\",\"커스텀 토너먼트\",\"Частные турниры\",\"بطولات مخصصة\",\"Torneios personalizados\",\"自定义模式锦标赛\",\"自訂模式聯賽\",\"مسابقات سفارشی\",\"Turnamen Khusus\",\"Pertandingan Tersuai\"\n\"TID_TOURNAMENT_OPEN_LOSSES_EXPLAINED\",\"At 3 losses, your Challenge ends and you receive your prize!\",\"Après 3 défaites, votre défi s'arrête et vous recevez votre prix !\",\"Nach 3 Niederlagen endet deine Herausforderung und du erhältst deinen Preis!\",\"Si pierdes 3 veces, el desafío terminará y recibirás tu premio.\",\"Con 3 sconfitte, la sfida terminerà e riceverai il tuo premio!\",\"Na 3 nederlagen eindigt je uitdaging en ontvang je je prijs!\",\"Etter 3 tap avsluttes utfordringen, og du mottar premien din!\",\"3 mağlubiyette Mücadelen sonlanır ve ödülünü alırsın!\",\"3敗するとチャレンジは終了となり、報酬を獲得します！\",\"3패를 하면 도전이 끝나고 상품을 받습니다!\",\"После 3-х поражений ты покинешь испытание и получишь приз!\",\"عند 3 مرات من الخسارة، ينتهي التحدي الخاص بك وتستلم جائزتك!\",\"Com 3 derrotas, seu desafio acaba e você recebe o prêmio!\",\"累计战败3场，您当次挑战将结束，\\n同时您将获得相应奖励！\",\"累計戰敗3場，您當次挑戰將結束，\\n同時您將獲得對應獎勵！\",\"با 3 شکست، چالش به پایان می‌رسه و جایزت رو دریافت می‌کنی!\",\"Pada 3 kekalahan, Tantanganmu berakhir dan kamu menerima hadiahnya!\",\"Pada 3 kekalahan, Cabaran anda tamat dan anda menerima hadiah anda!\"\n\"TID_SPECIAL\",\"SPECIAL\",\"PROMO\",\"SONDERANGEBOT\",\"ESPECIAL\",\"SPECIALE\",\"SPECIAAL\",\"SPESIAL\",\"ÖZEL\",\"スペシャル\",\"특별\",\"ОСОБЫЙ\",\"خاص\",\"ESPECIAL\",\"超值\",\"超值\",\"ویژه\",\"SPESIAL\",\"ISTIMEWA\"\n\"TID_STARTER_PACK_0\",\"Starter Pack 1\",\"Pack de démarrage 1\",\"Starterpaket 1\",\"Lote de principiante 1\",\"Pacchetto principiante 1\",\"Starterspakket 1\",\"Startpakke 1\",\"1. Başlangıç Paketi\",\"スターターパック1\",\"초보자 팩 1\",\"Начальный Пакет 1\",\"مجموعة البدء 1\",\"Pacote de Iniciante 1\",\"新手礼包1\",\"入門組合包1\",\"بسته مقدماتی 1\",\"Paket Pemula 1\",\"Pek Permulaan 1\"\n\"TID_OFFER_ENDS_IN\",\"OFFER ENDS IN:\",\"L'OFFRE SE TERMINE DANS :\",\"ANGEBOT ENDET IN:\",\"FIN DE LA OFERTA:\",\"L'OFFERTA TERMINA TRA:\",\"AANBIEDING EINDIGT OVER:\",\"TILBUDET AVSLUTTES OM:\",\"TEKLİFİN BİTMESİNE:\",\"提供終了まで：\",\"상품 판매 종료까지 남은 시간:\",\"ЗАКОНЧИТСЯ ЧЕРЕЗ:\",\"ينتهي العرض خلال:\",\"OFERTA ACABA EM:\",\"特惠活动剩余时间：\",\"特惠活動剩餘時間：\",\"اتمام پیشنهاد بعد از:\",\"PENAWARAN BERAKHIR DALAM:\",\"TAWARAN TAMAT DALAM:\"\n\"TID_STACK_OF\",\"Stack of\",\"Jeu de\",\"Stapel\",\"Montón de\",\"Pila di\",\"Stapel\",\"Kortstokk med\",\"Yığın\",\"パック：\",\"스택:\",\"Колода\",\"مجموعة أوراق من\",\"Pilha de\",\"卡包\",\"卡包\",\"بسته\",\"Setumpuk\",\"Tindanan\"\n\"TID_CARD_RELEASE_OFFER\",\"Card Release Offer!\",\"Offre spéciale nouvelle carte !\",\"Angebot: Neue Karte!\",\"¡Oferta de carta nueva!\",\"Nuova carta in offerta!\",\"Aanbieding uitgebrachte kaart!\",\"Kortlanseringstilbud!\",\"Kart Çıkış Teklifi!\",\"新カードセール！\",\"카드 발매 특가!\",\"Предлагаем новые карты!\",\"عرض إصدار بطاقة!\",\"Oferta de carta nova!\",\"新卡特惠活动！\",\"新卡特惠活動！\",\"پیشنهاد آزاد کردن کارت!\",\"Penawaran Rilis Kartu!\",\"Tawaran Keluaran Kad!\"\n\"TID_YOU_HAVE_ALREADY_BOUGHT_STARTER_PACK\",\"You have purchased this Starter Pack already!\",\"Vous avez déjà acheté ce pack de démarrage !\",\"Du hast dieses Starterpaket bereits gekauft!\",\"¡Ya has comprado este lote de principiante!\",\"Hai già acquistato questo pacchetto principiante!\",\"Je hebt dit starterspakket al gekocht!\",\"Du har allerede kjøpt denne startpakken!\",\"Bu Başlangıç Paketini zaten satın aldın!\",\"このスターターパックは購入済みです！\",\"이미 초보자 팩을 구매했습니다!\",\"У тебя уже есть начальный пакет!\",\"قمت بشراء مجموعة البدء هذه بالفعل!\",\"Você já comprou este pacote de iniciante!\",\"您已经购买过该新手礼包！\",\"您已經購買過該入門組合包！\",\"قبلاً این بسته مقدماتی رو خریدی!\",\"Paket Pemula ini sudah kamu beli!\",\"Anda sudah membeli Pek Permulaan ini!\"\n\"TID_CHALLENGE_AT_X_WINS\",\"at <VALUE> wins\",\"à <VALUE> victoires\",\"nach <VALUE> Siegen\",\"tras <VALUE> victorias\",\"con <VALUE> vittorie\",\"bij <VALUE> overwinningen\",\"etter <VALUE> seire\",\"<VALUE>. galibiyette\",\"<VALUE>勝\",\"<VALUE>승 시\",\"за победы: <VALUE>.\",\"عند <VALUE> من الانتصارات\",\"com <VALUE> vitórias\",\"胜场<VALUE>\",\"勝場<VALUE>\",\"با<VALUE>پیروزشد\",\"pada <VALUE> kemenangan\",\"pada <VALUE> kemenangan\"\n\"TID_SHOP_STARTER_PACK_ARENA_3\",\"Starter Pack Arena 3\",\"Pack de démarrage Arène 3\",\"Starterpaket - Arena 3\",\"Lote de principiante de arena 3\",\"Pacchetto principiante arena 3\",\"Starterspakket arena 3\",\"Startpakke for arena 3\",\"3. Arena Başlangıç Paketi\",\"スターターパック・アリーナ3\",\"아레나 3 초보자 팩\",\"Начальный Пакет: Арена 3\",\"مجموعة بدء الساحة 3\",\"Pacote de Iniciante Arena 3\",\"3阶竞技场新手礼包\",\"3階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 3\",\"Paket Pemula Arena 3\",\"Pek Permulaan Arena 3\"\n\"TID_SHOP_STARTER_PACK_ARENA_4\",\"Starter Pack Arena 4\",\"Pack de démarrage Arène 4\",\"Starterpaket - Arena 4\",\"Lote de principiante de arena 4\",\"Pacchetto principiante arena 4\",\"Starterspakket arena 4\",\"Startpakke for arena 4\",\"4. Arena Başlangıç Paketi\",\"スターターパック・アリーナ4\",\"아레나 4 초보자 팩\",\"Начальный Пакет: Арена 4\",\"مجموعة بدء الساحة 4\",\"Pacote de Iniciante Arena 4\",\"4阶竞技场新手礼包\",\"4階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 4\",\"Paket Pemula Arena 4\",\"Pek Permulaan Arena 4\"\n\"TID_SHOP_STARTER_PACK_ARENA_5\",\"Starter Pack Arena 5\",\"Pack de démarrage Arène 5\",\"Starterpaket - Arena 5\",\"Lote de principiante de arena 5\",\"Pacchetto principiante arena 5\",\"Starterspakket arena 5\",\"Startpakke for arena 5\",\"5. Arena Başlangıç Paketi\",\"スターターパック・アリーナ5\",\"아레나 5 초보자 팩\",\"Начальный Пакет: Арена 5\",\"مجموعة بدء الساحة 5\",\"Pacote de Iniciante Arena 5\",\"5阶竞技场新手礼包\",\"5階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 5\",\"Paket Pemula Arena 5\",\"Pek Permulaan Arena 5\"\n\"TID_SHOP_STARTER_PACK_ARENA_6\",\"Starter Pack Arena 6\",\"Pack de démarrage Arène 6\",\"Starterpaket - Arena 6\",\"Lote de principiante de arena 6\",\"Pacchetto principiante arena 6\",\"Starterspakket arena 6\",\"Startpakke for arena 6\",\"6. Arena Başlangıç Paketi\",\"スターターパック・アリーナ6\",\"아레나 6 초보자 팩\",\"Начальный Пакет: Арена 6\",\"مجموعة بدء الساحة 6\",\"Pacote de Iniciante Arena 6\",\"6阶竞技场新手礼包\",\"6階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 6\",\"Paket Pemula Arena 6\",\"Pek Permulaan Arena 6\"\n\"TID_SHOP_STARTER_PACK_ARENA_7\",\"Starter Pack Arena 7\",\"Pack de démarrage Arène 7\",\"Starterpaket - Arena 7\",\"Lote de principiante de arena 7\",\"Pacchetto principiante arena 7\",\"Starterspakket arena 7\",\"Startpakke for arena 7\",\"7. Arena Başlangıç Paketi\",\"スターターパック・アリーナ7\",\"아레나 7 초보자 팩\",\"Начальный Пакет: Арена 7\",\"مجموعة بدء الساحة 7\",\"Pacote de Iniciante Arena 7\",\"7阶竞技场新手礼包\",\"7階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 7\",\"Paket Pemula Arena 7\",\"Pek Permulaan Arena 7\"\n\"TID_SHOP_STARTER_PACK_ARENA_8\",\"Starter Pack Arena 8\",\"Pack de démarrage Arène 8\",\"Starterpaket - Arena 8\",\"Lote de principiante de arena 8\",\"Pacchetto principiante arena 8\",\"Starterspakket arena 8\",\"Startpakke for arena 8\",\"8. Arena Başlangıç Paketi\",\"スターターパック・アリーナ8\",\"아레나 8 초보자 팩\",\"Начальный Пакет: Арена 8\",\"مجموعة بدء الساحة 8\",\"Pacote de Iniciante Arena 8\",\"8阶竞技场新手礼包\",\"8階競技場入門組合包\",\"میدان نبرد بسته مقدماتی 8\",\"Paket Pemula Arena 8\",\"Pek Permulaan Arena 8\"\n\"TID_SHOP_STARTER_PACK_ARENA_L\",\"Starter Pack Legendary Arena\",\"Pack de démarrage Arène légendaire\",\"Starterpaket - legendäre Arena\",\"Lote de principiante de arena legendaria\",\"Pacchetto principiante arena leggendaria\",\"Starterspakket legendarische arena\",\"Startpakke for legendarisk arena\",\"Efsanevi Arena Başlangıç Paketi\",\"スターターパック・レジェンドアリーナ\",\"전설 아레나 초보자 팩\",\"Начальный Пакет: Легендарная арена\",\"مجموعة بدء الساحة الأسطورية\",\"Pacote de Iniciante da Arena Lendária\",\"传奇竞技场新手礼包\",\"傳奇競技場入門組合包\",\"میدان نبرد افسانه‌ای\",\"Paket Pemula Arena Legendaris\",\"Pek Permulaan Arena Legenda\"\n\"TID_KING_MAX_LEVEL\",\"Max Level\",\"Niveau maximum\",\"Max. Level\",\"Nivel máximo\",\"Livello massimo\",\"Max. level\",\"Maks nivå\",\"Maks. Seviye\",\"最大レベル\",\"최고 레벨\",\"Макс. уровень\",\"أقصى مستوى\",\"Nível máximo\",\"最高等级\",\"最高等級\",\"سطح حداکثر\",\"Level Maks.\",\"Tahap Maks\"\n\"TID_SHOW_TO_CLAN\",\"Show to your Clan\",\"Montrer au clan\",\"Deinem Clan anzeigen\",\"Mostrar al clan\",\"Mostra al tuo clan\",\"Laten zien aan je clan:\",\"Vis til klanen din\",\"Klanına göster\",\"クランに公開する\",\"클랜에 보여주기\",\"Показать своему клану\",\"إظهار لقبيلتك\",\"Mostrar ao seu clã\",\"部落成员可见\",\"部落成員可見\",\"به قبیله خودت نشون بده\",\"Tunjukkan ke Klanmu\",\"Tunjuk pada Klan anda\"\n\"TID_TOURNAMENT_PRIVATE_PREPARE_END_TIP\",\"Creator can end the 2h preparation anytime.\",\"Le créateur peut mettre fin aux 2 h de préparation à tout moment.\",\"Ersteller kann die 2-stündige Vorbereitung jederzeit beenden.\",\"El creador puede terminar la preparación de 2 h antes de tiempo.\",\"Il creatore può far terminare le 2 ore di preparativi in qualsiasi momento.\",\"De organisator kan de 2 uur voorbereidingstijd op elk moment beëindigen.\",\"Arrangøren kan avslutte den 2 timer lange forberedelsesperioden når som helst.\",\"Kurucu, 2 saatlik hazırlığı istediği zaman sonlandırabilir.\",\"作成者は、2時間の準備時間をいつでも終了させることができます。\",\"생성한 사람은 2시간의 준비 시간을 언제든지 종료할 수 있습니다.\",\"Создатель может завершить 2-х часовую подготовку, когда захочет.\",\"يمكن للصانع إنهاء الاستعداد الذي يمتد لساعتين في أي وقت.\",\"O criador pode encerrar a preparação de 2h a qualquer momento.\",\"创建者可随时结束2小时的准备阶段。\",\"創建者可隨時結束2小時的準備階段。\",\"ایجادکننده می‌تونه هر لحظه 2 ساعت آماده‌سازی رو تموم کنه.\",\"Pembuat dapat mengakhiri persiapan 2j kapan saja.\",\"Pencipta boleh menamatkan persediaan 2j pada bila-bila masa.\"\n\"TID_REFUND_CLAIM\",\"Claim\",\"Récupérer\",\"Einfordern\",\"Recoger\",\"Richiedi\",\"Ophalen\",\"Innkasser\",\"Talep et\",\"受け取る\",\"받기\",\"Забрать\",\"مطالبة\",\"Resgatar\",\"领取\",\"領取\",\"مطالبه\",\"Klaim\",\"Tuntut\"\n\"TID_STARTER_PACK_1\",\"Starter Pack 2\",\"Pack de démarrage 2\",\"Starterpaket 2\",\"Lote de principiante 2\",\"Pacchetto principiante 2\",\"Starterspakket 2\",\"Startpakke 2\",\"2. Başlangıç Paketi\",\"スターターパック2\",\"초보자 팩 2\",\"Начальный Пакет 2\",\"مجموعة البدء 2\",\"Pacote de Iniciante 2\",\"新手礼包2\",\"入門組合包2\",\"بسته مقدماتی 2\",\"Paket Pemula 2\",\"Pek Permulaan 2\"\n\"TID_STARTER_PACK_2\",\"Starter Pack 3\",\"Pack de démarrage 3\",\"Starterpaket 3\",\"Lote de principiante 3\",\"Pacchetto principiante 3\",\"Starterspakket 3\",\"Startpakke 3\",\"3. Başlangıç Paketi\",\"スターターパック3\",\"초보자 팩 3\",\"Начальный Пакет 3\",\"مجموعة البدء 3\",\"Pacote de Iniciante 3\",\"新手礼包3\",\"入門組合包3\",\"بسته مقدماتی 3\",\"Paket Pemula 3\",\"Pek Permulaan 3\"\n\"TID_TIME_LIMITED_OFFER_HAS_ENDED\",\"Time limited offer has ended\",\"L'offre à durée limitée a expiré\",\"Zeitlich begrenztes Angebot ist abgelaufen\",\"¡La oferta limitada ha terminado!\",\"L'offerta limitata è terminata\",\"De tijdelijke aanbieding is verlopen\",\"Det tidsbegrensede tilbudet er avsluttet\",\"Sınırlı süreli teklifin süresi geçti\",\"限定提供は終了しました\",\"한정 특가 판매 종료\",\"Ограниченное предложение закончилось\",\"انتهى العرض محدود الوقت\",\"A oferta por tempo limitado expirou.\",\"限时特惠活动已结束\",\"限時特惠活動已結束\",\"پیشنهاد با زمان محدود به پایان رسید\",\"Penawaran waktu terbatas telah berakhir\",\"Tawaran masa terhad telah tamat\"\n\"TID_STARTER_PACK_3\",\"Starter Pack 4\",\"Pack de démarrage 4\",\"Starterpaket 4\",\"Lote de principiante 4\",\"Pacchetto principiante 4\",\"Starterspakket 4\",\"Startpakke 4\",\"4. Başlangıç Paketi\",\"スターターパック4\",\"초보자 팩 4\",\"Начальный Пакет 4\",\"مجموعة البدء 4\",\"Pacote de Iniciante 4\",\"新手礼包4\",\"入門組合包4\",\"بسته مقدماتی 4\",\"Paket Pemula 4\",\"Pek Permulaan 4\"\n\"TID_STARTER_PACK_4\",\"Starter Pack 5\",\"Pack de démarrage 5\",\"Starterpaket 5\",\"Lote de principiante 5\",\"Pacchetto principiante 5\",\"Starterspakket 5\",\"Startpakke 5\",\"5. Başlangıç Paketi\",\"スターターパック5\",\"초보자 팩 5\",\"Начальный Пакет 5\",\"مجموعة البدء 5\",\"Pacote de Iniciante 5\",\"新手礼包5\",\"入門組合包5\",\"بسته مقدماتی 5\",\"Paket Pemula 5\",\"Pek Permulaan 5\"\n\"TID_STARTER_PACK_5\",\"Starter Pack 6\",\"Pack de démarrage 6\",\"Starterpaket 6\",\"Lote de principiante 6\",\"Pacchetto principiante 6\",\"Starterspakket 6\",\"Startpakke 6\",\"6. Başlangıç Paketi\",\"スターターパック6\",\"초보자 팩 6\",\"Начальный Пакет 6\",\"مجموعة البدء 6\",\"Pacote de Iniciante 6\",\"新手礼包6\",\"入門組合包6\",\"بسته مقدماتی 6\",\"Paket Pemula 6\",\"Pek Permulaan 6\"\n\"TID_STARTER_PACK_6\",\"Starter Pack 7\",\"Pack de démarrage 7\",\"Starterpaket 7\",\"Lote de principiante 7\",\"Pacchetto principiante 7\",\"Starterspakket 7\",\"Startpakke 7\",\"7. Başlangıç Paketi\",\"スターターパック7\",\"초보자 팩 7\",\"Начальный Пакет 7\",\"مجموعة البدء 7\",\"Pacote de Iniciante 7\",\"新手礼包7\",\"入門組合包7\",\"بسته مقدماتی 7\",\"Paket Pemula 7\",\"Pek Permulaan 7\"\n\"TID_SPELL_ZAP_FREEZE\",\"Stun\",\"Étourdissement\",\"Betäubung\",\"Aturdir\",\"Stordimento\",\"Verdoven\",\"Svimeslag\",\"Sersemletme\",\"気絶\",\"마비\",\"Оглушение\",\"صعق\",\"Paralisar\",\"眩晕\",\"暈眩\",\"بی حس\",\"Lumpuh\",\"Pegun\"\n\"TID_SHOP_NOTIFICATION_STARTER_PACK\",\"New Special Offer available in the Shop!\",\"Nouvelle offre spéciale disponible dans le magasin !\",\"Neues Sonderangebot im Shop erhältlich!\",\"¡Nueva oferta especial disponible en la tienda!\",\"Nuova offerta speciale disponibile nel negozio!\",\"Nieuwe speciale aanbieding beschikbaar in de winkel!\",\"Nytt spesialtilbud tilgjengelig i butikken!\",\"Yeni Özel Teklif, Dükkanda!\",\"新たに特別セール品がショップに追加されました！\",\"상점에서 새 특가 상품을 판매 중입니다!\",\"Новинка! В магазине доступно специальное предложение!\",\"عرض خاص جديد متوفر في المتجر!\",\"Nova oferta especial disponível na loja!\",\"商店有新的特惠活动啦！\",\"商店有新的特惠活動啦！\",\"پیشنهاد خاص جدید در فروشگاه در دسترس هست!\",\"Penawaran Spesial Baru tersedia di Toko!\",\"Tawaran Istimewa Baharu tersedia di Kedai!\"\n\"TID_SHOP_NOTIFICATION_EPIC_CHEST\",\"Epic Chest available in the Shop!\",\"Coffre épique disponible dans le magasin !\",\"Epische Truhe im Shop erhältlich!\",\"¡Cofre épico disponible en la tienda!\",\"Baule epico disponibile nel negozio!\",\"Epische kist beschikbaar in de winkel!\",\"Episk kiste tilgjengelig i butikken!\",\"Destansı Sandık, Dükkanda!\",\"スーパーレア宝箱がショップに追加されました！\",\"상점에서 영웅 상자를 구매할 수 있습니다!\",\"В магазине появился эпический сундук!\",\"صندوق ممتاز متاح في المتجر!\",\"Baú épico disponível na loja!\",\"商店有史诗宝箱啦！\",\"商店有史詩寶箱啦！\",\"صندوقچه حماسی در فروشگاه در دسترس هست!\",\"Peti Epik tersedia di Toko!\",\"Peti Epik tersedia di Kedai!\"\n\"TID_SHOP_NOTIFICATION_LEGENDARY_CHEST\",\"Legendary Chest available in the Shop!\",\"Coffre légendaire disponible dans le magasin !\",\"Legendäre Truhe im Shop erhältlich!\",\"¡Cofre legendario disponible en la tienda!\",\"Baule leggendario disponibile nel negozio!\",\"Legendarische kist beschikbaar in de winkel!\",\"Legendarisk kiste tilgjengelig i butikken!\",\"Efsanevi Sandık, Dükkanda!\",\"ウルトラレア宝箱がショップに追加されました！\",\"상점에서 전설 상자를 구매할 수 있습니다!\",\"В магазине появился легендарный сундук!\",\"صندوق أسطوري متاح في المتجر!\",\"Baú lendário disponível na loja!\",\"商店有传奇宝箱啦！\",\"商店有傳奇寶箱啦！\",\"صندوقچه افسانه‌ای در فروشگاه در دسترس هست!\",\"Peti Legendaris tersedia di Toko!\",\"Peti Legenda tersedia di Kedai!\"\n\"TID_SHOP_SPECIAL_OFFER_TOOLTIP\",\"Special Offer Available\",\"Offre spéciale disponible\",\"Sonderangebot erhältlich\",\"Oferta especial disponible\",\"Offerta speciale disponibile\",\"Speciale aanbieding beschikbaar\",\"Spesialtilbud tilgjengelig\",\"Özel Teklif Mevcut\",\"特別提供品が購入可能です\",\"특가 상품 판매 중\",\"Появилось специальное предложение\",\"عرض خاص متاح\",\"Oferta especial disponível\",\"特惠活动开始啦！\",\"特惠活動開始啦！\",\"پیشنهاد خاص جدید در دسترس هست\",\"Penawaran Spesial Tersedia\",\"Tawaran Istimewa Tersedia\"\n\"TID_CAPACITY\",\"Capacity\",\"Capacité\",\"Kapazität\",\"Capacidad\",\"Capacità\",\"Capaciteit\",\"Kapasitet\",\"Kapasite\",\"プレイヤー数\",\"수용량\",\"Количество\",\"السعة\",\"Capacidade\",\"最大参赛人数\",\"最大參賽人數\",\"گنجایش\",\"Kapasitas\",\"Kapasiti\"\n\"TID_PREPARATION\",\"Preparation\",\"Préparation\",\"Vorbereitung\",\"Preparación\",\"Preparativi\",\"Voorbereiding\",\"Forberedelse\",\"Hazırlık\",\"準備\",\"준비\",\"Подготовка\",\"الاستعداد\",\"Preparação\",\"准备阶段\",\"準備階段\",\"آماده​سازی\",\"Persiapan\",\"Persediaan\"\n\"TID_DURATION\",\"Duration\",\"Durée\",\"Dauer\",\"Duración\",\"Durata\",\"Duur\",\"Varighet\",\"Süre\",\"時間\",\"지속 시간\",\"Длительность\",\"المدة\",\"Duração\",\"时长\",\"時間\",\"مدت\",\"Durasi\",\"Tempoh\"\n\"TID_SHOP_SPECIAL_OFFER_ARENA_REPEAT\",\"An offer you missed from <arena>\",\"Offre manquée de l'<arena>\",\"In <arena> verpasstes Angebot\",\"Una oferta de <arena> que te perdiste.\",\"Un'offerta riproposta da <arena>\",\"Een <arena>-aanbieding die je hebt gemist\",\"Et tilbud du gikk glipp av fra <arena>\",\"<arena> arenasından kaçırdığın bir teklif\",\"<arena>で取得しなかった特別セール品\",\"<arena>에서 놓친 특가 상품\",\"Пропущенное предложение: <arena>\",\"لقد فوت عرض من <arena>\",\"Você perdeu uma oferta da <arena>.\",\"您错过的<arena>礼包\",\"您錯過的<arena>組合包\",\"پیشنهاد مربوط به <arena> که از دست دادی\",\"Penawaran yang kamu lewatkan dari <arena>\",\"Tawaran yang anda terlepas dari <arena>\"\n\"TID_CHALLENGE_HAS_ENDED\",\"Challenge has ended\",\"Défi terminé\",\"Herausforderung ist zu Ende\",\"¡El desafío ha terminado!\",\"La sfida è terminata!\",\"Uitdaging is afgelopen\",\"Utfordringen er over\",\"Mücadele bitti\",\"チャレンジは終了しました\",\"도전이 종료되었습니다.\",\"Испытание окончено\",\"انتهى التحدي\",\"Desafio encerrado\",\"本次挑战已结束\",\"本次挑戰已結束\",\"مبارزه‌طلبی تموم شده\",\"Tantangan telah berakhir\",\"Cabaran telah tamat\"\n\"TID_LEGENDARIES\",\"Legendaries\",\"Légendaires\",\"Legendäre\",\"Legendarios\",\"Leggendarie\",\"Legendarische\",\"Legendariske\",\"Efsaneviler\",\"ウルトラレア\",\"전설\",\"Легендарные\",\"عناصر أسطورية\",\"Lendárias\",\"传奇卡\",\"傳奇卡\",\"افسانه‌ای\",\"Legendaris\",\"Legenda\"\n\"TID_CHEST_LEGENDARY_CARD_COUNT\",\"x1\",\"x1\",\"x1\",\"x1\",\"x1\",\"1x\",\"x1\",\"1 adet\",\"x1\",\"x1\",\"х1\",\"x1\",\"x1\",\"x1\",\"x1\",\"x1\",\"x1\",\"x1\"\n\"TID_FRIENDS_ONLINE\",\"Friends online: <NUMBER>\",\"Amis en ligne : <NUMBER>\",\"Freunde online: <NUMBER>\",\"Amigos conectados: <NUMBER>\",\"Amici online: <NUMBER>\",\"Vrienden online: <NUMBER>\",\"Venner pålogget: <NUMBER>\",\"Çevrimiçi arkadaşlar: <NUMBER>\",\"オンライン状態のフレンド：<NUMBER>\",\"온라인 친구: <NUMBER>\",\"Друзей в сети: <NUMBER>\",\"الأصدقاء المتصلون: <NUMBER>\",\"Amigos on-line: <NUMBER>\",\"在线好友：<NUMBER>\",\"線上好友：<NUMBER>\",\"دوستان آنلاین: <NUMBER>\",\"Teman online: <NUMBER>\",\"Rakan dalam talian: <NUMBER>\"\n\"TID_LEGENDAARY_CHEST_CONTAIN_ALL_ARENA\",\"Contains a Legendary Card from any Arena!\",\"Contient une carte légendaire de n'importe quelle arène !\",\"Enthält eine legendäre Karte aus einer zufälligen Arena!\",\"¡Contiene una carta legendaria de cualquier arena!\",\"Contiene una carta leggendaria di un'arena qualsiasi!\",\"Bevat een legendarische kaart van een willekeurige arena!\",\"Inneholder et legendarisk kort fra en av arenaene!\",\"Herhangi bir Arenadan bir Efsanevi Kart içerir!\",\"アリーナレベルを問わず、ウルトラレアカードが入っています！\",\"모든 아레나의 전설 카드 중 한 장이 들어있습니다!\",\"Внутри может быть Легендарная карта с любой Арены!\",\"تحتوي على بطاقة أسطورية من أي ساحة!\",\"Contém uma carta lendária de qualquer arena!\",\"藏有一张可能来自任意等级竞技场的传奇卡！\",\"藏有一張可能來自任意等級競技場的傳奇卡！\",\"شامل یک کارت افسانه‌ای از هر میدان نبردی هست!\",\"Berisi Kartu Legendaris dari Arena mana pun!\",\"Mengandungi Kad Legenda dari sebarang Arena!\"\n\"TID_LEGNDARY_SINGLE\",\"Legendary\",\"Légendaire\",\"Legendär\",\"Legendario\",\"Leggendaria\",\"Legendarisch\",\"Legendarisk\",\"Efsanevi\",\"ウルトラレア\",\"전설\",\"Легендарная\",\"أسطوري\",\"Lendária\",\"传奇卡\",\"傳奇卡\",\"افسانه‌ای\",\"Legendaris\",\"Legenda\"\n\"TID_VALUE\",\"VALUE\",\"VALEUR\",\"WERT\",\"VALOR\",\"VALORE\",\"VOORDEEL\",\"VERDI\",\"DEĞERİ\",\"価値\",\"가치\",\"ЦЕННОСТЬ\",\"القيمة\",\"BARGANHA\",\"超值\",\"超值\",\"مقدار\",\"NILAI\",\"NILAI\"\n\"TID_COMMONS_ONLY\",\"Commons only\",\"Communes uniquement\",\"Nur gewöhnliche\",\"Solo comunes\",\"Solo comuni\",\"Alleen gewone\",\"Bare vanlige\",\"Sadece Sıradanlar\",\"ノーマルのみ\",\"일반 한정\",\"Только обычные\",\"عادية فقط\",\"Somente comuns\",\"仅有普通卡\",\"僅有普通卡\",\"فقط موارد عادی\",\"Hanya Umum\",\"Biasa sahaja\"\n\"TID_STARTER_PACK_VALUE_MULTIPLIER\",\"X<MULTIPLIER>\",\"X<MULTIPLIER>\",\"X <MULTIPLIER>\",\"X<MULTIPLIER>\",\"X<MULTIPLIER>\",\"X <MULTIPLIER>\",\"X<MULTIPLIER>\",\"X<MULTIPLIER>\",\"×<MULTIPLIER>\",\"X <MULTIPLIER>\",\"X <MULTIPLIER>\",\"X<MULTIPLIER>\",\"X <MULTIPLIER>\",\"<MULTIPLIER>倍\",\"<MULTIPLIER>倍\",\"X<MULTIPLIER>\",\"X<MULTIPLIER>\",\"X<MULTIPLIER>\"\n\"TID_TYPE_A_TOURNAMENT_TAG\",\"Type a tournament name or tag...\",\"Entrez un nom ou identifiant de tournoi...\",\"Gib den Turniernamen oder das -kürzel ein ...\",\"Escribe el nombre o la etiqueta del torneo...\",\"Digita un nome o una tag del torneo...\",\"Typ een toernooinaam of tag...\",\"Skriv inn et turneringsnavn eller -tagg.\",\"Bir turnuva adı veya etiketi gir...\",\"大会タグか大会名を入力してください...\",\"토너먼트 이름 또는 태그를 입력해 주세요.\",\"Введи тег или название турнира...\",\"اكتب اسم أو شعار البطولة...\",\"Digite um nome ou tag de torneio...\",\"输入锦标赛名称或标签......\",\"輸入聯賽名稱或標籤......\",\"نام یک مسابقه یا برچسب رو تایپ کن...\",\"Ketik nama atau tag turnamen...\",\"Taipkan nama atau tag pertandingan...\"\n\"TID_HINT_CHEST_EPIC\",\"Epic Chests can be won from battle, but they're incredibly rare!\",\"Les combats peuvent rapporter des coffres épiques, mais ils sont extrêmement rares !\",\"Epische Truhen können im Kampf gewonnen werden - aber sie sind ungemein selten!\",\"Los cofres épicos se pueden obtener en las batallas, ¡pero es dificilísimo encontrarlos!\",\"Puoi vincere bauli epici in battaglia, ma sono incredibilmente rari!\",\"Je kunt epische kisten winnen in gevechten, maar ze zijn uitzonderlijk zeldzaam!\",\"Du kan vinne episke kister i kamp, men de er ekstremt sjeldne!\",\"Destansı Sandıklar savaşlardan kazanılır ancak son derece enderdirler!\",\"スーパーレア宝箱はバトルで手に入ることも\\nありますが、滅多に手に入りません！\",\"전투에서 영웅 상자를 얻을 수는 있지만 확률이 극단적으로 낮습니다!\",\"Эпический сундук можно выиграть в бою, но они очень редкие!\",\"يمكن ربح الصناديق الممتازة من المعارك، لكنها نادرة للغاية!\",\"Os baús épicos podem ser obtidos em batalhas, mas são extremamente raros!\",\"您可以在对战中赢取史诗宝箱，但这种宝箱非常罕见！\\n关注官方微信服务号cr-kefu和订阅号crsupercell\",\"您可以在對戰中贏取史詩寶箱，但這種寶箱非常罕見！\",\"صندوقچه‌های حماسی رو می‌تونی از طریق نبرد به دست بیاری، اما به طرز شگفت‌آوری نایاب هستند!\",\"Peti Epik dapat dimenangkan dari pertempuran, tetapi sangat langka!\",\"Peti Epik boleh dimenangi daripada pertempuran, tetapi sangat jarang!\"\n\"TID_HINT_GRAVEYARD\",\"The Graveyard spell starts a surprise Skeleton party anywhere in the Arena. Yay!\",\"Le sort du cimetière déclenche une fête surprise des squelettes n'importe où dans l'arène. Youpi !\",\"Der Friedhofzauber startet an einer beliebigen Stelle in der Arena eine Überraschungsparty mit Skeletten! Juhu!\",\"El hechizo de cementerio libera a un grupo de esqueletos en cualquier lugar de la arena. ¡Fiesta!\",\"L'incantesimo Cimitero organizza una festa a sorpresa di scheletri in un punto qualsiasi dell'arena. Evviva!\",\"Met de kerkhofspreuk wordt er op een willekeurige plek in de arena een skeletfeestje gevierd! Jippie!\",\"Gravplassformelen starter en overraskende skjelettfest over hele arenaen. Jippi!\",\"Mezarlık büyüsü Arena'nın herhangi bir yerinde sürpriz bir İskelet partisi başlatır. Oley!\",\"スケルトンラッシュの呪文を使うと、アリーナのあらゆる場所でスケルトンのパーティーを開催できます。イェーイ！\",\"무덤 마법을 사용하면 아레나 어디에서든 해골 파티를 열 수 있습니다!\",\"Заклинание «Кладбище» запускает вечеринку скелетов в любом месте Арены. Круть!\",\"تبدأ تعويذة المقبرة بحفل مفاجئ للهيكل العظمي في أي مكان بالساحة. مرحى!\",\"O Cemitério faz uma festa de Esqueletos em qualquer lugar da arena! Oba!\",\"使用骷髅召唤可在竞技场中任意地点举办一场令人意想不到的骷髅派对，哇哦！\",\"使用骷髏召喚可在競技場中任意地點舉辦一場令人意想不到的骷髏派對，耶！\",\"طلسم قبرستان یک جشن اسکلتی شگفت‌آور رو در هر جایی از این ناحیه شروع می‌کنه. عالیه!\",\"Mantra Kuburan memulai pesta Jerangkong kejutan di mana saja di Arena. Hore!\",\"Sihir Tanah Perkuburan memulakan parti Rangka mengejutkan di mana-mana dalam Arena. Yeay!\"\n\"TID_NOTIFICATION_CARD_RELEASE\",\"New card released! <CARD_NAME> now available.\",\"Nouvelle carte à découvrir ! <CARD_NAME> désormais disponible.\",\"Neue Karte veröffentlicht! <CARD_NAME> ist jetzt verfügbar.\",\"¡Nueva carta! Ya disponible: <CARD_NAME>.\",\"Rilasciata nuova carta! <CARD_NAME> è ora disponibile.\",\"Nieuwe kaart uitgebracht! Nu beschikbaar: <CARD_NAME>\",\"Nytt kort sluppet! <CARD_NAME> er nå tilgjengelig.\",\"Yeni kart çıktı! <CARD_NAME> şimdi kullanılabilir.\",\"新カードが追加されました！ <CARD_NAME>が入手可能です。\",\"새 카드 공개! 이제 <CARD_NAME> 카드 획득이 가능합니다.\",\"Доступна новая карта! <CARD_NAME> уже в игре, попробуй!\",\"تم إصدار بطاقة جديدة! <CARD_NAME>متاحة الآن.\",\"Nova carta lançada! <CARD_NAME> agora está disponível!\",\"有新卡牌了！<CARD_NAME>现已推出。\",\"有新卡牌了！<CARD_NAME>現已推出。\",\"کارت جدید آزاد شد! <CARD_NAME> الآن در دسترسه.\",\"Kartu baru dirilis! <CARD_NAME> kini tersedia.\",\"Kad baharu dikeluarkan! <CARD_NAME> kini tersedia.\"\n\"TID_SUPPORT_PRODUCT_RED\",\"Support (PRODUCT)RED™\",\"Soutenez (PRODUCT)RED™\",\"(PRODUCT)RED™ unterstützen\",\"Colabora con (PRODUCT)RED™\",\"Sostieni (PRODUCT)RED™\",\"Steun PRODUCT(RED)™\",\"Støtt (PRODUCT)RED™\",\"(PRODUCT)RED™'i Destekle\",\"(PRODUCT)RED™を支援しましょう\",\"(PRODUCT)RED™ 지원\",\"Поддержите (PRODUCT)RED™\",\"ادعم (PRODUCT)RED™\",\"Ajude a (PRODUCT)RED™\",\"支持 (PRODUCT)RED™\",\"支持 (PRODUCT)RED™\",\"پشتیبانی (محصول)™RED\",\"Dukung (PRODUCT)RED™\",\"SOKONGAN (PRODUCT)RED™\"\n\"TID_PLAY_RED_GIVE_LIFE\",\"Play (RED). Give Life.\",\"Jouez avec (RED). Donnez de la vie.\",\"Spiel mit (RED). Rette Leben.\",\"Apoya a (RED) y da vida.\",\"Gioca con (RED). Dona la vita.\",\"Speel (RED). Schenk levens.\",\"Spill (RED). Gi liv.\",\"(RED) Oyna. Can Ver.\",\"(RED)でプレイして命を救おう。\",\"(RED)를 플레이하고 생명을 살리세요.\",\"Играй с (RED). Дари жизнь.\",\"العب (RED). امنح الحياة.\",\"Jogue com a (RED). Dê vida.\",\"支持(RED)，以爱抗艾\",\"支持(RED)，以愛抗愛\",\"بازی کن (سرخ). زندگی ببخش.\",\"Mainkan (RED). Berikan Nyawa.\",\"Bermain (RED). Berikan Nyawa.\"\n\"TID_PRODUCT_RED_BOUGHT_SUCCESSFULLY_1\",\"(HERO PACK)RED Purchase Successful\",\"(PACK HÉROS)RED : achat réussi\",\"Kauf von (HELDENPAKET)RED erfolgreich\",\"Compra de (LOTE DE HÉROE)RED realizada\",\"(PACCHETTO EROE)RED: acquisto effettuato\",\"(HELDENPAKKET)RED gekocht\",\"Du har kjøpt (HELTEPAKKE)RED\",\"(KAHRAMAN PAKETİ)RED Satın Alımı Başarılı Oldu\",\"(ヒーローパック)REDを購入しました\",\"(영웅 팩)RED 구매 성공\",\"(ГЕРОЙСКИЙ НАБОР)RED успешно приобретен\",\"(حزمة البطل)RED تم الشراء بنجاح\",\"(PACOTE DE HERÓI)RED comprado\",\"成功购买(英雄礼包)RED\",\"成功購買(英雄組合包)RED\",\"(دست قهرمان) خرید RED موفق بود\",\"Pembelian (PAKET PAHLAWAN)RED Berhasil\",\"Pembelian (PEK WIRA)RED Berjaya\"\n\"TID_PRODUCT_RED_BOUGHT_SUCCESSFULLY_2\",\"(GEM PACK)RED Purchase Successful\",\"(PACK DE GEMMES)RED : achat réussi\",\"Kauf von (JUWELENPAKET)RED erfolgreich\",\"Compra de (LOTE DE GEMAS)RED realizada\",\"(PACCHETTO GEMME)RED: acquisto effettuato\",\"(EDELSTEENPAKKET)RED gekocht\",\"Du har kjøpt (JUVELPAKKE)RED\",\"(TAŞ PAKETİ)RED Satın Alımı Başarılı Oldu\",\"(エメラルドパック)REDを購入しました\",\"(보석 팩)RED 구매 성공\",\"(НАБОР КРИСТАЛЛОВ)RED успешно приобретен\",\"(حزمة جواهر)RED تم الشراء بنجاح\",\"(PACOTE DE GEMA)RED comprado\",\"成功购买(宝石礼包)RED\",\"成功購買(寶石組合包)RED\",\"(بسته جواهر) خرید RED موفق بود\",\"Pembelian (PAKET PERMATA)RED Berhasil\",\"Pembelian (PEK PERMATA)RED Berjaya\"\n\"TID_LEVEL_CHANGES\",\"Level Changes!\",\"Modifications des niveaux !\",\"Leveländerungen!\",\"¡Cambios en los niveles!\",\"Cambiamenti nei livelli!\",\"Levelwijzigingen!\",\"Nivåendringer!\",\"Seviye Değişiklikleri!\",\"レベルの変更！\",\"레벨 변경!\",\"Появились новые уровни!\",\"تعديلات المستوى!\",\"Alterações de níveis!\",\"等级调整！\",\"等級調整！\",\"تغییرات سطح!\",\"Perubahan Level!\",\"Tahap Berubah!\"\n\"TID_LEVEL_CHANGE_TXT_01\",\"Smoother Upgrade Progression\",\"Progression plus régulière des améliorations\",\"Fließenderer Fortschritt\",\"Progresión de mejoras más fluida\",\"Progressione più omogenea\",\"Soepelere upgradevoortgang\",\"Enklere fremdrift på oppgraderinger\",\"Daha Hızlı Yükseltme\",\"成長がよりスムーズに\",\"더욱 원활한 업그레이드 진행\",\"Улучшение стало логичнее\",\"تقدم ترقية أكثر سلاسة\",\"Melhor progresso no jogo\",\"升级过程更加平滑\",\"升級過程更加平滑\",\"پیشرفت ارتقاء آرام‌تر\",\"Kemajuan Peningkatan Lebih Mulus\",\"Perkembangan Naik Thp Lebih Lancar\"\n\"TID_LEVEL_CHANGE_TXT_02\",\"We've added some card upgrade levels\\nto make progression feel smoother.\",\"Nous avons ajouté des niveaux à certaines cartes\\npour que leur progression soit plus régulière.\",\"Wir haben neue Verbesserungslevel für Karten\\nhinzugefügt, um den Übergang fließender zu gestalten.\",\"Se han añadido algunos niveles de mejora de cartas\\npara que la progresión sea más fluida.\",\"Abbiamo aggiunto dei livelli di miglioramento carte\\nper rendere la progressione più omogenea.\",\"We hebben een aantal upgradelevels toegevoegd aan\\nde kaarten, zodat de voortgang soepeler verloopt.\",\"Vi har lagt til noen kortoppgraderingsnivåer\\nslik at fremdriften skal føles enklere.\",\"Daha hızlı ilerleyebilmen için\\nbazı kart yükseltme seviyeleri ekledik.\",\"カードがよりスムーズに成長するように\\nアップグレードのレベルを増やしました。\",\"진행이 보다 원활해질 수 있도록\\n일부 카드에 레벨을 추가했습니다.\",\"Мы добавили несколько уровней улучшений карт,\\nчтобы продвижение в игре шло более плавно.\",\"أضفنا بعض المستويات لترقية البطاقات\\nلنجعل التقدم أكثر سلاسة.\",\"Adicionamos alguns níveis de melhorias de cartas\\npor um mellhor progresso.\",\"我们新增了一些卡牌等级\\n以使升级过程更为平滑。\",\"我們新增了一些卡牌等級\\n以使升級過程更為平滑。\",\"ما چند سطح ارتقاء کارت اضافه کردیم\\nتا احساس کنید پیشرفت آرام‌تر اتفاق میوفتد.\",\"Kami telah menambahkan beberapa level peningkatan kartu\\nagar kemajuan terasa lebih mulus.\",\"Kami telah menambah beberapa tahap naik taraf kad\\nuntuk membuatkan perkembangan lebih lancar.\"\n\"TID_LEVEL_CHANGE_TXT_03\",\"Each level, after Tournament Rules,\\nrequire less CARDS and less GOLD!\",\"Chaque niveau, suivant le règlement des tournois,\\nnécessite moins de CARTES et d'OR !\",\"Nach dem Turniermaximum brauchst du\\nfür jedes Level weniger KARTEN und weniger GOLD!\",\"Cada nivel, más allá de las reglas del torneo,\\nrequiere menos cartas y oro.\",\"Ogni livello superiore a quelli da torneo\\nrichiede meno CARTE e meno ORO!\",\"Voor elk level zijn er, na de toernooiregels,\\nminder KAARTEN en minder GOUD nodig!\",\"Hvert nivå - etter turneringsreglene -\\nkrever færre KORT og mindre GULL!\",\"Turnuva Kurallarıyla her seviye bir öncekinden\\ndaha az KART ve daha az ALTIN gerektirir!\",\"レベルが大会レベルを超えると、\\n必要なカード数やゴールドが低くなります！\",\"토너먼트 규칙 이후 각 레벨은\\n더 적은 카드와 골드를 필요로 합니다!\",\"Согласно Правилам турнира, каждый новый уровень\\nтребует меньше КАРТ и ЗОЛОТА!\",\"كل مستوى، بعد قواعد البطولة،\\nيتطلب الحصول على عدد أقل من البطاقات والذهب!\",\"Cada nível, depois das Regras do Torneio,\\nexige menos CARTAS e menos OURO!\",\"高于锦标赛等级上限的各个卡牌等级\\n升级所需的卡牌和金币数量降低！\",\"高於聯賽等級上限的各個卡牌等級\\n升級所需的卡牌和金幣數量降低！\",\"هر سطح، با توجه به قوانین مسابقه،\\nبه کارت و طلای کمتری احتیاج داره.\",\"Di setiap level, setelah Aturan Turnamen,\\nmemerlukan KARTU dan EMAS lebih sedikit!\",\"Selepas Peraturan Pertandingan dilancarkan, setiap tahap\\nkurang memerlukan KAD dan EMAS!\"\n\"TID_LEVEL_CHANGE_TXT_04\",\"Example with COMMON CARD levels\",\"Exemple avec les niveaux des CARTES COMMUNES\",\"Beispiel mit GEWÖHNLICHEN KARTEN\",\"Ejemplo con niveles de cartas comunes\",\"Esempio con livelli di CARTA COMUNE\",\"Voorbeeld met levels van GEWONE KAARTEN\",\"Eksempel med nivåer med VANLIGE KORT\",\"SIRADAN KART seviyelerine örnek\",\"ノーマルカードにおけるレベルの例\",\"일반 카드 레벨에서의 예시\",\"Давайте рассмотрим это на примере ОБЫЧНОЙ КАРТЫ.\",\"مثال على مستويات بطاقة عادية\",\"Exemplo com CARTAS COMUNS\",\"以普通卡的等级为例\",\"以普通卡的等級為例\",\"مثال با سطح‌های کارت عادی\",\"Contoh dengan level KARTU UMUM\",\"Contoh dengan tahap KAD BIASA\"\n\"TID_PROGRESS_INFO_OLD\",\"OLD\",\"ANCIEN\",\"ALT\",\"ANTES\",\"VECCHIO\",\"OUD\",\"GAMMEL\",\"ESKİ\",\"旧\",\"이전\",\"РАНЬШЕ\",\"قديم\",\"ANTES\",\"以前\",\"以前\",\"قدیمی\",\"LAMA\",\"LAMA\"\n\"TID_PROGRESS_INFO_NEW\",\"NEW\",\"NOUVEAU\",\"NEU\",\"AHORA\",\"NUOVO\",\"NIEUW\",\"NY\",\"YENİ\",\"新\",\"신규\",\"ТЕПЕРЬ\",\"جديد\",\"AGORA\",\"现在\",\"現在\",\"جدید\",\"BARU\",\"BAHARU\"\n\"TID_PROGRESS_INFO_TOURNAMENT_CAP\",\"Tournament\\nCap\",\"Limite\\nde tournoi\",\"Turnier-\\nlimit\",\"Límite\\nde torneo\",\"Limite\\ntorneo\",\"Toernooi-\\nlimiet\",\"Nivågrense\\nfor turnering\",\"Turnuva\\nKapasitesi\",\"大会\\n制限\",\"토너먼트\\n제한\",\"Турнирные\\nограничения\",\"حدود\\nالبطولة\",\"Limites\\ndo Torneio\",\"锦标赛\\n等级上限\",\"聯賽\\n等級上限\",\"کلاه\\nمسابقه\",\"Batas\\nTurnamen\",\"Tukup\\nPertandingan\"\n\"TID_PROGRESS_INFO_MAX_LEVEL\",\"Max\\nLevel\",\"Niveau\\nmaximum\",\"Max.\\nLevel\",\"Nivel\\nmáximo\",\"Livello\\nmassimo\",\"Max.\\nlevel\",\"Maks\\nnivå\",\"Maksimum\\nSeviye\",\"最大\\nレベル\",\"최대\\n레벨\",\"Макс.\\nуровень\",\"أقصى\\nمستوى\",\"Nível\\nmáx.\",\"最高\\n等级\",\"最高\\n等級\",\"سطح\\nحداکثر\",\"Level\\nMaks.\",\"Tahap\\nMaks\"\n\"TID_LEVEL_CHANGE_TXT_05\",\"The total of CARDS and GOLD needed\\nto MAX LEVEL remains the same as before.\",\"Le total de CARTES et d'OR nécessaires pour\\natteindre le NIVEAU MAXIMUM reste inchangé.\",\"Die Gesamtmenge an KARTEN und GOLD\\nbis zum HÖCHSTLEVEL bleibt dieselbe.\",\"El número total de cartas y oro necesario\\npara subir al nivel máximo sigue siendo el mismo.\",\"Il totale di CARTE e ORO necessario\\nper il LIVELLO MASSIMO rimane lo stesso di prima.\",\"Het totale aantal KAARTEN en GOUD dat is vereist\\nom het MAXIMALE LEVEL te bereiken, blijft onveranderd.\",\"Det totale antallet KORT og GULL som trenges\\nfor å nå MAKS NIVÅ, er det samme som før.\",\"SEVİYEYİ MAKSİMUMA ÇIKARMAK için\\ngereken toplam KART ve ALTIN miktarı aynıdır.\",\"最高レベルまでに必要なカード数とゴールドの\\n総計は、これまでと変わりません。\",\"최대 레벨을 달성하는 데 필요한\\n카드와 골드는 이전과 동일합니다.\",\"Но общее количество КАРТ и ЗОЛОТА, необходимое для\\nулучшения до МАКСИМАЛЬНОГО уровня, не изменилось.\",\"إجمالي البطاقات والذهب المطلوب\\nلأقصى مستوى يظل كما كان سابقًا.\",\"O total de CARTAS e OURO necessários para\\no NÍVEL MÁX continua o mesmo de antes.\",\"升至最高等级\\n所需的卡牌和金币总量保持不变。\",\"升至最高等級\\n所需的卡牌和金幣總量保持不變。\",\"مجموع کارت‌ها و طلای مورد نیاز\\nبرای بالا بردن تا سطح حداکثر مثل قبل باقی میمونه.\",\"Total KARTU dan EMAS yang diperlukan\\nuntuk LEVEL MAKS tetap sama seperti sebelumnya.\",\"Jumlah KAD dan EMAS diperlukan\\nke TAHAP MAKS kekal sama seperti sebelum ini.\"\n\"TID_LEVEL_CHANGE_TXT_06\",\"Your CARD COLLECTION has been adjusted to match the new system!\",\"Votre COLLECTION DE CARTES a été ajustée selon le nouveau système !\",\"Deine KARTENSAMMLUNG wurde an das neue System angepasst!\",\"¡Se ha adaptado tu colección de cartas al nuevo sistema!\",\"La tua COLLEZIONE CARTE è stata regolata per adeguarsi al nuovo sistema!\",\"Je KAARTVERZAMELING is aangepast aan het nieuwe systeem!\",\"KORTSAMLINGEN din er blitt justert for å passe i det nye systemet!\",\"KART KOLEKSİYONUN yeni sisteme göre düzenlendi!\",\"あなたのカードコレクションは、新システムの導入に合わせて調整されました！\",\"새 시스템에 맞춰\\n카드 컬렉션도 변경되었습니다!\",\"Настройки КОЛЛЕКЦИИ КАРТ изменены в соответствии с новой системой!\",\"تم تعديل مجموعة بطاقاتك لتلائم النظام الجديد!\",\"Sua COLEÇÃO DE CARTAS foi ajustada para se adaptar ao novo sistema.\",\"您的牌库已经自动进行了调整以适应新的系统！\",\"您的牌庫已經自動進行了調整以適應新的系統！\",\"مجموعه کارت شما تنظیم شده تا با سیستم جدید مطابقت داشته باشه!\",\"KOLEKSI KARTU milikmu telah disesuaikan dengan sistem baru!\",\"KOLEKSI KAD anda telah diubah suai untuk dipadankan dengan sistem baharu!\"\n\"TID_PROGRESS_UPDATED\",\"Progress Updated!\",\"Progression mise à jour !\",\"Fortschritt aktualisiert!\",\"¡Progreso actualizado!\",\"Progressi aggiornati!\",\"Voortgang bijgewerkt!\",\"Fremdrift oppdatert!\",\"İlerleme Güncellendi!\",\"進行状況を更新しました！\",\"진행 상황 업데이트!\",\"Прогресс обновлен!\",\"تم تحديث التقدم!\",\"Progresso atualizado!\",\"卡牌升级系统已更新！\",\"卡牌升級系統已更新！\",\"پیشرفت به‌روز شد!\",\"Kemajuan Diperbarui!\",\"Perkembangan Dikemas Kini!\"\n\"TID_OLD_PROGRESS\",\"OLD PROGRESS\",\"ANCIENNE PROGRESSION\",\"ALTER FORTSCHRITT\",\"PROGRESO ANTES\",\"VECCHI PROGRESSI\",\"OUDE VOORTGANG\",\"GAMMEL FREMDRIFT\",\"ESKİ İLERLEME\",\"古い進行状況\",\"이전 진행 상황\",\"РАНЬШЕ\",\"التقدم القديم\",\"PROGRESSO ANTIGO\",\"以前的卡牌升级系统\",\"以前的卡牌升級系統\",\"پیشرفت قدیم\",\"KEMAJUAN LAMA\",\"PERKEMBANGAN LAMA\"\n\"TID_NEW_PROGRESS\",\"NEW PROGRESS\",\"NOUVELLE PROGRESSION\",\"NEUER FORTSCHRITT\",\"PROGRESO AHORA\",\"NUOVI PROGRESSI\",\"NIEUWE VOORTGANG\",\"NY FREMDRIFT\",\"YENİ İLERLEME\",\"新しい進行状況\",\"새 진행 상황\",\"ТЕПЕРЬ\",\"التقدم الجديد\",\"PROGRESSO NOVO\",\"现在的卡牌升级系统\",\"現在的卡牌升級系統\",\"پیشرفت جدید\",\"KEMAJUAN BARU\",\"PERKEMBANGAN BAHARU\"\n\"TID_GOLD_REFUND\",\"Gold Refund\",\"Remboursement d'or\",\"Goldrückerstattung\",\"Reembolso de oro\",\"Rimborso in oro\",\"Goudrestitutie\",\"Gullrefusjon\",\"Altın İadesi\",\"ゴールドの払い戻し\",\"골드 환불\",\"Компенсация золота\",\"استرداد الذهب\",\"Reembolso de ouro\",\"金币退还\",\"金幣退還\",\"بازپرداخت طلا\",\"Pengembalian Emas\",\"Bayaran Balik Emas\"\n\"TID_TOWER_AND_GEMS_PACK_RED\",\"(TOWER AND GEM)RED\",\"(TOUR ET GEMMES)RED\",\"(TURM UND JUWELEN)RED\",\"(TORRE Y GEMAS)RED\",\"(TORRE E GEMME)RED\",\"(TOREN EN EDELSTEEN)RED\",\"(TÅRN OG JUVEL)RED\",\"(KULE VE TAŞ)RED\",\"(タワーおよびエメラルド)RED\",\"(타워 및 보석)RED\",\"(БАШНЯ И КРИСТАЛЛЫ)RED\",\"(برج وجوهرة)RED\",\"(TORRE E GEMA)RED\",\"(护卫塔+宝石)RED\",\"(護衛塔+寶石)RED\",\"(برج و جواهر)سرخ\",\"(BENTENG DAN PERMATA)RED\",\"(MENARA DAN PERMATA)RED\"\n\"TID_GEMS_PACK_RED\",\"(POUCH OF GEMS)RED\",\"(SAC DE GEMMES)RED\",\"(BEUTEL JUWELEN)RED\",\"(BOLSA DE GEMAS)RED\",\"(BORSA DI GEMME)RED\",\"(BUIDEL EDELSTENEN)RED\",\"(POSE MED JUVELER)RED\",\"(TAŞ KESESİ)RED\",\"(エメラルドの袋)RED\",\"(골드 주머니)RED\",\"(КОШЕЛЬ КРИСТАЛЛОВ)RED\",\"(حقيبة جواهر)RED\",\"(BOLSA DE GEMAS)RED\",\"(一小袋宝石)RED\",\"(一小袋寶石)RED\",\"(کیسه جواهر) سرخ\",\"(KANTONG PERMATA)RED\",\"(SAKU PERMATA)RED\"\n\"TID_RED_KING_TOWER\",\"(KING TOWER)RED\",\"(TOUR DU ROI)RED\",\"(KÖNIGSTURM)RED\",\"(TORRE DEL REY)RED\",\"(TORRE DEL RE)RED\",\"(KONINGS-\\nTOREN)RED\",\"(KONGETÅRN)RED\",\"(KRAL KULESİ)RED\",\"(キングタワー)RED\",\"(킹 타워)RED\",\"(КОРОЛЕВСКАЯ БАШНЯ)RED\",\"(برج الملك)RED\",\"(TORRE DO REI)RED\",\"(国王塔)RED\",\"(國王塔)RED\",\"(برج پادشاه)سرخ\",\"(BENTENG RAJA)RED\",\"(MENARA RAJA)RED\"\n\"TID_THIS_TIME_LIMITED_OFFER_ENDS_IN\",\"THIS TIME LIMITED OFFER ENDS\",\"EXPIRATION DE CETTE OFFRE :\",\"DIESES LIMITIERTE ANGEBOT ENDET\",\"ESTA OFERTA LIMITADA TERMINA\",\"Questa offerta a tempo limitato termina:\",\"DEZE TIJDELIJKE AANBIEDING EINDIGT\",\"DETTE TIDSBEGRENSEDE TILBUDET AVSLUTTES\",\"BU SINIRLI SÜRELİ FIRSATIN BİTMESİNE:\",\"期間限定セール終了まで：\",\"한정 특가 판매 종료:\",\"КОНЕЦ ОГРАНИЧЕННОГО ПРЕДЛОЖЕНИЯ\",\"ينتهي عرض الفترة المحدودة هذا خلال:\",\"ESTA OFERTA LIMITADA ACABA\",\"此限时特惠活动将结束于\",\"此現時特惠活動將結束於\",\"این پیشنهاد محدود زمانی پایان می‌یابد\",\"PENAWARAN TERBATAS INI BERAKHIR\",\"TAWARAN MASA TERHAD INI TAMAT\"\n\"TID_FIND_OUT_ABOUT_PRODUCT_RED\",\"Learn about (RED)®\",\"Découvrez (RED)®\",\"Mehr zu (RED)®\",\"Más información sobre (RED)®\",\"Informazioni su (RED)®\",\"Meer info over (RED)®\",\"Lær om (RED)®\",\"(RED)® ile ilgili bilgi al\",\"(RED)®について詳しく知る\",\"(RED)®에 대해 알아보기\",\"Узнай о (RED)®\",\"معرفة المزيد عن (RED)®\",\"Saiba mais sobre a (RED)®\",\"了解(RED)®\",\"了解(RED)®\",\"درباره (RED)®‎ بیشتر بدانید\",\"Cari tahu tentang (RED)®\",\"Ketahui selanjutnya mengenai (RED)®\"\n\"TID_VISIT_SHOP\",\"VISIT\\nSHOP\",\"RENDEZ-VOUS\\nDANS LE MAGASIN\",\"ZUM\\nSHOP\",\"IR A LA\\nTIENDA\",\"VISITA\\nNEGOZIO\",\"NAAR\\nWINKEL\",\"BESØK\\nBUTIKKEN\",\"DÜKKANI\\nZİYARET ET\",\"ショップを\\n見る\",\"상점\\n가기\",\"ЗАЙДИ В\\nМАГАЗИН\",\"زيارة\\nالمتجر\",\"VISITAR\\nLOJA\",\"访问\\n商店\",\"訪問\\n商店\",\"از فروشگاه\\nدیدن کنید\",\"KUNJUNGI\\nTOKO\",\"LAWATI\\nKEDAI\"\n\"TID_YOUR_ACTIONS_MATTER_TXT\",\"Your actions matter,\\n\\n100% of the proceeds from your (PRODUCT)RED™ purchase goes to the Global Fund to support HIV/AIDS prevention, treatment, counseling, and testing in sub-Saharan Africa.\",\"Vos actions comptent :\\n\\n100% des bénéfices de votre achat de (PRODUCT)RED™ seront reversés au Fonds mondial pour la prévention du VIH/SIDA et pour le traitement, l'assistance et le dépistage en Afrique subsaharienne.\",\"Du machst einen Unterschied.\\n\\n100 % des Erlöses aus Käufen von (PRODUCT)RED™-Produkten geht an den Globalen Fonds zur Bekämpfung von HIV/AIDS in Subsahara-Afrika, der Vorbeugung, Behandlung, Beratung und Untersuchungen finanziert.\",\"Tu colaboración es importante.\\n\\nEl 100 % de los beneficios generados con la compra de (PRODUCT)RED™ se destinará al Fondo Mundial contra el VIH/sida para su prevención, tratamiento, asesoramiento y pruebas en el África subsahariana.\",\"Le tue azioni contano!\\n\\nL'intero ricavato proveniente dal tuo acquisto (PRODUCT)RED™ sarà devoluto al fondo mondiale per sostenere la prevenzione, il trattamento, l'assistenza e la sperimentazione relativa all'HIV/AIDS nell'Africa subsahariana.\",\"Jouw acties doen ertoe.\\n\\n100% van de opbrengst van je aankoop van (PRODUCT)RED™ gaat rechtstreeks naar het Global Fund. Dit fonds richt zich op de voorkoming en behandeling van, de voorlichting over en het testen op HIV/AIDS in Afrika ten zuiden van de Sahara.\",\"Bidraget ditt hjelper.\\n\\n100 % av overskuddet fra (PRODUCT)RED™-kjøpet ditt går til det globale fondet som skal hindre spredning av HIV/AIDS samt gi behandling, rådgivning og mulighet for å teste seg i Afrika sør for Sahara.\",\"Harekete geç,\\n\\n(PRODUCT)RED™ satın alımlarından gelen gelirin tamamı HIV/AIDS önleme, iyileştirme, rehberliği ve Aşağı Sahra Afrika'da yapılacak deneyleri desteklemesi için Global Fund'a gidecek.\",\"あなたの行動が変化を生みます\\n\\n(PRODUCT)RED™のアイテムを購入すると、売上金の100%の金額が、サハラ以南のアフリカにおけるエイズ予防、治療、カウンセリング、検査等を支援するグローバルファンドに寄付されます。\",\"여러분의 활동이 중요합니다.\\n\\n(PRODUCT)RED™의 수익금 전액은 HIV/AIDS 예방, 치료, 상담 및 사하라 이남 아프리카 지역의 질병 테스트에 사용됩니다.\",\"Твои действия очень важны.\\n\\n100 % прибыли от твоей покупки (PRODUCT)RED™ идет во Всемирный Фонд, который работает над предупреждением ВИЧ и СПИД, лечением, проверками и разработкой лекарств в Черной Африке.\",\"مشاركتك مهمة،\\n\\nستذهب 100% من عائدات مشتريات (PRODUCT)RED™ إلى الصندوق العالمي لدعم مكافحة الإيدز والوقاية منه وعلاجه والاستشارة عنه وإجراء تحليلاته في المناطق شبه الصحراوية في إفريقيا.\",\"Você pode fazer a diferença.\\n\\n100% dos lucros com as compras de (PRODUCT)RED™ são revertidos para o Fundo Global para prevenção, tratamento, acompanhamento e testes de HIV/AIDS na África Subsaariana.\",\"您的援助很重要，\\n\\n您购买(PRODUCT)RED™所创造的收益将全部捐赠给全球基金会，用于支持在非洲撒哈拉以南进行的HIV病毒/艾滋预防，治疗，咨询和试验。\",\"您的援助很重要，\\n\\n您購買(PRODUCT)RED™所創造的收入將全部捐贈給全球基金會，用於支持在非洲撒哈拉以南進行的HIV病毒/愛滋預防，治療，諮詢和試驗。\",\"کارهای شما مهمه،\\n\\n100% پیشرفت‌های صورت گرفته از خرید (محصول)RED™‎ به صندوق جهانی برای حمایت از پیشگیری، درمان، مشاوره، و آزمایشات در حاشیه صحرای آفریقا HIV/AIDS اختصاص پیدا می‌کنه.\",\"Tindakanmu memberi pengaruh.\\n\\n100% dari hasil pembelian (PRODUCT)RED™ kamu akan disumbangkan ke Global Fund untuk mendukung pencegahan, perawatan, konseling, dan pengujian HIV/AIDS di Afrika sub-Sahara.\",\"Tindakan anda penting,\\n\\n100% penerusan daripada pembelian (PRODUCT)RED™ anda disumbangkan ke Dana Global untuk menyokong pencegahan HIV/AIDS, rawatan, kaunseling dan ujian di Afrika sub-Sahara.\"\n\"TID_PRODUCT_RED_TIME_LEFT_DAYS\",\"in <number> days\",\"<number> jours\",\"in <number> Tagen\",\"en <number> días\",\"tra <number> giorni\",\"over <number> dagen\",\"om <number> dager\",\"<number> gün kaldı\",\"<number> 日\",\"<number>일 남음\",\"через <number> дн.\",\"<number> من الأيام\",\"em<number> dias\",\"<number>天后\",\"<number>天後\",\"بعد از <number> روز\",\"dalam <number> hari\",\"dalam <number> hari\"\n\"TID_PRODUCT_RED_TIME_LEFT_DAY\",\"in 1 day\",\"1 jour\",\"in einem Tag\",\"en 1 día\",\"tra 1 giorno\",\"over 1 dag\",\"om 1 dag\",\"1 gün kaldı\",\"1日\",\"1일 남음\",\"через 1 день\",\"يوم واحد\",\"em 1 dia\",\"1天后\",\"1天後\",\"بعد از 1 روز\",\"dalam 1 hari\",\"dalam 1 hari\"\n\"TID_PRODUCT_RED_TIME_LEFT_TODAY\",\"Today\",\"Aujourd'hui\",\"Heute\",\"Hoy\",\"Oggi\",\"Vandaag\",\"I dag\",\"Bugün\",\"本日\",\"오늘\",\"Сегодня\",\"اليوم\",\"Hoje\",\"今天\",\"今天\",\"امروز\",\"Hari ini\",\"Hari ini\"\n\"TID_PRODUCT_RED_END_TIME_TEXT\",\"Until 6th December\",\"Jusqu'au 6 décembre\",\"Bis zum 6. Dezember\",\"Hasta el 6 de diciembre\",\"Fino al 6 dicembre\",\"Tot 6 december\",\"Til 6. desember\",\"6 Aralık'a kadar\",\"12月6日まで\",\"12월 6일 까지\",\"До 6-го декабря\",\"حتى السادس من شهر ديسمبر\",\"Até 6 de dezembro\",\"持续至12月6日\",\"持續至12月6日\",\"تا ششم دسامبر\",\"Sampai 6 Desember\",\"Sehingga 6 Disember\"\n\"TID_FIGHT_AGAINST_AIDS\",\"Fight Against AIDS!\",\"Luttez contre le SIDA !\",\"Hilf beim Kampf gegen Aids!\",\"¡Lucha contra el sida!\",\"Sostieni la lotta contro l'AIDS!\",\"Vecht tegen AIDS!\",\"Ta opp kampen mot AIDS!\",\"AIDS'le Savaş!\",\"エイズと戦おう！\",\"에이즈와 맞서 싸우세요!\",\"Боритесь со СПИДом!\",\"كافح مرض الإيدز!\",\"Lute contra a AIDS!\",\"抗艾滋活动！\",\"抗愛滋活動！\",\"جنگ علیه ایدز!\",\"Perjuangan Melawan AIDS!\",\"Menentang AIDS!\"\n\"TID_MORE_INFO_ABOUT_RED\",\"MORE INFO\",\"PLUS D'INFOS\",\"MEHR INFOS\",\"MÁS INFORMACIÓN\",\"ALTRE INFO\",\"MEER INFO\",\"MER INFO\",\"DAHA FAZLA BİLGİ\",\"さらに詳しく\",\"자세한 사항\",\"ПОДРОБНЕЕ\",\"المزيد من المعلومات\",\"MAIS INFORMAÇÕES\",\"更多信息\",\"更多資訊\",\"اطلاعات بیشتر\",\"INFO SELENGKAPNYA\",\"MAKLUMAT LANJUT\"\n\"TID_RED_PRODUCT_PROCEEDS\",\"100% of the proceeds goes to\\n(RED)'s fight against AIDS.\",\"100% des bénéfices sont reversés à\\n(RED) pour combattre le SIDA.\",\"100 % des Erlöses gehen an\\n(RED)s Kampf gegen Aids.\",\"El 100 % de los beneficios se destinará a\\nayudar a (RED) a luchar contra el sida.\",\"L'intero ricavato è devoluto alla\\nlotta di (RED) contro l'AIDS.\",\"100% van de opbrengst komt ten goede aan\\nde strijd van (RED) tegen aids.\",\"100 % av inntektene går til\\n(RED)s kamp mot AIDS.\",\"Gelirin tamamı (RED)'in AIDS ile\\nmücadelesine aktarılacak.\",\"収益の100％が、エイズと戦う\\n(RED)®の活動に寄付されます。\",\"수익금 전액은 (RED)의\\n에이즈 퇴치 운동에 쓰입니다.\",\"100 % выручки идет на борьбу\\n(RED) со СПИДом.\",\"ستذهب 100% من العائدات إلى مكافحة\\n(RED) ضد مرض الإيدز.\",\"100% dos lucros são revertidos para a\\nluta da (RED) contra a AIDS.\",\"本次活动的全部收入都将\\n用于支持RED抗艾滋活动。\",\"本次活動的全部收入都將\\n用於支持RED抗愛滋活動。\",\"100% سود به\\nنبرد (سرخ) علیه ایدز اختصاص داده می‌شود.\",\"100% pendapatan akan disumbangkan untuk\\nperjuangan (RED) melawan AIDS.\",\"100% hasil kutipan disumbangkan ke\\n(RED) untuk menentang AIDS.\"\n\"TID_CHEST_EPIC_NOTIFICATION\",\"Epic Chest unlocked!\",\"Coffre épique débloqué !\",\"Epische Truhe kann geöffnet werden!\",\"¡Cofre épico desbloqueado!\",\"Baule epico sbloccato!\",\"Epische kist ontgrendeld!\",\"Episk kiste låst opp!\",\"Destansı Sandığın kilidi açıldı!\",\"スーパーレア宝箱をアンロック！\",\"영웅 상자 열림!\",\"Открыт эпический сундук!\",\"تم فتح صندوق ممتاز!\",\"Baú épico desbloqueado!\",\"史诗宝箱已解锁！\",\"史詩寶箱已解鎖！\",\"قفل صندوق حماسی باز شد!\",\"Peti Epik terbuka!\",\"Peti Epik dibuka kunci!\"\n\"TID_CHEST_LEGENDARY_NOTIFICATION\",\"Legendary Chest unlocked!\",\"Coffre légendaire débloqué !\",\"Legendäre Truhe kann geöffnet werden!\",\"¡Cofre legendario desbloqueado!\",\"Baule leggendario sbloccato!\",\"Legendarische kist ontgrendeld!\",\"Legendarisk kiste låst opp!\",\"Efsanevi Sandığın kilidi açıldı!\",\"ウルトラレア宝箱をアンロック！\",\"전설 상자 열림!\",\"Открыт легендарный сундук!\",\"تم فتح صندوق أسطوري!\",\"Baú lendário desbloqueado!\",\"传奇宝箱已解锁！\",\"傳奇寶箱已解鎖！\",\"قفل صندوق افسانه‌ای باز شد!\",\"Peti Legendaris terbuka!\",\"Peti Legenda dibuka kunci!\"\n\"TID_CHEST_SKIN_NOTIFICATION\",\"Tower Chest unlocked!\",\"Coffre de tour débloqué !\",\"Turmtruhe kann geöffnet werden!\",\"¡Cofre de torre desbloqueado!\",\"Baule della torre sbloccato!\",\"Torenkist ontgrendeld!\",\"Tårnkiste låst opp!\",\"Kule Sandığının kilidi açıldı!\",\"タワー宝箱をアンロック！\",\"토너먼트 상자 열림!\",\"Открыт сундук башни!\",\"تم فتح صندوق البرج!\",\"Baú da torre desbloqueado!\",\"防御塔宝箱已解锁！\",\"防禦塔寶箱已解鎖！\",\"قفل صندوق برج باز شد!\",\"Peti Menara terbuka!\",\"Peti Menara dibuka kunci!\"\n\"TID_SHOP_RUMBLE_0\",\"Magical Gem Pack\",\"Pack de gemmes magique\",\"Magisches Juwelenpaket\",\"Lote mágico de gemas\",\"Pacchetto magico di gemme\",\"Magisch edelsteenpakket\",\"Magiske juvelpakke\",\"Büyülü Taş Paketi\",\"魔法のエメラルドパック\",\"마법 보석 팩\",\"Магический набор кристаллов\",\"حزمة جواهر مميزة\",\"Pacote mágico de gemas\",\"神奇宝箱+宝石礼包\",\"神奇寶箱+寶石組合包\",\"بسته جادویی جواهر\",\"Paket Permata Sihir\",\"Pek Permata Ajaib\"\n\"TID_SHOP_RUMBLE_1\",\"Gold and Gem Pack\",\"Pack d'or et de gemmes\",\"Gold- und Juwelenpaket\",\"Lote de oro y gemas\",\"Pacchetto oro e gemme\",\"Goud- en edelsteenpakket\",\"Pakke med gull og juveler\",\"Altın ve Taş Paketi\",\"ゴールドとエメラルドパック\",\"골드 및 보석 팩\",\"Набор золота и кристаллов\",\"حزمة من الذهب والجواهر\",\"Pacote de ouro e gemas\",\"金币+宝石礼包\",\"金幣+寶石組合包\",\"بسته جواهر و طلا\",\"Paket Emas dan Permata\",\"Pek Emas dan Permata\"\n\"TID_SHOP_RUMBLE_2\",\"Super Magical Gem Pack\",\"Super pack de gemmes magique\",\"Supermagisches Juwelenpaket\",\"Lote supermágico de gemas\",\"Pacchetto supermagico di gemme\",\"Supermagisch edelsteenpakket\",\"Supermagisk juvelpakke\",\"Süper Büyülü Taş Paketi\",\"スーパー魔法のエメラルドパック\",\"슈퍼 마법 보석 팩\",\"Супермагический набор кристаллов\",\"حزمة جواهر مميزة جدًا\",\"Pacote muito mágico de gemas\",\"超级神奇宝箱+宝石礼包\",\"超級神奇寶箱+寶石組合包\",\"بسته سوپر جادویی جواهر\",\"Paket Permata Sihir Super\",\"Pek Permata Super Ajaib\"\n\"TID_KINGS_CUP_TITLE\",\"King's Cup\",\"Coupe du roi\",\"Königspokal\",\"Copa del Rey\",\"Coppa del re\",\"Koningsbeker\",\"Kongecupen\",\"Kral Kupası\",\"キングカップ\",\"킹스 컵\",\"Королевский кубок\",\"كأس الملك\",\"Copa do Rei\",\"国王杯\",\"國王杯\",\"جام پادشاه\",\"Piala Raja\",\"Piala Raja\"\n\"TID_KINGS_CUP_CHALLENGE\",\"King's Cup Challenge\",\"Défi de la coupe du roi\",\"Königspokal-Herausforderung\",\"Desafío de la Copa del Rey\",\"Sfida Coppa del re\",\"Koningsbekeruitdaging\",\"Kongecup-utfordring\",\"Kral Kupası Mücadelesi\",\"キングカップチャレンジ\",\"킹스 컵 도전\",\"Испытание королевского кубка\",\"تحدي كأس الملك\",\"Desafio da Copa do Rei\",\"国王杯挑战\",\"國王杯挑戰\",\"مبارزه طلبی جام پادشاه\",\"Tantangan Piala Raja\",\"Cabaran Piala Raja\"\n\"TID_BLIND_DECK_CHALLENGE\",\"Blind Deck Challenge\",\"Défi à l'aveugle\",\"Zufallsdeck-Herausforderung\",\"Desafío de baraja ciega\",\"Sfida mazzo ignoto\",\"Uitdaging met blinde kaarten\",\"Tilfeldige kampkort-utfordring\",\"Kör Deste Mücadelesi\",\"ブラインドデッキ・チャレンジ\",\"블라인드 덱 도전\",\"Испытание вслепую\",\"تحدي البطاقات الغامضة\",\"Desafio do Deck Surpresa\",\"随机卡组挑战\",\"隨機牌組挑戰\",\"مبارزه طلبی دست کورکورانه\",\"Tantangan Dek Buta\",\"Cabaran Dek Buta\"\n\"TID_DOUBLE_ELIXIR_CHALLENGE\",\"Double Elixir Challenge\",\"Défi double élixir\",\"Doppelelixier-Herausforderung\",\"Desafío de doble elixir\",\"Sfida doppio elisir\",\"Dubbel-elixiruitdaging\",\"Dobbel eliksir-utfordring\",\"İki Kat İksir Mücadelesi\",\"ダブルエリクサーチャレンジ\",\"더블 엘릭서 도전\",\"Испытание двойного эликсира\",\"تحدي الإكسير المضاعَف\",\"Desafio do Elixir Duplo\",\"双倍圣水挑战\",\"雙倍聖水挑戰\",\"مبارزه طلبی اکسیر دو برابر\",\"Tantangan Eliksir Ganda\",\"Cabaran Eliksir Berganda\"\n\"TID_KINGS_CUP_START_NOTIFICATION\",\"King's Cup Challenge has started, battle with fresh decks!\",\"Le défi de la coupe du roi a commencé, battez-vous avec de toutes nouvelles cartes !\",\"Die Königspokal-Herausforderung hat begonnen. Kämpfe mit einem neuen Deck!\",\"El desafío de la Copa del Rey ha comenzado. ¡Lucha con nuevas barajas!\",\"La sfida Coppa del re è cominciata, combatti con mazzi nuovi!\",\"De koningsbekeruitdaging is gestart. Vecht met steeds andere gevechtskaarten!\",\"Kongecup-utfordringen er i gang. Spill med nye kort!\",\"Kral Kupası Mücadelesi başladı, yeni destelerle oyna!\",\"キングカップチャレンジが始まりました。新しいデッキで戦いましょう！\",\"킹스 컵 도전이 시작되었습니다. 새로운 덱으로 플레이해 보세요!\",\"Началось королевское испытание, сразись со случайной колодой!\",\"لقد بدأ تحدي كأس الملك، تعارك باستخدام بطاقات جديدة!\",\"O Desafio da Copa do Rei começou. Lute com decks novos.\",\"国王杯挑战已经开始，使用随机卡组与对手一决胜负！\",\"國王杯挑戰已經開始，使用隨機牌組與對手一決勝負！\",\"چالش جام پادشاه شروع شده، با دست‌های تازه بازی کن!\",\"Tantangan Piala Raja telah dimulai, main dengan dek baru!\",\"Cabaran Piala Diraja telah bermula, bertempur dengan dek baharu!\"\n\"TID_KINGS_CUP_END_NOTIFICATION\",\"King's Cup Challenge is ending soon!\",\"Le défi de la coupe du roi se termine bientôt !\",\"Die Königspokal-Herausforderung ist bald zu Ende!\",\"¡Pronto acabará el desafío de la Copa del Rey!\",\"La sfida Coppa del re si concluderà a breve!\",\"De koningsbeker-uitdaging is binnenkort afgelopen!\",\"Kongecupen er snart over!\",\"Kral Kupası Mücadelesi yakında sona eriyor!\",\"キングカップチャレンジが間もなく終了します！\",\"킹스 컵 도전이 곧 끝납니다!\",\"Королевский кубок скоро закончится!\",\"سينتهي قريبًا تحدي كأس الملك!\",\"O desafio da Copa do Rei termina em breve!\",\"国王杯挑战即将结束！\",\"國王杯挑戰即將結束！\",\"چالش جام پادشاه به زودی تمام می‌شه!\",\"Tantangan Piala Raja akan segera berakhir!\",\"Cabaran Piala Raja akan tamat tidak lama lagi!\"\n\"TID_DOUBLE_ELIXIR_START_NOTIFICATION\",\"Double Elixir Challenge has started! Double Elixir, double fun!\",\"Le défi double élixir a commencé ! Double élixir, deux fois plus fun !\",\"Die Doppelelixier-Herausforderung hat begonnen! Doppeltes Elixier, doppelter Spaß!\",\"El desafío de doble elixir ha comenzado. ¡Disfruta del doble de diversión!\",\"La sfida doppio elisir è iniziata! Doppio elisir, doppio divertimento!\",\"De dubbel-elixiruitdaging is begonnen. Dubbel zoveel elixir, dubbel zoveel plezier!\",\"Dobbel eliksir-utfordringen er i gang! Dobbelt så mye eliksir, dobbelt så mye moro!\",\"İki Kat İksir Mücadelesi başladı! İki kat İksir, iki kat eğlence!\",\"ダブルエリクサーチャレンジが始まりました！ ダブルエリクサーで楽しさも２倍です！\",\"더블 엘릭서 도전이 시작되었습니다! 엘릭서도 재미도 두 배!\",\"Началось испытание двойного эликсира! Вдвое больше эликсира, вдвое больше веселья!\",\"لقد بدأ تحدي الإكسير المضاعَف، لنستمتع ضعفين!\",\"O Desafio do Elixir Duplo começou. O dobro de elixir, o dobro de diversão!\",\"双倍圣水挑战已经开始！双倍圣水，双倍欢乐！\",\"雙倍聖水挑戰已經開始！雙倍聖水，雙倍歡樂！\",\"چالش اکسیر دو برابر شروع شده! اکسیر دو برابر، سرگرمی دو برابر!\",\"Tantangan Eliksir Ganda telah dimulai! Dobel Eliksirnya, dobel serunya!\",\"Cabaran Eliksir Berganda telah bermula! Eliksir berganda, keseronokan berganda!\"\n\"TID_DOUBLE_ELIXIR_END_NOTIFICATION\",\"Double Elixir Challenge is ending soon!\",\"Le défi double élixir se termine bientôt !\",\"Die Doppelelixier-Herausforderung ist bald zu Ende!\",\"¡Pronto acabará el desafío de doble elixir!\",\"La sfida doppio elisir si concluderà a breve!\",\"De dubbel-elixiruitdaging is binnenkort afgelopen!\",\"Dobbel eliksir-utfordringen er snart over!\",\"İki Kat İksir Mücadelesi yakında sona eriyor!\",\"ダブルエリクサーチャレンジは間もなく終了します！\",\"더블 엘릭서 도전이 곧 종료됩니다!\",\"Испытание двойного эликсира скоро закончится!\",\"سينتهي تحدي الإكسير المضاعَف قريبًا!\",\"O Desafio do Elixir Duplo termina em breve!\",\"双倍圣水挑战即将结束！\",\"雙倍聖水挑戰即將結束！\",\"چالش اکسیر دو برابر به زودی تمام می‌شه!\",\"Tantangan Eliksir Ganda akan segera berakhir!\",\"Cabaran Eliksir berganda akan tamat tidak lama lagi!\"\n\"TID_BLIND_DECK_START_NOTIFICATION\",\"Blind Deck Challenge has started, battle with fresh decks!\",\"Le défi à l'aveugle a commencé, battez-vous avec des cartes aléatoires !\",\"Die Zufallsdeck-Herausforderung hat begonnen. Kämpfe mit einem neuen Deck!\",\"El desafío de baraja ciega ha comenzado. ¡Lucha con barajas nuevas!\",\"La sfida mazzo ignoto è cominciata, combatti con mazzi nuovi!\",\"De uitdaging met blinde kaarten is gestart. Vecht met steeds andere gevechtskaarten!\",\"Tilfeldige kampkort-utfordringen er i gang. Spill med nye kort!\",\"Kör Deste Mücadelesi başladı, yeni destelerle oyna!\",\"ブラインドデッキ・チャレンジが始まりました。新しいデッキで戦いましょう！\",\"블라인드 덱 도전이 시작되었습니다. 새로운 덱으로 플레이해 보세요!\",\"Началось испытание вслепую, сразись со случайной колодой!\",\"لقد بدأ تحدي البطاقات الغامضة، تعارك باستخدام بطاقات جديدة!\",\"O Desafio do Deck Surpresa começou. Lute com decks aleatórios.\",\"随机卡组挑战已经开始，使用随机卡组与对手一决胜负！\",\"隨機牌組挑戰已經開始，使用隨機牌組與對手一決勝負！\",\"مبارزه طلبی دست کورکورانه شروع شده، با دست‌های تازه بازی کن!\",\"Tantangan Dek Buta telah dimulai, main dengan dek baru!\",\"Cabaran Dek Buta telah bermula, bertempur dengan dek baharu!\"\n\"TID_BLIND_DECK_END_NOTIFICATION\",\"Blind Deck Challenge is ending soon!\",\"Le défi à l'aveugle se termine bientôt !\",\"Die Zufallsdeck-Herausforderung ist bald zu Ende!\",\"¡Pronto acabará el desafío de baraja ciega!\",\"La sfida mazzo ignoto si concluderà a breve!\",\"De dubbel-elixiruitdaging is binnenkort afgelopen!\",\"Tilfeldige kampkort-utfordringen er snart over!\",\"Kör Deste Mücadelesi yakında sona eriyor!\",\"ブラインドデッキ・チャレンジは間もなく終了します！\",\"블라인드 덱 도전이 곧 종료됩니다!\",\"Испытание вслепую скоро закончится!\",\"سينتهي تحدي البطاقات الغامضة قريبًا!\",\"O Desafio do Deck Surpresa termina em breve!\",\"随机卡组挑战即将结束！\",\"隨機牌組挑戰即將結束！\",\"چالش دست کورکورانه به زودی تمام می‌شه!\",\"Tantangan Dek Buta akan segera berakhir!\",\"Cabaran Dek Buta akan tamat tidak lama lagi!\"\n\"TID_EVENT_SUBTITLE\",\"Official live YouTube event\",\"Événement officiel en direct sur YouTube\",\"Offizielles Live-YouTube-Ereignis\",\"Evento de YouTube oficial en directo\",\"Evento YouTube live ufficiale\",\"Officieel live YouTube-evenement\",\"Offisiell direktesending på YouTube\",\"Resmi canlı YouTube etkinliği\",\"公式ライブYoutubeイベント\",\"공식 라이브 유튜브 이벤트\",\"Официальное мероприятие на YouTube\",\"حدث مباشر رسمي على Youtube\",\"Evento oficial ao vivo do YouTube\",\"官方YouTube直播活动\",\"官方YouTube直播活動\",\"رویداد YouTube زنده رسمی\",\"Acara YouTube langsung resmi\",\"Acara Youtube rasmi secara langsung\"\n\"TID_BATTLE_WITH_FRESH_DECKS\",\"Play with fresh cards!\",\"Jouez avec de toutes nouvelles cartes !\",\"Kämpfe mit neuen Karten!\",\"¡Juega con cartas nuevas!\",\"Gioca con nuove carte!\",\"Vecht met steeds andere kaarten!\",\"Spill med ferske kort!\",\"Yeni kartlarla oyna!\",\"新しいデッキでプレイ！\",\"새로운 카드로 플레이해 보세요!\",\"Сыграй с новыми картами!\",\"العب ببطاقات جديدة!\",\"Jogue com cartas novas!\",\"使用随机卡组进行对战！\",\"使用隨機牌組進行對戰！\",\"بازی با کارت‌های تازه!\",\"Bermain dengan kartu baru!\",\"Bermain dengan kad baharu!\"\n\"TID_TOURNAMENT_BLIND_DECK_EXPLAINED\",\"Enter each battle with a deck we've created for you, including cards you may not have found yet!\",\"Commencez chaque combat avec un ensemble de cartes préparé pour vous, dont des cartes que vous n'avez pas encore trouvées !\",\"Beginne jeden Kampf mit einem Deck, das wir für dich zusammengestellt haben. Es enthält sogar Karten, die du vielleicht noch nicht gefunden hast!\",\"Participa en cada combate con una baraja creada para ti y que incluye cartas que tal vez no tengas.\",\"Combatti ogni battaglia con un mazzo che abbiamo creato per te e con carte che potresti non aver ancora trovato.\",\"Neem aan elk gevecht deel met kaarten die wij voor je hebben gekozen, inclusief kaarten die je misschien nog niet hebt gevonden!\",\"Gå til kamp med kampkort som vi har valgt ut for deg, inkludert kort du kanskje ikke har funnet ennå!\",\"Her savaşa senin için oluşturduğumuz, daha önce görmediğin kartlar içeren bir desteyle gir!\",\"マッチごとに、Supercellが作成したデッキで戦います！今所持していないカードも出るかもしれません...\",\"저희가 준비한 덱으로 전투에 참가해 보세요. 아직 찾지 못한 카드가 들어 있기도 합니다!\",\"Начинай каждый бой с колодой, которую мы для тебя собрали. Там даже могут быть карты, которых у тебя еще нет!\",\"ادخل إلى كل معركة بمجموعة بطاقات أنشأناها لك، بما في ذلك بطاقات ربما لم تعثر عليها بعد!\",\"Entre em cada batalha com um deck criado para você, incluindo cartas que talvez você não tenha encontrado ainda.\",\"每场对战都会由系统为您配置一套随机卡组，甚至会包含您尚未解锁的卡牌！\",\"每場對戰都會由系統為您配出一套隨機牌組，甚至會包含您尚未解鎖的卡牌！\",\"با دستی که برات آماده کردیم وارد هر نبرد بشو که شامل کارت‌هاییه که ممکنه هنوز پیدا نکرده باشی!\",\"Masuki setiap pertempuran dengan dek yang kami buat untukmu, termasuk kartu yang mungkin belum kamu temukan!\",\"Masuk ke setiap pertempuran dengan dek yang kami telah cipta untuk anda, termasuk kad yang mungkin anda belum temui lagi!\"\n\"TID_DOUBLE_ELIXIR_CHALLENGE_EXPLAINED\",\"Think fast, because each battle will be super charged with double the normal Elixir! It's like overtime... all the time!\",\"Réfléchissez vite, car chaque combat sera chargé à bloc, avec une double dose d'élixir ! C'est comme du temps extra... en permanence !\",\"Streng dein Köpfchen an! Dieser Kampf findet nämlich mit der doppelten Menge Elixier statt! Das ist wie eine Verlängerung ... aber von Anfang an!\",\"Piensa rápido, porque cada combate será aún más trepidante con el doble de elixir. Es como si tuvieras tiempo extra... ¡todo el tiempo!\",\"Pensa in fretta, perché in ogni battaglia ci sarà una doppia razione di elisir! È come giocare sempre i supplementari!\",\"Denk snel na, want elk gevecht is superintens met een dubbele hoeveelheid elixir! Net alsof je in de extra tijd zit... maar dan de hele tijd!\",\"Tenk raskt, for hver kamp er superladet med dobbelt så mye eliksir som ellers. Det er overtid hele tiden!\",\"Hızlı düşün çünkü her bir savaş normal İksirden iki kat güçlü olacak! Sanki sürekli fazla mesai yapıyormuş gibi olacak!\",\"バトル中に発生するエリクサー量が通常の2倍になっているので、素早く判断する必要があります！ つまり、最初からずっと... クライマックスなのです！\",\"모든 전투에서 엘릭서 속도가 두 배로 빨라지기 때문에 빨리 생각해야 합니다! 계속해서 오버타임인거죠!\",\"Думай быстро, ведь в каждой битве будет вдвое больше эликсира, чем обычно! Эликсир! Все время, как в дополнительное время!\",\"فكّر سريعًا؛ فكل معركة ستكون ممتلئة بضعف كمية الإكسير العادية! الأمر أشبه بالوقت الإضافي... طوال الوقت!\",\"Pense rápido, pois cada batalha será de arrasar com o dobro de elixir do que o normal. É como a prorrogação, só que na batalha toda.\",\"每场对战的圣水积累速度都是普通对战的两倍，就像是一场彻头彻尾的加时赛，保持思维敏捷才能占尽先机！\",\"每場對戰的聖水積累速度都是普通對戰的兩倍，就像是一場從頭到尾的加時賽，保持思維敏捷才能占盡先機！\",\"سریع فکر کن، چون که برای هر نبرد دو برابر اکسیر عادی پرداخت می‌کنی! هر وقتی... مثل وقت اضافه هست!\",\"Berpikirlah dengan cepat, karena setiap pertempuran akan ditenagai dengan 2x Eliksir normal! Seperti fase perpanjangan... sepanjang waktu!\",\"Fikir dengan pantas kerana setiap pertempuran akan dicas super dengan menggandakan Eliksir biasa! Nampak seperti terlebih masa... pada setiap masa!\"\n\"TID_WHAT_IS_A_BLIND_CHALLENGE\",\"What is a Blind Deck Challenge?\",\"Qu'est-ce qu'un défi à l'aveugle ?\",\"Worum geht es bei der Zufallsdeck-Herausforderung?\",\"¿Qué es un desafío de baraja ciega?\",\"Cos'è una sfida mazzo ignoto?\",\"Wat is een uitdaging met blinde kaarten?\",\"Hva er en \\qtilfeldige kampkort\\q-utfordring?\",\"Kör Deste Mücadelesi nedir?\",\"ブラインドデッキ・チャレンジとは何ですか？\",\"블라인드 덱 도전이 뭔가요?\",\"Что такое испытание вслепую?\",\"ما هو تحدي البطاقات الغامضة؟\",\"O que é o desafio do deck surpresa?\",\"什么是随机卡组挑战？\",\"什麼是隨機牌組挑戰？\",\"چالش دست کورکورانه چیست؟\",\"Apa itu Tantangan Dek Buta?\",\"Apakah itu Cabaran Dek Buta?\"\n\"TID_WHAT_IS_A_DOUBLE_ELIXIR_CHALLENGE\",\"What is a Double Elixir Challenge?\",\"Qu'est-ce qu'un défi double élixir ?\",\"Was ist eine Doppelelixier-Herausforderung?\",\"¿Qué es un desafío de doble elixir?\",\"Cos'è una sfida doppio elisir?\",\"Wat is een dubbel-elixiruitdaging?\",\"Hva er en dobbel eliksir-utfordring?\",\"İki Kat İksir Mücadelesi nedir?\",\"ダブルエリクサーチャレンジとは何ですか？\",\"더블 엘릭서 도전이 뭔가요?\",\"Что такое испытание двойного эликсира?\",\"ما هو تحدي الإكسير المضاعَف؟\",\"O que é o Desafio do Elixir Duplo?\",\"什么是双倍圣水挑战？\",\"什麼是雙倍聖水挑戰？\",\"مبارزه طلبی اکسیر دو برابر چیه؟\",\"Apa itu Tantangan Eliksir Ganda?\",\"Apakah maksud Cabaran Eliksir Berganda?\"\n\"TID_CHALLENGE_DOUBLE_ELIXIR_EXPLAINED_SHORT\",\"Double Elixir, double fun!\",\"Double élixir, deux fois plus fun !\",\"Doppeltes Elixier, doppelter Spaß!\",\"Un desafío con el doble de elixir y de diversión.\",\"Doppio elisir, doppio divertimento!\",\"Dubbel zoveel elixir, dubbel zoveel plezier!\",\"Dobbelt så mye eliksir, dobbelt så mye moro!\",\"İki kat İksir, iki kat eğlence anlamına gelir!\",\"ダブルエリクサーで楽しさも２倍！\",\"엘릭서 두배! 재미 두배!\",\"Вдвое больше эликсира, вдвое больше веселья!\",\"الإكسير المضاعَف يعني أن المتعة مضاعَفة!\",\"O dobro de elixir, o dobro de diversão!\",\"双倍圣水，双倍欢乐！\",\"雙倍聖水，雙倍歡樂！\",\"اکسیر دو برابر، سرگرمی دو برابر!\",\"Dobel Eliksirnya, dobel serunya!\",\"Eliksir berganda, keseronokan berganda!\"\n\"TID_TOURNAMENT_BLIND_DECK_EXPLAINED_SHORT\",\"Enter each battle with a deck we've created for you, including cards you may not have found yet!\",\"Commencez chaque combat avec un ensemble de cartes préparé pour vous, dont des cartes que vous n'avez pas encore trouvées !\",\"Beginne jeden Kampf mit einem Deck, das wir für dich zusammengestellt haben. Es enthält sogar Karten, die du vielleicht noch nicht gefunden hast!\",\"Participa en cada combate con una baraja creada para ti y que incluye cartas que tal vez no tengas.\",\"Combatti ogni battaglia con un mazzo che abbiamo creato per te e con carte che potresti non aver ancora trovato.\",\"Neem aan elk gevecht deel met kaarten die wij voor je hebben gekozen, inclusief kaarten die je misschien nog niet hebt gevonden!\",\"Gå til kamp med kampkort som vi har valgt ut for deg, inkludert kort du kanskje ikke har funnet ennå!\",\"Her savaşa senin için oluşturduğumuz, daha önce görmediğin kartlar içeren bir desteyle gir!\",\"マッチごとに、Supercellが作成したデッキで戦います！今所持していないカードも出るかもしれません...\",\"저희가 준비한 덱으로 전투에 참가해 보세요. 아직 찾지 못한 카드가 들어 있기도 합니다!\",\"Начинай каждый бой с колодой, которую мы для тебя собрали. Там даже могут быть карты, которых у тебя еще нет!\",\"ادخل إلى كل معركة بمجموعة بطاقات أنشأناها لك، بما في ذلك بطاقات ربما لم تعثر عليها بعد!\",\"Entre em cada batalha com um deck criado para você, incluindo cartas que talvez você não tenha encontrado ainda.\",\"每场对战都会由系统为您配置一套随机卡组，甚至会包含您尚未解锁的卡牌！\",\"每場對戰都會由系統為您配出一套隨機牌組，甚至會包含您尚未解鎖的卡牌！\",\"با دستی که برات آماده کردیم وارد هر نبرد بشو که شامل کارت‌هاییه که ممکنه هنوز پیدا نکرده باشی!\",\"Masuki setiap pertempuran dengan dek yang kami buat untukmu, termasuk kartu yang mungkin belum kamu temukan!\",\"Masuk ke setiap pertempuran dengan dek yang kami telah cipta untuk anda, termasuk kad yang mungkin anda belum temui lagi!\"\n\"TID_SURVIVAL_EVENT_FINISHED\",\"Event Finished\",\"Événement terminé\",\"Ereignis zu Ende\",\"Evento finalizado\",\"Evento concluso\",\"Evenement afgelopen\",\"Hendelse avsluttet\",\"Etkinlik Bitti\",\"イベント終了\",\"이벤트 종료\",\"Мероприятие окончено\",\"انتهى الحدث\",\"Evento encerrado\",\"活动已结束\",\"活動已結束\",\"رویداد به پایان رسید\",\"Acara Selesai\",\"Acara Selesai\"\n\"TID_HERO_CHALLENGE\",\"Heroes Challenge\",\"Défi des héros\",\"Heldenherausforderung\",\"Desafío de héroes\",\"Sfida eroi\",\"Heldenuitdaging\",\"Helteutfordring\",\"Kahramanlar Mücadelesi\",\"ヒーローチャレンジ\",\"영웅 도전\",\"Испытание героев\",\"تحدي الأبطال\",\"Desafio de Heróis\",\"英雄挑战\",\"英雄挑戰\",\"چالش قهرمانان\",\"Tantangan Pahlawan\",\"Cabaran Wira\"\n\"TID_EVENT_ENDS_IN\",\"Ends in: <time>\",\"Fin dans : <time>\",\"Endet in: <time>\",\"Termina en <time>\",\"Termina tra: <time>\",\"Eindigt over: <time>\",\"Slutter om: <time>\",\"Bitmesine: <time>\",\"終了まで： <time>\",\"남은 시간: <time>\",\"Окончание через: <time>\",\"ينتهي في: <time>\",\"Termina em: <time>\",\"离结束还有：<time>\",\"距離結束時間：<time>\",\"اتمام بعد از: <time>\",\"Berakhir dalam: <time>\",\"Tamat dalam: <time>\"\n\"TID_EVENT_STARTS_IN\",\"Starts in: <time>\",\"Début dans : <time>\",\"Beginnt in: <time>\",\"Empieza en <time>\",\"Inizia tra: <time>\",\"Begint over: <time>\",\"Starter om: <time>\",\"Başlamasına: <time>\",\"開始まで： <time>\",\"시작까지: <time>\",\"Начало через: <time>\",\"يبدأ في: <time>\",\"Começa em: <time>\",\"离开始还有：<time>\",\"距離開始時間：<time>\",\"شروع بعد از: <time>\",\"Dimulai dalam: <time>\",\"Bermula dalam: <time>\"\n\"TID_EVENT_ENDS_SOON\",\"Ends Soon\",\"Bientôt terminé\",\"Endet bald\",\"Termina en breve\",\"Termina a breve\",\"Eindigt binnenkort\",\"Slutter snart\",\"Yakında Bitiyor\",\"間もなく終了\",\"곧 종료\",\"Скоро закончится\",\"ينتهي قريبًا\",\"Termina em breve\",\"即将结束\",\"即將結束\",\"به زودی تمام می‌شه\",\"Segera Berakhir\",\"Tamat Tidak Lama Lagi\"\n\"TID_YOUR_CARDS\",\"YOUR DECK:\",\"VOS CARTES :\",\"DEIN DECK:\",\"TU BARAJA:\",\"IL TUO MAZZO:\",\"JOUW KAARTEN:\",\"DINE KORT:\",\"DESTEN:\",\"あなたのデッキ：\",\"내 덱:\",\"ТВОЯ КОЛОДА:\",\"مجموعتك:\",\"SEU DECK:\",\"您的卡组：\",\"您的牌組：\",\"دست شما:\",\"DEKMU:\",\"DEK ANDA:\"\n\"TID_CHALLENGE_ONE_FREE_ENTRY\",\"1 Free Entry\",\"1 gratuite\",\"1 Teilnahme gratis\",\"1 entrada gratuita\",\"1 iscrizione gratuita\",\"1 gratis\",\"1 gratis påmelding\",\"1 Ücretsiz Giriş\",\"無料エントリー1回\",\"무료 입장 1회\",\"1 бесплатное участие\",\"مشاركة مجانية واحدة\",\"1 entrada grátis\",\"1次免费参加机会\",\"1次免費參加機會\",\"1 ورودی رایگان\",\"1x Masuk Gratis\",\"1 Masuk Percuma\"\n\"TID_CHALLENGE_FREE_ENTRIES\",\"<VALUE> Free Entries\",\"<VALUE> gratuites\",\"<VALUE> Teilnahmen gratis\",\"<VALUE> entradas gratuitas\",\"<VALUE> iscrizioni gratuite\",\"<VALUE> gratis\",\"<VALUE> gratis påmeldinger\",\"<VALUE> Ücretsiz Giriş\",\"無料エントリー<VALUE>回\",\"무료 입장<VALUE>회\",\"Бесплатных участий: <VALUE>\",\"<VALUE> مشاركات مجانية\",\"<VALUE> entradas grátis\",\"<VALUE>次免费参加机会\",\"<VALUE>次免費參加機會\",\"<VALUE> ورودی رایگان\",\"<VALUE>X Masuk Gratis\",\"<VALUE> Masuk Percuma\"\n\"TID_RED_HERO_PACK\",\"(HERO PACK)RED\",\"(PACK HÉROS)RED\",\"(HELDENPAKET)RED\",\"(LOTE DE HÉROE)RED\",\"(PACCHETTO EROE)RED\",\"(HELDENPAKKET)RED\",\"(HELTEPAKKE)RED\",\"(KAHRAMAN PAKETİ)RED\",\"(ヒーローパック)RED\",\"(영웅 팩)RED\",\"(ГЕРОЙСКИЙ НАБОР)RED\",\"(حزمة البطل)RED\",\"(PACOTE DE HERÓI)RED\",\"(英雄礼包)RED\",\"(英雄組合包)RED\",\"(دست قهرمان)RED\",\"(PAKET PAHLAWAN)RED\",\"(PEK WIRA)RED\"\n\"TID_RED_THANKYOU\",\"THANK YOU!\",\"MERCI !\",\"DANKE!\",\"¡GRACIAS!\",\"GRAZIE!\",\"BEDANKT!\",\"TAKK!\",\"TEŞEKKÜRLER!\",\"ありがとうございました！\",\"감사합니다!\",\"СПАСИБО!\",\"شكرًا لك!\",\"OBRIGADO!\",\"感谢您！\",\"感謝您！\",\"ممنون!\",\"TERIMA KASIH!\",\"TERIMA KASIH!\"\n\"TID_RED_THANKYOU_INFO\",\"100% of the proceeds from your purchase go to fight against AIDS with (RED).\",\"100 % des bénéfices de vos achats seront reversés à (RED) pour combattre le SIDA.\",\"100 % des Erlöses aus deinem Kauf gehen an (RED)s Kampf gegen Aids.\",\"El 100 % de los beneficios de tu compra se destinará a la lucha de (RED) contra el sida.\",\"Il 100% dei ricavati provenienti dal tuo acquisto andrà alla lotta all'AIDS di (RED).\",\"100% van de opbrengst van jouw aankoop komt ten goede aan de strijd tegen aids met (RED).\",\"100 % av overskuddet fra kjøpet ditt går til å kjempe mot AIDS sammen med (RED).\",\"Satın alımlarından gelen gelirin tamamı (RED) ile AIDS savaşına gidecek.\",\"販売収益の100％が、エイズと戦う(RED)®の活動に寄付されます。\",\"수익금 전액은 (RED)의 에이즈 퇴치 운동에 쓰입니다.\",\"100 % прибыли с покупки пойдет на борьбу (RED) со СПИДом.\",\"ستذهب 100% من عائدات شرائك إلى جهود مكافحة مرض الإيدز مع (RED).\",\"100% dos lucros obtidos com suas compras serão revertidos para a luta da (RED) contra a AIDS.\",\"您购买该礼包所创造的收益将全部用于(RED)抗艾滋活动。\",\"您購買該特惠包所創造的收入將全部用於(RED)抗愛滋活動。\",\"100% سود حاصل از خرید، برای مبارزه با ایدز به بنیاد (RED) تعلق می‌گیره.\",\"100% pendapatan dari pembelian akan disalurkan untuk melawan AIDS bersama (RED).\",\"100% hasil kutipan daripada pembelian anda disumbangkan untuk menentang AIDS dengan (RED).\"\n\"TID_PRODUCT_RED_EXPIRES_IN\",\"Your (KING TOWER)RED expires: <string>\",\"Votre (TOUR DU ROI)RED expire dans <string>\",\"Dein (KÖNIGSTURM)RED läuft ab: <string>\",\"Tu (TORRE DEL REY)RED caduca en: <string>\",\"La tua (TORRE DEL RE)RED scade: <string>\",\"Je (KONINGSTOREN)RED verloopt: <string>\",\"(KONGETÅRN)RED utløper: <string>\",\"(KRAL KULESİ)RED'inin süresinin dolmasına: <string>\",\"(キングタワー)RED終了まで： <string>\",\"(킹 타워)RED 만료일: <string>\",\"Твой (КОРОЛЕВСКАЯ БАШНЯ)RED пропадет: <string>\",\"ينتهي (برج الملك)RED الخاص بك في: <string>\",\"Sua (TORRE DO REI)RED expira: <string>\",\"您的(国王塔)RED到期时间：<string>\",\"您的(國王塔)RED到期時間：<string>\",\"(برج پادشاه) سرخ شما منقضی می‌شه: <string>\",\"(BENTENG RAJA)RED berakhir: <string>\",\"(MENARA RAJA)RED anda tamat tempoh: <string>\"\n\"TID_RUMBLE_WATCH_BUTTON\",\"Watch NOW!\",\"Regarder !\",\"JETZT ansehen!\",\"Ver\",\"Guarda SUBITO!\",\"Kijk NU!\",\"Se nå!\",\"ŞİMDİ İzle!\",\"見てみる！\",\"지금 시청하세요!\",\"Посмотри!\",\"شاهده الآن!\",\"Assista agora!\",\"立即观看！\",\"立即觀看！\",\"اکنون تماشا کنید!\",\"TONTON!\",\"Tonton TERUS!\"\n\"TID_INBOX_RED_TITLE\",\"Support (RED), fight against AIDS!\",\"Soutenez (RED), luttez contre le SIDA !\",\"Unterstütze (RED) beim Kampf gegen Aids!\",\"¡Colabora con (RED) y lucha contra el sida!\",\"Sostieni (RED), lotta contro l'AIDS!\",\"Steun (RED), vecht tegen AIDS!\",\"Støtt (RED), ta opp kampen mot AIDS!\",\"(RED)'i destekle, AIDS'le savaş!\",\"エイズと戦う(RED)の活動を支援しましょう！\",\"(RED)와 함께 에이즈와 맞서 싸우세요!\",\"Поддержи (RED), борись со СПИДом!\",\"ادعم (RED) وكافح مرض الإيدز!\",\"Ajude a (RED). Lute contra a AIDS!\",\"支持(RED)，以爱抗艾！\",\"支持(RED)，以愛抗愛！\",\"از (RED) پشتیبانی کن، جنگ علیه ایدز!\",\"Dukung (RED), berjuang melawan AIDS!\",\"Sokong (RED), menentang AIDS!\"\n\"TID_INBOX_RED_TEXT\",\"Help create an AIDS-free generation. From now until December 6th, 100% of the proceeds from your purchase of (HERO PACK)RED and (POUCH OF GEMS)RED goes to fight AIDS with (RED)®.\",\"Participez à la création d'une génération sans SIDA. À partir de maintenant et jusqu'au 6 décembre, 100 % des bénéfices de vos achats de (PACK HÉROS)RED et (SAC DE GEMMES)RED seront reversés à (RED)® pour combattre le SIDA.\",\"Mach mit beim Kampf für eine Aids-freie Generation. Von heute bis zum 6. Dezember erhält (RED)® 100 % des Verkaufserlöses aus (HELDENPAKET)RED und (BEUTEL JUWELEN)RED.\",\"Ayuda a crear una generación sin sida. Desde ahora y hasta el 6 de diciembre, (RED)® recibirá el 100 % de los beneficios generados con la compra del (LOTE DE HÉROE)RED y la (BOLSA DE GEMAS)RED para la lucha contra el sida.\",\"Aiuta a creare una generazione libera dall'AIDS. Da adesso fino al 6 dicembre, il 100% dei ricavati provenienti dai tuoi acquisti di (PACCHETTO EROE)RED e (BORSA DI GEMME)RED andrà alla lotta all'AIDS con (RED)®.\",\"Strijd voor een generatie zonder AIDS. Vanaf nu tot 6 december komt 100% van de opbrengst van jouw aankoop van (HELDENPAKKET)RED en (BUIDEL EDELSTENEN)RED ten goede aan de strijd tegen AIDS met (RED)®.\",\"Bidra til å skape en generasjon uten AIDS. Fra nå til 6. desember går 100 % av overskuddet fra kjøpet ditt av (HELTEPAKKE)RED og (POSE MED JUVELER)RED til kampen mot AIDS sammen med (RED)®\",\"AIDS'siz bir jenerasyon için destek ol. Bugünden 6 Aralık'a kadar (KAHRAMAN PAKETİ)RED ve (TAŞ KESESİ)RED satın alımlarından gelen gelirin tamamı (RED)® ile AIDS savaşına gidecek.\",\"共にエイズのない時代を作りましょう。本日より12月6日まで、(ヒーローパック)REDや(エメラルドの袋)REDの販売収益の100％が、エイズと戦う(RED)®の活動に寄付されます。\",\"에이즈 없는 세대를 만드는 데 동참해 주세요. 오늘부터 12월 6일까지 (보석 주머니)RED 및 (영웅 팩)RED에 대한 수익금 전액은 (RED)®의 에이즈 퇴치 운동에 쓰입니다.\",\"Помогите создать поколение без СПИД. С этого момента и до 6 декабря 100 % выручки от твоей покупки (ГЕРОЙСКОГО НАБОРА)RED и (КОШЕЛЯ КРИСТАЛЛОВ)RED пойдет на борьбу (RED)® со СПИДом.\",\"ساعد في إنشاء جيل خالٍ من الإيدز. بدءًا من الآن وحتى 6 ديسمبر، ستذهب 100% من عوائد شرائك لـ(حزمة البطل)RED و(حقيبة الجواهر)RED إلى جهود مكافحة مرض الإيدز مع (RED)®.\",\"Ajude a criar uma geração livre de AIDS. De agora até 6 de dezembro, 100% dos lucros obtidos com as vendas de (PACOTE DE HERÓI)RED e (BOLSA DE GEMAS)RED serão revertidos para a luta da (RED)® contra a AIDS.\",\"为实现\\q无艾滋的一代\\q贡献一份力量。即日起至12月6日，您可从游戏商店购买(一小袋宝石)RED和(英雄礼包)RED，此次活动的所有收入将全部用于(RED)®抗艾滋活动。\",\"為實現\\q無愛滋的一代\\q貢獻一份力量。即日起至12月6日，您可從遊戲商店購買(一小袋寶石)RED和(英雄組合包)RED，此次活動的所有收入將全部用於(RED)®抗愛滋活動。\",\"به ایجاد یک نسل بدون ایدز کمک کن. از امروز تا 6 دسامبر، 100% عواید حاصل از فروش (بسته قهرمان) قرمز و (توده جواهرات) قرمز صرف مبارزه با ایدز با همراهی ‎(RED)®‎ خواهد شد.\",\"Bantu ciptakan generasi bebas AIDS. Mulai sekarang sampai 6 Desember, 100% penghasilan dari pembelian (PAKET PAHLAWAN)RED dan (KANTONG PERMATA)RED akan disalurkan untuk melawan AIDS bersama (RED)®\",\"Bantu mencipta generasi bebas AIDS. Dari sekarang sehingga 6 Disember, 100% penerusan daripada pembelian anda bagi (PEK WIRA)RED dan (TIMBUNAN PERMATA)RED adalah untuk menentang AIDS dengan (RED)®.\"\n\"TID_PRODUCT_RED_LIKE\",\"Like (RED)\",\"J'aime (RED)\",\"(RED) gefällt mir\",\"Me gusta (RED)\",\"Mi piace (RED)\",\"Like (RED)\",\"Lik (RED)\",\"(RED)'i Beğen\",\"(RED)にいいね！をする\",\"(RED) 좋아요\",\"Нравится (RED)\",\"إعجاب بـ(RED)\",\"Curtir a (RED)\",\"为(RED)点赞\",\"為(RED)點讚\",\"پسندیدن (RED)\",\"Sukai (RED)\",\"Suka (RED)\"\n\"TID_PRODUCT_RED_INFO\",\"Shop\",\"Magasin\",\"Shop\",\"Tienda\",\"Negozio\",\"Winkel\",\"Butikk\",\"Dükkan\",\"ショップ\",\"상점\",\"Магазин\",\"المتجر\",\"Loja\",\"商店\",\"商店\",\"فروشگاه\",\"Toko\",\"Kedai\"\n\"TID_BLIND_DECK1\",\"X-Bowler\",\"Bouliste-X\",\"X-Bowler\",\"Lanzaballesta\",\"Bocciatore-X\",\"X-bowler\",\"X-bowler\",\"X-Atıcı\",\"クロスボウラー\",\"크로스 볼러\",\"Арбалет-вышибала\",\"X-باولر\",\"X-Lançador\",\"巨石投手连弩流\",\"巨石投手連弩流\",\"له‌کننده ایکس\",\"Bowler X\",\"Pembaling-X\"\n\"TID_BLIND_DECK2\",\"The Frozen Hog\",\"Le cochon gelé\",\"Das gefrorene Schwein\",\"El puerco de hielo\",\"Suino surgelato\",\"Het bevroren varken\",\"Frossent villsvin\",\"Donmuş Domuz\",\"フリーズホグ\",\"얼음 호그\",\"Замороженный кабан\",\"الخنزير المتجمد\",\"Corredor Congelado\",\"冰冻法术野猪流\",\"冰凍法術野豬流\",\"خوک منجمد\",\"Babi Beku\",\"Khinzir Beku\"\n\"TID_BLIND_DECK3\",\"The Raging Balloon\",\"Le ballon déchaîné\",\"Der Sturmballon\",\"Furia bombástica\",\"La mongolfiera scatenata\",\"De woedende ballon\",\"Rasende ballong\",\"Öfkeli Balon\",\"レイジバルーン\",\"분노 비행선\",\"Яростный шар\",\"البالونة المستشاطة\",\"Balão Enfurecido\",\"狂暴法术气球流\",\"狂暴法術氣球流\",\"بالن خشمگین\",\"Balon Amarah\",\"Belon Kemarahan\"\n\"TID_BLIND_DECK4\",\"Mirror, Miner, Muskies\",\"Miroir, mineur, mousquetaires\",\"Spiegel, Tunnelgräber, Musketiere\",\"Espejo, minero y mosquetera\",\"Pala, moschetto e specchio\",\"Spiegel, mijnwerker, musketiers\",\"Speil, graver, musketerer\",\"Ayna, Madenci, Silahşörler\",\"ミラーディガーマスケット\",\"반사경, 광부, 머스킷병\",\"Зеркало, шахтер, мушкетер\",\"مرآة، عامل المنجم، روائح عطرة\",\"Espelho, Mineiro, Mosqueteiras\",\"镜像矿工三枪流\",\"鏡像礦工三槍流\",\"آینه، معدنچی، تفنگدارها\",\"Cermin, Penambang, Musketeer\",\"Cermin, Pelombong, Muskies\"\n\"TID_BLIND_DECK5\",\"Go-Log-Go\",\"Allez la bûche !\",\"Auf geht´s, Kampfholz!\",\"¡Vamos, tronco!\",\"Tronchi a go-go\",\"Rol, stam, rol\",\"Tømmerhogst\",\"Bastır Tomruk Bastır\",\"ゴーローゴー\",\"고고 통나무\",\"Шевелись, бревно\",\"اتجه إلى السجلات\",\"Vai-Tronco-Vai\",\"戈仑石人滚木流\",\"戈侖石人滾木流\",\"Go-Log-Go\",\"Go-Log-Go\",\"Pergi-Log-Pergi\"\n\"TID_BLIND_DECK6\",\"Dark Lighting\",\"Foudre noire\",\"Dunkle Beleuchtung\",\"Rayo oscuro\",\"Chiaroscuro\",\"Licht in de duisternis\",\"Mørk belysning\",\"Koyu Aydınlatma\",\"ダークライトニング\",\"다크 라이트\",\"Черная молния\",\"إنارة الظلام\",\"Relâmpago das Trevas\",\"黑暗王子雷电流\",\"黑暗王子雷電流\",\"روشنایی تاریک\",\"Kilat Hitam\",\"Kilat Kegelapan\"\n\"TID_ACHIEVEMENT_TITLE_FRIENDLY_BATTLE\",\"Practice with Friends\",\"Entraînement entre amis\",\"Mit Freunden üben\",\"Práctica amistosa\",\"Addestramento con gli amici\",\"Oefen met vrienden\",\"Øv med venner\",\"Arkadaşlarla Alıştırma Yap\",\"フレンドと練習\",\"친구와 연습하기\",\"Потренируйся с друзьями\",\"تدرّب مع الأصدقاء\",\"Pratique com os amigos\",\"以武会友\",\"以武會友\",\"تمرین با دوستان\",\"Berlatih dengan Teman\",\"Berlatih dengan Rakan\"\n\"TID_ACHIEVEMENT_INFO_FRIENDLY_BATTLE\",\"Win <num> Friendly Battles\",\"Gagner <num> combats amicaux\",\"Gewinne <num> Testspiel(e)\",\"Gana <num> batallas amistosas.\",\"Vinci <num> battaglie amichevoli\",\"Win <num> vriendelijke gevecht(en)\",\"Vinn <num> vennskapskamper\",\"<num> Dostluk Savaşı Kazan\",\"フレンドバトルで<num>勝する\",\"친선전 <num>회 승리\",\"Выиграй в дружеских боях: <num>\",\"اربح <num> من المعارك الودية\",\"Vencer <num> batalhas amistosas.\",\"赢得<num>场友谊战\",\"贏得<num>場友誼戰\",\"بردن <num> نبرد دوستانه\",\"Menangi <num> Pertempuran Persahabatan\",\"Menang <num> Pertempuran Persahabatan\"\n\"TID_ACHIEVEMENT_TITLE_SURVIVAL_EVENT\",\"Special Challenge\",\"Défi spécial\",\"Besondere Herausforderung\",\"Desafío especial\",\"Sfida speciale\",\"Speciale uitdaging\",\"Spesialutfordring\",\"Özel Mücadele\",\"スペシャルチャレンジ\",\"특별 도전\",\"Особое испытание\",\"تحدٍ خاص\",\"Desafio Exclusivo\",\"活动达人\",\"活動達人\",\"مبارزه طلبی ویژه\",\"Tantangan Spesial\",\"Cabaran Khas\"\n\"TID_ACHIEVEMENT_INFO_SURVIVAL_EVENT\",\"Participate in <num> unique Special Event Challenges\",\"Participer à <num> défis exclusifs\",\"Nimm an <num> einzigartigen besonderen Herausforderungsereignissen teil\",\"Participa en <num> eventos de desafíos exclusivos.\",\"Partecipa a <num> diversi eventi sfida speciali\",\"Neem deel aan <num> unieke speciale uitdagingsevenement(en)\",\"Delta i <num> unike spesialutfordringer\",\"<num> benzersiz Özel Mücadele etkinliğine katıl\",\"個別のスペシャルイベントチャレンジに<num>回参加する\",\"<num>개의 특별 이벤트 도전에 참가해 보세요.\",\"Поучаствуй в <num> особых испытаниях\",\"شارك في <num> من تحديات الأحداث الخاصة الاستثنائية\",\"Participar de <num> eventos de desafios exclusivos.\",\"参加<num>期特别活动\",\"參加<num>期特別活動\",\"در <num> مبارزه طلبی رویداد منحصر به فرد شرکت کنید\",\"Ikut dalam <num> Tantangan Acara Spesial unik\",\"Sertai <num> Cabaran Acara Khas yang unik\"\n\"TID_X2\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"2x\",\"x2\",\"2 kat\",\"×2\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"x2\",\"2 برابر\",\"x2\",\"x2\"\n\"TID_RED_SUPPORT_TXT\",\"Support (RED) on Facebook\",\"Soutenez (RED) sur Facebook\",\"UNTERSTÜTZE (RED) auf Facebook\",\"Apoya a (RED) en Facebook\",\"Sostieni (RED) su Facebook\",\"Steun (RED) op Facebook\",\"Støtt (RED) på Facebook\",\"(RED)'i Facebook'ta Destekle\",\"(RED)に参加しましょう\\nFacebook： facebook.com/joinred\\nInstagram： instagram.com/red\",\"Facebook에서 (RED) 후원하기\",\"Поддержите (RED) на Facebook\",\"ادعم (RED) على Facebook\",\"Apoie a (RED) no Facebook\",\"通过Facebook支持(RED)\",\"透過Facebook支持(RED)\",\"پشتیبانی (RED) در Facebook\",\"Dukung (RED) di Facebook\",\"Sokongan (RED) di Facebook\"\n\"TID_CARD_STACK_OFFER\",\"Card Stack Offer\",\"Offre ensemble de cartes\",\"Kartenstapel-Angebot\",\"Oferta de montón de cartas\",\"Offerta pila di carte\",\"Aanbieding stapel kaarten\",\"Kortstokktilbud\",\"Kart Yığını Fırsatı\",\"カードパックセール\",\"카드 스택 특가\",\"Предлагаем набор карт\",\"عرض مجموعة البطاقات\",\"Oferta Pilha de Cartas\",\"特惠卡包\",\"特惠卡包\",\"پیشنهاد بسته کارت\",\"Penawaran Tumpukan Kartu\",\"Tawaran Tindanan Kad\"\n\"TID_ACHIEVEMENT_TITLE_DONATE_2\",\"Friend in Need II\",\"Coup de pouce II\",\"Freund in Not II\",\"Amigos en apuros II\",\"Un amico in difficoltà II\",\"Vriend in nood II\",\"Venn i nød II\",\"Muhtaç Arkadaş II\",\"助け合い精神II\",\"친구 돕기 II\",\"Друг в беде II\",\"الصديق وقت الضيق II\",\"Ajude um amigo II\",\"乐善好施\",\"樂善好施\",\"دوست زمان نیاز 2\",\"Teman sedang Butuh II\",\"Rakan yang Diperlukan II\"\n\"TID_CHOOSE_A_CARD\",\"Choose Your Card\",\"Choisissez votre carte\",\"Wähle deine Karte\",\"Elige una carta\",\"Scegli la tua carta\",\"Kies je kaart\",\"Velg et kort\",\"Kartını Seç\",\"カードを選んでください\",\"카드 선택\",\"Выбери карту\",\"اختر بطاقتك\",\"Escolha sua carta\",\"选择您的卡牌\",\"選擇您的卡牌\",\"کارتتان را انتخاب کنید\",\"Pilih Kartumu\",\"Pilih Kad Anda\"\n\"TID_DRAFT_CHALLENGE\",\"Draft Battle\",\"Combat du tirage\",\"Auswahlkampf\",\"Batalla de elección\",\"Battaglia strategica\",\"Keuzegevecht\",\"Utvalgskamp\",\"Çekilişli Savaş\",\"ドラフトバトル\",\"드래프트전\",\"Бой с выбором карт\",\"معركة سحب\",\"Batalha de estratégia\",\"选卡对战\",\"選卡對戰\",\"نبرد انتخاب کارت\",\"Pertempuran Draf\",\"Pertempuran Bertaktik\"\n\"TID_THREE_BRIDGES_CHALLENGE\",\"Three Bridges Challenge\",\"Défi des trois ponts\",\"Drei-Brücken-Herausforderung\",\"Desafío de los tres puentes\",\"Sfida tre ponti\",\"Driebruggenuitdaging\",\"Tre broer-utfordring\",\"Üç Köprü Mücadelesi\",\"3つの橋チャレンジ\",\"세 개의 다리 도전\",\"Испытание трех мостов\",\"تحدي الجسور الثلاثة\",\"Desafio das Três Pontes\",\"三桥挑战\",\"三橋挑戰\",\"چالش سه پل\",\"Tantangan Tiga Jembatan\",\"Cabaran Tiga Jambatan\"\n\"TID_TEAM_CHALLENGE\",\"2v2 Battle\",\"Combat 2c2\",\"Duokampf\",\"Batalla 2c2\",\"Battaglia 2 vs 2\",\"2-tegen-2-gevecht\",\"Kamp 2v2\",\"2'ye 2 Savaş\",\"協力バトル\",\"2v2 전투\",\"Бой 2 на 2\",\"معركة 2 ضد 2\",\"Batalha 2v2\",\"2v2对战\",\"2v2對戰\",\"نبرد 2 در مقابل 2\",\"Pertempuran 2v2\",\"Pertempuran 2 lwn 2\"\n\"TID_TEAM_CHALLENGE_LADDER\",\"2v2 Ladder\",\"Échelle 2c2\",\"Duo-Rangliste\",\"Clasificación 2c2\",\"Classifica 2 vs 2\",\"2-tegen-2-ranglijst\",\"2v2-rang\",\"2'ye 2 Sıradan\",\"協力ラダー\",\"2v2 래더\",\"Рейтинг боев 2 на 2\",\"سُلّم 2 ضد 2\",\"Sucessão 2v2\",\"2v2天梯\",\"2v2天梯\",\"پلکان 2 در مقابل 2\",\"Jenjang 2v2\",\"Janjang 2 lwn 2\"\n\"TID_TEAM_CHALLENGE_SURVIVAL\",\"2v2 Challenge\",\"Défi 2c2\",\"Duo-Herausforderung\",\"Desafío 2c2\",\"Sfida 2 vs 2\",\"2-tegen-2-uitdaging\",\"2v2-utfordring\",\"2'ye 2 Mücadele\",\"協力チャレンジ\",\"2v2 도전\",\"Испытание 2 на 2\",\"تحدي 2 ضد 2\",\"Desafio 2v2\",\"2v2挑战\",\"2v2挑戰\",\"چالش 2 در مقابل 2\",\"Tantangan 2v2\",\"Cabaran 2 lwn 2\"\n\"TID_DRAFT_TIME_REMAINING\",\"Battle Begins In:\",\"Début du combat :\",\"Kampf beginnt in:\",\"La batalla empieza en...\",\"La battaglia inizia tra:\",\"Gevecht begint over:\",\"Kampen begynner om:\",\"Savaşın Başlamasına:\",\"戦闘開始まで：\",\"전투 시작:\",\"Конец сражения через:\",\"تبدأ المعركة خلال:\",\"A batalha começa em:\",\"离对战开始还有：\",\"離對戰開始還有：\",\"نبرد شروع می‌شه در:\",\"Pertempuran Dimulai dalam:\",\"Pertempuran Bermula Dalam:\"\n\"TID_NEW_CHALLENGE_EVENT\",\"New Event!\",\"Nouvel événement !\",\"Neues Ereignis!\",\"¡Nuevo evento!\",\"Nuovo evento!\",\"Nieuw evenement!\",\"Ny hendelse!\",\"Yeni Etkinlik!\",\"新イベント！\",\"신규 이벤트!\",\"Новое событие!\",\"حدث جديد!\",\"Novo evento!\",\"新活动！\",\"新活動！\",\"رویداد جدید!\",\"Acara Baru!\",\"Acara Baharu!\"\n\"TID_NEW_FRIENDLY_CHALLENGE_EVENT\",\"New Friendly Battle Event!\",\"Nouvel événement de combat amical !\",\"Neues Testspiel-Ereignis!\",\"¡Nuevo evento de batalla amistosa!\",\"Nuovo evento battaglia amichevole!\",\"Nieuw vriendelijk gevechtsevenement!\",\"Ny vennskapskamp-hendelse!\",\"Yeni Dostluk Savaşı Etkinliği!\",\"新しいフレンドバトルイベント！\",\"새로운 친선전 이벤트!\",\"Новое событие: дружеский бой!\",\"حدث معركة ودية جديد!\",\"Novo evento de batalha amistosa!\",\"新的友谊战活动！\",\"新的友誼戰活動！\",\"رویداد نبرد دوستانه‌ی جدید!\",\"Acara Pertempuran Persahabatan Baru!\",\"Acara Pertempuran Persahabatan Baharu!\"\n\"TID_YOU_GOT\",\"You Got:\",\"Vous avez obtenu :\",\"Du erhältst:\",\"Has conseguido:\",\"Ricevi:\",\"Ontvangen:\",\"Du fikk:\",\"Kazancın:\",\"入手：\",\"획득:\",\"Получено:\",\"حصلت على:\",\"Você ganhou:\",\"您获得了：\",\"您獲得了：\",\"دریافت کردید:\",\"Mendapat:\",\"Anda Mendapat:\"\n\"TID_NEW_ARENA_RELEASED\",\"NEW ARENA RELEASED!\",\"NOUVELLE ARÈNE À DÉCOUVRIR !\",\"NEUE ARENA VERÖFFENTLICHT!\",\"¡NUEVA ARENA DISPONIBLE!\",\"NUOVA ARENA DISPONIBILE!\",\"NIEUWE ARENA UITGEBRACHT!\",\"NY ARENA SLUPPET!\",\"YENİ ARENA YAYINLANDI!\",\"新アリーナが登場！\",\"신규 아레나 공개!\",\"ДОСТУПНА НОВАЯ АРЕНА!\",\"تم إطلاق ساحة جديدة!\",\"NOVA ARENA LIBERADA!\",\"全新竞技场来啦！\",\"全新競技場來啦！\",\"میدان نبرد جدید آزاد شد!\",\"ARENA BARU DIRILIS!\",\"ARENA BAHARU DIKELUARKAN!\"\n\"TID_PLAYER_PROFILE_TAB\",\"Profile\",\"Profil\",\"Profil\",\"Perfil\",\"Profilo\",\"Profiel\",\"Profil\",\"Profil\",\"プロフィール\",\"프로필\",\"Профиль\",\"ملف شخصي\",\"Perfil\",\"个人资料\",\"個人資料\",\"پروفایل\",\"Profil\",\"Profil\"\n\"TID_PLAYER_INBOX_TAB\",\"Inbox\",\"Messagerie\",\"Posteingang\",\"Buzón\",\"In arrivo\",\"Postvak In\",\"Innboks\",\"Gelen Kutusu\",\"受信箱\",\"메시지함\",\"Входящие\",\"البريد الوارد\",\"Cx. de entrada\",\"收件箱\",\"收件匣\",\"صندوق ورودی\",\"Kotak Masuk\",\"Peti Masuk\"\n\"TID_ROYAL_BOX_TITLE\",\"News Royale\",\"Nouveautés Clash Royale\",\"Neues bei Royale\",\"Novedades de Clash Royale\",\"Notizie Royale\",\"Royale-nieuws\",\"Kongelige nyheter\",\"Royale Haberleri\",\"クラロワニュース\",\"로얄 뉴스\",\"Новости Royale\",\"أخبار Royale\",\"Novidades Royale\",\"皇室资讯\",\"皇室資訊\",\"اخبار Royale\",\"Berita Royale\",\"Berita Royale\"\n\"TID_DRAFT_WAITING_FOR_OPPONENT\",\"Waiting for Opponent\",\"En attente d'adversaire\",\"Warten auf Gegner\",\"Esperando al rival\",\"In attesa dell'avversario\",\"Wachten op tegenstander\",\"Venter på motstander\",\"Rakip Bekleniyor\",\"相手を待っています\",\"상대방을 기다리는 중\",\"Ждем противника\",\"في انتظار الخصم\",\"Aguardando adversário\",\"等待对手选择\",\"等待對手選擇\",\"در انتظار حریف\",\"Menunggu Lawan\",\"Menunggu Pihak Lawan\"\n\"TID_STARTER_PACK_7\",\"Jungle Arena Pack\",\"Pack Arène sauvage\",\"Dschungelarena-Paket\",\"Lote de arena selvática\",\"Pacchetto arena selvaggia\",\"Jungle-arenapakket\",\"Jungelarenapakke\",\"Orman Arenası Paketi\",\"ジャングルアリーナパック\",\"정글 아레나 팩\",\"Пакет: Арена в джунглях\",\"مجموعة ساحة الغابة\",\"Pacote da Arena da Selva\",\"丛林竞技场礼包\",\"叢林競技場組合包\",\"بسته میدان نبرد جنگل\",\"Paket Arena Hutan\",\"Pek Arena Hutan\"\n\"TID_WHAT_IS_A_LEGENDARY_CHALLENGE\",\"What is a Legendary Challenge?\",\"Qu'est-ce qu'un défi légendaire ?\",\"Was ist eine legendäre Herausforderung?\",\"¿Qué es un desafío legendario?\",\"Cos'è una sfida leggendaria?\",\"Wat is een legendarische uitdaging?\",\"Hva er en legendarisk utfordring?\",\"Efsanevi Mücadele nedir?\",\"レジェンドチャレンジとは何ですか？\",\"전설 도전이 뭔가요?\",\"Что такое легендарное испытание?\",\"ما هو التحدي الأسطوري؟\",\"O que é o Desafio Lendário?\",\"什么是传奇挑战？\",\"什麼是傳奇挑戰？\",\"چالش افسانه‌ای چیه؟\",\"Apa itu Tantangan Legendaris?\",\"Apakah itu Cabaran Legenda?\"\n\"TID_WHAT_IS_A_TOUGH_CHOICE_CHALLENGE\",\"What is a Draft Challenge?\",\"Qu'est-ce qu'un défi du tirage ?\",\"Was ist eine Auswahlherausforderung?\",\"¿Qué es un desafío de elección?\",\"Cos'è una sfida strategica?\",\"Wat is een keuze-uitdaging?\",\"Hva er en utvalgsutfordring?\",\"Çekilişli Mücadele nedir?\",\"ドラフトチャレンジとは？\",\"드래프트 도전이 뭔가요?\",\"Что такое испытание с выбором карт?\",\"ما هو تحدي السحب؟\",\"O que é o Desafio da Estratégia?\",\"什么是选卡挑战？\",\"什麼是選卡挑戰？\",\"چالش انتخاب کارت چیه؟\",\"Apa itu Tantangan Draf?\",\"Apakah itu Cabaran Bertaktik?\"\n\"TID_CHALLENGE_LEGENDARY_EXPLAINED_SHORT\",\"Battle with <spell>\",\"Combattez avec <spell>\",\"Kämpfe mit: <spell>\",\"Batalla con la carta <spell>\",\"Utilizza: <spell>\",\"Vecht met <spell>\",\"Kjemp med: <spell>\",\"<spell> ile savaş\",\"<spell>で戦う\",\"<spell>와 전투\",\"Противник: <spell>\",\"معركة مع <spell>\",\"Lute com <spell>.\",\"使用<spell>进行对战\",\"使用<spell>進行對戰\",\"نبرد با <spell>\",\"Bertempur dengan <spell>\",\"Bertempur dengan <spell>\"\n\"TID_CHALLENGE_DRAFT_EXPLAINED_SHORT\",\"Keep a card and give the other!\",\"Gardez une carte et donnez l'autre !\",\"Behalte eine Karte und gib die andere ab!\",\"¡Quédate una carta y regala la otra!\",\"Tieni una carta e dai l'altra!\",\"Houd een kaart en geef de andere weg!\",\"Behold ett kort og gi bort det andre!\",\"Bir kartı tutup diğerini ver!\",\"1枚キープして、残りを渡します！\",\"필요한 카드만 남기고 나머지는 넘겨주세요!\",\"Сохрани карту и используй другую!\",\"احتفظ ببطاقة وامنح الأخرى!\",\"Fique com uma carta e dê a outra!\",\"保留一张卡牌，同时对手将获得另一张卡牌！\",\"保留一張卡牌，同時對手將獲得另一張卡牌！\",\"یک کارت نگه دار و بقیه رو بده!\",\"Simpan satu kartu dan berikan yang lain!\",\"Simpan kad dan beri kad lain!\"\n\"TID_ELECTROWIZARD_CHALLENGE_EXPLAINED\",\"Build a deck with the Electro Wizard; all cards are available in this special challenge.\\n\\nEach win increases your prize; at 12 wins you receive the top prize AND the Electro Wizard!\",\"Préparez votre jeu avec l'électro-sorcier. Toutes les cartes sont disponibles dans ce défi spécial.\\n\\nChaque victoire améliorera votre prix et, au bout de 12 victoires, vous recevrez le meilleur prix et l'électro-sorcier !\",\"Baue ein Deck mit dem Elektromagier. In dieser besonderen Herausforderung sind auch alle anderen Karten freigeschaltet.\\n\\nMit jedem Sieg wird dein Preis größer. Bei 12 Siegen erhältst du den Hauptpreis UND den Elektromagier!\",\"Crea una baraja con el mago eléctrico; dispondrás de todas las cartas en este desafío especial.\\n\\nCada vez que ganes, el premio aumentará. ¡Con 12 victorias te llevarás el mejor premio y el mago eléctrico!\",\"Crea un mazzo con lo stregone elettrico. Per questa sfida speciale sono disponibili tutte le carte.\\n\\nOgni vittoria aumenta il tuo premio: a 12 vittorie riceverai il primo premio E lo stregone elettrico!\",\"Stel je kaarten samen met de elektrotovenaar. Alle kaarten zijn beschikbaar in deze speciale uitdaging.\\n\\nElke overwinning verhoogt je prijs; win 12 keer voor de hoofdprijs én de elektrotovenaar!\",\"Bygg opp et sett kampkort med elektrotrollmannen. Alle kortene er tilgjengelig i denne spesialutfordringen.\\n\\nHver seier øker premien din. Etter 12 seire får du førstepremien OG elektrotrollmannen!\",\"Bu özel mücadelede Elektro Büyücü ile bir deste oluştur. Tüm kartlar kullanılabilir.\\n\\nHer kazandığında ödülün artar ve 12 kere kazandığında büyük ödülü VE Elektro Büyücüyü elde edersin!\",\"エレクトロウィザードを入れたデッキを作りましょう。このスペシャルチャレンジでは、すべてのカードを使うことができます。\\n\\n勝利数が増えるほど報酬がグレードアップします。12勝を達成すると、トップ報酬とエレクトロウィザードが与えられます！\",\"일렉트로 마법사와 함께 덱을 구성하세요. 이 도전에서는 모든 카드를 사용할 수 있습니다.\\n\\n이길 때마다 보상이 늘어나며, 12승을 달성하면 1등 상품과 일렉트로 마법사를 받게 됩니다!\",\"Собери колоду с громовержцем. Все карты доступны в этом особом испытании.\\n\\nКаждая победа увеличивает твой приз. 12 побед принесут тебе главный приз И громовержца в придачу!\",\"قم ببناء مجموعة مع ساحر الكهرباء، كل البطاقات متوفرة في هذا التحدي الخاص.\\n\\nستأتيك كل مرة فوز بزيادة في جائزتك؛ عند الفوز 12 مرة ستتلقى أعلى الجوائز والساحر الكهربائي!\",\"Monte um deck com o Mago Elétrico. Todas as cartas estão disponíveis neste desafio especial.\\n\\nCada vitória aumentará seu prêmio. Com 12, você receberá o prêmio máximo e TAMBÉM o Mago Elétrico!\",\"使用闪电法师和已推出的卡牌组成一套卡组来参与该特别活动挑战。\\n\\n每获得一场胜利，您的最终奖励都会有所增加。获胜12场，即可赢得最高奖励，还有闪电法师！\",\"使用閃電法師和已推出的卡牌組成一套牌組來參與該特別活動挑戰。\\n\\n每獲得一場勝利，您的最終獎勵都會有所增加。獲勝12場，即可贏得最高獎勵，還有閃電法師！\",\"با جادوگر برقی یک دست بسازید؛ همه کارت‌ها در این چالش ویژه در دسترس هستن.\\n\\nبا هر برد جایزه شما افزایش می‌یابد؛ با 12 پیروزی جایزه برتر و جادوگر برقی را دریافت می‌کنید!\",\"Buat dek dengan Penyihir Elektro; semua kartu tersedia dalam tantangan spesial ini.\\n\\nSetiap kali menang, hadiahmu akan bertambah; 12x menang akan memberimu hadiah utama DAN Penyihir Elektro!\",\"Bina dek dengan Ahli Sihir Elektro; semua kad tersedia dalam cabaran istimewa ini.\\n\\nSetiap kemenangan meningkatkan hadiah anda; anda menerima hadiah utama DAN Ahli Sihir Elektro pada kemenangan ke-12!\"\n\"TID_DRAFT_CHALLENGE_EXPLAINED\",\"Build a deck by picking 4 cards and receiving 4 from your opponent's discarded choices.\\n\\nEach win increases your prize; at 12 wins you receive the top prize!\",\"Préparez votre jeu en choisissant 4 cartes et en récupérant 4 cartes jetées par votre adversaire.\\n\\nChaque victoire améliorera votre prix et, au bout de 12 victoires, vous recevrez le meilleur prix !\",\"Dein Deck besteht aus 4 von dir gewählten und 4 von deinem Gegner abgelehnten Karten.\\n\\nMit jedem Sieg wird dein Preis größer. Bei 12 Siegen erhältst du den Hauptpreis!\",\"Tendrás que elegir 4 cartas y recibirás otras 4 que tu rival haya desechado.\\n\\nCada vez que ganes, el premio aumentará. ¡Con 12 victorias te llevarás el mejor premio!\",\"Crea un mazzo selezionando 4 carte e ricevendone 4 scartate dall'avversario.\\n\\nOgni vittoria aumenta il tuo premio: a 12 vittorie ricevi il primo premio!\",\"Stel je kaarten samen met vier kaarten die je zelf kiest en de vier kaarten die de tegenstander heeft afgewezen.\\n\\nElke overwinning verhoogt je prijs; win 12 keer voor de hoofdprijs!\",\"Bygg opp et sett kampkort ved å velge 4 kort og motta 4 av motstanderens forkastede valg.\\n\\nHver seier øker premien din. Etter 12 seire får du førstepremien!\",\"4 kart seçerek ve rakibinin seçmediği 4 kartı alarak bir deste oluştur.\\n\\nHer kazandığında ödülün artacak ve 12 kere kazandığında büyük ödülü elde edeceksin!\",\"自分で選んだカード4枚に、対戦相手が選ばなかった4枚を加えてデッキを作ります。\\n\\n勝利数が増えるほど報酬がグレードアップします。12勝を達成すると、トップ報酬が与えられます！\",\"내가 선택한 카드 4장과 상대가 버린 카드 4장으로 덱을 구성하세요.\\n\\n이길 때마다 보상이 늘어나며, 12승을 달성하면 1등 상품을 받게 됩니다!\",\"Собери колоду, выбрав 4 карты. Другие 4 ты получишь из невыбранных карт колоды противника.\\n\\nКаждая победа увеличивает твой приз. 12 побед принесут тебе главный приз!\",\"قم ببناء مجموعة باختيار 4 بطاقات وتلقي 4 من اختيارات خصمك المُهملة.\\n\\nستأتيك كل مرة فوز بزيادة في جائزتك؛ عند الفوز 12 مرة ستتلقى أعلى الجوائز!\",\"Monte um deck com 4 cartas de sua escolha e 4 cartas descartadas por seu adversário.\\n\\nCada vitória aumentará seu prêmio. Com 12, você receberá o prêmio máximo!\",\"通过选择4张卡牌并获得对手放弃的4张卡牌来组成一套卡组进行对战。\\n\\n每获得一场胜利，您的最终奖励都会有所增加。获胜12场，即可赢得最高奖励！\",\"通過選擇4張卡牌並獲得對手放棄的4張卡牌來組成一套牌組進行對戰。\\n\\n每獲得一場勝利，您的最終獎勵都會有所增加。獲勝12場，即可贏得最高獎勵！\",\"با برداشتن 4 کارت و دریافت 4 کارت از انتخاب‌های دور انداخته شده حریف یک دست بسازید.\\n\\nهر پیروزی جایزه شما را افزایش می‌دهد؛ با 12 پیروزی جایزه برتر را دریافت می‌کنید!\",\"Buat dek dengan memilih 4 kartu dan menerima 4 dari buangan lawanmu.\\n\\nSetiap kali menang, hadiahmu akan bertambah; 12x menang akan memberimu hadiah utama!\",\"Bina dek dengan memilih 4 kad dan menerima 4 kad pilihan yang dibuang pihak lawan anda.\\n\\nSetiap kemenangan meningkatkan hadiah anda; anda mendapat hadiah utama pada kemenangan ke-12!\"\n\"TID_CLAN_CROWN_CHEST\",\"Clan Chest\",\"Coffre de clan\",\"Clantruhe\",\"Cofre del clan\",\"Baule del clan\",\"Clankist\",\"Klankiste\",\"Klan Sandığı\",\"クラン宝箱\",\"클랜 상자\",\"Клановый сундук\",\"صندوق القبيلة\",\"Baú do clã\",\"部落宝箱\",\"部落寶箱\",\"صندوق قبیله\",\"Peti Klan\",\"Peti Klan\"\n\"TID_CLAN_CROWN_CHEST_NEXT_REWARD\",\"Next Reward\",\"Récompense suivante\",\"Nächste Belohnung\",\"Siguiente recompensa\",\"Prossima ricompensa\",\"Volgende beloning\",\"Neste belønning\",\"Sonraki Ödül\",\"次の報酬\",\"다음 보상\",\"Следующая награда\",\"الجائزة التالية\",\"Próxima recompensa\",\"下一奖励\",\"下一獎勵\",\"جایزه بعدی\",\"Hadiah Berikutnya\",\"Ganjaran Seterusnya\"\n\"TID_CLAN_CROWN_CHEST_YOUR_REWARD\",\"Your Reward\",\"Votre récompense\",\"Deine Belohnung\",\"Tu recompensa\",\"La tua ricompensa\",\"Jouw beloning\",\"Din belønning\",\"Ödülün\",\"自分の報酬\",\"내 보상\",\"Твоя награда\",\"جائزتك\",\"Sua recompensa\",\"您的奖励\",\"您的獎勵\",\"جایزه شما\",\"Hadiahmu\",\"Ganjaran Anda\"\n\"TID_CLAN_CROWN_CHEST_NOT_ELIGIBLE_REWARD\",\"Not eligible for this chest\",\"Non éligible pour ce coffre\",\"Nicht zu dieser Truhe berechtigt\",\"No puedes ganar este cofre.\",\"Non hai diritto a questo baule\",\"Niet in aanmerking voor deze kist\",\"Ikke kvalifisert for denne kisten\",\"Bu sandık alınamaz\",\"この宝箱は入手できません\",\"이 상자의 보상을 받을 수 없음\",\"Этот сундук недоступен\",\"أنت غير مؤهل لهذا الصندوق\",\"Não se qualifica para este baú.\",\"无法获得本次活动的宝箱\",\"無法獲得本次活動的寶箱\",\"برای این صندوق، واجد شرایط نیست\",\"Tidak berhak atas peti ini\",\"Tidak layak untuk peti ini\"\n\"TID_CLAN_CROWN_CHEST_TOTAL\",\"Total Crowns: <VALUE>\",\"Total de couronnes : <VALUE>\",\"Kronen insgesamt: <VALUE>\",\"Total de coronas: <VALUE>\",\"Corone totali: <VALUE>\",\"Totaal aantal kronen: <VALUE>\",\"Kroner totalt: <VALUE>\",\"Toplam Taç: <VALUE>\",\"総計クラウン数： <VALUE>\",\"크라운 합계: <VALUE>\",\"Всего корон: <VALUE>\",\"إجمالي التيجان: <VALUE>\",\"Total de coroas: <VALUE>\",\"皇冠总数：<VALUE>\",\"皇冠總數：<VALUE>\",\"مجموع تاج‌ها: <VALUE>\",\"Total Mahkota: <VALUE>\",\"Jumlah Mahkota: <VALUE>\"\n\"TID_CHALLENGE_ELECTRO_WIZ\",\"Electro Wizard Challenge\",\"Défi de l'électro-sorcier\",\"Elektromagier-Herausforderung\",\"Desafío del mago eléctrico\",\"Sfida stregone elettrico\",\"Elektrotovenaarsuitdaging\",\"Elektrotrollmann-utfordring\",\"Elektro Büyücü Mücadelesi\",\"エレクトロウィザードチャレンジ\",\"일렉트로 마법사 도전\",\"Испытание громовержца\",\"تحدي الساحر الكهربائي\",\"Desafio do Mago Elétrico\",\"闪电法师挑战\",\"閃電法師挑戰\",\"چالش جادوگر برقی\",\"Tantangan Penyihir Elektro\",\"Cabaran Ahli Sihir Elektro\"\n\"TID_EVENT_DECK_SMALL_TITLE\",\"Build a deck for\",\"Préparez un jeu pour\",\"Baue ein Deck für:\",\"Crea una baraja para el\",\"Crea un mazzo per\",\"Stel je kaarten samen voor:\",\"Bygg opp et sett kampkort for\",\"Şunun için deste oluştur:\",\"デッキ作成：\",\"덱 구성하기:\",\"Собери колоду с картой\",\"كوِّن مجموعة بطاقات من أجل\",\"Monte um deck para\",\"为该活动配置卡组\",\"為此活動配置牌組\",\"یک دست بساز برای\",\"Bangun dek untuk\",\"Bina dek untuk\"\n\"TID_CHALLENGE_ELECTRO_WIZ_EVENT_DECK_TITLE\",\"Electro Wizard\",\"Électro-sorcier\",\"Elektromagier\",\"Mago eléctrico\",\"Stregone elettrico\",\"Elektrotovenaar\",\"Elektrotrollmann\",\"Elektro Büyücü\",\"エレクトロウィザード\",\"일렉트로 마법사\",\"Громовержец\",\"الساحر الكهربائي\",\"Mago Elétrico\",\"闪电法师\",\"閃電法師\",\"جادوگر برقی\",\"Penyihir Elektro\",\"Ahli Sihir Elektro\"\n\"TID_SURVIVAL_SPELL_BUTTON_OK\",\"OK\",\"OK\",\"O. K.\",\"Vale\",\"OK\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"ОК\",\"موافق\",\"OK\",\"确认\",\"確認\",\"تأیید\",\"Oke\",\"OK\"\n\"TID_SURVIVAL_SPELL_BUTTON_RANDOM\",\"Random\",\"Aléatoire\",\"Zufällig\",\"Al azar\",\"Casuale\",\"Willekeurig\",\"Tilfeldig\",\"Rastgele\",\"ランダム\",\"랜덤\",\"Случайно\",\"عشوائي\",\"Aleatório\",\"随机\",\"隨機\",\"تصادفی\",\"Acak\",\"Rawak\"\n\"TID_FRIENDLY_MODE_INFO\",\"Cards are leveled up to:\\n- King level: <KING_LVL>\\n- Common level: <COMMON_LVL>\\n- Rare level: <RARE_LVL>\\n- Epic level: <EPIC_LVL>\\n- Legendary level: <LEGENDARY_LVL>\\n- Overtime length: <OVERTIME>\",\"Voici comment sont ajustés les niveaux :\\n- Niveau du roi : <KING_LVL>\\n- Niveau cartes communes : <COMMON_LVL>\\n- Niveau cartes rares : <RARE_LVL>\\n- Niveau cartes épiques : <EPIC_LVL>\\n- Niveau cartes légendaires : <LEGENDARY_LVL>\\n- Durée du temps extra : <OVERTIME>\",\"Kartenlevel erhöhen sich wie folgt:\\n- Königslevel: <KING_LVL>\\n- Gewöhnliche Karten: <COMMON_LVL>\\n- Seltene Karten: <RARE_LVL>\\n- Epische Karten: <EPIC_LVL>\\n- Legendäre Karten: <LEGENDARY_LVL>\\n- Verlängerungsdauer: <OVERTIME>\",\"Las cartas se suben de nivel como se indica a continuación:\\n- Nivel de la torre del rey: <KING_LVL>\\n- Nivel de las cartas comunes: <COMMON_LVL>\\n- Nivel de las cartas especiales: <RARE_LVL>\\n- Nivel de las cartas épicas: <EPIC_LVL>\\n- Nivel de las cartas legendarias: <LEGENDARY_LVL>\\n- Tiempo extra: <OVERTIME>\",\"Le carte sono impostate ai livelli:\\n- livello re: <KING_LVL>\\n- livello comuni: <COMMON_LVL>\\n- livello rare: <RARE_LVL>\\n- livello epiche: <EPIC_LVL>\\n- livello leggendarie: <LEGENDARY_LVL>\\n- durata supplementari: <OVERTIME>\",\"Kaarten stijgen in level naar:\\n- Koningslevel: <KING_LVL>\\n- Gewoon level: <COMMON_LVL>\\n- Zeldzaam level: <RARE_LVL>\\n- Episch level: <EPIC_LVL>\\n- Legendarisch level: <LEGENDARY_LVL>\\n- Extra tijd: <OVERTIME>\",\"Kort tas opp i nivå til:\\n- Kongenivå: <KING_LVL>\\n- Vanlig nivå: <COMMON_LVL>\\n- Sjeldent nivå: <RARE_LVL>\\n- Episk nivå: <EPIC_LVL>\\n- Legendarisk nivå: <LEGENDARY_LVL>\\n- Lengde på overtid: <OVERTIME>\",\"Kart seviyeleri şu şekilde düşürüldü:\\n- Kral seviyesi: <KING_LVL>\\n- Sıradan seviye: <COMMON_LVL>\\n- Ender seviye: <RARE_LVL>\\n- Destansı seviye: <EPIC_LVL>\\n- Efsanevi seviye: <LEGENDARY_LVL>\\n- Uzatma süresi: <OVERTIME>\",\"カードは次のようにレベルアップします：\\n- キングのレベル： <KING_LVL>\\n- ノーマルカードのレベル： <COMMON_LVL>\\n- レアカードのレベル： <RARE_LVL>\\n- スーパーレアカードのレベル： <EPIC_LVL>\\n- ウルトラレアカードのレベル： <LEGENDARY_LVL>\\n- 延長タイム： <OVERTIME>\",\"카드 레벨이 다음 레벨로 상향 조정됩니다.\\n- 왕 레벨: <KING_LVL>\\n- 일반 레벨: <COMMON_LVL>\\n- 희귀 레벨: <RARE_LVL>\\n- 영웅 레벨: <EPIC_LVL>\\n- 전설 레벨: <LEGENDARY_LVL>\\n- 오버타임 시간: <OVERTIME>\",\"Уровни карт повышены:\\n- Уровень короля: <KING_LVL>\\n- Уровень обычных: <COMMON_LVL>\\n- Уровень редких: <RARE_LVL>\\n- Уровень эпических: <EPIC_LVL>\\n- Уровень легендарных: <LEGENDARY_LVL>\\n- Доп. время: <OVERTIME>\",\"تم رفع مستوى البطاقات إلى:\\n- مستوى الملك: <KING_LVL>\\n- مستوى عادي: <COMMON_LVL>\\n- مستوى نادر: <RARE_LVL>\\n- مستوى ممتاز: <EPIC_LVL>\\n- مستوى أسطوري: <LEGENDARY_LVL>\\n- مدة الوقت الإضافي: <OVERTIME>\",\"As cartas são ajustadas para:\\n- Nível do Rei: <KING_LVL>\\n- Nível das comuns: <COMMON_LVL>\\n- Nível das raras: <RARE_LVL>\\n- Nível das épicas: <EPIC_LVL>\\n- Nível das lendárias: <LEGENDARY_LVL>\\n- Prorrogação: <OVERTIME>\",\"卡牌等级将调整至：\\n- 国王塔等级：<KING_LVL>\\n- 普通卡等级：<COMMON_LVL>\\n- 稀有卡等级：<RARE_LVL>\\n- 史诗卡等级：<EPIC_LVL>\\n- 传奇卡等级：<LEGENDARY_LVL>\\n- 加时赛时长：<OVERTIME>\",\"卡牌等級將調整至：\\n- 國王塔等級：<KING_LVL>\\n- 普通卡等級：<COMMON_LVL>\\n- 稀有卡等級：<RARE_LVL>\\n- 史詩卡等級：<EPIC_LVL>\\n- 傳奇卡等級：<LEGENDARY_LVL>\\n- 加時賽時長：<OVERTIME>\",\"سطح کارت‌ها ارتقا پیدا می‌کنه به:\\n- سطح پادشاه: <KING_LVL>\\n- سطح عمومی: <COMMON_LVL>\\n- سطح کمیاب: <RARE_LVL>\\n- سطح حماسی: <EPIC_LVL>\\n- سطح افسانه‌ای: <LEGENDARY_LVL>\\n- طول وقت اضافه: <OVERTIME>\",\"Kartu naik level menjadi:\\n- Level raja: <KING_LVL>\\n- Level umum: <COMMON_LVL>\\n- Level langka: <RARE_LVL>\\n- Level epik: <EPIC_LVL>\\n- Level legendaris: <LEGENDARY_LVL>\\n- Lama perpanjangan: <OVERTIME>\",\"Kad dinaikkan tahap ke:\\n- Tahap Raja: <KING_LVL>\\n- Tahap Biasa: <COMMON_LVL>\\n- Tahap Jarang: <RARE_LVL>\\n- Tahap Epik: <EPIC_LVL>\\n- Tahap Legenda: <LEGENDARY_LVL>\\n- Tempoh Lebih Masa: <OVERTIME>\"\n\"TID_BATTLE_WITH_FRIENDLY_LEVELS\",\"Battle using Friendly Rules!\",\"Combattez en suivant le règlement amical !\",\"Kämpfe nach Testspielregeln!\",\"¡Batalla con las reglas amistosas!\",\"Battaglia con le regole da amichevole!\",\"Vecht volgens de vriendelijke regels.\",\"Bruk vennskapsreglene i kamper!\",\"Savaşlar Dostane Kurallara göre oynanır!\",\"対戦はフレンドルールに沿って行われます！\",\"친선 규칙을 사용한 전투!\",\"Бои проходят по дружеским правилам!\",\"قاتل وفقًا للقواعد الودية.\",\"Lute de acordo com as Regras Amistosas!\",\"对战采用友谊战规则！\",\"對戰採用友誼戰規則！\",\"نبرد با استفاده از قوانین دوستانه!\",\"Bertempur menggunakan Aturan Persahabatan!\",\"Pertempuran menggunakan Peraturan Persahabatan!\"\n\"TID_CLAN_INFO_TAB\",\"Info\",\"Infos\",\"Info\",\"Infor.\",\"Info\",\"Info\",\"Info\",\"Bilgi\",\"情報\",\"정보\",\"Информация\",\"معلومة\",\"Detalhes\",\"信息\",\"資訊\",\"اطلاعات\",\"Info\",\"Maklumat\"\n\"TID_CLAN_CHEST_TAB\",\"Chest\",\"Coffre\",\"Truhe\",\"Cofre\",\"Baule\",\"Kist\",\"Kiste\",\"Sandık\",\"宝箱\",\"상자\",\"Сундук\",\"صندوق\",\"Baú\",\"宝箱\",\"寶箱\",\"صندوق\",\"Peti\",\"Peti\"\n\"TID_12_WINS_GUARANTEES\",\"Get <win_count> wins for a guaranteed <spell>\",\"Avec <win_count> victoires, gagnez un <spell>\",\"Gewinne <win_count>-mal, um Folgendes garantiert zu erhalten: <spell>\",\"Con <win_count> victorias te llevarás esto: ¡<spell>!\",\"Con <win_count> vittorie ottieni: <spell>\",\"Bij <win_count> overwinningen krijg je gegarandeerd een <spell>.\",\"Få <win_count> seire, så er du garantert en: <spell>\",\"Garantili bir <spell> için <win_count> galibiyet kazan\",\"<win_count>勝すると<spell>を1つもらえます\",\"<win_count>승을 달성하면 <spell> 지급이 보장됩니다.\",\"За определенное количество побед (<win_count>) ты гарантировано получишь карту «<spell>»\",\"حقق الفوز <win_count> من المرات لضمان الحصول على <spell>\",\"Obtenha <win_count> vitórias para garantir <spell>.\",\"单次挑战获胜<win_count>场即可保证获得<spell>\",\"單次挑戰獲勝<win_count>場即可保證獲得<spell>\",\"برای تضمین یک <spell> تعداد <win_count> پیروزی به دست بیاورید\",\"Menang <win_count> kali demi <spell> dijamin\",\"Dapatkan <win_count> kemenangan untuk menjamin <spell>\"\n\"TID_EDIT\",\"DECK\",\"CARTES\",\"DECK\",\"BARAJA\",\"MAZZO\",\"KAARTEN\",\"KAMPKORT\",\"DESTE\",\"デッキ\",\"덱\",\"КОЛОДА\",\"مجموعة\",\"DECK\",\"卡组\",\"牌組\",\"دست\",\"DEK\",\"DEK\"\n\"TID_SHOP_HOLIDAY_0\",\"Holiday Pack 1\",\"Pack des fêtes 1\",\"Weihnachtspaket 1\",\"Lote festivo 1\",\"Pacchetto festivo 1\",\"Feestdagenpakket 1\",\"Høytidspakke 1\",\"Tatil Paketi 1\",\"ホリデーパック1\",\"홀리데이 팩 1\",\"Праздничный пакет 1\",\"حزمة العطلة 1\",\"Pacote de Fim de Ano 1\",\"节日礼包1\",\"節日特惠包1\",\"بسته تعطیلات 1\",\"Paket Liburan 1\",\"Pek Cuti 1\"\n\"TID_SHOP_HOLIDAY_1\",\"Holiday Pack 2\",\"Pack des fêtes 2\",\"Weihnachtspaket 2\",\"Lote festivo 2\",\"Pacchetto festivo 2\",\"Feestdagenpakket 2\",\"Høytidspakke 2\",\"Tatil Paketi 2\",\"ホリデーパック2\",\"홀리데이 팩 2\",\"Праздничный пакет 2\",\"حزمة العطلة 2\",\"Pacote de Fim de Ano 2\",\"节日礼包2\",\"節日特惠包2\",\"بسته تعطیلات 2\",\"Paket Liburan 2\",\"Pek Cuti 2\"\n\"TID_SHOP_HOLIDAY_2\",\"Holiday Pack 3\",\"Pack des fêtes 3\",\"Weihnachtspaket 3\",\"Lote festivo 3\",\"Pacchetto festivo 3\",\"Feestdagenpakket 3\",\"Høytidspakke 3\",\"Tatil Paketi 3\",\"ホリデーパック3\",\"홀리데이 팩 3\",\"Праздничный пакет 3\",\"حزمة العطلة 3\",\"Pacote de Fim de Ano 3\",\"节日礼包3\",\"節日特惠包3\",\"بسته تعطیلات 3\",\"Paket Liburan 3\",\"Pek Cuti 3\"\n\"TID_SHOP_CHINESE_NEW_YEAR_0\",\"Chinese New Year Pack 1\",\"Pack du Nouvel An chinois 1\",\"Chinesisches Neujahrspaket 1\",\"Lote de Año Nuevo Chino 1\",\"Pacchetto Capodanno cinese 1\",\"Chinees-nieuwjaarspakket 1\",\"Kinesisk nyttår-pakke 1\",\"Çin Yeni Yılı Paketi 1\",\"旧正月パック1\",\"설 기념 팩 1\",\"Пакет китайского Нового года 1\",\"حزمة العام الصيني الجديد 1\",\"Pacote de Ano-Novo Chinês 1\",\"春节礼包1\",\"春節特惠包1\",\"بسته سال نوی چینی 1\",\"Paket Imlek 1\",\"Pek Tahun Baru Cina 1\"\n\"TID_SHOP_CHINESE_NEW_YEAR_1\",\"Chinese New Year Pack 2\",\"Pack du Nouvel An chinois 2\",\"Chinesisches Neujahrspaket 2\",\"Lote de Año Nuevo Chino 2\",\"Pacchetto Capodanno cinese 2\",\"Chinees-nieuwjaarspakket 2\",\"Kinesisk nyttår-pakke 2\",\"Çin Yeni Yılı Paketi 2\",\"旧正月パック2\",\"설 기념 팩 2\",\"Пакет китайского Нового года 2\",\"حزمة العام الصيني الجديد 2\",\"Pacote de Ano-Novo Chinês 2\",\"春节礼包2\",\"春節特惠包2\",\"بسته سال نوی چینی 2\",\"Paket Imlek 2\",\"Pek Tahun Baru Cina 2\"\n\"TID_SHOP_CHINESE_NEW_YEAR_2\",\"Chinese New Year Pack 3\",\"Pack du Nouvel An chinois 3\",\"Chinesisches Neujahrspaket 3\",\"Lote de Año Nuevo Chino 3\",\"Pacchetto Capodanno cinese 3\",\"Chinees-nieuwjaarspakket 3\",\"Kinesisk nyttår-pakke 3\",\"Çin Yeni Yılı Paketi 3\",\"旧正月パック3\",\"설 기념 팩 3\",\"Пакет китайского Нового года 3\",\"حزمة العام الصيني الجديد 3\",\"Pacote de Ano-Novo Chinês 3\",\"春节礼包3\",\"春節特惠包3\",\"بسته سال نوی چینی 3\",\"Paket Imlek 3\",\"Pek Tahun Baru Cina 3\"\n\"TID_HOLIDAY_OFFER_TITLE\",\"Holiday Offer\",\"Offre des fêtes\",\"Weihnachtsangebot\",\"Oferta festiva\",\"Offerta festiva\",\"Feestdagenaanbieding\",\"Høytidstilbud\",\"Tatil Fırsatı\",\"ホリデーセール\",\"연말 특가\",\"Праздничная акция\",\"عرض العطلة\",\"Oferta de Fim de Ano\",\"节日特惠\",\"節日特惠\",\"پیشنهاد تعطیلات\",\"Penawaran Liburan\",\"Tawaran Cuti\"\n\"TID_FORTUNE_OFFER_TITLE\",\"Fortune Offer\",\"Offre fortune\",\"Glücksangebot\",\"Oferta de la fortuna\",\"Offerta fortunata\",\"Geluksaanbieding\",\"Lykketilbud\",\"Servet Fırsatı\",\"フォーチュンセール\",\"행운의 특가\",\"Счастливая акция\",\"عرض الطالع\",\"Oferta da Sorte\",\"吉祥特惠\",\"幸運特惠\",\"پیشنهاد شانس\",\"Penawaran Hoki\",\"Tawaran Kekayaan\"\n\"TID_BLIND_DECK_RANDOM\",\"Random Mix\",\"Mélange aléatoire\",\"Zufallsmix\",\"Selección aleatoria\",\"Guazzabuglio\",\"Willekeurige mix\",\"Tilfeldig blanding\",\"Rastgele Karışık\",\"ランダムミックス\",\"랜덤 믹스\",\"Случайный выбор\",\"خليط عشوائي\",\"Seleção Aleatória\",\"随机卡组\",\"隨機牌組\",\"ترکیب تصادفی\",\"Campuran Acak\",\"Campuran Rawak\"\n\"TID_CHALLENGE_DECK_RANDOM_POPOVER\",\"If you are looking for inspiration, tap here to randomize your deck!\",\"Si vous cherchez de l'inspiration, touchez ici pour obtenir des cartes aléatoires !\",\"Tippe hier, um dir ein zufälliges Deck vorschlagen zu lassen!\",\"Si necesitas inspiración, toca aquí para elegir una combinación aleatoria de cartas para tu baraja.\",\"Se sei in cerca di ispirazione, tocca qui per generare un mazzo casuale!\",\"Als je op zoek bent naar inspiratie, tik dan hier voor een willekeurige set gevechtskaarten.\",\"Hvis du ser etter inspirasjon, kan du trykke her for å få tilfeldige kampkort!\",\"İlham arıyorsan buraya dokunup rastgele bir deste elde et!\",\"インスピレーションが欲しい方は、ここをタップするとデッキがランダムに変更します！\",\"색다른 느낌으로 싸우고 싶다면 여기를 눌러 랜덤 덱을 구성해 보세요.\",\"Нужно вдохновение? Коснись, чтобы получить случайную колоду!\",\"إذا كنت تسعى للإلهام، فبإمكانك النقر هنا لتجعل مجموعتك عشوائية!\",\"Se estiver buscando inspiração, toque aqui para ver sugestões aleatórias.\",\"如果您需要一些灵感，可以点击这里由系统为您随机配置卡组。\",\"如果您需要一些靈感，可以點擊這裡由系統為您隨機配置牌組。\",\"اگر میخوای بهت الهام شه، میتونی اینجا ضربه بزنی تا ترکیب دستت تصادفی بشه!\",\"Jika kamu mencari inspirasi, ketuk di sini untuk mengacak dek!\",\"Jika anda mencari inspirasi, ketik di sini untuk merawakkan dek anda!\"\n\"TID_CHALLENGE_DECK_BUILD_DECK_POPOVER\",\"Build your event deck, or randomize it, to continue.\",\"Pour continuer, préparez votre jeu pour l'événement ou choisissez des cartes aléatoires.\",\"Bau dein Ereignisdeck oder lass dir etwas vorschlagen, um fortzufahren.\",\"Crea tu baraja para el evento o elige una combinación aleatoria para continuar.\",\"Per continuare, crea un mazzo per l'evento o procedi con uno casuale.\",\"Stel je gevechtskaarten samen of speel met een willekeurige set om door te gaan.\",\"For å fortsette bygger du opp et sett med kampkort til hendelsen eller velger å motta tilfeldige kort.\",\"Devam etmek için etkinlik desteni oluştur ya da rastgele bir deste al.\",\"イベント用デッキを作るかランダムに変更すると先に進みます。\",\"이벤트 덱이나 랜덤 덱을 구성하여 계속 진행하세요.\",\"Собери новую колоду или возьми случайную, чтобы продолжить.\",\"قم ببناء مجموعتك للحدث، أو اجعلها عشوائية، من أجل المتابعة.\",\"Monte seu deck para o evento ou opte por uma combinação aleatória para continuar.\",\"自行配置卡组或使用随机生成的卡组以继续挑战。\",\"自行配置牌組或使用隨機生成的牌組以繼續挑戰。\",\"دست رویداد خودتو بساز، یا برای ادامه، تصادفی‌سازی کن.\",\"Bangun dek acara, atau acaklah, untuk melanjutkan.\",\"Bina dek acara anda atau rawakkannya untuk teruskan.\"\n\"TID_EVENT_DECK_TEXT\",\"Challenge Event\",\"Défi\",\"Herausforderungsereignis\",\"Evento de desafío\",\"Evento sfida\",\"Uitdagingsevenement\",\"Utfordringshendelse\",\"Mücadele Etkinliği\",\"チャレンジイベント\",\"도전 이벤트\",\"Событийное испытание\",\"حدث التحدي\",\"Evento de desafio\",\"挑战活动\",\"挑戰活動\",\"رویداد چالشی\",\"Acara Tantangan\",\"Acara Cabaran\"\n\"TID_CHALLENGE_ELECTRO_WIZ_FRIENDLY\",\"Electro Wizard Friendly Challenge\",\"Défi amical Électro-sorcier\",\"Elektromagier-Freundschaftsspiel\",\"Desafío amistoso de mago eléctrico\",\"Sfida amichevole stregone elettrico\",\"Vriendelijke elektrotovenaarsuitdaging\",\"Uhøytidelig utfordring: elektrotrollmann\",\"Elektro Büyücü Dostane Mücadelesi\",\"エレクトロウィザード・フレンドチャレンジ\",\"일렉트로 마법사 친선도전\",\"Дружеское испытание громовержца\",\"التحدي الودي للساحر الكهربائي\",\"Desafio Amistoso do Mago Elétrico\",\"闪电法师友谊战\",\"閃電法師友誼戰\",\"چالش دوستانه جادوگر برقی\",\"Tantangan Teman Penyihir Elektro\",\"Cabaran Persahabatan Ahli Sihir Elektro\"\n\"TID_HINT_CLONE\",\"You can't Clone a Clone.\",\"On ne peut pas cloner un clone.\",\"Du kannst keinen Klon klonen.\",\"No puedes clonar un clon.\",\"Non puoi clonare un clone.\",\"Je kunt een kloon niet klonen.\",\"Du kan ikke klone en klon.\",\"Bir Klonu Klonlayamazsın.\",\"クローンをクローンすることはできません。\",\"복제된 것을 다시 복제할 수 없습니다.\",\"Нельзя клонировать клона.\",\"لا يُمكنك استنساخ مستنسخ.\",\"Não é possível clonar um Clone.\",\"克隆出来的军队无法被再次克隆。\",\"複製出來的軍隊無法被再次複製。\",\"نمی‌تونی یک شبیه‌سازی رو شبیه‌سازی کنی.\",\"Klona tidak dapat dikloning.\",\"Anda tidak boleh Mengklon suatu Klon.\"\n\"TID_EVENT_DECK_COLLECTION_TITLE_FRIENDLY\",\"All Cards\",\"Toutes les cartes\",\"Alle Karten\",\"Todas las cartas\",\"Tutte le carte\",\"Alle kaarten\",\"Alle kort\",\"Tüm Kartlar\",\"すべてのカード\",\"모든 카드\",\"Все карты\",\"كل البطاقات\",\"Todas as cartas\",\"所有卡牌\",\"所有卡牌\",\"همه کارت‌ها\",\"Semua Kartu\",\"Semua Kad\"\n\"TID_EVENT_DECK_COLLECTION_TITLE_TOURNAMENT\",\"Card Collection\",\"Cartes possédées\",\"Kartensammlung\",\"Colección de cartas\",\"Collezione carte\",\"Kaartverzameling\",\"Kortsamling\",\"Kart Koleksiyonu\",\"カードコレクション\",\"카드 컬렉션\",\"Коллекция карт\",\"مجموعة بطاقات\",\"Coleção de cartas\",\"牌库\",\"牌庫\",\"مجموعه کارت\",\"Koleksi Kartu\",\"Koleksi Kad\"\n\"TID_NOT_ELIGIBLE_FOR_THIS_CLAN_CHEST_SEASON\",\"Not part of this Clan Chest\",\"Vous ne participez pas à ce coffre de clan\",\"Nicht bei dieser Clantruhe dabei\",\"No participan en este cofre del clan.\",\"Non presente in questo baule del clan\",\"Doet niet mee aan deze clankist\",\"Ikke en del av denne klankisten\",\"Bu Klan Sandığının bir parçası olmayanlar\",\"このクラン宝箱イベントには参加していません\",\"해당 클랜 상자에 포함되지 않음\",\"Не претендует на клановый сундук\",\"لست جزءًا من صندوق القبيلة هذا\",\"Não faz parte deste evento do Baú do Clã.\",\"未参与当前部落宝箱活动\",\"未參與當前部落寶箱活動\",\"بخشی از این صندوق قبیله نیست\",\"Bukan bagian Peti Klan ini\",\"Bukan sebahagian Peti Klan ini\"\n\"TID_NOT_ELIGIBLE_FOR_THIS_CLAN_TEAM_VS_TEAM_CHEST_SEASON\",\"Not part of this 2v2 Clan Chest\",\"Vous ne participez pas à ce coffre de clan 2c2\",\"Nicht bei dieser Duo-Clantruhe dabei\",\"No participan en este cofre del clan 2c2.\",\"Non presente in questo baule del clan 2 vs 2\",\"Doet niet mee aan deze 2-tegen-2-clankist\",\"Ikke en del av denne 2v2-klankisten\",\"Bu 2'ye 2 Klan Sandığına dahil olmayanlar\",\"この協力クラン宝箱とは無関係です\",\"이 2v2 클랜 상자에 포함되지 않음\",\"Не участвует в событии «Клановый сундук 2 на 2»\",\"لست جزءًا من صندوق القبيلة 2 ضد 2 هذا\",\"Não faz parte deste evento do Baú do Clã 2v2.\",\"未参与本次2v2部落宝箱活动\",\"未參與本次2v2部落寶箱活動\",\"بخشی از این صندوق 2 در مقابل 2 قبیله نیست\",\"Bukan bagian Peti Klan 2v2 ini\",\"Bukan sebahagian Peti Klan 2 lwn 2 ini\"\n\"TID_NOTE_NOT_ELIGIBLE_FOR_THIS_CLAN_TEAM_VS_TEAM_CHEST_SEASON\",\"NOTE: Your 2v2 wins will contribute to the 2v2 Clan Chest, but you're not eligible for the reward this time!\",\"REMARQUE : vos victoires en 2c2 contribueront au coffre de clan 2c2, mais vous n'êtes pas éligible pour la récompense cette fois-ci.\",\"HINWEIS: Deine Kronen werden für die Duo-Clantruhe berücksichtigt, aber du hast diesmal kein Anrecht auf die Belohnung!\",\"Nota: Tus victorias en batallas 2c2 contribuirán al cofre del clan 2c2, pero no podrás ganar la recompensa esta vez.\",\"NOTA: le tue vittorie nelle battaglie 2 vs 2 contribuiranno al baule del clan 2 vs 2, ma stavolta non avrai diritto alla ricompensa!\",\"OPMERKING: je 2-tegen-2-overwinningen dragen bij aan de 2-tegen-2-clankist, maar je komt deze keer niet in aanmerking voor de beloning.\",\"OBS: Seirene dine i 2v2 vil bidra i 2v2-klankisten, men du er ikke kvalifisert for belønningen denne gangen!\",\"NOT: 2'ye 2 galibiyetlerin, 2'ye 2 Klan Sandığına katkıda bulunur ama bu seferlik ödül alamazsın!\",\"注意：協力バトルでの勝利は協力クラン宝箱イベントに貢献しますが、今回のイベントでは報酬を獲得できません！\",\"참고: 내 2v2 승리는 2v2 클랜 상자에 기여하지만, 이번에는 보상을 받을 수 없습니다!\",\"ВНИМАНИЕ! Ваши победы в боях 2 на 2 будут учитываться при получении кланового сундука, но вы не сможете претендовать на награду в этот раз!\",\"ملحوظة: ستُضاف انتصاراتك في معارك 2 ضد 2 إلى صندوق القبيلة لمعارك 2 ضد 2، لكنك غير مؤهل للجائزة هذه المرة!\",\"NOTA: suas coroas contribuirão para o evento Baú do Clã 2v2, mas você não pode receber a recompensa no momento!\",\"请注意：您在2v2对战中的获胜场数将会计入2v2部落宝箱活动中，但是您无法获得本次活动的奖励！\",\"請注意：您在2v2對戰中的獲勝場數將會計入2v2部落寶箱活動中，但是您無法獲得本次活動的獎勵！\",\"توجه: بردهایت در نبردهای 2 در مقابل 2 در صندوق 2 در مقابل 2 موثر خواهد بود، اما این بار واجد شرایط دریافت جایزه نیستی!\",\"INGAT: Kemenanganmu dalam 2v2 akan berkontribusi untuk Peti Klan 2v2, tetapi kamu tidak berhak atas hadiah kali ini!\",\"NOTA: Kemenangan 2 lwn 2 anda akan menyumbang kepada Peti Klan 2 lwn 2 tetapi, anda tidak layak untuk mendapat ganjaran kali ini!\"\n\"TID_CLAN_CROWN_CHEST_IN_PROGRESS\",\"Clan Chest in progress\",\"Coffre de clan actuel\",\"Clantruhe angefangen\",\"Cofre del clan en curso\",\"Baule del clan in corso\",\"Clankist aan de gang\",\"Klankiste pågår\",\"Klan Sandığı işlem görüyor\",\"進行中のクラン宝箱\",\"클랜 상자 진행 중\",\"Клановый сундук собирается\",\"صندوق القبيلة قيد التقدم\",\"Baú do clã em andamento\",\"部落宝箱活动正在进行中\",\"部落寶箱活動正在進行中\",\"صندوق قبیله در حال انجام\",\"Peti Klan diproses\",\"Peti Klan sedang dijalankan\"\n\"TID_CLAN_CROWN_CHEST_PARTICIPATE_INFO\",\"You will be part of the next Clan Chest.\",\"Vous participerez au prochain coffre de clan.\",\"Du nimmst an der nächsten Clantruhe teil.\",\"Formarás parte del próximo cofre del clan.\",\"Parteciperai al prossimo baule del clan.\",\"Je doet mee aan de volgende clankist.\",\"Du blir en del av den neste klankisten.\",\"Bir sonraki Klan Sandığının bir parçası olacaksın.\",\"次のクラン宝箱イベントから参加します。\",\"다음 클랜 상자 이벤트에 참여합니다.\",\"Ты участвуешь в клановом сундуке.\",\"ستكون جزءًا من صندوق القبيلة التالي.\",\"Você fará parte do próximo Baú do Clã.\",\"您可以参与下一次的部落宝箱活动。\",\"您可以參與下一次的部落寶箱活動。\",\"شما بخشی از صندوق قبیله بعدی خواهید بود.\",\"Kamu akan menjadi bagian Peti Klan berikutnya\",\"Anda akan menjadi sebahagian Peti Klan berikutnya.\"\n\"TID_CLAN_CROWN_CHEST_REACH_FIRST_INFO\",\"The Clan needs to collect at least <VALUE> Crowns to get the first chest!\",\"Le clan doit récupérer un minimum de <VALUE> couronnes pour obtenir le premier coffre !\",\"Der Clan muss mindestens <VALUE> Kronen sammeln, um die erste Truhe zu bekommen!\",\"¡El clan necesita reunir al menos <VALUE> coronas para conseguir el primer cofre!\",\"Il clan deve raccogliere almeno <VALUE> corone per ottenere il primo baule!\",\"De clan moet ten minste <VALUE> kronen verzamelen om de eerste kist te krijgen.\",\"Klanen må samle inn minst <VALUE> kroner for å få den første kisten!\",\"İlk sandığı almak için Klanın en az <VALUE> Taç toplaması gerek!\",\"最初の宝箱を手に入れるには、クランが最低でも<VALUE>個のクラウンを手に入れる必要があります！\",\"첫 번째 상자를 획득하려면 클랜은 최소 <VALUE>개의 크라운을 모아야 합니다!\",\"Чтобы получить первый сундук, клану нужно собрать минимальное количество корон (<VALUE>).\",\"تحتاج القبيلة إلى جمع <VALUE> من التيجان على الأقل للحصول على أول صندوق!\",\"O clã precisa coletar pelo menos <VALUE> coroas para receber o primeiro baú.\",\"部落需集齐至少<VALUE>个皇冠才能获得宝箱！\",\"部落需集齊至少<VALUE>個皇冠才能獲得寶箱！\",\"قبیله باید حداقل <VALUE> تاج جمع‌آوری کنه تا به اولین صندوق برسه!\",\"Klan perlu mengumpulkan setidaknya <VALUE> Mahkota untuk mendapatkan peti pertama!\",\"Klan perlu mengumpul sekurang-kurangnya <VALUE> Mahkota untuk mendapat peti pertama!\"\n\"TID_CLAN_TEAM_VS_TEAM_CHEST_REACH_FIRST_INFO\",\"The Clan needs to get at least <VALUE> 2v2 wins to get the first chest!\",\"Le clan doit remporter un minimum de <VALUE> victoires en 2c2 pour obtenir le premier coffre !\",\"Der Clan muss mindestens <VALUE> Siege in Duokämpfen erringen, um die erste Truhe zu bekommen!\",\"¡El clan necesita ganar al menos <VALUE> batallas 2c2 para obtener el primer cofre!\",\"Il clan deve ottenere almeno <VALUE> vittorie nelle battaglie 2 vs 2 per ottenere il primo baule!\",\"De clan moet ten minste <VALUE> 2-tegen-2-overwinningen behalen om de eerste kist te krijgen.\",\"Klanen må ta minst <VALUE> 2v2-seire for å få den første kisten!\",\"Klanın ilk sandığı alması için 2'ye 2'de en az <VALUE> galibiyet elde etmesi gerek!\",\"クランが最初の宝箱を入手するには、協力バトルで最低でも<VALUE>勝する必要があります！\",\"클랜이 첫 번째 상자를 얻으려면 2v2에서 최소 <VALUE>번 승리해야 합니다!\",\"Чтобы получить первый сундук, клану нужно одержать победы в боях 2 на 2 (не менее <VALUE>)!\",\"تحتاج القبيلة إلى <VALUE> من الانتصارات على الأقل في معارك 2 ضد 2 للفوز بأول صندوق!\",\"O clã precisa de, pelo menos, <VALUE> vitórias em batalhas 2v2 para receber o primeiro baú.\",\"部落需在2v2对战中至少获胜<VALUE>场才能获得宝箱！\",\"部落需在2v2對戰中至少獲勝<VALUE>場才能獲得寶箱！\",\"این قبیله باید حداقل <VALUE> برد در نبردهای 2 در مقابل 2 جمع‌آوری کنه تا به اولین صندوق برسه!\",\"Klan perlu setidaknya menang 2v2 <VALUE>x untuk mendapatkan peti pertama!\",\"Klan perlu mendapat sekurang-kurangnya <VALUE> kemenangan 2 lwn 2 untuk mendapat peti pertama!\"\n\"TID_CLAN_CROWN_CHEST_STARTING_SOON_TIP\",\"Collect Crowns with your Clan to unlock this chest!\",\"Récupérez des couronnes avec votre clan pour débloquer ce coffre !\",\"Sammle mit deinem Clan Kronen, um diese Truhe zu öffnen!\",\"Reúne coronas con tu clan para desbloquear este cofre.\",\"Ottieni corone con il tuo clan per sbloccare questo baule!\",\"Verzamel kronen samen met je clan om deze kist te ontgrendelen!\",\"Samle kroner med klanen din for å låse opp denne kisten!\",\"Bu sandığın kilidini açmak için Klanınla Taç topla!\",\"クランのみんなとクラウンを集めてこの宝箱をアンロックしましょう！\",\"클랜과 함께 크라운을 모아 이 상자를 여세요!\",\"Собирай короны со своим кланом, чтобы открыть этот сундук!\",\"اجمع التيجان مع قبيلتك لفتح هذا الصندوق!\",\"Colete coroas junto com seu clã para desbloquear este baú!\",\"与部落成员一起收集皇冠，解锁该宝箱！\",\"與部落成員一起收集皇冠，解鎖該寶箱！\",\"برای باز کردن قفل این صندوق، به همراه قبیله‌ات تاج جمع‌آوری کن!\",\"Kumpulkan Mahkota bersama Klanmu untuk membuka peti ini!\",\"Kumpul Mahkota bersama Klan anda untuk membuka kunci peti ini!\"\n\"TID_CLAN_BATTLE_CHEST_STARTING_SOON_TIP\",\"Get 2v2 wins with Clanmates to unlock this chest!\",\"Remportez des victoires en 2c2 avec des membres de votre clan pour débloquer ce coffre !\",\"Gewinne Duokämpfe mit Clankameraden, um diese Truhe zu öffnen!\",\"Gana batallas 2c2 con tus aliados para desbloquear este cofre.\",\"Ottieni vittorie nelle battaglie 2 vs 2 con i membri del tuo clan per sbloccare questo baule!\",\"Behaal 2-tegen-2-overwinningen met clangenoten om deze kist te ontgrendelen.\",\"Ta 2v2-seire sammen med klanvenner for å låse opp denne kisten!\",\"Bu sandığın kilidini açmak için Klan Arkadaşlarınla birlikte 2'ye 2 savaşları kazan!\",\"クランメンバーと協力バトルで勝利して、この宝箱をアンロックしましょう！\",\"클랜원과 함께 2v2에서 승리해 이 상자를 여세요!\",\"Побеждай в боях 2 на 2 со своими соклановцами, чтобы открыть этот сундук!\",\"فز بمعارك 2 ضد 2 مع زملائك في القبيلة لفتح هذا الصندوق!\",\"Obtenha vitórias em batalhas 2v2 com colegas de clã para desbloquear este baú.\",\"与部落成员一起在2v2对战中获胜，解锁该宝箱！\",\"與部落成員一起在2v2對戰中獲勝，解鎖該寶箱！\",\"برای بازگشایی قفل این صندوقچه با هم‌قبیله‌ای‌هات، نبردهای 2 در مقابل 2 رو ببر!\",\"Menang 2v2 bersama Rekan Klan untuk membuka peti ini!\",\"Dapatkan kemenangan 2 lwn 2 bersama rakan klan untuk membuka kunci peti ini!\"\n\"TID_CLAN_CROWNS\",\"Clan Crowns\",\"Couronnes de clan\",\"Clankronen\",\"Coronas del clan\",\"Corone del clan\",\"Clankronen\",\"Klankroner\",\"Klan Taçları\",\"クランクラウン\",\"클랜 크라운\",\"Короны клана\",\"تيجان القبيلة\",\"Coroas do clã\",\"部落皇冠\",\"部落皇冠\",\"تاج‌های قبیله\",\"Mahkota Klan\",\"Mahkota Klan\"\n\"TID_RUMBLE_VALUE\",\"x<number> VALUE\",\"VALEUR x<number>\",\"<number>-FACHER WERT\",\"<number> veces más barato\",\"VALORE x<number>\",\"<number>x ZO VOORDELIG\",\"<number>x I VERDI\",\"<number> kat DEĞERİNDE\",\"x<number>倍\",\"<number>배 가치\",\"в <number> р. выгоднее\",\"<number> من القيمة\",\"<number>x mais barato\",\"<number>倍超值\",\"<number>倍超值\",\"به ارزش <number> برابر\",\"BERNILAI <number>X\",\"x<number> NILAI\"\n\"TID_ALREADY_IN_A_CHALLENGE\",\"You are already in a Challenge!\",\"Vous participez déjà à un défi !\",\"Du nimmst bereits an einer Herausforderung teil!\",\"¡Ya participas en un desafío!\",\"Sei già in una sfida!\",\"Je neemt al deel aan een uitdaging!\",\"Du er allerede med i en utfordring!\",\"Zaten bir Mücadeledesin!\",\"すでにチャレンジに参加しています！\",\"이미 도전에 참여했습니다!\",\"Ты уже участвуешь в испытании!\",\"أنت بالفعل في تحدٍ!\",\"Você já está em um desafio!\",\"您已经加入了一个挑战！\",\"您已經加入了一個挑戰！\",\"قبلاً وارد یک مبارزه طلبی شدی!\",\"Kamu sudah ikut Tantangan!\",\"Anda sudah pun dalam Cabaran!\"\n\"TID_SHARE\",\"Share\",\"Partager\",\"Teilen\",\"Compartir\",\"Condividi\",\"Delen\",\"Del\",\"Paylaş\",\"共有\",\"공유\",\"Поделиться\",\"مشاركة\",\"Compartilhar\",\"分享\",\"分享\",\"اشتراک‌گذاری\",\"Bagikan\",\"Kongsi\"\n\"TID_CLAN_CROWN_CHEST_ENDED_NOTIFICATION\",\"Clan Chest has ended. Collect your reward!\",\"Le coffre de clan n'est plus disponible ! Récupérez votre récompense !\",\"Clantruhenereignis vorbei. Hol dir deine Belohnung ab!\",\"El cofre del clan ha finalizado. ¡Recoge tu recompensa!\",\"Il baule del clan è terminato. Ottieni la tua ricompensa!\",\"Clankist is afgelopen. Haal je beloning op!\",\"Klankisten er over. Hent belønningen din!\",\"Klan Sandığı sona erdi. Ödülünü al!\",\"クラン宝箱イベントは終了しました。報酬を受け取りましょう！\",\"클랜 상자 이벤트가 종료되었습니다. 보상을 받으세요!\",\"Событие «Клановый сундук» окончено. Забери свою награду!\",\"انتهى صندوق القبيلة. احصل على جائزتك!\",\"O evento Baú do Clã terminou. Colete sua recompensa.\",\"部落宝箱活动已结束，收集您的奖励！\",\"部落寶箱活動已結束，收集您的獎勵！\",\"صندوق قبیله تموم شده. جایزه‌ت رو جمع‌آوری کن!\",\"Peti Klan telah berakhir. Ambil hadiahmu!\",\"Peti Klan telah tamat. Kumpul ganjaran anda!\"\n\"TID_CLAN_CROWN_CHEST_STARTED_NOTIFICATION\",\"Clan Chest has started. Collect Crowns with your Clan!\",\"Le coffre de clan est disponible ! Récupérez des couronnes avec votre clan !\",\"Clantruhenereignis hat begonnen. Sammle Kronen für deinen Clan!\",\"El cofre del clan ha comenzado. ¡Reúne coronas con tu clan!\",\"Il baule del clan è iniziato! Ottieni corone con il tuo clan!\",\"Clankist is begonnen. Verzamel kronen samen met je clan.\",\"Klankisten har begynt! Samle kroner med klanen din!\",\"Klan Sandığı başladı! Klanınla Taç topla!\",\"クラン宝箱イベントが始まりました。クランと共にクラウンを集めましょう！\",\"클랜 상자 이벤트가 시작됐습니다! 클랜과 함께 크라운을 모으세요!\",\"Событие «Клановый сундук» началось! Собери короны со своим кланом!\",\"بدأ صندوق القبيلة. اجمع التيجان مع قبيلتك!\",\"O evento Baú do Clã começou! Colete coroas junto com seu clã.\",\"部落宝箱活动开始啦，与部落成员一起收集皇冠！\",\"部落寶箱活動開始啦，與部落成員一起收集皇冠！\",\"صندوق قبیله شروع شده. به همراه قبیله‌ات، تاج جمع‌آوری کن!\",\"Peti Klan telah dimulai. Kumpulkan Mahkota bersama Klanmu!\",\"Peti Klan telah bermula. Kumpul Mahkota bersama Klan anda!\"\n\"TID_CLAN_TEAM_VS_TEAM_ENDED_NOTIFICATION\",\"2v2 Clan Chest has ended. Collect your reward!\",\"Le coffre de clan 2c2 n'est plus disponible. Récupérez votre récompense !\",\"Duo-Clantruhe ist vorbei. Hol dir deine Belohnung ab!\",\"El cofre del clan 2c2 ha finalizado. ¡Recoge tu recompensa!\",\"Il baule del clan 2 vs 2 è terminato. Ottieni la tua ricompensa!\",\"2-tegen-2-clankist is afgelopen. Haal je beloning op!\",\"2v2-klankisten er over. Hent belønningen din!\",\"2'ye 2 Klan Sandığı sona erdi. Ödülünü al!\",\"協力クラン宝箱が終了しました。報酬を受け取りましょう！\",\"2v2 클랜 상자 이벤트가 종료되었습니다. 보상을 받으세요!\",\"Событие «Клановый сундук 2 на 2» окончено. Забери свою награду!\",\"انتهى صندوق القبيلة لمعارك 2 ضد 2. تسلّم جائزتك!\",\"O evento Baú do Clã 2v2 terminou. Colete sua recompensa.\",\"2v2部落宝箱活动已结束，收集您的奖励！\",\"2v2部落寶箱活動已結束，收集您的獎勵！\",\"صندوق 2 در مقابل 2 قبیله تموم شده. جایزه‌ت رو جمع‌آوری کن!\",\"Peti Klan 2v2 telah berakhir. Ambil hadiahmu!\",\"Peti Klan 2 lwn 2 telah tamat. Kumpul ganjaran anda!\"\n\"TID_CLAN_TEAM_VS_TEAM_STARTED_NOTIFICATION\",\"2v2 Clan Chest has started. Play with a Clanmate against other Clans!\",\"Le coffre de clan 2c2 est disponible. Affrontez d'autres clans aux côtés d'un membre de votre clan !\",\"Duo-Clantruhe hat begonnen. Spiel mit einem Clankameraden gegen andere Clans!\",\"El cofre del clan 2c2 ha comenzado. ¡Compite contra otros clanes junto a un aliado!\",\"Il baule del clan 2 vs 2 è iniziato. Gioca con un membro del tuo clan contro altri clan!\",\"2-tegen-2-clankist is begonnen. Speel samen met een clangenoot tegen andere clans!\",\"2v2-klankisten har begynt. Spill sammen med en klanvenn mot andre klaner!\",\"2'ye 2 Klan Sandığı başladı. Bir Klan Arkadaşınla Diğer Klanlara karşı oyna!\",\"協力クラン宝箱が開始しました。クランメンバーと組んで他のクランと戦いましょう！\",\"2v2 클랜 상자가 시작되었습니다. 클랜원들과 함께 다른 클랜에 대항해 싸우세요!\",\"Событие «Клановый сундук 2 на 2» началось. Играй с соклановцами против других кланов!\",\"بدأ صندوق القبيلة لمعارك 2 ضد 2. العب مع زميل في القبيلة ضد قبائل أخرى!\",\"O evento Baú do Clã 2v2 começou. Jogue com seus colegas contra outros clãs.\",\"2v2部落宝箱活动开始了！\",\"2v2部落寶箱活動開始了！\",\"صندوق 2 در مقابل 2 قبیله شروع شده. با هم‌قبیله‌ایت در مقابل سایر قبایل بازی کن!\",\"Peti Klan 2v2 telah dimulai. Main bersama Rekan Klan melawan Klan lain!\",\"Peti Klan 2 lwn 2 telah bermula. Main bersama rakan klan menentang klan lain!\"\n\"TID_ACTION_NOT_AVAILABLE_IN_DEMO_ACCOUNT\",\"Action not supported on Demo Account\",\"Action non autorisée sur le compte démo\",\"Aktion wird im Demokonto nicht unterstützt\",\"Acción no válida en la cuenta de demostración\",\"Azione non supportata su account demo\",\"Actie wordt niet ondersteund op demo-account.\",\"Handlingen støttes ikke på demokontoer\",\"Tanıtım Hesabında bu eylem desteklenmiyor\",\"デモアカウントでは使用できないアクションです\",\"데모 계정에서는 지원되지 않습니다.\",\"Возможность не поддерживается в пробной учетной записи\",\"الإجراء غير مدعوم على الحساب التجريبي\",\"Ação não permitida na conta Demo.\",\"试玩账号不支持此操作\",\"試玩帳號不支援此操作\",\"در حالت حساب آزمایشی از این عمل پشتیبانی نمیشه\",\"Tindakan tidak didukung di Akun Demo\",\"Tindakan tidak disokong pada Akaun Demo\"\n\"TID_ACTION_ONLY_AVAILABLE_IN_DEMO_ACCOUNT\",\"Action only supported on Demo Account\",\"Action autorisée uniquement sur le compte démo\",\"Aktion wird nur im Demokonto unterstützt\",\"Acción solo válida en la cuenta de demostración\",\"Azione supportata solo su account demo\",\"Actie wordt alleen ondersteund op demo-account.\",\"Handlingen støttes bare på demokontoer\",\"Eylem yalnızca Tanıtım Hesabında destekleniyor\",\"デモアカウントでのみ使用できるアクションです\",\"데모 계정에서만 지원됩니다.\",\"Возможность поддерживается только в пробной учетной записи\",\"الإجراء مدعوم فقط على الحساب التجريبي\",\"Ação só permitida na conta Demo.\",\"只有试玩账号才能进行此操作\",\"只有試玩帳號才能進行此操作\",\"فقط در حالت حساب آزمایشی از این عمل پشتیبانی میشه\",\"Tindakan hanya didukung di Akun Demo\",\"Tindakan hanya disokong pada Akaun Demo\"\n\"TID_DRAFT_CHALLENGE_INSANE\",\"Insane Draft Challenge\",\"Défi du tirage dingue\",\"Irre Auswahlherausforderung\",\"Desafío de elección demente\",\"Sfida strategica folle\",\"Waanzinnige keuze-uitdaging\",\"Sinnssyk utvalgsutfordring\",\"Çılgın Çekilişli Mücadele\",\"超絶ドラフトチャレンジ\",\"광기의 드래프트 도전\",\"Испытание «Безумный выбор карт»\",\"تحدي سحب جنوني\",\"Desafio da Estratégia Insano\",\"疯狂选卡挑战\",\"瘋狂選卡挑戰\",\"چالش انتخاب کارت دیوانه‌وار\",\"Tantangan Draf Gila\",\"Cabaran Strategi Gila\"\n\"TID_FRIEND_SORTING_ONLINE\",\"By Status\",\"Par statut\",\"Nach Status\",\"Por estado\",\"Per stato\",\"Op status\",\"Etter status\",\"Duruma göre\",\"ステータスで\",\"상태별\",\"По статусу\",\"وفقًا للحالة\",\"Por status\",\"按在线状态排列\",\"按線上狀態排列\",\"به ترتیب وضعیت\",\"Menurut Status\",\"Mengikut Status\"\n\"TID_FRIEND_SORTING_SCORE\",\"By Score\",\"Par score\",\"Nach Punkten\",\"Por puntuación\",\"Per punteggio\",\"Op score\",\"Etter poeng\",\"Skora göre\",\"スコアで\",\"점수별\",\"По результатам\",\"وفقًا للنتيجة\",\"Por pontuação\",\"按奖杯数排列\",\"按獎盃數排列\",\"به ترتیب امتیاز\",\"Menurut Skor\",\"Mengikut Skor\"\n\"TID_RETRO_ROYALE_CHALLENGE\",\"Retro Royale Challenge\",\"Défi Rétro Royale\",\"Retro-Royale-Herausforderung\",\"Retrodesafío Royale\",\"Sfida Royale retro\",\"Retro Royale-uitdaging\",\"Retrokongelig utfordring\",\"Retro Royale Mücadelesi\",\"レトロロワイヤルチャレンジ\",\"레트로 로얄 도전\",\"Испытание ретро-Royale\",\"تحدي Royale ذو النمط القديم\",\"Desafio Royale Retrô\",\"皇室经典挑战\",\"皇室經典挑戰\",\"چالش Royale به سبک قدیمی\",\"Tantangan Royale Retro\",\"Cabaran Royale Retro\"\n\"TID_RETRO_ROYALE_CHALLENGE_EVENT_DECK_TITLE\",\"Arena 1 Cards\",\"Cartes de l'arène 1\",\"Karten der Arena 1\",\"Cartas de arena 1\",\"Carte arena 1\",\"Arena 1-kaarten\",\"Arena 1-kort\",\"1. Arena Kartları\",\"アリーナ1カード\",\"아레나 1 카드\",\"Карты арены 1\",\"بطاقات الساحة 1\",\"Cartas da Arena 1\",\"1阶竞技场卡牌\",\"1階競技場卡牌\",\"کارت‌های میدان نبرد 1\",\"Kartu Arena 1\",\"Kad Arena 1\"\n\"TID_ELECTRO_WIZARD_EVENT_STARTED\",\"Electro Wizard Challenge has started, battle now for your chance at a free Legendary Card!\",\"Le défi de l'électro-sorcier a commencé, battez-vous maintenant pour tenter de remporter une carte légendaire gratuite !\",\"Die Elektromagier-Herausforderung hat begonnen. Kämpfe jetzt, um eine legendäre Karte gewinnen zu können!\",\"El desafío del mago eléctrico ha comenzado. ¡Lucha ahora e intenta conseguir una carta legendaria gratis!\",\"La sfida stregone elettrico è iniziata, combatti per ottenere una carta leggendaria gratuita!\",\"De elektrotovenaarsuitdaging is gestart. Vecht nu om kans te maken op een gratis legendarische kaart!\",\"Elektrotrollmann-utfordringen har begynt. Ta opp kampen nå for å sikre deg et gratis legendarisk kort!\",\"Elektro Büyücü Mücadelesi başladı, ücretsiz bir Efsanevi Kart kazanma şansı için şimdi savaş!\",\"エレクトロウィザードチャレンジが始まりました！ 今すぐバトルに参加すれば、無料のウルトラレアカードを獲得するチャンスがあります！\",\"일렉트로 마법사 도전이 시작됐습니다. 지금 대결해서 무료 전설 카드의 기회를 잡으세요!\",\"Испытание громовержца началось. Сражайтесь за шанс получить бесплатно легендарную карту!\",\"بدأ تحدي الساحر الكهربائي، قاتل الآن لاغتنام فرصة ربح بطاقة أسطورية مجانًا!\",\"O desafio do Mago Elétrico começou. Lute pela chance de ganhar uma carta lendária!\",\"闪电法师挑战已开始，立即开始对战吧，挑战成功可赢取一张免费传奇卡哦！\",\"閃電法師挑戰已開始，立即開始對戰吧，挑戰成功可贏取一張免費傳奇卡哦！\",\"چالش جادوگر برقی شروع شده، اگه می‌خوای شانس بردن یک کارت افسانه‌ای رایگان رو داشته باشی، الآن نبرد کن!\",\"Tantangan Penyihir Elektro telah dimulai, bertempurlah sekarang demi kesempatan meraih satu Kartu Legendaris gratis!\",\"Cabaran Ahli Sihir Elektro telah bermula, tempur sekarang untuk berpeluang mendapat Kad Legenda percuma!\"\n\"TID_ELECTRO_WIZARD_EVENT_ENDING\",\"Electro Wizard Challenge is ending soon!\",\"Le défi de l'électro-sorcier se termine bientôt !\",\"Die Elektromagier-Herausforderung ist bald zu Ende!\",\"¡Pronto acabará el desafío del mago eléctrico!\",\"La sfida stregone elettrico si concluderà a breve!\",\"De elektrotovenaarsuitdaging is binnenkort afgelopen!\",\"Elektrotrollmann-utfordringen er snart over!\",\"Elektro Büyücü Mücadelesi yakında sona eriyor!\",\"エレクトロウィザードチャレンジは間もなく終了します！\",\"일렉트로 마법사 도전이 곧 종료됩니다!\",\"Испытание громовержца скоро закончится!\",\"سينتهي تحدي الساحر الكهربائي قريبًا!\",\"O desafio do Mago Elétrico termina em breve!\",\"闪电法师挑战即将结束！\",\"閃電法師挑戰即將結束！\",\"چالش جادوگر برقی به زودی تموم میشه!\",\"Tantangan Penyihir Elektro akan segera berakhir!\",\"Cabaran Ahli Sihir Elektro akan tamat tidak lama lagi!\"\n\"TID_CROWN_DUEL_EVENT_STARTED\",\"Crown Duel Event has started, try out our brand new game mode!\",\"L'événement du duel de la couronne a commencé, testez notre tout nouveau mode de jeu !\",\"Das Kronenduell-Ereignis hat begonnen. Probiere unseren brandneuen Spielmodus aus!\",\"El desafío duelo de coronas ha comenzado. ¡Prueba este nuevo modo de juego!\",\"L'evento duello della corona è iniziato, prova una nuova modalità di gioco!\",\"Het kroonduelevenement is gestart. Probeer onze gloednieuwe spelmodus!\",\"Kroneduell-utfordringen har begynt. Prøv ut den helt nye spillvarianten vår!\",\"Taç Düellosu Etkinliği başladı, yeni oyun modumuzu dene!\",\"クラウン対戦イベントが始まりました！ 新しいゲームモードで遊んでみましょう！\",\"크라운 배틀 도전이 시작됐습니다. 새로운 게임 모드를 만나보세요!\",\"Событие «Королевская дуэль» началось, испытайте новый режим игры!\",\"بدأ حدث مبارزة التاج، جرّب وضع اللعبة الجديد كليًا!\",\"O evento Duelo da Coroa começou. Experimente o nosso novo modo de jogo!\",\"卡牌互选活动已开始，快来体验全新的对战模式吧！\",\"卡牌互選活動已開始，快來體驗全新的對戰模式吧！\",\"رویداد دوئل تاج شروع شده، حالت بازی جدید ما رو امتحان کن!\",\"Acara Duel Mahkota telah dimulai, cobalah mode terbaru game kami!\",\"Acara Dwipertarungan Mahkota telah bermula, cuba mod permainan baharu kami!\"\n\"TID_CROWN_DUEL_EVENT_ENDING\",\"Crown Duel Event is ending soon!\",\"L'événement du duel de la couronne se termine bientôt !\",\"Das Kronenduell-Ereignis ist bald zu Ende!\",\"¡Pronto acabará el desafío duelo de coronas!\",\"L'evento duello della corona si concluderà a breve!\",\"Het kroonduelevenement is binnenkort afgelopen!\",\"Kroneduell-utfordringen er snart over!\",\"Taç Düellosu Etkinliği yakında sona eriyor!\",\"クラウン対戦イベントは間もなく終了します！\",\"크라운 배틀 도전이 곧 종료됩니다!\",\"Событие «Королевская дуэль» скоро закончится!\",\"سينتهي حدث مبارزة التاج قريبًا!\",\"O evento Duelo da Coroa termina em breve!\",\"卡牌互选活动即将结束！\",\"卡牌互選活動即將結束！\",\"رویداد دوئل تاج به زودی تموم میشه!\",\"Acara Duel Mahkota akan segera berakhir!\",\"Acara Dwipertarungan Mahkota akan tamat tidak lama lagi!\"\n\"TID_CHALLENGE_EVENT_STARTED\",\"A new Special Event Challenge has started!\",\"Un nouveau défi d'événement spécial a commencé !\",\"Eine neue Sonderereignis-Herausforderung hat begonnen!\",\"¡Un nuevo evento de desafío especial ha comenzado!\",\"È iniziato un nuovo evento sfida speciale!\",\"Er is een nieuw speciaal uitdagingsevenement gestart!\",\"En ny spesialutfordring har begynt!\",\"Yeni bir Özel Etkinlik Mücadelesi başladı!\",\"新しいスペシャルイベントチャレンジが始まりました！\",\"새로운 특별 이벤트 도전이 시작됐습니다!\",\"Началось новое особое испытание!\",\"بدأ حدث تحدٍ خاص جديد!\",\"Um novo Evento de Desafio especial começou!\",\"新的特别活动挑战已开始！\",\"新的特別挑戰活動已開始！\",\"یک رویداد چالشی ویژه جدید شروع شده!\",\"Tantangan Acara Spesial telah dimulai!\",\"Cabaran Acara Istimewa baharu telah bermula!\"\n\"TID_CHALLENGE_EVENT_ENDING\",\"The Special Event Challenge is ending soon!\",\"Le défi d'événement spécial se termine bientôt !\",\"Die Sonderereignis-Herausforderung ist bald zu Ende!\",\"¡Pronto acabará el evento de desafío especial!\",\"Il nuovo evento sfida speciale si concluderà a breve!\",\"Dit speciale uitdagingsevenement is binnenkort afgelopen!\",\"Spesialutfordringen avsluttes snart!\",\"Özel Etkinlik Mücadelesi yakında sona eriyor!\",\"スペシャルイベントチャレンジは間もなく終了します！\",\"특별 이벤트 도전이 곧 종료됩니다!\",\"Особое испытание скоро закончится!\",\"سينتهي تحدي الحدث الخاص قريبًا!\",\"O Evento de Desafio termina em breve!\",\"特别活动挑战即将结束！\",\"特別挑戰活動即將結束！\",\"رویداد چالشی ویژه، به زودی تموم میشه!\",\"Tantangan Acara Spesial akan segera berakhir!\",\"Cabaran Acara Istimewa akan tamat tidak lama lagi!\"\n\"TID_DRAFT_CHALLENGE_STARTED\",\"Draft Challenge has started!\",\"Le défi du tirage a commencé !\",\"Die Auswahlherausforderung hat begonnen!\",\"¡El desafío de elección ha comenzado!\",\"La sfida strategica è cominciata!\",\"Keuze-uitdaging is gestart!\",\"Utvalgsutfordringen har startet!\",\"Çekilişli Mücadele başladı!\",\"ドラフトチャレンジイベントが始まりました！\",\"드래프트 도전이 시작됐습니다!\",\"Началось испытание с выбором карт!\",\"قد بدأ تحدي السحب!\",\"O Desafio da Estratégia começou!\",\"选卡挑战开始啦！\",\"選卡挑戰開始啦！\",\"چالش انتخاب کارت شروع شده!\",\"Tantangan Draf telah dimulai!\",\"Cabaran Strategi telah bermula!\"\n\"TID_DRAFT_CHALLENGE_ENDING\",\"Draft Challenge is ending soon!\",\"Le défi du tirage se termine bientôt !\",\"Die Auswahlherausforderung ist bald zu Ende!\",\"¡Pronto acabará el desafío de elección!\",\"La sfida strategica si concluderà a breve!\",\"De keuze-uitdaging is binnenkort afgelopen!\",\"Utvalgsutfordringen avsluttes snart!\",\"Çekilişli Mücadele yakında sona eriyor!\",\"ドラフトチャレンジイベントは間もなく終了します！\",\"드래프트 도전이 곧 종료됩니다!\",\"Испытание с выбором карт скоро закончится!\",\"سينتهي تحدي السحب قريبًا!\",\"O Desafio da Estratégia termina em breve!\",\"选卡挑战即将结束！\",\"選卡挑戰即將結束！\",\"چالش انتخاب کارت به زودی تموم میشه!\",\"Tantangan Draf akan segera berakhir!\",\"Cabaran Strategi akan tamat tidak lama lagi!\"\n\"TID_TOURNAMENT_LEVEL\",\"Show Tournament Level\",\"Afficher le niveau du tournoi\",\"Turnierlevel anzeigen\",\"Mostrar nivel del torneo\",\"Mostra livello torneo\",\"Toernooilevel weergeven\",\"Vis turneringsnivå\",\"Turnuva Seviyesini Göster\",\"大会レベルを表示\",\"토너먼트 레벨 표시\",\"Турнирная статистика\",\"أظهر مستوى البطولة\",\"Mostrar nível do torneio\",\"显示锦标赛等级数据\",\"顯示聯賽等級數據\",\"نمایش سطح مسابقه\",\"Tampilkan Level Turnamen\",\"Tahap Pertandingan Pertunjukan\"\n\"TID_SEASON_REWARD\",\"Season Reward\",\"Récompense de la saison\",\"Saisonbelohnung\",\"Recompensa de temporada\",\"Ricompensa stagionale\",\"Seizoensbeloning\",\"Sesongbelønning\",\"Sezon Ödülü\",\"シーズン報酬\",\"시즌 보상\",\"Сезонная награда\",\"جائزة الموسم\",\"Recompensa da temporada\",\"赛季奖励\",\"賽季獎勵\",\"جایزه فصل\",\"Hadiah Musim\",\"Ganjaran Musim\"\n\"TID_SEASON_RESET\",\"Season Reset\",\"Réinitialisation de la saison\",\"Saisonneustart\",\"Reinicio de temporada\",\"Azzeramento stagionale\",\"Seizoen wordt gereset naar\",\"Tilbakestilling av sesong\",\"Sezon Sıfırlama\",\"シーズンリセット\",\"시즌 초기화\",\"Сброс сезона\",\"إعادة تعيين الموسم\",\"Reinício da temporada\",\"赛季重置\",\"賽季重置\",\"بازنشانی فصل\",\"Atur Ulang Musim\",\"Tetapan Semula Musim\"\n\"TID_TEAM_MATE\",\"Clanmate:\",\"Membre du clan :\",\"Clanmitglied:\",\"Aliado:\",\"Membro del clan:\",\"Clangenoot:\",\"Klanvenn:\",\"Klan Arkadaşı:\",\"クランメンバー：\",\"클랜원:\",\"Соклановец:\",\"زميل في القبيلة:\",\"Colega:\",\"队友：\",\"隊友：\",\"هم‌قبیله‌ای:\",\"Rekan Klan:\",\"Rakan Klan:\"\n\"TID_TEAM_MATE_NON_CLAN\",\"Teammate:\",\"Équipier :\",\"Teamkollege:\",\"Compañero:\",\"Compagno di squadra:\",\"Teamgenoot:\",\"Lagkamerat:\",\"Takım arkadaşı:\",\"チームメイト：\",\"팀원:\",\"Член команды:\",\"الزميل:\",\"Colega de clã:\",\"队友：\",\"隊友：\",\"هم تیمی:\",\"Rekan tim:\",\"Rakan sepasukan:\"\n\"TID_CLASSIC_DRAFT_CHALLENGE\",\"Classic Draft Challenge\",\"Défi du tirage classique\",\"Klassische Auswahlherausforderung\",\"Desafío clásico de elección\",\"Sfida strategica classica\",\"Klassieke keuze-uitdaging\",\"Klassisk utvalgsutfordring\",\"Klasik Çekilişli Mücadele\",\"クラシック・ドラフトチャレンジ\",\"클래식 드래프트 도전\",\"Классическое испытание с выбором карт\",\"تحدي السحب التقليدي\",\"Desafio Clássico da Estratégia\",\"经典选卡挑战\",\"經典選卡挑戰\",\"چالش انتخاب کارت کلاسیک\",\"Tantangan Draf Klasik\",\"Cabaran Bertaktik Klasik\"\n\"TID_GRAND_DRAFT_CHALLENGE\",\"Grand Draft Challenge\",\"Super défi du tirage\",\"Große Auswahlherausforderung\",\"Gran desafío de elección\",\"Sfida strategica grandiosa\",\"Nobele keuze-uitdaging\",\"Stor utvalgsutfordring\",\"Büyük Çekilişli Mücadele\",\"グランド・ドラフトチャレンジ\",\"그랜드 드래프트 도전\",\"Большое испытание с выбором карт\",\"تحدي السحب الكبير\",\"Grande Desafio da Estratégia\",\"终极选卡挑战\",\"終極選卡挑戰\",\"چالش انتخاب کارت اعظم\",\"Tantangan Draf Akbar\",\"Cabaran Bertaktik Besar\"\n\"TID_2V2_BATTLE_EVENT\",\"2v2 Battle\",\"Combat 2c2\",\"Duokampf\",\"Batalla 2c2\",\"Battaglia 2 vs 2\",\"2-tegen-2-gevecht\",\"Kamp 2v2\",\"2'ye 2 Savaş\",\"協力バトル\",\"2v2 전투\",\"Бой 2 на 2\",\"معركة 2 ضد 2\",\"Batalha 2v2\",\"2v2对战\",\"2v2對戰\",\"نبرد 2 در مقابل 2\",\"Pertempuran 2v2\",\"Pertempuran 2 lwn 2\"\n\"TID_2v2_TEAM_UP_TXT\",\"2v2 Battle against other Clans!\",\"Battez-vous en 2c2 contre d'autres clans !\",\"Duokampf gegen andere Clans!\",\"¡Lucha en batallas 2c2 contra otros clanes!\",\"Battaglia 2 vs 2 contro altri clan!\",\"Vecht in een 2-tegen-2-gevecht tegen andere clans!\",\"Utkjemp 2v2-kamper mot andre klaner!\",\"Diğer Klanlara karşı 2'ye 2 Savaş!\",\"他のクランを相手に協力バトル！\",\"다른 클랜과의 2v2 전투!\",\"Бой 2 на 2 против других кланов!\",\"معركة 2 ضد 2 أمام قبائل أخرى!\",\"Batalha 2v2 contra outros clãs!\",\"与其他部落的队伍进行2v2对战！\",\"與其他部落的隊伍進行2v2對戰！\",\"نبرد 2 در مقابل 2 علیه قبایل دیگر!\",\"Pertempuran 2v2 melawan Klan lain!\",\"Pertempuran 2 lwn 2 menentang klan lain!\"\n\"TID_MATCHMAKING_2v2\",\"Waiting for a Clanmate...\",\"En attente d'un membre du clan...\",\"Warten auf Clanmitglied ...\",\"Esperando a un aliado...\",\"In attesa di un membro del clan...\",\"Wachten op clangenoot...\",\"Venter på en klanvenn ...\",\"Klan Arkadaşı bekleniyor...\",\"クランメンバーを待っています...\",\"클랜원을 기다리는 중...\",\"Ждем соклановца...\",\"في انتظار زميل في القبيلة...\",\"Esperando colega...\",\"等待部落成员加入...\",\"等待部落成員加入...\",\"در انتظار یک هم‌قبیله‌ای...\",\"Menunggu Rekan Klan...\",\"Menunggu Rakan Klan...\"\n\"TID_PARTNER\",\"Clanmate:\",\"Membre du clan :\",\"Clanmitglied:\",\"Aliado:\",\"Membro del clan:\",\"Clangenoot:\",\"Klanvenn:\",\"Klan Arkadaşı:\",\"クランメンバー：\",\"클랜원:\",\"Соклановец:\",\"زميل في القبيلة:\",\"Colega:\",\"队友：\",\"隊友：\",\"هم‌قبیله‌ای:\",\"Rekan Klan:\",\"Rakan Klan:\"\n\"TID_MATCHMAKING_2v2_LOOKING_FOR_OPPONENT\",\"Waiting for 2v2 Battle...\",\"En attente d'un combat 2c2...\",\"Warten auf Duokampf ...\",\"Esperando batalla 2c2...\",\"In attesa di battaglia 2 vs 2...\",\"Wachten op 2-tegen-2-gevecht...\",\"Venter på kamp 2v2 ...\",\"2'ye 2 Savaş bekleniyor...\",\"協力バトルを待っています...\",\"2v2 전투를 기다리는 중...\",\"Ждем бой 2 на 2...\",\"في انتظار معركة 2 ضد 2...\",\"Esperando por uma batalha 2v2...\",\"等待2v2对战...\",\"等待2v2對戰...\",\"در انتظار نبرد 2 درمقابل 2...\",\"Menunggu Pertempuran 2v2...\",\"Menunggu Pertempuran 2 lwn 2...\"\n\"TID_2v2_CHALLENGE_BUTTON\",\"2v2\\nBattle\",\"Combat\\n2c2\",\"Duo-\\nkampf\",\"Batalla\\n2c2\",\"Battaglia\\n2 vs 2\",\"2-tegen-2-\\ngevecht\",\"Kamp\\n2v2\",\"2'ye 2\\nSavaş\",\"協力バトル\",\"2v2\\n전투\",\"Бой\\n2 на 2\",\"معركة\\n2 ضد 2\",\"Batalha\\n2v2\",\"2v2\\n对战\",\"2v2\\n對戰\",\"نبرد\\n2 در مقابل 2\",\"Pertempuran\\n2v2\",\"Pertempuran\\n2 lwn 2\"\n\"TID_MATCHMAKING_2v2_MATCH\",\"Waiting for a match...\",\"En attente d'adversaires...\",\"Warten auf einen Kampf ...\",\"Esperando partida...\",\"In attesa di uno scontro...\",\"Wachten op gevecht...\",\"Venter på en kamp ...\",\"Eşleşme bekleniyor...\",\"マッチ待機中...\",\"매치를 기다리는 중...\",\"Ждем бой...\",\"في انتظار طرف متوافق...\",\"Esperando por uma partida...\",\"等待对战...\",\"等待對戰...\",\"در انتظار یک مسابقه...\",\"Menunggu lawan tanding...\",\"Menunggu perlawanan...\"\n\"TID_CHALLENGE_ONE_TIME_REWARD\",\"One time reward\",\"Récompense unique\",\"Einmalige Belohnung\",\"Recompensa única\",\"Ricompensa unica\",\"Eenmalige beloning\",\"Engangsbelønning\",\"Tek seferlik ödül\",\"初回限定報酬\",\"일회성 보상\",\"Единовременная награда\",\"مكافأة تأتي لمرة واحدة\",\"Recompensa única\",\"一次性奖励\",\"一次性獎勵\",\"جایزه یک باره\",\"Hadiah satu kali\",\"Ganjaran satu kali\"\n\"TID_CHALLENGE_COLLECT\",\"COLLECT\",\"RÉCUPÉRER\",\"EINFORDERN\",\"RECOGER\",\"OTTIENI\",\"VERZAMELEN\",\"HENT\",\"TOPLA\",\"ゲット\",\"받기\",\"СОБРАТЬ\",\"تحصيل\",\"COLETAR\",\"收集\",\"收集\",\"جمع‌آوری\",\"AMBIL\",\"KUMPUL\"\n\"TID_CHALLENGE_REWARDED_AT_WINS\",\"Rewarded at <win_count> wins\",\"Après <win_count> victoires\",\"Wird nach <win_count> Siegen vergeben\",\"Premio tras <win_count> victorias\",\"Vittorie necessarie: <win_count>\",\"Bij <win_count> overwinning(en)\",\"Gis i belønning etter <win_count> seire\",\"<win_count> galibiyette verilir\",\"<win_count>勝するともらえます\",\"<win_count>승 달성 시 보상 지급\",\"Вручается за победы (<win_count>).\",\"تُمنح عند الفوز <win_count> من المرات\",\"No. de vitórias para recompensa: <win_count>\",\"获胜<win_count>场时可得到奖励\",\"獲勝<win_count>場時可得到獎勵\",\"جایزه بعد از <win_count> پیروزی\",\"Dihadiahkan saat <win_count> kali menang\",\"Ganjaran diberi pada kemenangan <win_count>\"\n\"TID_CHOOSE_YOUR_REWARD\",\"Choose your reward\",\"Choisissez votre récompense\",\"Belohnung wählen\",\"Elige tu recompensa\",\"Scegli la tua ricompensa\",\"Kies je beloning\",\"Velg en belønning\",\"Ödülünü seç\",\"報酬を選びましょう\",\"보상 선택\",\"Выбери свою награду\",\"اختَر جائزتك\",\"Escolha sua recompensa\",\"选择您的奖励\",\"選擇您的獎勵\",\"جایزه‌ت را انتخاب کن\",\"Pilih hadiahmu\",\"Pilih Ganjaran Anda\"\n\"TID_DART_GOBLIN_CHALLENGE\",\"Dart Goblin Challenge\",\"Défi du gobelin à sarbacane\",\"Blasrohrkobold-Herausforderung\",\"Desafío de duende lanzadardos\",\"Sfida goblin cerbottaniere\",\"Blaaspijpkobold-uitdaging\",\"Blåserørnisse-utfordring\",\"Dart Goblini Mücadelesi\",\"吹き矢ゴブリンチャレンジ\",\"다트 고블린 도전\",\"Испытание гоблина с дротиками\",\"تحدي غول نفخ السهام\",\"Desafio do Goblin com Dardo\",\"吹箭哥布林挑战\",\"吹箭哥布林挑戰\",\"چالش گابلین بلودارت\",\"Tantangan Goblin Penyumpit\",\"Cabaran Damak Goblin\"\n\"TID_SHOP_EVENT_TRANSACTION_PENDING_CLIENT\",\"Transaction in progress.\",\"Transaction en cours.\",\"Transaktion wird ausgeführt.\",\"Transacción en curso...\",\"Transazione in corso.\",\"Transactie wordt verwerkt.\",\"Overføring pågår.\",\"İşlem devam ediyor.\",\"決済処理中です。\",\"거래가 진행 중입니다.\",\"Идет транзакция.\",\"المعاملة قيد التقدم.\",\"Transação em andamento.\",\"交易正在处理。\",\"交易正在處理。\",\"تراکنش در حال انجام است.\",\"Transaksi diproses.\",\"Transaksi sedang dijalankan.\"\n\"TID_SHOP_EVENT_TRANSACTION_PENDING_SERVER\",\"Verifying transaction in progress.\",\"Vérification de la transaction en cours.\",\"Transaktion wird überprüft.\",\"Verificando transacción...\",\"Verifica transazione in corso.\",\"Transactie wordt geverifieerd.\",\"Verifiserer pågående overføring.\",\"İşlem doğrulama devam ediyor.\",\"処理中の決済を検証しています。\",\"거래를 인증 중입니다.\",\"Идет проверка транзакции.\",\"يجري التحقق من المعاملة قيد التقدم.\",\"Verificando transação em andamento.\",\"正在验证交易。\",\"正在驗證交易。\",\"تأیید تراکنش در حال انجام.\",\"Verifikasi transaksi saat ini.\",\"Pengesahan transaksi sedang dijalankan.\"\n\"TID_SHOP_CHRONOS_OFFER_0\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SHOP_CHRONOS_OFFER_1\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SHOP_CHRONOS_OFFER_2\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_COLLECT_CROWNS_TOGETHER\",\"Collect Crowns together for bigger rewards!\",\"Récupérez des couronnes ensemble pour de meilleures récompenses !\",\"Häufe Kronen an, um größere Belohnungen zu bekommen!\",\"¡Reúne coronas con tu clan para recibir mayores recompensas!\",\"Raccogliete corone insieme per ottenere laute ricompense!\",\"Verzamel samen kronen voor grotere beloningen!\",\"Samarbeid om å samle kroner for å få større belønninger!\",\"Daha büyük ödüller için birlikte Taç topla!\",\"一緒にクラウンを集めて、より大きな報酬を手に入れましょう！\",\"함께 크라운을 모아 더 큰 보상을 받으세요!\",\"Собирайте короны вместе, чтобы получить больше наград!\",\"اجمعوا التيجان مع بعضكم للفوز بجوائز أكبر!\",\"Colete coroas com seu clã para ganhar mais prêmios!\",\"一起收集皇冠，获得更丰厚的奖励！\",\"一起收集皇冠，獲得更豐厚的獎勵！\",\"برای بردن جوایز بزرگ‌تر با هم تاج جمع‌آوری کنید!\",\"Kumpulkan Mahkota bersama-sama demi hadiah yang lebih besar!\",\"Kumpul Mahkota bersama untuk mendapat ganjaran lebih besar!\"\n\"TID_COLLECT_CROWNS_TOGETHER_2V2\",\"Win 2v2 Battles for bigger rewards!\",\"Gagnez des combats 2c2 pour de meilleures récompenses !\",\"Gewinne Duokämpfe, um größere Belohnungen zu bekommen!\",\"¡Gana batallas 2c2 para recibir mayores recompensas!\",\"Vinci battaglie 2 vs 2 per ricevere laute ricompense!\",\"Win 2-tegen-2-gevechten voor grotere beloningen!\",\"Vinn 2v2-kamper for å få større belønninger!\",\"Daha büyük ödüller için 2'ye 2 Savaşları kazan!\",\"協力バトルに勝利して、より豪華な報酬を勝ち取りましょう！\",\"2v2 전투에서 이겨 더 큰 보상을 받으세요!\",\"Побеждайте в боях 2 на 2 вместе, чтобы получить больше наград!\",\"انتصر في معارك 2 ضد 2 لتفوز بجوائز أكبر!\",\"Vença batalhas 2v2 para ganhar prêmios ainda melhores!\",\"在2v2对战中获胜，赢取更丰厚的奖励！\",\"在2v2對戰中獲勝，贏取更豐厚的獎勵！\",\"برای رسیدن به جوایز بزرگتر نبردهای 2 در مقابل 2 رو ببر!\",\"Menangkan Pertempuran 2v2 untuk hadiah yang lebih besar!\",\"Menangi Pertempuran 2 lwn 2 untuk mendapat ganjaran lebih besar!\"\n\"TID_CLAN_CHEST_EVENT_FINISHED\",\"Clan Chest event has finished!\",\"L'événement du coffre de clan est terminé !\",\"Das Clantruhen-Ereignis ist zu Ende!\",\"¡El evento del cofre del clan ha terminado!\",\"L'evento baule del clan si è concluso!\",\"Het clankistevenement is afgelopen!\",\"Klankistehendelsen er over!\",\"Klan Sandığı etkinliği bitti!\",\"クラン宝箱イベントは終了しました！\",\"클랜 상자 이벤트가 끝났습니다!\",\"Событие «Клановый сундук» закончилось!\",\"انتهى حدث صندوق القبيلة!\",\"O evento Baú do Clã terminou!\",\"部落宝箱活动已结束！\",\"部落寶箱活動已結束！\",\"رویداد صندوق قبیله شما پایان یافته است!\",\"Acara Peti Klan telah berakhir!\",\"Acara Peti Klan telah selesai!\"\n\"TID_CLAN_VS_CLAN_CHEST\",\"2v2 Clan Chest\",\"Coffre de clan 2c2\",\"Duo-Clantruhe\",\"Cofre del clan 2c2\",\"Baule del clan 2 vs 2\",\"2-tegen-2-clankist\",\"Klankiste 2v2\",\"2'ye 2 Klan Sandığı\",\"協力クラン宝箱\",\"2v2 클랜 상자\",\"Клановый сундук 2 на 2\",\"صندوق القبيلة 2 ضد 2\",\"Evento Baú do Clã 2v2\",\"2v2部落宝箱\",\"2v2部落寶箱\",\"صندوق 2 در مقابل 2 قبیله\",\"Peti Klan 2v2\",\"Peti Klan 2 lwn 2\"\n\"TID_CLAN_VS_CLAN_CHEST_IN_PROGRESS\",\"2v2 Clan Chest in progress\",\"Coffre de clan 2c2 en cours\",\"Duo-Clantruhe ist im Gange\",\"Cofre del clan 2c2 en proceso...\",\"Baule del clan 2 vs 2 in corso\",\"2-tegen-2-clankist aan de gang\",\"Klankiste 2v2 pågår\",\"2'ye 2 Klan Sandığı devam ediyor\",\"協力クラン宝箱が進行中\",\"2v2 클랜 상자 진행 중\",\"Событие «Клановый сундук 2 на 2» продолжается\",\"صندوق القبيلة 2 ضد 2 قيد التقدم\",\"Evento Baú do Clã 2v2 em andamento\",\"2v2部落宝箱活动进行中\",\"2v2部落寶箱活動進行中\",\"صندوق 2 در مقابل 2 قبیله در حال انجام\",\"Peti Klan 2v2 diproses\",\"Peti Klan 2 lwn 2 sedang berlangsung\"\n\"TID_COMPLETED\",\"COMPLETED\",\"TERMINÉ\",\"ABGESCHLOSSEN\",\"COMPLETADO\",\"COMPLETATO\",\"VOLTOOID\",\"FULLFØRT\",\"TAMAMLANDI\",\"完了\",\"완료\",\"ГОТОВО\",\"مكتمل\",\"CONCLUÍDO!\",\"已完成\",\"已完成\",\"کامل شد\",\"SELESAI\",\"SELESAI\"\n\"TID_2V2_JOIN_TEAM\",\"Join\\nBattle\",\"Participer\\nau combat\",\"Kampf\\nbeitreten\",\"Unirse a\\nbatalla\",\"Unisciti alla\\nbattaglia\",\"Meedoen\",\"Bli med i\\nkamp\",\"Savaşa\\nKatıl\",\"バトルに\\n参加\",\"전투 참가\",\"Вступить\\nв бой\",\"انضمام\\nإلى معركة\",\"Entrar\\nna batalha\",\"加入\\n队伍\",\"加入\\n隊伍\",\"پیوستن به\\nنبرد\",\"Gabung ke\\nPertempuran\",\"Sertai\\nPertempuran\"\n\"TID_2V2_MATCHMAKE_CANCELLED\",\"<name> cancelled the 2v2 Battle\",\"<name> a annulé le combat 2c2\",\"<name> hat den Duokampf abgebrochen\",\"<name> ha cancelado la batalla 2c2.\",\"<name> ha annullato la battaglia 2 vs 2\",\"<name> heeft het 2-tegen-2-gevecht geannuleerd.\",\"<name> avbrøt 2v2-kampen\",\"<name>, 2'ye 2 Savaşı iptal etti\",\"<name> が協力バトルをキャンセルしました\",\"<name> 님이 2v2 전투를 취소했습니다.\",\"Игрок <name> отменил бой 2 на 2\",\"ألغى <name> معركة 2 ضد 2\",\"<name> cancelou a batalha 2v2\",\"<name>取消了2v2对战\",\"<name>取消了2v2對戰\",\"<name> نبرد 2 در مقابل 2 را لغو کرد\",\"<name> membatalkan Pertempuran 2v2\",\"<name> telah membatalkan Pertempuran 2 lwn 2\"\n\"TID_2V2_MATCHMAKE_LEFT\",\"<name> left the 2v2 Battle\",\"<name> a abandonné le combat 2c2\",\"<name> hat den Duokampf verlassen\",\"<name> ha abandonado la batalla 2c2.\",\"<name> ha lasciato la battaglia 2 vs 2\",\"<name> heeft het 2-tegen-2-gevecht verlaten.\",\"<name> forlot 2v2-kampen\",\"<name>, 2'ye 2 Savaştan ayrıldı\",\"<name> が協力バトルから退出しました\",\"<name> 님이 2v2 전투를 떠났습니다.\",\"Игрок <name> покинул бой 2 на 2\",\"غادر <name> معركة 2 ضد 2\",\"<name> deixou a batalha 2v2\",\"<name>离开了2v2对战\",\"<name>離開了2v2對戰\",\"<name> نبرد 2 در مقابل 2 را ترک کرد\",\"<name> meninggalkan Pertempuran 2v2\",\"<name> telah meninggalkan Pertempuran 2 lwn 2\"\n\"TID_LOOKING_FOR_TEAMMATE\",\"Clanmate\",\"membre du clan\",\"Clanmitglied\",\"aliado\",\"membro del clan\",\"clangenoot\",\"Klanvenn\",\"Klan Arkadaşı\",\"クランメンバー\",\"클랜원\",\"соклановца\",\"زميل في القبيلة\",\"colega de clã\",\"队友\",\"隊友\",\"هم‌قبیله‌ای\",\"Rekan Klan\",\"Rakan Klan\"\n\"TID_2V2_BATTLE_STARTS_IN\",\"2v2 Battle starts in\",\"Début du combat 2c2 dans\",\"Duokampf beginnt in:\",\"La batalla 2c2 empieza en\",\"La battaglia 2 vs 2 inizia tra\",\"2-tegen-2-gevecht begint over\",\"2v2-kampen starter om\",\"2'ye 2 Savaşın başlamasına:\",\"協力バトル開始まで\",\"2v2 전투 시작:\",\"Начало боя 2 на 2 через\",\"تبدأ معركة 2 ضد 2 خلال\",\"A batalha 2v2 começa em\",\"离2v2对战开始还有\",\"距離2v2對戰開始還有\",\"نبرد 2 در مقابل 2 شروع می‌شه در:\",\"Pertempuran 2v2 dimulai dalam\",\"Pertempuran 2 lwn 2 bermula dalam\"\n\"TID_2V2_BATTLE_IN_PROGRESS\",\"2v2 Battle in progress: <cfffffe><time></c>\",\"Combat 2c2 en cours : <cfffffe><time></c>\",\"Duokampf läuft: <cfffffe><time></c>\",\"Batalla 2c2 en progreso: <cfffffe><time></c>\",\"Battaglia 2 vs 2 in corso: <cfffffe><time></c>\",\"2-tegen-2-gevecht aan de gang: <cfffffe><time></c>\",\"2v2-kamp pågår: <cfffffe><time></c>\",\"2'ye 2 Savaş sürüyor: <cfffffe><time></c>\",\"協力バトル進行中：<cfffffe><time></c>\",\"2v2 전투 진행 중: <cfffffe><time></c>\",\"Идет бой 2 на 2: <cfffffe><time></c>\",\"معركة 2 ضد 2 قيد التقدم: <cfffffe><time></c>\",\"Batalha 2v2 em andamento: <cfffffe><time></c>\",\"2v2对战进行中：<cfffffe><time></c>\",\"2v2對戰進行中：<cfffffe><time></c>\",\"نبرد 2 در مقابل 2 در حال انجام: <cfffffe><time></c>\",\"Pertempuran 2v2 saat ini: <cfffffe><time></c>\",\"Pertempuran 2 lwn 2: <cfffffe><time></c>\"\n\"TID_TEAM_BATTLE_OWN\",\"Cannot join own battle\",\"Impossible de participer à ce combat\",\"Du kannst eigenen Kämpfen nicht beitreten.\",\"No puedes unirte a tu propia batalla.\",\"Sei già parte della battaglia\",\"Je kunt je niet aansluiten bij je eigen gevecht.\",\"Du kan ikke bli med i din egen kamp\",\"Kendi savaşına katılamazsın\",\"自分のバトルには参加できません\",\"자신의 전투에는 참여할 수 없습니다.\",\"Нельзя присоединиться к своему же бою\",\"لا يمكنك الانضمام إلى معركتك الخاصة\",\"Não é possível entrar na própria batalha.\",\"不能和自己组队\",\"不能和自己組隊\",\"نمی‌تونی به نبرد خودت بپیوندی\",\"Tidak bisa ikut pertempuran sendiri\",\"Tidak boleh sertai pertempuran sendiri\"\n\"TID_2V2_BATTLE_COOLDOWN\",\"Please wait a few seconds\",\"Veuillez patienter quelques secondes\",\"Bitte warte ein paar Sekunden.\",\"Espera unos segundos\",\"Aspetta qualche secondo\",\"Wacht een paar seconden.\",\"Vent noen sekunder\",\"Lütfen birkaç saniye bekle\",\"少々お待ちください\",\"몇 초 정도 기다려 주세요.\",\"Пожалуйста, подождите несколько секунд\",\"يُرجى الانتظار بضع ثوانٍ\",\"Aguarde alguns segundos\",\"请稍等\",\"請稍等\",\"لطفاً چند لحظه منتظر بمون\",\"Tunggulah beberapa detik\",\"Sila tunggu beberapa saat\"\n\"TID_CONFIRM_PURCHASE_TEXT\",\"Would you like to purchase this special offer?\",\"Voulez-vous acheter cette offre spéciale ?\",\"Möchtest du dieses Sonderangebot kaufen?\",\"¿Te gustaría comprar esta oferta especial?\",\"Vuoi acquistare questa offerta speciale?\",\"Wil je deze speciale aanbieding kopen?\",\"Har du lyst til å kjøpe dette spesialtilbudet?\",\"Bu özel fırsatı satın almak istiyor musun?\",\"この特別セール品を購入しますか？\",\"이 특가 상품을 구매하시겠습니까?\",\"Хотите воспользоваться специальным предложением?\",\"هل تود شراء هذا العرض الخاص؟\",\"Gostaria de comprar esta oferta especial?\",\"你要购买该特惠活动礼包吗？\",\"你要購買該特惠包嗎？\",\"می‌خوای این پیشنهاد ویژه رو خریداری کنی؟\",\"Ingin membeli penawaran spesial ini?\",\"Adakah anda ingin membeli tawaran istimewa ini?\"\n\"TID_CONFIRM_PURCHASE_TITLE\",\"Confirm Purchase?\",\"Confirmer l'achat ?\",\"Kauf bestätigen?\",\"Confirmar compra\",\"Confermi l'acquisto?\",\"Aankoop bevestigen?\",\"Vil du bekrefte kjøpet?\",\"Satın alma onayı\",\"購入を確定しますか？\",\"구매 확인\",\"Подтвердить покупку?\",\"تأكيد الشراء؟\",\"Confirmar compra?\",\"确认购买？\",\"確認購買？\",\"خرید رو تأیید می‌کنی؟\",\"Konfirmasi Pembelian?\",\"Sahkan Pembelian?\"\n\"TID_VALENTINESDAY_NOTIFICATION\",\"Show your Clanmates some love in a Friendly Double Elixir Battle! Available on Valentine's Day.\",\"Montrez aux membres du clan que vous les aimez lors d'un combat amical double élixir ! Disponible à la Saint-Valentin.\",\"Beweise deinen Clankameraden deine Liebe bei einem Doppelelixier-Testspiel! Am Valentinstag verfügbar.\",\"¡Demuestra cuánto quieres a tus aliados en una batalla amistosa de doble elixir! Disponible el Día de San Valentín.\",\"Mostra quanto bene vuoi ai membri del tuo clan con una battaglia amichevole doppio elisir! Disponibile a San Valentino.\",\"Toon affectie voor je clangenoten in een vriendelijk dubbel-elixirgevecht. Beschikbaar op Valentijnsdag.\",\"Vis klanvennene dine litt kjærlighet i en vennskapskamp om dobbel eliksir! Tilgjengelig på valentinsdagen.\",\"İki Kat İksirli Dostluk Savaşıyla Klan Arkadaşlarına sevgini göster! Sevgililer Gününde açılır.\",\"ダブルエリクサーフレンドバトルで、クランメンバーに友情を示しましょう！ バレンタインデー限定です！\",\"더블 엘릭서 친선전에서 클랜원들에게 애정을 표현하세요! 발렌타인 데이에 진행할 수 있습니다.\",\"Покажи своим соклановцам, что любишь их! Устрой дружеский бой с двойным количеством эликсира! Доступно в День святого Валентина.\",\"أظهر لزملائك في القبيلة بعض الحب عن طريق معركة إكسير مضاعف ودية! متاحة في عيد الحب.\",\"Mostre seu amor pelos colegas de clã em uma batalha amistosa de elixir duplo! Disponível no Valentine´s Day!\",\"在双倍圣水友谊战中表达对部落成员的爱！该友谊战活动在情人节推出。\",\"在雙倍聖水友誼戰中表達對部落成員的愛！該友誼戰活動在情人節推出。\",\"با یک نبرد دوستانه‌ی اکسیر دو برابر، به هم‌قبیله‌ای‌هات ابراز محبت کن! روز ولنتاین موجود میشه.\",\"Pamerkan cintamu kepada Rekan Tim dalam Pertempuran Eliksir Ganda Persahabatan! Tersedia di Hari Valentine.\",\"Sebarkan kasih kepada Rakan Klan anda dalam Pertempuran Eliksir Berganda Persahabatan! Tersedia pada Hari Kekasih.\"\n\"TID_SPECIAL_OFFER_1\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_2\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_3\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_4\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_5\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_6\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_7\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_8\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_9\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_10\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_15\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_20\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_50\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SPECIAL_OFFER_60\",\"Special Offer\",\"Offre spéciale\",\"Sonderangebot\",\"Oferta especial\",\"Offerta speciale\",\"Speciale aanbieding\",\"Spesialtilbud\",\"Özel Teklif\",\"特別セール\",\"특가 상품\",\"Специальное предложение\",\"عرض خاص\",\"Oferta especial\",\"特惠活动\",\"特惠活動\",\"پیشنهاد ویژه\",\"Penawaran Spesial\",\"Tawaran Istimewa\"\n\"TID_SHOP_SPECIAL_OFFER_TITAN\",\"Celebrating your progress to Legendary Arena!\",\"Fêtons votre arrivée dans l'arène légendaire !\",\"Für das Erreichen der legendären Arena!\",\"¡Celebra tu llegada a la Arena legendaria!\",\"Festeggia il tuo arrivo nell'arena leggendaria!\",\"Vier je voortgang naar de Legendarische arena!\",\"Vi feirer at du har nådd den legendariske arenaen!\",\"Efsanevi Arenaya ilerlemeni kutluyoruz!\",\"レジェンドアリーナへの昇格おめでとうございます！\",\"전설 아레나에 진출하신 걸 축하합니다!\",\"Отпразднуй переход на Легендарную арену!\",\"الاحتفال بتقدمك إلى الساحة الأسطورية!\",\"Celebre sua chegada à Arena Lendária!\",\"恭喜您进入传奇竞技场！\",\"恭喜您進入傳奇競技場！\",\"پیشروی‌ات به میدان نبرد افسانه‌ای مبارک!\",\"Merayakan kemajuanmu ke Arena Legendaris!\",\"Meraikan perkembangan anda ke Arena Legenda!\"\n\"TID_STARTER_PACK_8\",\"Legendary Arena Offer\",\"Offre de l'arène légendaire\",\"Angebot: Legendäre Arena\",\"Oferta de Arena legendaria\",\"Offerta arena leggendaria\",\"Legendarische arena-aanbieding\",\"Legendarisk arena-tilbud\",\"Efsanevi Arena Fırsatı\",\"レジェンドアリーナセール\",\"전설 아레나 상품\",\"Предложение Легендарной арены\",\"عرض ساحة أسطورية\",\"Oferta da Arena Lendária\",\"传奇竞技场特惠\",\"傳奇競技場特惠\",\"پیشنهاد میدان نبرد افسانه‌ای\",\"Penawaran Arena Legendaris\",\"Tawaran Arena Legenda\"\n\"TID_SHOP_STARTER_PACK_ARENA_T\",\"Legendary Arena Offer\",\"Offre de l'arène légendaire\",\"Angebot: Legendäre Arena\",\"Oferta de Arena legendaria\",\"Offerta arena leggendaria\",\"Legendarische arena-aanbieding\",\"Legendarisk arena-tilbud\",\"Efsanevi Arena Fırsatı\",\"レジェンドアリーナセール\",\"전설 아레나 상품\",\"Предложение Легендарной арены\",\"عرض ساحة أسطورية\",\"Oferta da Arena Lendária\",\"传奇竞技场特惠\",\"傳奇競技場特惠\",\"پیشنهاد میدان نبرد افسانه‌ای\",\"Penawaran Arena Legendaris\",\"Tawaran Arena Legenda\"\n\"TID_CURRENT_LEAGUE_REWARD_TIP\",\"Current Season Reward:\\n<REWARD>\",\"Récompense de la saison en cours :\\n<REWARD>\",\"Aktuelle Saisonbelohnung:\\n<REWARD>\",\"Recompensa de temporada actual:\\n<REWARD>\",\"Ricompensa stagionale attuale:\\n<REWARD>\",\"Huidige seizoensbeloning:\\n<REWARD>\",\"Nåværende sesongbelønning:\\n<REWARD>\",\"Şu Anki Sezon Ödülü:\\n<REWARD>\",\"現在のシーズン報酬：\\n<REWARD>\",\"현재 시즌 보상:\\n<REWARD>\",\"Награда текущего сезона:\\n<REWARD>\",\"جائزة الموسم الحالي:\\n<REWARD>\",\"Recompensa da temporada atual:\\n<REWARD>\",\"当前赛季奖励：\\n<REWARD>\",\"當前賽季獎勵：\\n<REWARD>\",\"جایزه فصل کنونی:\\n<REWARD>\",\"Hadiah Musim Ini:\\n<REWARD>\",\"Ganjaran Musim Semasa:\\n<REWARD>\"\n\"TID_SEASON_HIGHEST\",\"Season Highest\",\"Meilleur de la saison\",\"Saison-Bestleistung\",\"Mejor de la temporada\",\"Record stagionale\",\"Hoogste van het seizoen\",\"Sesongbeste\",\"Sezonun En Yükseği\",\"シーズン最高\",\"시즌 최고\",\"Максимум в сезоне\",\"أعلى درجة في الموسم\",\"Maior pontuação da temporada\",\"赛季最高奖杯数\",\"賽季最高獎盃數\",\"بالاترین در فصل\",\"Tertinggi di Musim\",\"Keputusan Terbaik Musim Ini\"\n\"TID_PROFILE_SEASON_ENDS\",\"ENDS IN: <TIME>\",\"FIN DANS : <TIME>\",\"ENDET IN: <TIME>\",\"TERMINA EN <TIME>\",\"TERMINA TRA: <TIME>\",\"EINDIGT OVER: <TIME>\",\"SLUTTER OM: <TIME>\",\"BİTMESİNE: <TIME>\",\"終了まで： <TIME>\",\"종료까지 남은 시간: <TIME>\",\"ОКОНЧАНИЕ ЧЕРЕЗ: <TIME>\",\"ينتهي خلال: <TIME>\",\"TERMINA EM: <TIME>\",\"离结束还有：<TIME>\",\"離結束還有：<TIME>\",\"اتمام بعد از: <TIME>\",\"BERAKHIR DALAM: <TIME>\",\"TAMAT DALAM: <TIME>\"\n\"TID_CURRENT_SEASON\",\"Current Season\",\"Saison en cours\",\"Aktuelle Saison\",\"Temporada actual\",\"Stagione attuale\",\"Huidig seizoen\",\"Nåværende sesong\",\"Şu Anki Sezon\",\"現在のシーズン\",\"현재 시즌\",\"Текущий сезон\",\"الموسم الحالي\",\"Temporada atual\",\"当前赛季\",\"當前賽季\",\"فصل کنونی\",\"Musim Ini\",\"Musim Semasa\"\n\"TID_CHEST_SEASON_1\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_2\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_3\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_4\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_5\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_6\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_7\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_8\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHEST_SEASON_9\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_CHOICES_CONTAIN\",\"Choices Contain:\",\"Au choix :\",\"Auswahlmöglichkeiten enthalten:\",\"Puedes elegir entre:\",\"La scelta contiene:\",\"Je kunt kiezen uit:\",\"Du kan velge blant følgende:\",\"Seçenekler Arasında:\",\"選べるもの：\",\"포함:\",\"Варианты выбора:\",\"تضم الاختيارات:\",\"As opções contêm:\",\"宝箱中包含：\",\"寶箱中包含：\",\"انتخاب‌ها شامل:\",\"Pilihan Berisi:\",\"Pilihan Mengandungi:\"\n\"TID_CHOOSE_WHAT_YOU_WANT\",\"Choose what you want from <number> pairs of cards.\",\"Choisissez ce que vous voulez parmi <number> paires de cartes.\",\"Wähle aus <number> Kartenpaaren frei aus.\",\"Elige lo que quieras entre <number> pares de cartas.\",\"Scegli ciò che vuoi da <number> paia di carte.\",\"Maak een keuze uit <number> paar kaarten.\",\"Velg det du vil fra <number> kortpar.\",\"<number> kart çifti içinden istediklerini seç.\",\"<number>ペアのカードから、好きな物を選ぶことができます。\",\"<number>쌍의 카드에서 원하는 카드를 고르세요.\",\"Выбери, что хочешь, из нескольких (<number>) пар карт.\",\"اختر ما تريد من بين <number> أزواج من البطاقات.\",\"Escolha o que você quer entre <number> pares de cartas.\",\"从<number>组卡牌中选择您想要的卡。\",\"從<number>組卡牌中選擇您想要的卡。\",\"چیزی رو که می‌خوای، از <number> دسته کارت انتخاب کن\",\"Pilih yang diinginkan dari <number> pasang kartu.\",\"Pilih yang anda ingini dari <number> pasang kad.\"\n\"TID_YOUR_SEASON_REWARD\",\"Your Season Reward\",\"Votre récompense de saison\",\"Deine Saisonbelohnung\",\"Tu recompensa de temporada\",\"La tua ricompensa stagionale\",\"Je seizoensbeloning\",\"Din sesongbelønning\",\"Sezon Ödülün\",\"あなたのシーズン報酬\",\"내 시즌 보상\",\"Твоя сезонная награда\",\"جائزة الموسم الخاصة بك\",\"Sua recompensa da temporada\",\"您的赛季奖励\",\"您的賽季獎勵\",\"جایزه فصلتان\",\"Hadiah Musim Milikmu\",\"Ganjaran Musim Anda\"\n\"TID_LEAGUE_SEASON_RESET\",\"Leagues Season Reset\",\"Réinitialisation de la saison des ligues\",\"Trophäen nach Saisonneustart\",\"Reinicio de temporada de ligas\",\"Azzeramento stagionale delle leghe\",\"Divisieseizoen wordt gereset naar\",\"Tilbakestilling av ligasesong\",\"Lig Sezonu Sıfırlama\",\"リーグシーズンリセット\",\"리그 시즌 초기화\",\"Сброс сезона лиг\",\"إعادة تعيين موسم الدوري\",\"Reiniciar a temporada de ligas.\",\"联赛赛季重置\",\"聯盟賽賽季重置\",\"بازنشانی فصل لیگ‌ها\",\"Atur Ulang Musim Liga\",\"Tetapan Semula Musim Liga\"\n\"TID_FREE_SHOP_OFFER_PRICE\",\"FREE!\",\"GRATUIT\",\"GRATIS!\",\"¡GRATIS!\",\"GRATIS!\",\"GRATIS!\",\"GRATIS!\",\"ÜCRETSİZ!\",\"無料！\",\"무료!\",\"БЕСПЛАТНО!\",\"مجانًا!\",\"GRÁTIS!\",\"免费！\",\"免費！\",\"رایگان!\",\"GRATIS!\",\"PERCUMA!\"\n\"TID_CHEST_DRAFT\",\"Draft Chest\",\"Coffre de tirage\",\"Auswahltruhe\",\"Cofre de elección\",\"Baule costruibile\",\"Keuzekist\",\"Utvalgskiste\",\"Çekilişli Sandık\",\"ドラフト宝箱\",\"드래프트 상자\",\"Сундук с выбором карт\",\"صندوق السحب\",\"Baú da estratégia\",\"选卡宝箱\",\"選卡寶箱\",\"صندوق انتخاب کارت\",\"Peti Draf\",\"Peti Pilihan\"\n\"TID_SEASON_SCORE\",\"Season Score\",\"Score de la saison\",\"Saisonpunktzahl\",\"Puntuación de temporada\",\"Punteggio stagionale\",\"Seizoensscore\",\"Sesongpoeng\",\"Sezon Skoru\",\"シーズンスコア\",\"시즌 점수\",\"Результат сезона\",\"نتيجة الموسم\",\"Pontuação da temporada\",\"赛季成绩\",\"賽季成績\",\"امتیاز فصل\",\"Skor Musim\",\"Skor Musim\"\n\"TID_SHOP_OFFER_PURCHASED\",\"Purchased!\",\"Acheté !\",\"Gekauft!\",\"¡Comprado!\",\"Acquistato\",\"Gekocht!\",\"Kjøpt!\",\"Satın Alındı!\",\"購入しました！\",\"구매 완료!\",\"Куплено!\",\"تم الشراء!\",\"Adquirido!\",\"已购买！\",\"已購買！\",\"خریداری شد!\",\"Telah Dibeli!\",\"Dibeli!\"\n\"TID_SHOP_OFFER_TAP_ALREADY_PURCHASED\",\"Already Purchased\",\"Achat déjà effectué\",\"Bereits gekauft\",\"Ya comprado\",\"Già acquistato\",\"Al gekocht\",\"Allerede kjøpt\",\"Zaten Satın Alındı\",\"購入済み\",\"이미 구매함\",\"Уже куплено\",\"تم الشراء بالفعل\",\"Já adquirido!\",\"您已购买过\",\"您已購買過\",\"قبلاً خریداری شده\",\"Telah Dibeli\",\"Sudah Dibeli\"\n\"TID_HAVE_FUN_WITH_YOUR_GIFT\",\"Have fun with your bonus gems!\",\"Profitez bien de votre bonus de gemmes !\",\"Viel Spaß mit deinen Bonusjuwelen!\",\"¡Disfruta de tus gemas extras!\",\"Divertiti con le tue gemme extra!\",\"Veel plezier met je bonusedelstenen.\",\"Ha det gøy med de ekstra juvelene!\",\"Bonus taşlarının keyfini çıkar!\",\"ボーナスエメラルドをお楽しみください！\",\"보너스 보석과 함께 즐거운 시간 보내세요!\",\"Надеемся, тебе понравятся подарочные кристаллы!\",\"استمتع بالجواهر الإضافية!\",\"Aproveite suas gemas de bônus!\",\"希望您喜欢这份宝石福利！\",\"希望您喜歡這份寶石獎勵！\",\"از پاداش جواهرت لذت ببر!\",\"Nikmatilah permata bonusmu!\",\"Berseronoklah dengan permata bonus anda!\"\n\"TID_GIFT_RECEIVED\",\"Bonus gems received!\",\"Bonus de gemmes reçu !\",\"Bonusjuwelen erhalten!\",\"¡Has recibido gemas extras!\",\"Gemme extra ricevute!\",\"Bonusedelstenen ontvangen!\",\"Ekstra juveler mottatt!\",\"Bonus taş alındı!\",\"ボーナスエメラルドを受け取りました！\",\"보너스 보석 받음!\",\"Получены кристаллы в подарок!\",\"تم تلقي جواهر إضافية!\",\"Gemas de bônus recebidas!\",\"已收到宝石福利！\",\"已收到寶石獎勵！\",\"پاداش جواهر دریافت شد!\",\"Permata bonus diterima!\",\"Permata bonus diterima!\"\n\"TID_TITAN_ARENA_PACK_TITLE\",\"Celebrating your progress to Legendary Arena!\",\"Fêtons votre arrivée dans l'arène légendaire !\",\"Für das Erreichen der legendären Arena!\",\"¡Celebra tu llegada a la Arena legendaria!\",\"Festeggia il tuo arrivo nell'arena leggendaria!\",\"Vier je voortgang naar de Legendarische arena!\",\"Vi feirer at du har nådd den legendariske arenaen!\",\"Efsanevi Arenaya ilerlemeni kutluyoruz!\",\"レジェンドアリーナへの昇格おめでとうございます\",\"전설 아레나에 진출하신 걸 축하합니다!\",\"Отпразднуй переход на Легендарную арену!\",\"الاحتفال بتقدمك إلى الساحة الأسطورية!\",\"Celebre sua chegada à Arena Lendária!\",\"恭喜您进入传奇竞技场！\",\"恭喜您進入傳奇競技場！\",\"پیشروی‌ات به میدان نبرد افسانه‌ای مبارک!\",\"Merayakan kemajuanmu ke Arena Legendaris!\",\"Meraikan perkembangan anda ke Arena Legenda!\"\n\"TID_TITAN_ARENA_PACK_SUBTITLE\",\"Legendary Arena Value Pack\",\"Pack éco de l'arène légendaire\",\"Sparpaket: Legendäre Arena\",\"Lote de Arena legendaria en oferta\",\"Pacchetto arena leggendaria\",\"Voordeelpakket Legendarische arena\",\"Legendarisk arena - verdipakke\",\"Efsanevi Arena Fırsat Paketi\",\"レジェンドアリーナのバリューパック\",\"전설 아레나 알뜰 팩\",\"Выгодный набор Легендарной арены\",\"حزمة قيمة الساحة الأسطورية\",\"Combo da Arena Lendária\",\"传奇竞技场超值礼包\",\"傳奇競技場超值包\",\"بسته ارزش میدان نبرد افسانه‌ای\",\"Paket Hemat Arena Legendaris\",\"Pek Nilai Arena Legenda\"\n\"TID_TEAM_BATTLE_NOTIFICATION\",\"Join <PLAYER_NAME> in a 2v2 Battle!\",\"Rejoignez <PLAYER_NAME> dans un combat 2c2 !\",\"Tritt dem Duokampf von <PLAYER_NAME> bei!\",\"¡Únete a <PLAYER_NAME> en una batalla 2c2!\",\"Unisciti a <PLAYER_NAME> in una battaglia 2 vs 2!\",\"Vecht samen met <PLAYER_NAME> in een 2-tegen-2-gevecht!\",\"Bli med <PLAYER_NAME> i en 2v2-kamp!\",\"<PLAYER_NAME> ile bir 2'ye 2 Savaşa katıl!\",\"<PLAYER_NAME>と協力バトルに参加しましょう！\",\"<PLAYER_NAME> 님과 함께 2v2 전투에 참여하세요!\",\"Присоединись к игроку <PLAYER_NAME> в бою 2 на 2!\",\"انضم إلى <PLAYER_NAME> في معركة 2 ضد 2!\",\"Lute com <PLAYER_NAME> em uma batalha 2v2.\",\"和<PLAYER_NAME>一起参加2v2对战！\",\"和<PLAYER_NAME>一起參加2v2對戰！\",\"به <PLAYER_NAME> در نبرد 2 در مقابل 2 بپیوند!\",\"Ikut <PLAYER_NAME> dalam Pertempuran 2v2!\",\"Sertai <PLAYER_NAME> dalam Pertempuran 2 lwn 2!\"\n\"TID_AVATAR_MESSAGE_TEXT_EMPTY_CHEST_REFUND\",\"Refunded <chestName> (<arenaName>) for <totalRevokedGems> gem on <refundDate>.\",\"Remboursement de <chestName> (<arenaName>) pour <totalRevokedGems> gemmes effectué le <refundDate>.\",\"Erstattung: <chestName> (<arenaName>) für <totalRevokedGems> Juwel am <refundDate>.\",\"Reembolso de <chestName> (<arenaName>) por <totalRevokedGems> gema el <refundDate>.\",\"Rimborso <chestName> (<arenaName>) di <totalRevokedGems> gemma in data <refundDate>.\",\"<chestName> (<arenaName>) teruggekregen voor <totalRevokedGems> edelstenen op <refundDate>.\",\"Refunderte <chestName> (<arenaName>) for <totalRevokedGems> juvel den <refundDate>.\",\"<chestName> sandığı (<arenaName>) <refundDate> tarihinde <totalRevokedGems> taş karşılığında iade edildi.\",\"<chestName>（<arenaName>）は、<totalRevokedGems>エメラルドとして<refundDate>に払い戻されました。\",\"<refundDate>에 <chestName>(<arenaName>)를 환불하고 보석 <totalRevokedGems>개를 받았습니다.\",\"Возвращено: <chestName> (<arenaName>) за <totalRevokedGems> самоцвет <refundDate>.\",\"تمت إعادة تكلفة <chestName> (<arenaName>) مقابل <totalRevokedGems> من الجواهر في <refundDate>.\",\"Reembolsado <chestName> (<arenaName>) por <totalRevokedGems> gema em <refundDate>.\",\"很抱歉得知您的<chestName>（<arenaName>）出现了异常，我们已于<refundDate>为您奉上了<totalRevokedGems>颗宝石作为补偿。\",\"很抱歉得知您的<chestName>（<arenaName>）出現異常，我們已於<refundDate>為您奉上<totalRevokedGems>顆寶石作為補償。\",\"<chestName> بازپرداخت شد (<arenaName>) برای <totalRevokedGems> جواهر در <refundDate>.\",\"<chestName> (<arenaName>) seharga <totalRevokedGems> permata telah dikembalikan tanggal <refundDate>.\",\"Membayar balik <chestName> (<arenaName>) untuk <totalRevokedGems> permata pada <refundDate>.\"\n\"TID_AVATAR_MESSAGE_TEXT_EMPTY_CHEST_REFUND_PLURAL\",\"Refunded <chestName> (<arenaName>) for <totalRevokedGems> gems on <refundDate>.\",\"Remboursement de <chestName> (<arenaName>) pour <totalRevokedGems> gemmes effectué le <refundDate>.\",\"Erstattung: <chestName> (<arenaName>) für <totalRevokedGems> Juwelen am <refundDate>.\",\"Reembolso de <chestName> (<arenaName>) por <totalRevokedGems> gemas el <refundDate>.\",\"Rimborso <chestName> (<arenaName>) di <totalRevokedGems> gemme in data <refundDate>.\",\"<chestName> (<arenaName>) teruggekregen voor <totalRevokedGems> edelstenen op <refundDate>.\",\"Refunderte <chestName> (<arenaName>) for <totalRevokedGems> juveler den <refundDate>.\",\"<chestName> sandığı (<arenaName>) <refundDate> tarihinde <totalRevokedGems> taş karşılığında iade edildi.\",\"<chestName>（<arenaName>）は、<totalRevokedGems>エメラルドとして<refundDate>に払い戻されました。\",\"<refundDate>에 <chestName>(<arenaName>)를 환불하고 보석 <totalRevokedGems>개를 받았습니다.\",\"Возвращено: <chestName> (<arenaName>) за <totalRevokedGems> самоцветов <refundDate>.\",\"تمت إعادة تكلفة <chestName> (<arenaName>) مقابل <totalRevokedGems> من الجواهر في <refundDate>.\",\"Reembolsado <chestName> (<arenaName>) por <totalRevokedGems> gemas em <refundDate>.\",\"很抱歉得知您的<chestName>（<arenaName>）出现了异常，我们已于<refundDate>为您奉上了<totalRevokedGems>颗宝石作为补偿。\",\"很抱歉得知您的<chestName>（<arenaName>）出現異常，我們已於<refundDate>為您奉上<totalRevokedGems>顆寶石作為補償。\",\"<chestName> بازپرداخت شد (<arenaName>) برای <totalRevokedGems> جواهر در <refundDate>.\",\"<chestName> (<arenaName>) seharga <totalRevokedGems> permata telah dikembalikan tanggal <refundDate>.\",\"Membayar balik <chestName> (<arenaName>) untuk <totalRevokedGems> permata pada <refundDate>.\"\n\"TID_TEAM_WINS\",\"2v2 Wins\",\"Victoires en 2c2\",\"Duosiege\",\"Victorias 2c2\",\"Vittorie 2 vs 2\",\"2-tegen-2-overwinningen\",\"2v2-seire\",\"2'ye 2 Galibiyetler\",\"協力バトル勝利\",\"2v2 승리\",\"Победы в боях 2 на 2\",\"الانتصارات في 2 ضد 2\",\"Vitórias 2v2\",\"2v2对战赢得\",\"2v2對戰贏得\",\"بردهای 2 در مقابل 2\",\"Kemenangan 2v2\",\"Kemenangan 2 lwn 2\"\n\"TID_TEAM_VS_TEAM_CHEST_TOTAL\",\"Total 2v2 Wins: <VALUE>\",\"Total de victoires en 2c2 : <VALUE>\",\"Duosiege insgesamt: <VALUE>\",\"Victorias 2c2 totales: <VALUE>\",\"Totale vittorie 2 vs 2: <VALUE>\",\"Totaal aantal 2-tegen-2-overwinningen: <VALUE>\",\"2v2-seire totalt: <VALUE>\",\"Toplam 2'ye 2 Galibiyet: <VALUE>\",\"協力バトル総勝利数：<VALUE>\",\"2v2 승리 합계: <VALUE>\",\"Всего побед в боях 2 на 2: <VALUE>\",\"إجمالي الانتصارات في 2 ضد 2: <VALUE>\",\"Total de vitórias 2v2: <VALUE>\",\"2v2对战总胜场：<VALUE>\",\"2v2對戰總勝場：<VALUE>\",\"کل بردهای 2 در مقابل 2: <VALUE>\",\"Total Menang 2v2: <VALUE>\",\"Jumlah Kemenangan 2 lwn 2: <VALUE>\"\n\"TID_HINT_BANDIT\",\"The Bandit cannot be hit while dashing.\",\"La voleuse ne peut pas être touchée quand elle charge.\",\"Die Banditin kann während des Sprints nicht getroffen werden.\",\"No puedes dañar a la bandida mientras embiste.\",\"La fuorilegge non può essere colpita durante lo scatto.\",\"De struikrover kan niet worden geraakt terwijl ze sprint.\",\"Banditten kan ikke bli truffet når hun spurter.\",\"Hızlı koşan Hayduta darbe vurulamaz.\",\"ダッシュ中のアサシン ユーノには攻撃できません。\",\"도둑은 질주하는 동안에는 공격을 받지 않습니다.\",\"Бандитка не получает урон во время движения.\",\"لا يمكن إصابة قاطعة الطريق أثناء اندفاعها.\",\"Não é possível atingir a Bandida enquanto ela corre.\",\"突袭过程中，幻影刺客不会受到攻击。\",\"突襲過程中，幻影刺客不會受到攻擊。\",\"نمی‌شه به راهزن در حین هجوم، ضربه زد.\",\"Bandit tidak dapat dipukul saat berlari.\",\"Bandit tidak boleh diserang semasa memecut.\"\n\"TID_MILESTONE_TITLE\",\"One Time Rewards\",\"Récompenses uniques\",\"Einmalige Belohnungen\",\"Recompensas únicas\",\"Ricompense uniche\",\"Eenmalige beloningen\",\"Engangsbelønninger\",\"Tek Seferlik Ödüller\",\"1度きりの報酬\",\"1회 보상\",\"Единовременные награды\",\"جوائز المرة الواحدة\",\"Recompensas únicas\",\"一次性奖励\",\"一次性獎勵\",\"جوایز یک باره\",\"Hadiah Satu Kali\",\"Ganjaran Satu Kali\"\n\"TID_MILESTONE_REWARD_AT_1\",\"at 1 win\",\"à 1 victoire\",\"nach 1 Sieg\",\"tras 1 victoria\",\"con 1 vittoria\",\"bij 1 overwinning\",\"etter 1 seier\",\"1. galibiyette\",\"1勝時点\",\"1승\",\"за 1 победу\",\"عند انتصار واحد\",\"de 1 vitória\",\"获胜1场\",\"獲勝1場\",\"در 1 برد\",\"pada sekali menang\",\"pada kemenangan pertama\"\n\"TID_MILESTONE_REWARD_AT_2PLUS\",\"at <wins> wins\",\"à <wins> victoires\",\"nach <wins> Siegen\",\"tras <wins> victorias\",\"con <wins> vittorie\",\"bij <wins> overwinningen\",\"etter <wins> seire\",\"<wins>. galibiyette\",\"<wins>勝時点\",\"<wins>승\",\"за победы (<wins>)\",\"عند <wins> من الانتصارات\",\"de <wins> vitórias\",\"获胜<wins>场\",\"獲勝<wins>場\",\"در <wins> برد\",\"pada <wins> kali menang\",\"pada kemenangan ke-<wins>\"\n\"TID_UNCLAIMED_SEASON_REWARD\",\"Unclaimed Season Reward\",\"Récompense de la saison non récupérée\",\"Nicht eingeforderte Saisonbelohnung\",\"Recompensa de temporada no reclamada\",\"Ricompensa stagionale non riscossa\",\"Niet-opgehaalde seizoensbeloning\",\"Uavhentet sesongbelønning\",\"Alınmamış Sezon Ödülü\",\"受け取っていないシーズン報酬\",\"받지 않은 시즌 보상\",\"Неполученная сезонная награда\",\"جائزة موسم لم تتم المطالبة بها\",\"Recompensa da temporada não resgatada\",\"未领取的赛季奖励\",\"未領取的賽季獎勵\",\"جایزه فصل مطالبه نشده\",\"Hadiah Musim Tidak Diklaim\",\"Ganjaran Musim Belum Dituntut\"\n\"TID_REDEEM_PACK_1\",\"Gift Pack\",\"Pack cadeau\",\"Geschenkpaket\",\"Lote de regalos\",\"Pacco dono\",\"Cadeaupakket\",\"Gavepakke\",\"Hediye Paketi\",\"ギフトパック\",\"기프트팩\",\"Подарочный пакет\",\"باقة الهدايا\",\"Pacote de Presente\",\"礼包\",\"特惠包\",\"بسته هدیه\",\"Paket Hadiah\",\"Pek Hadiah\"\n\"TID_REDEEM_PACK_2\",\"Gift Pack\",\"Pack cadeau\",\"Geschenkpaket\",\"Lote de regalos\",\"Pacco dono\",\"Cadeaupakket\",\"Gavepakke\",\"Hediye Paketi\",\"ギフトパック\",\"기프트팩\",\"Подарочный пакет\",\"باقة الهدايا\",\"Pacote de Presente\",\"礼包\",\"特惠包\",\"بسته هدیه\",\"Paket Hadiah\",\"Pek Hadiah\"\n\"TID_REDEEM_PACK_3\",\"Gift Pack\",\"Pack cadeau\",\"Geschenkpaket\",\"Lote de regalos\",\"Pacco dono\",\"Cadeaupakket\",\"Gavepakke\",\"Hediye Paketi\",\"ギフトパック\",\"기프트팩\",\"Подарочный пакет\",\"باقة الهدايا\",\"Pacote de Presente\",\"礼包\",\"特惠包\",\"بسته هدیه\",\"Paket Hadiah\",\"Pek Hadiah\"\n\"TID_REDEEM_PACK_4\",\"Gift Pack\",\"Pack cadeau\",\"Geschenkpaket\",\"Lote de regalos\",\"Pacco dono\",\"Cadeaupakket\",\"Gavepakke\",\"Hediye Paketi\",\"ギフトパック\",\"기프트팩\",\"Подарочный пакет\",\"باقة الهدايا\",\"Pacote de Presente\",\"礼包\",\"特惠包\",\"بسته هدیه\",\"Paket Hadiah\",\"Pek Hadiah\"\n\"TID_MILESTONE_WINS_REWARD\",\"<wins> Wins Reward\",\"Récompense pour <wins> victoires\",\"Belohnung für <wins> Siege\",\"Premio tras <wins> victorias\",\"Ricompensa <wins> vittorie\",\"Beloning bij <wins> overwinningen\",\"Belønning for <wins> seire\",\"<wins> Galibiyet Ödülü\",\"<wins>勝利報酬\",\"<wins>승 보상\",\"Приз за победы (<wins>)\",\"جائزة <wins> من الانتصارات\",\"Recompensa por <wins> vitórias\",\"<wins>胜场奖励\",\"<wins>勝場獎勵\",\"جایزه <wins> پیروزی\",\"Hadiah Menang <wins>x\",\"Ganjaran <wins> Kemenangan\"\n\"TID_CHALLENGE_HELP_LOSSES_3\",\"3 losses and you're out\",\"3 défaites et tout s'arrête\",\"3 Niederlagen und du bist raus\",\"Si pierdes 3 veces, ¡estarás fuera!\",\"3 sconfitte e sei fuori\",\"3 nederlagen en je ligt eruit\",\"3 tap så er du ute\",\"3 mağlubiyette kaybedersin\",\"3敗すると、そこで終了です\",\"3패를 하면 탈락입니다.\",\"3 поражения, и ты выбываешь\",\"الخسارة 3 مرات تعني خروجك\",\"3 derrotas, e você está fora!\",\"战败3场，挑战结束\",\"戰敗3場，挑戰結束\",\"3 بار ببازی حذف میشی\",\"3 kekalahan dan kamu dikeluarkan\",\"3 kekalahan dan anda keluar\"\n\"TID_CHALLENGE_HELP_LOSSES_2\",\"2 losses and you're out\",\"2 défaites et tout s'arrête\",\"2 Niederlagen und du bist raus\",\"Si pierdes 2 veces, ¡estarás fuera!\",\"2 sconfitte e sei fuori\",\"2 nederlagen en je ligt eruit\",\"2 tap så er du ute\",\"2 mağlubiyette kaybedersin\",\"2敗すると、そこで終了です\",\"2패를 하면 탈락입니다.\",\"2 поражения, и ты выбываешь\",\"الخسارة مرتين تعني خروجك\",\"2 derrotas, e você está fora!\",\"战败2场，挑战结束\",\"戰敗2場，挑戰結束\",\"2 بار ببازی حذف میشی\",\"2 kekalahan dan kamu dikeluarkan\",\"2 kekalahan dan anda keluar\"\n\"TID_CHALLENGE_HELP_LOSSES_1\",\"1 loss and you're out\",\"1 défaite et tout s'arrête\",\"1 Niederlage und du bist raus\",\"Si pierdes 1 vez, ¡estarás fuera!\",\"1 sconfitta e sei fuori\",\"1 nederlaag en je ligt eruit\",\"1 tap så er du ute\",\"1 mağlubiyette kaybedersin\",\"1敗すると、そこで終了です\",\"1패를 하면 탈락입니다.\",\"1 поражение, и ты выбываешь\",\"الخسارة مرة واحدة تعني خروجك\",\"1 derrota, e você está fora!\",\"战败1场，挑战结束\",\"戰敗1場，挑戰結束\",\"1 بار ببازی حذف میشی\",\"1 kekalahan dan kamu dikeluarkan\",\"1 kekalahan dan anda keluar\"\n\"TID_CHALLENGE_HELP_LOSSES_EXPLAINED_3\",\"At 3 losses, your Challenge ends and you receive your prize!\",\"Après 3 défaites, votre défi s'arrête et vous recevez votre prix !\",\"Nach 3 Niederlagen endet deine Herausforderung und du erhältst deinen Preis!\",\"Si pierdes 3 veces, el desafío terminará y recibirás tu premio.\",\"Con 3 sconfitte, la sfida terminerà e riceverai il tuo premio!\",\"Na 3 nederlagen eindigt je uitdaging en ontvang je je prijs!\",\"Etter 3 tap avsluttes utfordringen, og du mottar premien din!\",\"3 mağlubiyette Mücadele sonlanır ve ödülünü alırsın!\",\"3敗するとチャレンジは終了となり、報酬を受け取ります！\",\"3패를 하면 도전이 끝나고 상품을 받습니다!\",\"После 3 поражений ты покинешь испытание и получишь приз!\",\"عند الخسارة 3 مرّات، ينتهي التحدي الخاص بك وتتسلم جائزتك!\",\"Com 3 derrotas, seu desafio acaba e você recebe o prêmio!\",\"累计战败3场，您当次挑战将结束，同时您将获得相应奖励！\",\"累計戰敗3場，您當次挑戰將結束，同時您將獲得相應獎勵！\",\"با 3 شکست، چالش‌ات به پایان می‌رسه و جایزه‌ات رو دریافت می‌کنی!\",\"Pada 3 kekalahan, Tantanganmu berakhir dan kamu menerima hadiahnya!\",\"Pada 3 kekalahan, cabaran anda tamat dan anda menerima hadiah anda!\"\n\"TID_CHALLENGE_HELP_LOSSES_EXPLAINED_2\",\"At 2 losses, your Challenge ends and you receive your prize!\",\"Après 2 défaites, votre défi s'arrête et vous recevez votre prix !\",\"Nach 2 Niederlagen endet deine Herausforderung und du erhältst deinen Preis!\",\"Si pierdes 2 veces, el desafío terminará y recibirás tu premio.\",\"Con 2 sconfitte, la sfida terminerà e riceverai il tuo premio!\",\"Na 2 nederlagen eindigt je uitdaging en ontvang je je prijs!\",\"Etter 2 tap avsluttes utfordringen, og du mottar premien din!\",\"2 mağlubiyette Mücadele sonlanır ve ödülünü alırsın!\",\"2敗するとチャレンジは終了となり、報酬を受け取ります！\",\"2패를 하면 도전이 끝나고 상품을 받습니다!\",\"После 2 поражений ты покинешь испытание и получишь приз!\",\"عند الخسارة مرتين، ينتهي التحدي الخاص بك وتتسلم جائزتك!\",\"Com 2 derrotas, seu desafio acaba e você recebe o prêmio!\",\"累计战败2场，您当次挑战将结束，同时您将获得相应奖励！\",\"累計戰敗2場，您當次挑戰將結束，同時您將獲得相應獎勵！\",\"با 2 شکست، چالش‌ات به پایان می‌رسه و جایزه‌ات رو دریافت می‌کنی!\",\"Pada 2 kekalahan, Tantanganmu berakhir dan kamu menerima hadiahnya!\",\"Pada 2 kekalahan, cabaran anda tamat dan anda menerima hadiah anda!\"\n\"TID_CHALLENGE_HELP_LOSSES_EXPLAINED_1\",\"At 1 loss, your Challenge ends and you receive your prize!\",\"Après 1 défaite, votre défi s'arrête et vous recevez votre prix !\",\"Nach einer Niederlage endet deine Herausforderung und du erhältst deinen Preis!\",\"Si pierdes 1 vez, el desafío terminará y recibirás tu premio.\",\"Con 1 sconfitta, la sfida terminerà e riceverai il tuo premio!\",\"Na 1 nederlaag eindigt je uitdaging en ontvang je je prijs!\",\"Etter 1 tap avsluttes utfordringen, og du mottar premien din!\",\"1 mağlubiyette Mücadele sonlanır ve ödülünü alırsın!\",\"1敗するとチャレンジは終了となり、報酬を受け取ります！\",\"1패를 하면 도전이 끝나고 상품을 받습니다!\",\"После 1 поражения ты покинешь испытание и получишь приз!\",\"عند الخسارة مرة واحدة، ينتهي التحدي الخاص بك وتتسلم جائزتك!\",\"Com 1 derrota, seu desafio acaba e você recebe o prêmio!\",\"战败1场，您当次挑战将结束，同时您将获得相应奖励！\",\"戰敗1場，您當次挑戰將結束，同時您將獲得相應獎勵！\",\"با 1 شکست، چالش‌ات به پایان می‌رسه و جایزه‌ات رو دریافت می‌کنی!\",\"Pada 1 kekalahan, Tantanganmu berakhir dan kamu menerima hadiahnya!\",\"Pada 1 kekalahan, cabaran anda tamat dan anda menerima hadiah anda!\"\n\"TID_INTRODUCING_LEAGUE_SEASONS\",\"Introducing League Seasons\",\"Découvrez les saisons de ligue\",\"Jetzt neu: Ligasaisons\",\"Nuevas temporadas de liga\",\"Presentazione stagioni della lega\",\"Maak kennis met divisieseizoenen\",\"Vi introduserer ligasesonger\",\"Karşınızda Lig Sezonları\",\"リーグシーズンのご紹介\",\"리그 시즌 소개\",\"Встречайте: сезоны лиг\",\"نقدم لكم مواسم الدوري\",\"Apresentando as temporadas de ligas\",\"隆重推出：联赛赛季\",\"隆重推出：聯盟賽賽季\",\"معرفی فصل‌های لیگ\",\"Memperkenalkan Musim Liga\",\"Memperkenalkan Musim Liga\"\n\"TID_WITH_9_NEW_LEAGUES\",\"With 9 New Leagues!\",\"Avec 9 nouvelles ligues !\",\"Mit 9 neuen Ligen!\",\"¡Con 9 nuevas ligas!\",\"Con 9 nuove leghe!\",\"Met 9 nieuwe divisies!\",\"Med ni nye ligaer!\",\"9 Yeni Lig!\",\"9つの新しいリーグも登場！\",\"9가지 신규 리그 포함!\",\"Девять новых лиг!\",\"حيث أضفنا 9 بطولات دوري جديدة!\",\"Com 9 novas ligas!\",\"9个全新联赛！\",\"9個全新聯盟賽！\",\"با 9 لیگ جدید!\",\"Dengan 9 Liga Baru!\",\"Dengan 9 Liga Baharu!\"\n\"TID_COLLECT_MONTHLY_SEASON_REWARDS_INFO\",\"Collect a monthly season reward based on the highest League you reached\",\"Récupérez une récompense de saison chaque mois en fonction de la meilleure ligue que vous ayez atteinte\",\"Hol dir jeden Monat eine Saisonbelohnung für die höchste Liga, die du erreicht hast.\",\"Consigue una recompensa de temporada mensual en función de la liga más alta que hayas alcanzado.\",\"Ottieni una ricompensa stagionale mensile proporzionale alla lega più alta che hai raggiunto\",\"Verzamel een maandelijkse seizoensbeloning op basis van de hoogste divisie die je hebt bereikt.\",\"Få en månedlig sesongbelønning basert på den høyeste ligaen du har nådd.\",\"Eriştiğin en yüksek Lige göre aylık bir sezon ödülü alırsın\",\"自己最高位リーグに応じて、毎月シーズン報酬をゲットしましょう\",\"가장 높게 달성한 리그에 따라 월간 시즌 보상을 받으세요.\",\"Забирай ежемесячную сезонную награду, размер которой зависит от самой высокой лиги, в которую тебе удалось попасть.\",\"احصل على جائزة موسم شهرية بناءً على أعلى دوري تصل إليه\",\"Ganhe um prêmio mensal de acordo com a liga que você alcançar na temporada.\",\"根据您在赛季中达到的最高联赛级别，您可以获得相应的每月赛季奖励\",\"根據您在賽季中達到的最高聯盟賽級別，您可以獲得相應的每月賽季獎勵\",\"جایزه ماهانه فصل رو، بر اساس بالاترین لیگی که بهش رسیدی، دریافت کن\",\"Kumpulkan hadiah musim bulanan berdasarkan Liga tertinggi yang dicapai\",\"Kumpul ganjaran musim bulanan berdasarkan Liga tertinggi yang anda capai\"\n\"TID_TEAM_MATE_WAITING\",\"Join <player> in a 2v2 Battle!\",\"Rejoignez <player> dans un combat 2c2 !\",\"Tritt dem Duokampf von <player> bei!\",\"¡Únete a <player> en una batalla 2c2!\",\"Unisciti a <player> in una battaglia 2 vs 2!\",\"Vecht samen met <player> in een 2-tegen-2-gevecht!\",\"Bli med <player> i en 2v2-kamp!\",\"<player> ile bir 2'ye 2 Savaşa katıl!\",\"<player>と協力バトルに参加しましょう！\",\"<player> 님과 함께 2v2 전투에 참여하세요!\",\"Присоединись к игроку <player> в бою 2 на 2!\",\"انضم إلى <player> في معركة 2 ضد 2!\",\"Lute com <player> em uma batalha 2v2.\",\"和<player>一起参加2v2对战！\",\"和<player>一起參加2v2對戰！\",\"به <player> در نبرد 2 در مقابل 2 بپیوند!\",\"Ikut <player> dalam Pertempuran 2v2!\",\"Sertai <player> dalam Pertempuran 2 lwn 2!\"\n\"TID_PUZZLE_MODE\",\"Puzzle Royale\",\"Casse-tête Royale\",\"Rätsel-Royale\",\"Puzle Royale\",\"Puzzle Royale\",\"Puzzel Royale\",\"Oppgave Royale\",\"Puzzle Royale\",\"パズル・ロワイヤル\",\"퍼즐 로얄\",\"Пазл Royale\",\"لغز Royale\",\"Desafio Royale\",\"皇室试炼\",\"皇家試煉\",\"پازل Royale\",\"Puzzle Royale\",\"Teka-teki Royale\"\n\"TID_TEAM_VS_ENEMY\",\"Clan vs Enemy\",\"Clan contre ennemi\",\"Clan gg. Feind\",\"Clan contra enemigo\",\"Clan vs nemico\",\"Clan tegen vijand\",\"Klan mot fiende\",\"Klan x Düşman\",\"クランvs敵\",\"클랜 vs 적\",\"Клан против врага\",\"القبيلة ضد العدو\",\"Clã x Inimigo\",\"我方部落vs敌方部落\",\"我方部落vs敵方部落\",\"قبیله در برابر دشمن\",\"Klan vs. Musuh\",\"Klan lwn Musuh\"\n\"TID_QUEST_COMPLETE\",\"Quest Complete!\",\"Quête terminée !\",\"Quest abgeschlossen!\",\"¡Misión cumplida!\",\"Missione completata!\",\"Opdracht voltooid!\",\"Oppdrag fullført!\",\"Görev Tamamlandı!\",\"クエスト達成！\",\"퀘스트 완료!\",\"Квест выполнен!\",\"اكتملت المهمة!\",\"Missão cumprida!\",\"任务完成！\",\"任務完成！\",\"کاوش کامل شد!\",\"Tugas Selesai!\",\"Misi Selesai!\"\n\"TID_QUEST_FAILED\",\"Quest Failed!\",\"Quête ratée !\",\"Quest nicht bestanden!\",\"Has fallado la misión...\",\"Missione fallita!\",\"Opdracht mislukt!\",\"Oppdrag mislyktes!\",\"Görev Başarısız Oldu!\",\"クエスト失敗！\",\"퀘스트 실패!\",\"Квест не выполнен!\",\"فشلت المهمة!\",\"Falha na missão!\",\"任务失败！\",\"任務失敗！\",\"کاوش شکست خورد!\",\"Tugas Gagal!\",\"Misi Gagal!\"\n\"TID_BUTTON_TRY_AGAIN\",\"Try Again\",\"Réessayer\",\"Neuer Versuch\",\"Reintentar\",\"Riprova\",\"Opnieuw\",\"Prøv igjen\",\"Tekrar Dene\",\"リトライ\",\"다시 시도\",\"Попробуй снова\",\"إعادة المحاولة\",\"Tente novamente\",\"再试一次\",\"再試一次\",\"دوباره امتحان کن\",\"Coba Lagi\",\"Cuba Lagi\"\n\"TID_WAVE_NUMBER\",\"Wave <number>/<count>\",\"Vague <number>/<count>\",\"Welle <number>/<count>\",\"Oleada <number>/<count>\",\"Ondata <number>/<count>\",\"Golf <number>/<count>\",\"Bølge <number>/<count>\",\"<number>/<count> Dalga\",\"ウェーブ <number>/<count>\",\"공격 <number>/<count>\",\"Попытка <number> из <count>\",\"الموجة <number>/<count>\",\"Atacar <number>/<count>\",\"第<number>/<count>波\",\"第<number>/<count>波\",\"موج <number>/<count>\",\"Gelombang <number>/<count>\",\"Gelombang <number>/<count>\"\n\"TID_DAILY_QUESTS\",\"Daily\\nQuests\",\"Quêtes\\nquotidiennes\",\"Tägliche\\nQuests\",\"Misiones\\ndiarias\",\"Missioni\\ngiornaliere\",\"Dagelijkse\\nopdrachten\",\"Daglige\\noppdrag\",\"Günlük\\nGörevler\",\"デイリー\\nクエスト\",\"일일\\n퀘스트\",\"Ежедневные\\nквесты\",\"مهام\\nيومية\",\"Missões\\ndiárias\",\"每日\\n任务\",\"每日\\n任務\",\"کاوش‌های\\nروزانه\",\"Tugas\\nHarian\",\"Misi\\nHarian\"\n\"TID_ROYALBOX_TAB_NEWS\",\"News\",\"Nouveautés\",\"Neues\",\"Novedades\",\"Notizie\",\"Nieuws\",\"Nyheter\",\"Haberler\",\"ニュース\",\"뉴스\",\"Новости\",\"الأخبار\",\"Notícias\",\"新闻\",\"新聞\",\"اخبار\",\"Berita\",\"Berita\"\n\"TID_ROYALBOX_TAB_EVENTS\",\"Events\",\"Événements\",\"Ereignisse\",\"Eventos\",\"Eventi\",\"Evenementen\",\"Hendelser\",\"Etkinlikler\",\"イベント\",\"이벤트\",\"События\",\"الأحداث\",\"Eventos\",\"活动\",\"活動\",\"رویدادها\",\"Acara\",\"Acara\"\n\"TID_FRIENDLY_TEAM_VS_TEAM\",\"Friendly 2v2 Battle\",\"Combat amical 2c2\",\"Duo-Testspiel\",\"Batalla amistosa 2c2\",\"Amichevole 2 vs 2\",\"Vriendelijk 2-tegen-2-gevecht\",\"Vennskapskamp 2v2\",\"2'ye 2 Dostluk Savaşı\",\"協力フレンドバトル\",\"2v2 친선전\",\"Дружеский бой 2 на 2\",\"معركة ودية 2 ضد 2\",\"Batalha amistosa 2v2\",\"2v2友谊战\",\"2v2友誼戰\",\"نبرد دوستانه 2 درمقابل 2\",\"Pertempuran Persahabatan 2v2\",\"Pertempuran 2 lwn 2 Persahabatan\"\n\"TID_CHALLENGE_TEAM_DEFAULT_TEXT\",\"Join the 2v2 Battle!\",\"Participez au combat 2c2 !\",\"Tritt dem Duokampf bei!\",\"¡Únete a la batalla 2c2!\",\"Unisciti alla battaglia 2 vs 2!\",\"Doe mee aan een 2-tegen-2-gevecht.\",\"Bli med i 2v2-kampen!\",\"2'ye 2 Savaşa katıl!\",\"協力バトルに参加！\",\"2v2 전투에 참가하세요!\",\"Присоединись к бою 2 на 2!\",\"انضم لمعركة 2 ضد 2!\",\"Entrar para a 2v2!\",\"加入2v2对战！\",\"加入2v2對戰！\",\"به نبرد 2 در مقابل 2 بپیوند!\",\"Ikut Pertempuran 2v2!\",\"Sertai Pertempuran 2 lwn 2!\"\n\"TID_MATCHMAKING_2V2_FRIENDLY_LOOKING_FOR_MATCH\",\"Join the Friendly 2v2 Battle!\",\"Participez au combat amical 2c2 !\",\"Tritt dem Duo-Testspiel bei!\",\"¡Únete a la batalla amistosa 2c2!\",\"Unisciti all'amichevole 2 vs 2!\",\"Doe mee aan een vriendelijk 2-tegen-2-gevecht.\",\"Bli med i en vennskapskamp 2v2!\",\"2'ye 2'ye Dostluk Savaşına katıl!\",\"協力フレンドバトルに参加！\",\"2v2 친선전에 참가하세요!\",\"Присоединись к дружескому бою 2 на 2!\",\"انضم لمعركة 2 ضد 2 الودية!\",\"Entre na batalha 2v2 amistosa!\",\"加入2v2友谊战！\",\"加入2v2友誼戰！\",\"به نبرد دوستانه 2 درمقابل 2 بپیوند!\",\"Ikut Pertempuran Persahabatan 2v2!\",\"Sertai Pertempuran 2 lwn 2 Persahabatan!\"\n\"TID_2V2_FRIENDLY_EMPTY_SLOT\",\"Waiting\",\"En attente\",\"Warten\",\"Esperando\",\"In attesa\",\"Wachten\",\"Venter\",\"Bekleniyor\",\"待機中\",\"대기 중\",\"Ждем\",\"في الانتظار\",\"Aguardando\",\"等待中\",\"等待中\",\"در انتظار\",\"Menunggu\",\"Menunggu\"\n\"TID_TEAM_CHALLENGE_DRAFT\",\"Draft 2v2 Battle\",\"Combat du tirage 2c2\",\"Duo-Auswahlkampf\",\"Batalla de elección 2c2\",\"Battaglia strategica 2 vs 2\",\"2-tegen-2-keuzegevecht\",\"Utvalgskamp 2v2\",\"Çekilişli 2'ye 2 Savaş\",\"ドラフト協力バトル\",\"2v2 드래프트전\",\"Бой 2 на 2 с выбором карт\",\"معركة سحب 2 ضد 2\",\"Batalha 2v2 de estratégia\",\"2v2选卡对战\",\"2v2選卡對戰\",\"نبرد انتخاب کارت 2 در مقابل 2\",\"Pertempuran Draf 2v2\",\"Pertempuran 2 lwn 2 Bertaktik\"\n\"TID_BUY_SKIN_TITLE\",\"Do you want to buy this skin?\",\"Voulez-vous vraiment acheter cet élément ?\",\"Möchtest du diesen Skin kaufen?\",\"¿Quieres comprar este aspecto?\",\"Vuoi acquistare questa skin?\",\"Wil je deze skin kopen?\",\"Vil du kjøpe dette skallet?\",\"Bu görünümü satın almak istiyor musun?\",\"このスキンを買いますか？\",\"이 스킨을 구매하시겠습니까?\",\"Хотите купить эти обои?\",\"هل ترغب في شراء هذا المظهر؟\",\"Quer comprar este modelo?\",\"您确定要购买该皮肤吗？\",\"您確定要購買該造型嗎？\",\"می‌خوای این جلد رو بخری؟\",\"Ingin membeli skin ini?\",\"Anda ingin membeli kulit ini?\"\n\"TID_SKIN_DEFAULT\",\"King Tower\",\"Tour du roi\",\"Königsturm\",\"Torre del rey\",\"Torre del re\",\"Koningstoren\",\"Kongetårn\",\"Kral Kulesi\",\"キングタワー\",\"킹 타워\",\"Башня короля\",\"برج الملك\",\"Torre do Rei\",\"国王塔\",\"國王塔\",\"برج پادشاه\",\"Benteng Raja\",\"Menara Raja\"\n\"TID_SKIN_1\",\"Barbarian Tower\",\"Tour des barbares\",\"Barbarenturm\",\"Torre de bárbaros\",\"Torre dei barbari\",\"Barbarentoren\",\"Barbartårn\",\"Barbar Kulesi\",\"バーバリアンタワー\",\"바바리안 타워\",\"Башня варвара\",\"برج البربري\",\"Torre do Bárbaro\",\"野蛮人之塔\",\"野蠻人之塔\",\"برج بربرها\",\"Menara Orang Barbar\",\"Menara Orang Gasar\"\n\"TID_SKIN_2\",\"Bone Tower\",\"Tour aux os\",\"Knochenturm\",\"Torre ósea\",\"Torre d'ossa\",\"Knekeltoren\",\"Beintårn\",\"Kemik Kulesi\",\"ボーンタワー\",\"해골 타워\",\"Костяная башня\",\"برج العظام\",\"Torre dos Ossos\",\"埋骨之塔\",\"埋骨之塔\",\"برج استخوانی\",\"Menara Tulang\",\"Menara Tulang\"\n\"TID_SKIN_3\",\"Goblin Tower\",\"Tour des gobelins\",\"Koboldturm\",\"Torre de duendes\",\"Torre dei goblin\",\"Koboldentoren\",\"Nissetårn\",\"Goblin Kulesi\",\"ゴブリンタワー\",\"고블린 타워\",\"Башня гоблина\",\"برج الغول\",\"Torre do Goblin\",\"哥布林之塔\",\"哥布林之塔\",\"برج گابلین\",\"Menara Goblin\",\"Menara Goblin\"\n\"TID_SKIN_4\",\"Hog Mountain Tower\",\"Tour du mont des cochons\",\"Schweinebergturm\",\"Torre de Montepuerco\",\"Torre di monte cinghiale\",\"Varkensbergtoren\",\"Villsvinfjelltårn\",\"Domuz Dağı Kulesi\",\"ホグマウンテンタワー\",\"호그 마운틴 타워\",\"Кабанья башня\",\"برج جبل الخنزير\",\"Torre da Montanha do Porco\",\"野猪山脉之塔\",\"野豬山之塔\",\"برج کوهستان خوک\",\"Menara Pegunungan Babi\",\"Menara Gunung Khinzir\"\n\"TID_SKIN_5\",\"Ice Tower\",\"Tour de glace\",\"Eisturm\",\"Torre de hielo\",\"Torre di ghiaccio\",\"IJstoren\",\"Istårn\",\"Buz Kulesi\",\"アイスタワー\",\"아이스 타워\",\"Ледяная башня\",\"برج الجليد\",\"Torre de Gelo\",\"寒冰之塔\",\"寒冰之塔\",\"برج یخی\",\"Menara Es\",\"Menara Ais\"\n\"TID_SKIN_6\",\"Jungle Tower\",\"Tour de la jungle\",\"Dschungelturm\",\"Torre selvática\",\"Torre selvaggia\",\"Jungletoren\",\"Jungeltårn\",\"Orman Kulesi\",\"ジャングルタワー\",\"정글 타워\",\"Тропическая башня\",\"برج الغابة\",\"Torre da Selva\",\"丛林之塔\",\"叢林之塔\",\"برج جنگلی\",\"Menara Hutan\",\"Menara Hutan\"\n\"TID_SKIN_7\",\"Legendary Tower\",\"Tour légendaire\",\"Legendärer Turm\",\"Torre legendaria\",\"Torre leggendaria\",\"Legendarische toren\",\"Legendarisk tårn\",\"Efsanevi Kule\",\"ウルトラレアタワー\",\"전설 타워\",\"Легендарная башня\",\"برج أسطوري\",\"Torre Lendária\",\"传奇之塔\",\"傳奇之塔\",\"برج افسانه‌ای\",\"Menara Legendaris\",\"Menara Legenda\"\n\"TID_SKIN_8\",\"Pekka Tower\",\"Tour P.E.K.K.A.\",\"P.E.K.K.A.-Turm\",\"Torre del P.E.K.K.A.\",\"Torre di P.E.K.K.A\",\"P.E.K.K.A.-toren\",\"P.E.K.K.A.-tårn\",\"Pekka Kulesi\",\"P.E.K.K.Aタワー\",\"Pekka 타워\",\"Башня П.Е.К.К.А.\",\"برج بيكا\",\"Torre da Pekka\",\"皮卡之塔\",\"皮卡之塔\",\"برج Pekka\",\"Menara P.E.K.K.A.\",\"Menara Pekka\"\n\"TID_SKIN_9\",\"Royal Tower\",\"Tour royale\",\"Königlicher Turm\",\"Torre real\",\"Torre Royale\",\"Koninklijke toren\",\"Kongelig tårn\",\"Kraliyet Kulesi\",\"ロイヤルタワー\",\"로얄 타워\",\"Королевская башня\",\"برج ملكي\",\"Torre Real\",\"皇家之塔\",\"皇家之塔\",\"برج سلطنتی\",\"Menara Royale\",\"Menara Diraja\"\n\"TID_SKIN_10\",\"Spell Tower\",\"Tour des sorts\",\"Zauberturm\",\"Torre hechizada\",\"Torre dell'incantesimo\",\"Spreukentoren\",\"Formeltårn\",\"Büyü Kulesi\",\"呪文タワー\",\"마법 타워\",\"Заклятая башня\",\"برج التعويذات\",\"Torre de Feitiço\",\"法术之塔\",\"法術之塔\",\"برج طلسم\",\"Menara Mantra\",\"Menara Sihir\"\n\"TID_SKIN_11\",\"Training Tower\",\"Tour d'entraînement\",\"Trainingsturm\",\"Torre de entrenamiento\",\"Torre di addestramento\",\"Trainingstoren\",\"Treningstårn\",\"Eğitim Kulesi\",\"訓練タワー\",\"훈련 타워\",\"Тренировочная башня\",\"برج التدريب\",\"Torre de Treino\",\"训练之塔\",\"訓練之塔\",\"برج تمرین\",\"Menara Latihan\",\"Menara Latihan\"\n\"TID_SKIN_12\",\"Workshop Tower\",\"Tour de l'atelier\",\"Werkstatt-Turm\",\"Torre taller\",\"Torre officina\",\"Werkplaatstoren\",\"Verkstedtårn\",\"Atölye Kulesi\",\"ワークショップタワー\",\"작업실 타워\",\"Рабочая башня\",\"برج الورشة\",\"Torre da Oficina\",\"工坊之塔\",\"工坊之塔\",\"برج کارگاه\",\"Menara Bengkel\",\"Menara Bengkel\"\n\"TID_SKIN_13\",\"Pony Love Tower\",\"Tour des poneys d'amour\",\"Ponyturm der Liebe\",\"Torre de amor de poni\",\"Torre pony dell'amore\",\"Pony-liefdetoren\",\"Ponnitårn\",\"Midilli Sevgisi Kulesi\",\"ポニーラブタワー\",\"조랑말 사랑 타워\",\"Башня пони\",\"برج حب المُهر\",\"Torre do Pônei\",\"爱恋之塔\",\"愛戀之塔\",\"برج اسب عشقولانه\",\"Menara Cinta Poni\",\"Menara Cinta Kuda Padi\"\n\"TID_PVE_START_BUTTON\",\"Start!\",\"Commencer\",\"Los!\",\"Empezar\",\"Inizia!\",\"Starten\",\"Start!\",\"Başla!\",\"開始！\",\"시작!\",\"Начать!\",\"ابدأ!\",\"Começar!\",\"开始！\",\"開始！\",\"شروع!\",\"Mulai!\",\"Mula!\"\n\"TID_COLLECT_QUEST_POINTS_FOR_REWARDS\",\"Collect Quest Points for Rewards\",\"Récupérez des points de quête pour obtenir des récompenses\",\"Sammle Quest-Punkte, um Belohnungen zu erhalten\",\"Reúne puntos de misión para conseguir recompensas.\",\"Accumula punti missione per ottenere ricompense\",\"Verzamel opdrachtpunten voor beloningen\",\"Samle oppdragspoeng for å få belønninger\",\"Ödüller için Görev Puanı Topla\",\"クエストポイントを集めて報酬を獲得しよう\",\"퀘스트 점수를 모아 보상을 받으세요!\",\"Зарабатывай очки за выполнение квестов и получай награды\",\"جمع نقاط المهمة للحصول على جوائز\",\"Coletar pontos de missão para obter recompensas\",\"收集任务积分以换取奖励\",\"收集任務積分以換取獎勵\",\"امتیازات کاوش جمع کن تا جایزه بگیری\",\"Ambil Poin Tugas untuk Hadiah\",\"Kumpul Mata Misi untuk Ganjaran\"\n\"TID_QUEST_REWARD\",\"Quest Reward\",\"Récompense de quête\",\"Quest-Belohnung\",\"Recompensa de misión\",\"Ricompensa missione\",\"Opdrachtbeloning\",\"Oppdragsbelønning\",\"Görev Ödülü\",\"クエスト報酬\",\"퀘스트 보상\",\"Награда за квест\",\"جائزة المهمة\",\"Recompensa da missão\",\"任务奖励\",\"任務獎勵\",\"جایزه کاوش\",\"Hadiah Tugas\",\"Ganjaran Misi\"\n\"TID_QUEST_COLLECT_REWARD\",\"Collect Reward!\",\"Récupérer la récompense\",\"Belohnung abholen!\",\"Recoger recompensa\",\"Ottieni ricompensa!\",\"Haal beloning op!\",\"Hent belønning!\",\"Ödülü Al!\",\"報酬を受け取ろう！\",\"보상 받기!\",\"Взять награду!\",\"تسلم الجائزة!\",\"Coletar recompensa!\",\"收集奖励！\",\"收集獎勵！\",\"جمع‌آوری جایزه!\",\"Ambil Hadiah!\",\"Kumpul Ganjaran!\"\n\"TID_PUZZLE_QUEST_1\",\"Puzzle Quest 1 (placeholder)\",\"Quête casse-tête 1 (placeholder)\",\"Puzzle Quest 1 (placeholder)\",\"Misión de puzle 1 (placeholder)\",\"Missione puzzle 1 (placeholder)\",\"Puzzelopdracht 1 (placeholder)\",\"Oppgaveoppdrag 1 (placeholder)\",\"1. Bulmaca Görevi (placeholder)\",\"パズルクエスト1 (placeholder)\",\"퍼즐 퀘스트 1 (placeholder)\",\"Квест-пазл 1 (placeholder)\",\"مهمة اللغز 1 (placeholder)\",\"Missão do Enigma 1 (placeholder)\",\"试炼任务1\",\"試煉任務1\",\"کاوش پازل 1 (placeholder)\",\"Tugas Puzzle 1 (placeholder)\",\"Misi Teka-teki 1 (placeholder)\"\n\"TID_PUZZLE_QUEST_2\",\"Puzzle Quest 2 (placeholder)\",\"Quête casse-tête 2 (placeholder)\",\"Puzzle Quest 2 (placeholder)\",\"Misión de puzle 2 (placeholder)\",\"Missione puzzle 2 (placeholder)\",\"Puzzelopdracht 2 (placeholder)\",\"Oppgaveoppdrag 2 (placeholder)\",\"2. Bulmaca Görevi (placeholder)\",\"パズルクエスト2 (placeholder)\",\"퍼즐 퀘스트 2 (placeholder)\",\"Квест-пазл 2 (placeholder)\",\"مهمة اللغز 2 (placeholder)\",\"Missão do Enigma 2 (placeholder)\",\"试炼任务2\",\"試煉任務2\",\"کاوش پازل 2 (placeholder)\",\"Tugas Puzzle 2 (placeholder)\",\"Misi Teka-teki 2 (placeholder)\"\n\"TID_PUZZLE_QUEST_3\",\"Puzzle Quest 3 (placeholder)\",\"Quête casse-tête 3 (placeholder)\",\"Puzzle Quest 3 (placeholder)\",\"Misión de puzle 3 (placeholder)\",\"Missione puzzle 3 (placeholder)\",\"Puzzelopdracht 3 (placeholder)\",\"Oppgaveoppdrag 3 (placeholder)\",\"3. Bulmaca Görevi (placeholder)\",\"パズルクエスト3 (placeholder)\",\"퍼즐 퀘스트 3 (placeholder)\",\"Квест-пазл 3 (placeholder)\",\"مهمة اللغز 3 (placeholder)\",\"Missão do Enigma 3 (placeholder)\",\"试炼任务3\",\"試煉任務3\",\"کاوش پازل 3 (placeholder)\",\"Tugas Puzzle 3 (placeholder)\",\"Misi Teka-teki 3 (placeholder)\"\n\"TID_PUZZLE_QUEST_INFO_1\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"Terminez le casse-tête pour gagner de l'or et des points de quête ! (placeholder)\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"¡Completa el puzle para ganar puntos de misión y oro! (placeholder)\",\"Completa il puzzle per vincere punti missione e oro! (placeholder)\",\"Voltooi de puzzel en win opdrachtpunten en goud! (placeholder)\",\"Klar oppgaven for å få oppgavepoeng og gull! (placeholder)\",\"Görev Puanları ve Altın kazanmak için bulmacayı tamamla! (placeholder)\",\"パズルを解いてクエストポイントとゴールドを獲得しよう！ (placeholder)\",\"퍼즐을 완료해 퀘스트 점수 및 골드를 획득하세요! (placeholder)\",\"Реши пазл, чтобы заработать очки и получить золото! (placeholder)\",\"أكمل اللغز لتفوز بنقاط المهمة والذهب! (placeholder)\",\"Conclua o enigma para ganhar pontos de missão e ouro! (placeholder)\",\"完成试炼，赢取任务积分和金币！\",\"完成試練，贏取任務積分和金幣！\",\"پازل رو تموم کن تا امتیازات کاوش و طلا برنده شی! (placeholder)\",\"Selesaikan puzzle untuk memenangkan Poin Tugas dan Emas! (placeholder)\",\"Lengkapkan teka-teki untuk memenangi Mata Misi dan Emas! (placeholder)\"\n\"TID_PUZZLE_QUEST_INFO_2\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"Terminez le casse-tête pour gagner de l'or et des points de quête ! (placeholder)\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"¡Completa el puzle para ganar puntos de misión y oro! (placeholder)\",\"Completa il puzzle per vincere punti missione e oro! (placeholder)\",\"Voltooi de puzzel en win opdrachtpunten en goud! (placeholder)\",\"Klar oppgaven for å få oppgavepoeng og gull! (placeholder)\",\"Görev Puanları ve Altın kazanmak için bulmacayı tamamla! (placeholder)\",\"パズルを解いてクエストポイントとゴールドを獲得しよう！ (placeholder)\",\"퍼즐을 완료해 퀘스트 점수 및 골드를 획득하세요! (placeholder)\",\"Реши пазл, чтобы заработать очки и получить золото! (placeholder)\",\"أكمل اللغز لتفوز بنقاط المهمة والذهب! (placeholder)\",\"Conclua o enigma para ganhar pontos de missão e ouro! (placeholder)\",\"完成试炼，赢取任务积分和金币！\",\"完成試練，贏取任務積分和金幣！\",\"پازل رو تموم کن تا امتیازات کاوش و طلا برنده شی! (placeholder)\",\"Selesaikan puzzle untuk memenangkan Poin Tugas dan Emas! (placeholder)\",\"Lengkapkan teka-teki untuk memenangi Mata Misi dan Emas! (placeholder)\"\n\"TID_PUZZLE_QUEST_INFO_3\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"Terminez le casse-tête pour gagner de l'or et des points de quête ! (placeholder)\",\"Complete the puzzle to win Quest Points and Gold! (placeholder)\",\"¡Completa el puzle para ganar puntos de misión y oro! (placeholder)\",\"Completa il puzzle per vincere punti missione e oro! (placeholder)\",\"Voltooi de puzzel en win opdrachtpunten en goud! (placeholder)\",\"Klar oppgaven for å få oppgavepoeng og gull! (placeholder)\",\"Görev Puanları ve Altın kazanmak için bulmacayı tamamla! (placeholder)\",\"パズルを解いてクエストポイントとゴールドを獲得しよう！ (placeholder)\",\"퍼즐을 완료해 퀘스트 점수 및 골드를 획득하세요! (placeholder)\",\"Реши пазл, чтобы заработать очки и получить золото! (placeholder)\",\"أكمل اللغز لتفوز بنقاط المهمة والذهب! (placeholder)\",\"Conclua o enigma para ganhar pontos de missão e ouro! (placeholder)\",\"完成试炼，赢取任务积分和金币！\",\"完成試練，贏取任務積分和金幣！\",\"پازل رو تموم کن تا امتیازات کاوش و طلا برنده شی! (placeholder)\",\"Selesaikan puzzle untuk memenangkan Poin Tugas dan Emas! (placeholder)\",\"Lengkapkan teka-teki untuk memenangi Mata Misi dan Emas! (placeholder)\"\n\"TID_2V2_JOIN_TEAM_RED\",\"Join\",\"Rejoindre\",\"Beitreten\",\"Unirse\",\"Unisciti\",\"Meedoen\",\"Bli med\",\"Katıl\",\"参加\",\"참가\",\"Присоединиться\",\"انضمام\",\"Participar\",\"加入\",\"加入\",\"پیوستن\",\"Ikut\",\"Sertai\"\n\"TID_2V2_JOIN_TEAM_BLUE\",\"Join\",\"Rejoindre\",\"Beitreten\",\"Unirse\",\"Unisciti\",\"Meedoen\",\"Bli med\",\"Katıl\",\"参加\",\"참가\",\"Присоединиться\",\"انضمام\",\"Participar\",\"加入\",\"加入\",\"پیوستن\",\"Ikut\",\"Sertai\"\n\"TID_STARTER_PACK_9\",\"Goblin Stadium Starter Pack\",\"Pack de démarrage du gobelinarium\",\"Starterpaket: Koboldstadion\",\"Lote de principiante de Estadio duende\",\"Pacchetto principiante stadio goblin\",\"Starterspakket Koboldenstadion\",\"Startpakke for nissearenaen\",\"Goblin Stadyumu Başlangıç Paketi\",\"ゴブリンスタジアム・スターターパック\",\"고블린 스타디움 초보자 팩\",\"Начальный пакет: Гоблинский стадион\",\"مجموعة البدء لاستاد الغيلان\",\"Pacote de iniciante: Estádio Goblin\",\"哥布林竞技场新手礼包\",\"哥布林競技場入門組合包\",\"بسته مقدماتی استادیوم گابلین\",\"Paket Pemula Gelanggang Goblin\",\"Pek Permulaan Stadium Goblin\"\n\"TID_STARTER_PACK_10\",\"Bone Pit Starter Pack\",\"Pack de démarrage de la fosse aux os\",\"Starterpaket: Knochengrube\",\"Lote de principiante de Foso de huesos\",\"Pacchetto principiante pozzo delle ossa\",\"Starterspakket Knekelveld\",\"Startpakke for beingropen\",\"Kemik Çukuru Başlangıç Paketi\",\"ボーンピット・スターターパック\",\"해골 구덩이 초보자 팩\",\"Начальный пакет: Костяная яма\",\"مجموعة البدء لحفرة العظام\",\"Pacote de iniciante: Fosso dos Ossos\",\"埋骨深渊新手礼包\",\"埋骨深淵入門組合包\",\"بسته مقدماتی گودال استخوان\",\"Paket Pemula Ajang Tulang\",\"Pek Permulaan Pit Tulang\"\n\"TID_SHOP_STARTER_PACK_ARENA_1\",\"Goblin Stadium Starter Pack\",\"Pack de démarrage du gobelinarium\",\"Starterpaket: Koboldstadion\",\"Lote de principiante de Estadio duende\",\"Pacchetto principiante stadio goblin\",\"Starterspakket Koboldenstadion\",\"Startpakke for nissearenaen\",\"Goblin Stadyumu Başlangıç Paketi\",\"ゴブリンスタジアム・スターターパック\",\"고블린 스타디움 초보자 팩\",\"Начальный пакет: Гоблинский стадион\",\"مجموعة البدء لاستاد الغيلان\",\"Pacote de iniciante: Estádio Goblin\",\"哥布林竞技场新手礼包\",\"哥布林競技場入門組合包\",\"بسته مقدماتی استادیوم گابلین\",\"Paket Pemula Gelanggang Goblin\",\"Pek Permulaan Stadium Goblin\"\n\"TID_SHOP_STARTER_PACK_ARENA_2\",\"Bone Pit Starter Pack\",\"Pack de démarrage de la fosse aux os\",\"Starterpaket: Knochengrube\",\"Lote de principiante de Foso de huesos\",\"Pacchetto principiante pozzo delle ossa\",\"Starterspakket Knekelveld\",\"Startpakke for beingropen\",\"Kemik Çukuru Başlangıç Paketi\",\"ボーンピット・スターターパック\",\"해골 구덩이 초보자 팩\",\"Начальный пакет: Костяная яма\",\"مجموعة البدء لحفرة العظام\",\"Pacote de iniciante: Fosso dos Ossos\",\"埋骨深渊新手礼包\",\"埋骨深淵入門組合包\",\"بسته مقدماتی گودال استخوان\",\"Paket Pemula Ajang Tulang\",\"Pek Permulaan Pit Tulang\"\n\"TID_QUEST_POINTS\",\"Quest Points\",\"Points de quête\",\"Quest-Punkte\",\"Puntos de misión\",\"Punti missione\",\"Opdrachtpunten\",\"Oppdragspoeng\",\"Görev Puanları\",\"クエストポイント\",\"퀘스트 점수\",\"Очки за выполнение квестов\",\"نقاط المهمة\",\"Pontos de missão\",\"任务积分\",\"任務積分\",\"امتیازات کاوش\",\"Poin Tugas\",\"Mata Misi\"\n\"TID_SKIN_LOCKED\",\"You haven't unlocked this skin!\",\"Vous n'avez pas débloqué cet élément !\",\"Du hast diesen Skin noch nicht freigeschaltet!\",\"No has desbloqueado este aspecto.\",\"Non hai ancora sbloccato questa skin!\",\"Je hebt deze skin nog niet ontgrendeld.\",\"Du har ikke låst opp dette skallet!\",\"Bu görünümün kilidini açmadın!\",\"このスキンはアンロックされていません！\",\"이 스킨을 잠금 해제하지 않았습니다!\",\"Обои недоступны!\",\"لم تفتح هذا المظهر بعد!\",\"Você ainda precisa desbloquear este modelo!\",\"您尚未解锁该皮肤！\",\"您尚未解鎖該造型！\",\"قفل این جلد رو باز نکردی!\",\"Skin ini belum dibuka!\",\"Anda belum membuka kunci kulit ini!\"\n\"TID_NEW_TOWER_UNLOCKED\",\"New Tower Unlocked!\",\"Nouvelle tour débloquée !\",\"Neuer Turm freigeschaltet!\",\"¡Nueva torre desbloqueada!\",\"Nuova torre sbloccata!\",\"Nieuwe toren ontgrendeld!\",\"Nytt tårn låst opp!\",\"Yeni Kule Açıldı!\",\"新しいタワーをアンロック！\",\"새 타워 잠금 해제!\",\"Открыта новая башня!\",\"تم فتح برج جديد!\",\"Nova torre desbloqueada!\",\"新的防御塔已解锁！\",\"新的防禦塔已解鎖！\",\"قفل برج جدید باز شد!\",\"Menara Baru Terbuka!\",\"Menara Baharu Dibuka Kunci!\"\n\"TID_NEW_TOWER_FLOATER\",\"New Tower!\",\"Nouvelle tour !\",\"Neuer Turm!\",\"¡Nueva torre!\",\"Nuova torre!\",\"Nieuwe toren!\",\"Nytt tårn!\",\"Yeni Kule!\",\"新しいタワー！\",\"신규 타워!\",\"Новая башня!\",\"برج جديد!\",\"Nova torre!\",\"新的防御塔！\",\"新的防禦塔！\",\"برج جدید!\",\"Menara Baru!\",\"Menara Baharu!\"\n\"TID_SKIN_KING_TOWER\",\"King Tower\",\"Tour du roi\",\"Königsturm\",\"Torre del rey\",\"Torre del re\",\"Koningstoren\",\"Kongetårn\",\"Kral Kulesi\",\"キングタワー\",\"킹 타워\",\"Башня короля\",\"برج الملك\",\"Torre do Rei\",\"国王塔\",\"國王塔\",\"برج پادشاه\",\"Benteng Raja\",\"Menara Raja\"\n\"TID_SKIN_KING_TOWERS\",\"King Towers\",\"Tours du roi\",\"Königstürme\",\"Torres del rey\",\"Torri del re\",\"Koningstorens\",\"Kongetårn\",\"Kral Kulesi\",\"キングタワー\",\"킹 타워\",\"Башни короля\",\"أبراج الملك\",\"Torres do Rei\",\"国王塔\",\"國王塔\",\"برج‌های پادشاه\",\"Benteng Raja\",\"Menara Raja\"\n\"TID_CONTAINS_ANY_KING_SKIN_TOWER\",\"Contains any missing King Tower!\",\"Contient toutes les tours du roi qui vous manquent !\",\"Enthält Königstürme, die du noch nicht hast!\",\"¡Contiene cualquier torre del rey que te falte!\",\"Contiene ogni torre del re mancante!\",\"Bevat een willekeurige missende koningstoren!\",\"Inneholder kongetårn som mangler!\",\"Sahip olmadığın bir Kral Kulesi içerir!\",\"未入手のキングタワーを含みます！\",\"누락된 모든 킹 타워가 들어있습니다!\",\"Содержит недостающую башню короля!\",\"يحتوي على أي برج ملك مفقود!\",\"Contém qualquer torre do Rei que esteja faltando.\",\"包含任意您尚未解锁的国王塔！\",\"包含隨機您尚未解鎖的國王塔！\",\"حاوی سایر برج‌های پادشاهی که نداری!\",\"Berisi Benteng Raja yang berkurang!\",\"Mengandungi Menara Raja belum dimiliki!\"\n\"TID_SETTING_CHANGE_FAILED\",\"Error changing this setting - please try again later\",\"Une erreur s'est produite lors de la modification. Réessayez plus tard.\",\"Einstellung konnte nicht geändert werden. Bitte versuche es später erneut.\",\"Se ha producido un error al cambiar este parámetro. Inténtalo de nuevo más tarde.\",\"Errore nella modifica dell'impostazione. Riprova più tardi.\",\"Fout bij het wijzigen van deze instelling. Probeer het later opnieuw.\",\"Det oppsto en feil da innstillingen skulle endres - prøv på nytt senere.\",\"Ayar değiştirilemiyor. Daha sonra tekrar dene.\",\"設定変更時にエラーが発生しました。また後ほどお試しください。\",\"설정 변경 중에 오류가 발생했습니다. 잠시 후 다시 시도해주세요.\",\"Ошибка изменения настроек. Попробуйте позже.\",\"خطأ في تغيير هذه الإعدادات - يُرجى إعادة المحاولة لاحقًا\",\"Houve um erro ao alterar esta configuração, tente de novo mais tarde.\",\"更改该设置时出现错误 — 请稍后再试\",\"變更設定時出現錯誤 — 請稍後再次嘗試\",\"خطا در تغییر تنظیمات - لطفاً بعداً دوباره امتحان کن\",\"Kesalahan saat mengubah setelan ini - coba lagi nanti.\",\"Ralat menukar tetapan ini - sila cuba lagi kemudian\"\n\"TID_CHAT_REPORT_CONFIRMATION_TITLE\",\"Report <name>?\",\"Signaler <name> ?\",\"<name> melden?\",\"Denunciar a <name>\",\"Vuoi segnalare <name>?\",\"<name> rapporteren?\",\"Rapportere <name>?\",\"<name> bildirilsin mi?\",\"<name>を報告しますか？\",\"<name> 님을 신고할까요?\",\"Пожаловаться на игрока <name>?\",\"الإبلاغ عن <name>؟\",\"Denunciar <name>?\",\"举报<name>？\",\"檢舉<name>？\",\"<name> را گزارش می‌کنی؟\",\"Laporkan <name>?\",\"Laporkan <name>?\"\n\"TID_CHAT_REPORT_CONFIRMATION\",\"Are you sure you want to report <name> for inappropriate behavior?\",\"Voulez-vous vraiment signaler <name> pour comportement déplacé ?\",\"Möchtest du <name> wirklich wegen unangemessenem Verhalten melden?\",\"¿Seguro que quieres denunciar a <name> por comportamiento inadecuado?\",\"Vuoi davvero segnalare <name> per comportamento inappropriato?\",\"Weet je zeker dat je <name> wilt rapporteren voor ongepast gedrag?\",\"Er du sikker på at du vil rapportere <name> for upassende oppførsel?\",\"<name> adlı kişinin uygunsuz davranışını bildirmek istediğinden emin misin?\",\"<name>を迷惑行為ユーザーとして通報しますか？\",\"<name> 님을 부적절한 행위로 신고하시겠습니까?\",\"Вы точно хотите сообщить о неприличном поведении игрока <name>?\",\"هل أنت واثق من أنك تريد الإبلاغ عن <name> بسبب سلوك غير لائق؟\",\"Tem certeza de que deseja denunciar <name> por conduta inadequada?\",\"您确定要举报<name>的不当行为吗？\",\"您確定要檢舉<name>的不當行為嗎？\",\"مطمئنی می‌خوای <name> رو بخاطر رفتار نامناسب گزارش کنی؟\",\"Yakin ingin melaporkan <name> karena perilaku tidak pantas?\",\"Adakah anda pasti ingin melaporkan <name> atas kelakuan tidak wajar?\"\n\"TID_PLAYER_REPORTED_SUCCESSFULLY\",\"Player reported!\",\"Joueur signalé.\",\"Spieler wurde gemeldet!\",\"Jugador denunciado\",\"Giocatore segnalato!\",\"Speler gerapporteerd!\",\"Spiller rapportert!\",\"Oyuncu bildirildi!\",\"プレイヤーを報告しました！\",\"플레이어 신고 완료!\",\"Сообщение отправлено!\",\"تم الإبلاغ عن اللاعب!\",\"Jogador denunciado!\",\"已举报该玩家！\",\"已檢舉該玩家！\",\"بازیکن گزارش شد!\",\"Pemain dilaporkan!\",\"Pemain dilaporkan!\"\n\"TID_PLAYER_ALREADY_REPORTED\",\"This player has already been reported!\",\"Ce joueur a déjà été signalé !\",\"Dieser Spieler wurde bereits gemeldet!\",\"Ya has denunciado a este jugador.\",\"Questo giocatore è già stato segnalato!\",\"Deze speler is al gerapporteerd.\",\"Denne spilleren er allerede blitt rapportert!\",\"Bu oyuncu zaten bildirildi.\",\"このプレイヤーはすでに報告済みです！\",\"이 플레이어는 이미 신고되었습니다!\",\"На этого игрока уже пожаловались.\",\"لقد تم الإبلاغ عن هذا اللاعب بالفعل!\",\"Este jogador já foi denunciado!\",\"该玩家已经被举报过了！\",\"該玩家已經被檢舉過了！\",\"این بازیکن قبلا گزارش شده!\",\"Pemain ini telah dilaporkan!\",\"Pemain ini telah dilaporkan!\"\n\"TID_TOO_MANY_REPORTS_SENT\",\"Your daily reporting limit has been exceeded!\",\"Vous avez atteint la limite quotidienne de signalements !\",\"Dein tägliches Meldelimit wurde erreicht!\",\"Has excedido tu límite de denuncias diarias.\",\"Hai superato il limite massimo di segnalazioni per oggi!\",\"Je hebt de dagelijkse rapporteerlimiet overschreden.\",\"Den daglige rapporteringsgrensen er overskredet!\",\"Günlük bildirme limitin doldu!\",\"1日の最大報告数を超えています！\",\"일일 신고 제한 수를 초과했습니다!\",\"Превышен ежедневный лимит жалоб!\",\"تخطيت الحد المسموح لك به للإبلاغ عن آخرين!\",\"Você ultrapassou o limite de denúncias diárias!\",\"已达每日举报上限！\",\"已達每日檢舉上限！\",\"به سقف گزارش‌دهی روزانه‌ات رسیدی!\",\"Batas pelaporan harian telah terlampaui!\",\"Laporan harian anda telah melebihi had!\"\n\"TID_TOO_MANY_ALLIANCE_CHAT_REPORTS_SENT\",\"Please wait before sending another report\",\"Veuillez attendre avant d'envoyer un nouveau rapport.\",\"Warte bitte, bevor du eine weitere Meldung schickst.\",\"Espera antes de enviar otra denuncia.\",\"Aspetta prima di inviare una nuova segnalazione\",\"Wacht voordat je een ander rapport verstuurt.\",\"Vent før du sender en ny rapport\",\"Lütfen başka bir bildirim göndermeden önce bekle\",\"次のレポートを送る前に、少し時間をあけてください\",\"다른 신고 접수가 가능할 때까지 기다려 주세요.\",\"Подождите, прежде чем отправить другое сообщение.\",\"يرجى الانتظار قبل إرسال بلاغ آخر\",\"Aguarde antes de enviar outra denúncia.\",\"请稍后再进行举报\",\"請稍後再進行檢舉\",\"لطفاً پیش از ارسال یک گزارش دیگر صبر کن\",\"Tunggu sebelum mengirim laporan lain\",\"Sila tunggu sebelum menghantar laporan lain\"\n\"TID_SKIN_NOT_FOUND\",\"Tower not found!\",\"Tour introuvable.\",\"Turm nicht gefunden!\",\"No se ha encontrado la torre.\",\"Torre non trovata!\",\"Toren niet gevonden!\",\"Tårn ikke funnet!\",\"Kule bulunamadı!\",\"タワーが見つかりません！\",\"타워를 찾지 못했습니다!\",\"Башня не найдена!\",\"البرج غير موجود!\",\"Torre não encontrada\",\"尚未获得该防御塔！\",\"尚未獲得該防御塔！\",\"برج یافت نشد!\",\"Menara tidak ditemukan!\",\"Menara tidak ditemui!\"\n\"TID_TOWER_COLLECTION\",\"Tower Collection\",\"Collection de tours\",\"Turmsammlung\",\"Colección de torres\",\"Collezione torri\",\"Torenverzameling\",\"Tårnsamling\",\"Kule Koleksiyonu\",\"タワーコレクション\",\"타워 컬렉션\",\"Коллекция башен\",\"الحصول على البرج\",\"Coleção da Torre\",\"防御塔收藏\",\"防禦塔收藏\",\"مجموعه برج‌ها\",\"Koleksi Menara\",\"Koleksi Menara\"\n\"TID_TAB_COLLECTION_SPELLS\",\"Battle Deck\",\"Cartes de combat\",\"Kampfdeck\",\"Baraja bélica\",\"Mazzo da battaglia\",\"Gevechtskaarten\",\"Kampkort\",\"Savaş Destesi\",\"バトルデッキ\",\"전투 덱\",\"Боевая колода\",\"مجموعة المعركة\",\"Deck de batalha\",\"出战卡组\",\"出戰牌組\",\"دسته نبرد\",\"Dek Tempur\",\"Dek Pertempuran\"\n\"TID_TAB_COLLECTION_TOWERS\",\"Towers\",\"Tours\",\"Türme\",\"Torres\",\"Torri\",\"Torens\",\"Tårn\",\"Kuleler\",\"タワー\",\"타워\",\"Башни\",\"الأبراج\",\"Torres\",\"防御塔\",\"防禦塔\",\"برج‌ها\",\"Menara\",\"Menara\"\n\"TID_COLLECT\",\"Collect\",\"Récupérer\",\"Abholen\",\"Recoger\",\"Prendi\",\"Ophalen\",\"Hent\",\"Topla\",\"回収\",\"받기\",\"Собрать\",\"تسلُّم\",\"Coletar\",\"收集\",\"收集\",\"جمع‌آوری\",\"Ambil\",\"Kumpul\"\n\"TID_KING_TOWER_UNLOCKS_AT\",\"Towers unlock at level <level>\",\"Tours débloquées au niveau <level>\",\"Türme werden auf Level <level> freigeschaltet\",\"Las torres se desbloquean en el nivel <level>.\",\"Le torri si sbloccano al livello <level>\",\"Torens ontgrendelen op level <level>.\",\"Tårn låses opp på nivå <level>\",\"Kulelerin kilidi <level>. seviyede açılır\",\"タワーはレベル<level>でアンロックされます\",\"타워는 <level> 레벨에서 해제됩니다.\",\"Башни откроются на <level>-м уровне\",\"تُفتح الأبراج عند المستوى <level>\",\"As torres são desbloqueadas no nível <level>.\",\"防御塔在<level>级解锁\",\"防禦塔在<level>級解鎖\",\"برج‌ها توی سطح <level> باز میشن\",\"Menara terbuka di level <level>\",\"Menara dibuka kunci pada tahap <level>\"\n\"TID_FILTER\",\"Filter Clan Chat\",\"Filtrer le chat de clan\",\"Clanchat filtern\",\"Filtrar chat del clan\",\"Filtra la chat del clan\",\"Filter voor clanchat\",\"Klanchat-filter\",\"Klan Sohbetini Filtrele\",\"クランチャットのフィルタリング\",\"클랜 채팅 필터링\",\"Фильтр чата клана\",\"تصفية محادثة القبيلة\",\"Filtrar bate-papo do clã\",\"部落聊天过滤器\",\"部落聊天過濾器\",\"فیلتر چت قبیله\",\"Filter Obrolan Klan\",\"Tapis Bual Klan\"\n\"TID_SELECTED_TOWER\",\"Selected Tower\",\"Tour sélectionnée\",\"Ausgewählter Turm\",\"Torre seleccionada\",\"Torre selezionata\",\"Geselecteerde toren\",\"Valgt tårn\",\"Seçilen Kule\",\"選択中のタワー\",\"선택된 타워\",\"Выбранная башня\",\"البرج المختار\",\"Selecionar torre\",\"已选防御塔\",\"已選防禦塔\",\"برج برگزیده\",\"Menara Terpilih\",\"Menara Dipilih\"\n\"TID_DAY_X\",\"Day <num>\",\"Jour <num>\",\"Tag <num>\",\"Día <num>\",\"Giorno <num>\",\"Dag <num>\",\"Dag <num>\",\"<num>. gün\",\"<num>日目\",\"<num>일\",\"День <num>\",\"اليوم <num>\",\"Dia <num>\",\"第<num>天\",\"第<num>天\",\"روز <num>\",\"Hari ke-<num>\",\"Hari ke-<num>\"\n\"TID_LADDER_QUEST_3\",\"Ladder Quest\",\"Quête des échelles\",\"Ranglistenquest\",\"Misión de la clasificación\",\"Missione classifica\",\"Ranglijstopdracht\",\"Rangoppdrag\",\"Sıradan Görev\",\"ラダークエスト\",\"래더 퀘스트\",\"Рейтинговый квест\",\"مهمة السُلّم\",\"Missão da sucessão\",\"天梯任务\",\"天梯任務\",\"کاوش پلکانی\",\"Tugas Jenjang\",\"Misi Janjang\"\n\"TID_LADDER_QUEST_3_INFO\",\"Win 3 Ladder battles\",\"Gagner 3 combats à échelle\",\"Gewinne 3 Ranglistenkämpfe\",\"Gana 3 batallas de la clasificación.\",\"Vinci 3 battaglie normali\",\"Win 3 ranglijstgevechten\",\"Vinn 3 rangkamper\",\"3 Sıradan savaş kazan\",\"ラダーバトルで3勝する\",\"래더 전투 3승 달성\",\"Выиграй 3 рейтинговых боя\",\"فُز في 3 من معارك السُلّم\",\"Vença 3 batalhas da sucessão\",\"在天梯对战中获胜3场\",\"在天梯對戰中獲勝3場\",\"3 نبرد پلکانی رو ببر\",\"Menangkan 3 pertempuran Jenjang\",\"Menangi 3 pertempuran Janjang\"\n\"TID_CHALLENGE_QUEST_3\",\"Challenge Quest\",\"Quête des défis\",\"Herausforderungsquest\",\"Misión de desafío\",\"Missione sfida\",\"Uitdagingsopdracht\",\"Utfordringsoppdrag\",\"Mücadele Görevi\",\"チャレンジクエスト\",\"도전 퀘스트\",\"Квест-испытание\",\"مهمة التحدي\",\"Missão de desafio\",\"挑战任务\",\"挑戰任務\",\"کاوش چالشی\",\"Tugas Tantangan\",\"Misi Cabaran\"\n\"TID_CHALLENGE_QUEST_3_INFO\",\"Win 3 Challenge battles\",\"Gagner 3 défis\",\"Gewinne 3 Kämpfe in Herausforderungen\",\"Gana 3 batallas de desafío.\",\"Vinci 3 battaglie sfida\",\"Win 3 uitdagingsgevechten\",\"Vinn 3 utfordringskamper\",\"3 Mücadele savaşı kazan\",\"チャレンジバトルで3勝する\",\"도전 전투 3승 달성\",\"Выиграй 3 боя в испытании\",\"الفوز في 3 من معارك التحدي\",\"Vença 3 batalhas de desafio\",\"在挑战对战中获胜3场\",\"在挑戰對戰中獲勝3場\",\"3 نبرد چالشی رو ببر\",\"Menangkan 3 pertempuran Tantangan\",\"Menangi 3 pertempuran Cabaran\"\n\"TID_FRIENDLY_QUEST_3\",\"Friendly Quest\",\"Quête amicale\",\"Testspielquest\",\"Misión amistosa\",\"Missione amichevole\",\"Vriendelijke opdracht\",\"Vennskapelig oppdrag\",\"Dostluk Görevi\",\"フレンドクエスト\",\"친선 퀘스트\",\"Дружеский квест\",\"مهمة ودية\",\"Missão amistosa\",\"友谊战任务\",\"友誼戰任務\",\"کاوش دوستانه\",\"Tugas Persahabatan\",\"Misi Persahabatan\"\n\"TID_FRIENDLY_QUEST_3_INFO\",\"Win 3 Friendly Battles\",\"Gagner 3 combats amicaux\",\"Gewinne 3 Testspiele\",\"Gana 3 batallas amistosas.\",\"Vinci 3 battaglie amichevoli\",\"Win 3 vriendelijke gevechten\",\"Vinn 3 vennskapskamper\",\"3 Dostluk Savaşı kazan\",\"フレンドバトルで3勝する\",\"친선전 3승 달성\",\"Выиграй 3 дружеских боя\",\"الفوز في 3 معارك ودية\",\"Vença 3 batalhas amistosas\",\"在友谊战中获胜3场\",\"在友誼戰中獲勝3場\",\"3 نبرد دوستانه رو ببر\",\"Menangkan 3 Pertempuran Persahabatan\",\"Menangi 3 Pertempuran Persahabatan\"\n\"TID_DAILY_QUEST\",\"Daily Quest\",\"Quête quotidienne\",\"Tägliche Quest\",\"Misión diaria\",\"Missione giornaliera\",\"Dagelijkse opdracht\",\"Daglig oppdrag\",\"Günlük Görev\",\"デイリークエスト\",\"일일 퀘스트\",\"Ежедневный квест\",\"مهمة يومية\",\"Missão diária\",\"每日任务\",\"每日任務\",\"کاوش روزانه\",\"Tugas Harian\",\"Misi Harian\"\n\"TID_DAILY_QUEST_INFO\",\"Come back daily for new rewards! (placeholder)\",\"Revenez tous les jours pour obtenir de nouvelles récompenses ! (placeholder)\",\"Come back daily for new rewards! (placeholder)\",\"¡Vuelve todos los días para hacerte con más recompensas! (placeholder)\",\"Torna ogni giorno per nuove ricompense! (placeholder)\",\"Kom dagelijks terug voor nieuwe beloningen! (placeholder)\",\"Kom tilbake hver dag for å få nye belønninger! (placeholder)\",\"Yeni ödüller için buraya her gün bak! (placeholder)\",\"毎日ログインして新しい報酬を受け取ろう！ (placeholder)\",\"매일 돌아와 새로운 보상을 받으세요! (placeholder)\",\"Заходи в игру каждый день, чтобы выиграть новые награды! (placeholder)\",\"عُد يوميًا للحصول على جوائز جديدة! (placeholder)\",\"Volte diariamente para ganhar novas recompensas! (placeholder)\",\"每天都有新的奖励，记得来看看哦！\",\"每天都有新的獎勵，別忘了來看看！\",\"برای جوایز جدید هر روز سر بزن! (placeholder)\",\"Kembalilah setiap hari untuk hadiah baru! (placeholder)\",\"Kembali setiap hari untuk ganjaran baharu! (placeholder)\"\n\"TID_LINE_ADD_FRIEND_BUTTON\",\"Add Friend\",\"Ajouter un ami\",\"Freund hinzufügen\",\"Añadir amigo\",\"Aggiungi amico\",\"Vriend toevoegen\",\"Legg til venn\",\"Arkadaş Ekle\",\"フレンドを追加\",\"친구 추가\",\"Добавить друга\",\"إضافة صديق\",\"Adicionar amigo\",\"添加好友\",\"新增好友\",\"افزودن دوست\",\"Tambah Teman\",\"Tambah Rakan\"\n\"TID_LINE_ADD_FRIEND\",\"Add your Line friends to your Clash Royale friends list for Friendly Battles!\",\"Ajoutez vos amis Line à votre liste d'amis Clash Royale pour les retrouver en combat amical !\",\"Hol dir deine Line-Freunde in deine Clash Royale-Freundesliste, um Testspiele mit ihnen auszutragen!\",\"Añade a tus contactos de Line a tu lista de amigos de Clash Royale para librar batallas amistosas.\",\"Aggiungi i tuoi amici di Line alla lista di amici di Clash Royale per ingaggiare battaglie amichevoli!\",\"Voeg je Line-vrienden toe aan je Clash Royale-vriendenlijst voor vriendelijke gevechten.\",\"Legg Line-vennene dine til vennelisten din i Clash Royale for å delta i vennskapskamper!\",\"Dostluk Savaşları için Line arkadaşlarını Clash Royale arkadaş listene ekle!\",\"LINEの友達をクラッシュ・ロワイヤルのフレンドリストに追加して、フレンドバトルで勝負しましょう！\",\"Line 친구를 클래시 로얄 친구 목록에 추가해 친선전을 즐기세요!\",\"Добавь друзей из Line в список друзей Clash Royale для участия в дружеских боях!\",\"أضف أصدقاءك في Line إلى قائمة الأصدقاء في Clash Royale لخوض المعارك الودية!\",\"Adicione seus amigos à lista do Clash Royale para jogar batalhas amistosas.\",\"将您的Line好友添加至《部落冲突:皇室战争》好友列表中，进行友谊战！\",\"將您的Line好友新增至《部落衝突:皇室戰爭》好友列表中，進行友誼戰！\",\"برای انجام نبردهای دوستانه، دوستان Line رو به فهرست دوستان Clash Royale اضافه کن!\",\"Tambahkan teman LINE ke daftar teman Clash Royale untuk Pertempuran Persahabatan!\",\"Tambah rakan Line ke senarai rakan Clash Royale anda untuk Pertempuran Persahabatan!\"\n\"TID_2V2_DESCRIPTION\",\"Collect chests with your friends or another player at your level in a 2v2 Battle!\",\"Récupérez des coffres avec un ami ou un autre joueur de votre niveau en combat 2c2 !\",\"Gewinne zusammen mit Freunden oder Spielern auf deinem Level Truhen in Duokämpfen!\",\"¡Consigue cofres con tus amigos o con otro jugador de tu nivel en una batalla 2c2!\",\"Ottieni bauli con i tuoi amici o con un altro giocatore al tuo livello in una battaglia 2 vs 2!\",\"Verzamel kisten met je vrienden of een andere speler van jouw level in een 2-tegen-2-gevecht.\",\"Samle kister sammen med venner eller en annen spiller på ditt nivå i 2v2-kamper!\",\"2'ye 2 Savaşta arkadaşın ya da kendi seviyende bir oyuncuyla birlikte sandık topla!\",\"フレンドや同レベルの他のプレイヤーと協力バトルをプレイして、宝箱を手に入れましょう！\",\"친구나 같은 레벨의 플레이어와 함께\\n2v2 전투에서 상자를 모으세요!\",\"Собирай сундуки с друзьями или другим игроком своего уровня в бою 2 на 2!\",\"اجمع الصناديق مع أصدقائك أو مع لاعب آخر في مستواك من خلال معركة 2 ضد 2!\",\"Colete baús em uma batalha 2v2 com um amigo ou outro jogador do seu nível.\",\"与您的好友或同等级的其他玩家一起参加2v2对战，赢取宝箱！\",\"與您的好友或同等級的其他玩家一起參加2v2對戰，贏得寶箱！\",\"در یک نبرد 2 در مقابل 2 با دوستانت یا یک بازیکن همسطح خودت، صندوق جمع کن!\",\"Ambil peti bersama teman atau pemain lain di levelmu dalam Pertempuran 2v2!\",\"Kumpul peti bersama rakan anda atau pemain lain pada tahap anda di Pertempuran 2 lwn 2!\"\n\"TID_2V2_BATTLE\",\"2v2 Battle\",\"Combat 2c2\",\"Duokampf\",\"Batalla 2c2\",\"Battaglia 2 vs 2\",\"2-tegen-2-gevecht\",\"Kamp 2v2\",\"2'ye 2 Savaş\",\"協力バトル\",\"2v2 전투\",\"Бой 2 на 2\",\"معركة 2 ضد 2\",\"Batalha 2v2\",\"2v2对战\",\"2v2對戰\",\"نبرد 2 در مقابل 2\",\"Pertempuran 2v2\",\"Pertempuran 2 lwn 2\"\n\"TID_2V2\",\"2v2\",\"2c2\",\"Duokampf\",\"2c2\",\"2 vs 2\",\"2-tegen-2\",\"2v2\",\"2'ye 2\",\"協力バトル\",\"2v2\",\"2 на 2\",\"2 ضد 2\",\"2v2\",\"2v2\",\"2v2\",\"2 در مقابل 2\",\"2v2\",\"2 lwn 2\"\n\"TID_JOIN\",\"Join\",\"Rejoindre\",\"Beitreten\",\"Unirse\",\"Unisciti\",\"Meedoen\",\"Bli med\",\"Katıl\",\"参加\",\"참가\",\"Присоединиться\",\"انضمام\",\"Participar\",\"加入\",\"加入\",\"پیوستن\",\"Ikut\",\"Sertai\"\n\"TID_LOOKING_FOR_2v2_BATTLE\",\"is looking for a 2v2 Battle!\",\"recherche un combat 2c2 !\",\"sucht nach einem Duokampf!\",\"está buscando una batalla 2c2...\",\"sta cercando una battaglia 2 vs 2\",\"is op zoek naar een 2-tegen-2-gevecht.\",\"ser etter en 2v2-kamp!\",\"bir 2'ye 2 Savaş arıyor!\",\"が協力バトルを探しています！\",\"2v2 전투를 찾고 있습니다.\",\"хочет участвовать в бою 2 на 2.\",\"يبحث عن معركة 2 ضد 2!\",\"está procurando uma batalha 2v2!\",\"正在搜索2v2对战！\",\"正在搜索2v2對戰！\",\"در جستجوی نبرد 2 در مقابل 2\",\"mencari Pertempuran 2v2!\",\"mencari Pertempuran 2 lwn 2!\"\n\"TID_ALLIANCE_JOIN_POST_MESSAGE\",\"Click this link to join my Clan in Clash Royale!\",\"Cliquez sur ce lien pour rejoindre mon clan !\",\"Tippe auf diesen Link, um meinem Clan beizutreten!\",\"¡Entra en este enlace para unirte a mi clan!\",\"Tocca questo link per unirti al mio clan!\",\"Klik op deze link om je aan te sluiten bij mijn clan.\",\"Klikk på denne lenken for bli med i min klan!\",\"Klanıma katılmak için bu bağlantıya tıkla!\",\"このリンクをクリックすれば、うちのクランに参加できるよ！\",\"이 링크를 클릭해서 클랜에 가입하세요!\",\"Нажми на ссылку, чтобы вступить в мой клан!\",\"انقر على هذا الرابط للانضمام إلى قبيلتي!\",\"Clique neste link para entrar para o meu clã!\",\"点击该链接加入我的部落！\",\"點擊該連結加入我的部落！\",\"برای پیوستن به قبیله من روی این لینک کلیک کن!\",\"Klik tautan ini untuk ikut Klanku!\",\"Klik pautan ini untuk menyertai klan saya!\"\n\"TID_ALLIANCE_JOIN_POST_TITLE\",\"Invite a friend to join your Clan!\",\"Invitez un ami à rejoindre votre clan !\",\"Lade einen Freund in deinen Clan ein!\",\"¡Invita a un amigo a que se una a tu clan!\",\"Invita un amico a unirsi al tuo clan!\",\"Nodig een vriend uit om zich aan te sluiten bij je clan.\",\"Inviter en venn til å bli med i klanen din!\",\"Bir arkadaşını Klanına davet et!\",\"フレンドをクランに招待しましょう！\",\"친구를 클랜에 초대하세요!\",\"Пригласи друга вступить в свой клан!\",\"قم بدعوة صديق للانضمام إلى قبيلتك!\",\"Convide um amigo para entrar para o seu clã!\",\"邀请好友加入您的部落！\",\"邀請好友加入您的部落！\",\"دوستی رو دعوت کن تا به قبیله‌ات بپیونده!\",\"Undang teman untuk ikut Klanmu!\",\"Jemput rakan untuk menyertai klan anda!\"\n\"TID_FRIEND_INVITE_POST_MESSAGE\",\"Click this link to add as friend in Clash Royale!\",\"Cliquez sur le lien pour ajouter cet ami !\",\"Tippe auf diesen Link, um den Spieler als Freund hinzuzufügen!\",\"¡Entra en este enlace para añadir como amigo!\",\"Tocca questo link per aggiungere come amico!\",\"Klik op deze link om toe te voegen als vriend.\",\"Klikk på denne lenken for å legge til som venn!\",\"Arkadaş olarak eklemek için bu bağlantıya tıkla!\",\"このリンクをクリックすれば、フレンドに追加するよ！\",\"이 링크를 클릭해 친구로 추가하세요!\",\"Нажми на ссылку, чтобы добавить друга!\",\"انقر على هذا الرابط للإضافة كصديق!\",\"Clique neste link para adicionar como amigo!\",\"点击该链接添加好友！\",\"點擊該連結新增好友！\",\"برای افزودن دوست روی این لینک کلیک کن!\",\"Klik tautan ini untuk menjadikannya teman!\",\"Klik pautan ini untuk menambah sebagai rakan!\"\n\"TID_FRIEND_INVITE_POST_TITLE\",\"Invite a friend!\",\"Invitez un ami !\",\"Lade einen Freund ein!\",\"¡Invita a un amigo!\",\"Invita un amico!\",\"Nodig een vriend uit!\",\"Inviter en venn!\",\"Bir arkadaşını davet et!\",\"フレンドを招待！\",\"친구를 초대하세요!\",\"Пригласи друга!\",\"قم بدعوة صديق!\",\"Convide um amigo!\",\"邀请好友！\",\"邀請好友！\",\"دعوت یک دوست!\",\"Undang teman!\",\"Jemput rakan!\"\n\"TID_BUTTON_QUICK_MATCH\",\"Quick\\nMatch\",\"Adversaire\\naléatoire\",\"Schnelles\\nSpiel\",\"Partida\\nrápida\",\"Partita\\nveloce\",\"Snel\\nzoeken\",\"Hurtig-\\nkamp\",\"Hızlı\\nMaç\",\"すぐに遊ぶ\",\"퀵 매치\",\"Быстрый\\nбой\",\"مباراة\\nسريعة\",\"Partida\\nrápida\",\"快速\\n匹配\",\"快速\\n配對\",\"بازی\\nسریع\",\"Pertarungan\\nCepat\",\"Padanan\\nPantas\"\n\"TID_BUTTON_PLAY_WITH_FRIEND\",\"Play with\\nFriend\",\"Jouer avec\\nun ami\",\"Freund\\neinladen\",\"Jugar\\ncon amigos\",\"Gioca con\\nun amico\",\"Met vriend\\nspelen\",\"Spill med en\\nvenn\",\"Arkadaşınla\\nOyna\",\"友達と遊ぶ\",\"친구와\\n플레이\",\"Играть\\nс друзьями\",\"اللعب\\nمع صديق\",\"Jogar com\\num amigo\",\"与好友\\n组队\",\"與好友\\n組隊\",\"بازی با\\nدوست\",\"Bermain dengan\\nTeman\",\"Main bersama\\nRakan\"\n\"TID_SELECT_FRIEND\",\"Play with Friend\",\"Jouer avec un ami\",\"Freund einladen\",\"Jugar con amigos\",\"Gioca con un amico\",\"Met een vriend spelen\",\"Spill med en venn\",\"Arkadaşınla Oyna\",\"フレンドとプレイ\",\"친구와 플레이\",\"Играй с другом\",\"اللعب مع صديق\",\"Jogue com um amigo\",\"与好友组队\",\"與好友組隊\",\"بازی با دوست\",\"Bermain dengan Teman\",\"Main bersama rakan\"\n\"TID_2V2_LADDER_BATTLE_NOTIFICATION\",\"<PLAYER_NAME> has invited you to 2v2 Battle!\",\"<PLAYER_NAME> vous propose un combat 2c2 !\",\"<PLAYER_NAME> hat dich zu einem Duokampf eingeladen!\",\"¡<PLAYER_NAME> te ha invitado a una batalla 2c2!\",\"<PLAYER_NAME> ti ha invitato a una battaglia 2 vs 2!\",\"<PLAYER_NAME> heeft je uitgenodigd voor een 2-tegen-2-gevecht.\",\"<PLAYER_NAME> har invitert deg til en 2v2-kamp!\",\"<PLAYER_NAME> seni 2'ye 2 Savaşa davet etti!\",\"<PLAYER_NAME>から協力バトルに招待されました！\",\"<PLAYER_NAME> 님이 도전자님을 2v2 전투에 초대했습니다!\",\"Игрок <PLAYER_NAME> пригласил тебя принять участие в бою 2 на 2!\",\"دعاك <PLAYER_NAME> إلى معركة 2 ضد 2!\",\"<PLAYER_NAME> convidou você para uma batalha 2v2.\",\"<PLAYER_NAME>邀请您一起参加2v2对战！\",\"<PLAYER_NAME>邀請您一起參加2v2對戰！\",\"<PLAYER_NAME> به نبرد 2 در مقابل 2 دعوتت کرده!\",\"<PLAYER_NAME> telah mengundangmu dalam Pertempuran 2v2!\",\"<PLAYER_NAME> telah menjemput anda ke Pertempuran 2 lwn 2!\"\n\"TID_2V2_LADDER_BATTLE_DECLINED\",\"2v2 Battle was rejected\",\"Combat 2c2 refusé\",\"Duokampf wurde abgelehnt\",\"Se ha rechazado la batalla 2c2.\",\"Battaglia 2 vs 2 rifiutata\",\"2-tegen-2-gevecht geweigerd\",\"2v2-kampen ble avslått\",\"2'ye 2 Savaş reddedildi\",\"協力バトルが拒否されました\",\"2v2 전투를 거부했습니다.\",\"Бой 2 на 2 отклонен\",\"تم رفض معركة 2 ضد 2\",\"A batalha 2v2 foi recusada.\",\"2v2对战邀请被拒绝\",\"2v2對戰邀請被拒絕\",\"نبرد 2 در مقابل 2 رد شد\",\"Pertempuran 2v2 ditolak\",\"Pertempuran 2 lwn 2 ditolak\"\n\"TID_REMOVE\",\"Remove\",\"Supprimer\",\"Entfernen\",\"Eliminar\",\"Rimuovi\",\"Verwijderen\",\"Fjern\",\"Kaldır\",\"削除\",\"삭제\",\"Удалить\",\"حذف\",\"Remover\",\"移除\",\"移除\",\"حذف\",\"Singkirkan\",\"Buang\"\n\"TID_REMOVE_FRIEND_CONFIRMATION_TITLE\",\"Remove <name>?\",\"Supprimer <name> ?\",\"<name> entfernen?\",\"Eliminar a <name>\",\"Rimuovere <name>?\",\"<name> verwijderen?\",\"Fjerne <name>?\",\"<name> kaldırılsın mı?\",\"<name>を削除しますか？\",\"<name> 님을 삭제할까요?\",\"Удалить игрока <name>?\",\"هل ترغب في حذف <name>؟\",\"Remover <name>?\",\"移除<name>？\",\"移除<name>？\",\"حذف <name>؟\",\"Singkirkan <name>?\",\"Buang <name>?\"\n\"TID_REMOVE_FRIEND_CONFIRMATION\",\"Are you sure you want to remove <name> from your friends?\",\"Voulez-vous vraiment supprimer <name> de vos amis ?\",\"Möchtest du <name> wirklich aus deiner Freundesliste entfernen?\",\"¿Seguro que quieres eliminar a <name> de tu lista de amigos?\",\"Vuoi davvero rimuovere <name> dai tuoi amici?\",\"Weet je zeker dat je <name> wilt verwijderen uit je vriendenlijst?\",\"Er du sikker på at du vil fjerne <name> fra vennene dine?\",\"<name> adlı kişiyi arkadaşlarından çıkarmak istediğine emin misin?\",\"フレンドリストから<name>を削除してもよろしいですか？\",\"친구 목록에서 <name> 님을 삭제하시겠습니까?\",\"Ты точно хочешь удалить игрока <name> из друзей?\",\"هل تريد بالتأكيد حذف <name> من قائمة أصدقائك؟\",\"Quer mesmo remover <name> de sua lista de amigos?\",\"确定要将<name>从您的好友列表中移除吗？\",\"確定要將<name>從您的好友列表中移除嗎？\",\"مطمئنی می‌خوای <name> رو از دوستات حذف کنی؟\",\"Yakin ingin menyingkirkan <name> dari temanmu?\",\"Anda pasti ingin membuang <name> daripada rakan anda?\"\n\"TID_NPC_CLAN\",\"Royal Trainers\",\"Instructeurs royaux\",\"Königliche Trainer\",\"Entrenadores reales\",\"Allenatori Royale\",\"Koninklijke trainers\",\"Kongelige trenere\",\"Kraliyet Eğitimcileri\",\"ロイヤルトレーナー\",\"로얄 훈련관\",\"Королевские тренеры\",\"مدرِبون ملكيون\",\"Treinadores Reais\",\"皇家训练师\",\"皇家訓練師\",\"مربیان سلطنتی\",\"Pelatih Royale\",\"Pelatih Diraja\"\n\"TID_NEW_QUEST\",\"New Quest:\",\"Nouvelle quête :\",\"Neue Quest:\",\"Nueva misión:\",\"Nuova missione:\",\"Nieuwe opdracht:\",\"Nytt oppdrag:\",\"Yeni Görev:\",\"新クエスト：\",\"새 퀘스트:\",\"Новый квест:\",\"مهمة جديدة:\",\"Nova Missão:\",\"新任务：\",\"新任務：\",\"کاوش جدید:\",\"Tugas Baru:\",\"Misi Baharu:\"\n\"TID_ADD_FRIEND_FAILED\",\"Failed to add friend\",\"Impossible d'ajouter cet ami\",\"Freund konnte nicht hinzugefügt werden.\",\"No se ha podido añadir un amigo.\",\"Impossibile aggiungere amico\",\"Vriend kan niet worden toegevoegd.\",\"Kunne ikke legge til venn\",\"Arkadaş eklenemedi\",\"フレンドを追加できません\",\"친구를 추가하지 못했습니다.\",\"Не удалось добавить друга\",\"فشلت إضافة الصديق\",\"Falha ao adicionar amigo.\",\"添加好友失败\",\"新增好友失敗\",\"افزودن دوست انجام نشد\",\"Gagal menambahkan teman\",\"Gagal menambah rakan\"\n\"TID_ADD_FRIEND_FAILED_TOKEN_EXPIRED\",\"Friend link has expired!\",\"Le lien de votre ami a expiré !\",\"Freundschaftslink abgelaufen!\",\"El enlace de amigo ha caducado...\",\"Link amico scaduto!\",\"Vriendenlink is verlopen!\",\"Vennelenken er utløpt!\",\"Arkadaş bağlantısının süresi doldu!\",\"フレンドリンクの期限が切れました！\",\"친구 링크가 만료되었습니다!\",\"Ссылка для приглашения друга больше не действует.\",\"انتهت صلاحية رابط الصديق!\",\"O link do amigo expirou.\",\"添加好友的链接已过期！\",\"新增好友的連結已過期！\",\"لینک دوست، تاریخش گذشته!\",\"Tautan teman tidak berlaku lagi!\",\"Pautan rakan telah tamat tempoh!\"\n\"TID_INVITE_FRIEND_TOKEN_ERROR_FRIENDS_FULL\",\"Friends list is full!\",\"Votre liste d'amis est pleine !\",\"Freundesliste ist voll!\",\"Tu lista de amigos está llena.\",\"La lista di amici è al completo!\",\"Vriendenlijst is vol!\",\"Vennelisten er full!\",\"Arkadaş listesi dolu!\",\"フレンドリストがいっぱいです！\",\"친구 목록이 가득 찼습니다.\",\"Список друзей переполнен.\",\"قائمة الأصدقاء ممتلئة!\",\"A lista de amigos está cheia.\",\"好友列表已满！\",\"好友列表已滿！\",\"فهرست دوستان پر شده!\",\"Daftar teman penuh!\",\"Senarai rakan penuh!\"\n\"TID_INVITE_FRIEND_TOKEN_ERROR_TOO_MANY\",\"Too many invites active, try again later\",\"Trop d'invitations lancées, veuillez réessayer plus tard.\",\"Zu viele ausstehende Einladungen, versuche es später erneut\",\"Hay demasiadas invitaciones activas. Inténtalo más tarde.\",\"Troppi inviti attivi. Riprova più tardi.\",\"Te veel actieve uitnodigingen. Probeer het later opnieuw.\",\"For mange aktive invitasjoner. Prøv igjen senere.\",\"Etkin davet sayısı çok fazla, daha sonra tekrar dene\",\"応答待ちの招待が多すぎます。また後ほどお試しください。\",\"초대가 너무 많습니다. 나중에 다시 시도해주세요.\",\"Слишком много активных приглашений. Попробуй позже.\",\"الدعوات النشطة كثيرة جدًا، حاول ثانيةً لاحقًا\",\"Há muitos convites ativos. Tente novamente mais tarde.\",\"已发送太多请求，请稍后再试\",\"已發送太多申請，請稍後再試\",\"دعوتهای زیادی بازن، لطفاً بعداً دوباره امتحان کن.\",\"Terlalu banyak undangan aktif. Coba lagi nanti.\",\"Terlalu banyak jemputan aktif, cuba lagi kemudian\"\n\"TID_INVITE_FRIEND_TOKEN_ERROR\",\"Error inviting friends\",\"Erreur lors de l'invitation d'amis\",\"Fehler beim Hinzufügen\",\"Error al invitar a amigos\",\"Errore durante l'invio di inviti agli amici.\",\"Fout bij uitnodigen van vrienden.\",\"Feil under invitasjon av venner\",\"Arkadaş davet ederken hata oluştu\",\"フレンドの招待中にエラーが発生しました\",\"친구 초대 오류\",\"Ошибка при приглашении друзей\",\"خطأ أثناء دعوة الأصدقاء\",\"Erro ao convidar amigos\",\"邀请好友出错\",\"邀請好友發生錯誤\",\"خطای دعوت دوستان\",\"Kesalahan mengundang teman\",\"Ralat menjemput rakan\"\n\"TID_FRIENDS_LEADERBOARD\",\"LEADERBOARD\",\"CLASSEMENT\",\"BESTENLISTE\",\"CLASIFICACIÓN\",\"CLASSIFICA\",\"KLASSEMENT\",\"RESULTATLISTE\",\"LİDERLİK TABLOSU\",\"ランキング\",\"순위표\",\"ТАБЛИЦА ЛИДЕРОВ\",\"لوحة الصدارة\",\"RANKING\",\"排行榜\",\"排行榜\",\"تابلوی امتیازات\",\"PAPAN PERINGKAT\",\"PAPAN PEMIMPIN\"\n\"TID_GAMEMODE_OVERTIME\",\"Sudden Death Battle\",\"Combat mort subite\",\"Kronen-K.o.-Kampf\",\"Batalla de muerte súbita\",\"Battaglia sudden death\",\"Sudden-death-gevecht\",\"Sudden death-kamp\",\"Ani Ölüm Savaşı\",\"サドンデスバトル\",\"서든 데스 전투\",\"Бой с внезапной смертью\",\"معركة المهلة الحاسمة\",\"Batalha de morte súbita\",\"突然死亡模式对战\",\"驟死賽模式對戰\",\"نبرد مرگ ناگهانی\",\"Pertempuran Fase Penentuan\",\"Pertempuran Kalah Mati\"\n\"TID_BATTLE_2V2_ACCEPTED\",\"2v2 Battle was accepted\",\"Combat 2c2 accepté\",\"Duokampf wurde angenommen\",\"Se ha aceptado la batalla 2c2.\",\"Battaglia 2 vs 2 accettata\",\"2-tegen-2-gevecht geaccepteerd\",\"2v2-kampen ble akseptert\",\"2'ye 2 Savaş kabul edildi\",\"協力バトルが承諾されました\",\"2v2 전투를 수락했습니다.\",\"Вызов на бой 2 на 2 принят\",\"تم قبول معركة 2 ضد 2\",\"A batalha 2v2 foi aceita.\",\"2v2对战邀请已接受\",\"2v2對戰邀請已接受\",\"نبرد 2 در مقابل 2 پذیرفته شد\",\"Pertempuran 2v2 diterima\",\"Pertempuran 2 lwn 2 diterima\"\n\"TID_GOLDRUSH_CHALLENGE\",\"Gold Rush\",\"Ruée vers l'or\",\"Goldrausch\",\"Fiebre del oro\",\"Corsa all'oro\",\"Goudkoorts\",\"Gullfeber\",\"Altına Hücum\",\"ゴールドラッシュ\",\"골드러시\",\"Золотая лихорадка\",\"جمع الذهب\",\"Corrida do Ouro\",\"淘金大作战\",\"淘金大作戰\",\"تلاطم طلایی\",\"Gila Emas\",\"Kerubut Emas\"\n\"TID_INTRO_QUEST\",\"Intro Quest\",\"Quête d'intro\",\"Introquest\",\"Misión introductoria\",\"Missione introduttiva\",\"Intro-opdracht\",\"Introoppdrag\",\"Giriş Görevi\",\"イントロクエスト\",\"인트로 퀘스트\",\"Вводный квест\",\"مهمة تمهيدية\",\"Missão Introdutória\",\"入门任务\",\"基礎任務\",\"کاوش مقدماتی\",\"Tugas Intro\",\"Misi Permulaan\"\n\"TID_INTRO_QUEST_INFO\",\"Intro Quest info\",\"Infos sur la quête d'intro\",\"Introquest-Info\",\"Información de la misión introductoria.\",\"Info missione introduttiva\",\"Info intro-opdracht\",\"Info om introoppdrag\",\"Giriş Görevi bilgisi\",\"イントロクエスト情報\",\"인트로 퀘스트 정보\",\"О вводном квесте\",\"معلومات عن المهمة التمهيدية\",\"Informações da Missão Introdutória\",\"入门任务信息\",\"基礎任務訊息\",\"اطلاعات کاوش مقدماتی\",\"Info Tugas Intro\",\"Maklumat Misi Permulaan\"\n\"TID_PUZZLE_QUEST\",\"Puzzle Quest\",\"Quête casse-tête\",\"Rätsel-Quest\",\"Misión de puzle\",\"Missione puzzle\",\"Puzzelopdracht\",\"Oppgaveoppdrag\",\"Bulmaca Görevi\",\"パズルクエスト\",\"퍼즐 퀘스트\",\"Квест-пазл\",\"مهمة اللغز\",\"Missão do Enigma\",\"试炼任务\",\"試煉任務\",\"کاوش پازل\",\"Tugas Puzzle\",\"Misi Teka-teki\"\n\"TID_PUZZLE_QUEST_INFO\",\"Level: <level>\",\"Niveau <level>\",\"Level: <level>\",\"Nivel: <level>\",\"Livello: <level>\",\"Level: <level>\",\"Nivå: <level>\",\"Seviye: <level>\",\"レベル： <level>\",\"레벨: <level>\",\"Уровень: <level>\",\"المستوى: <level>\",\"Nível: <level>\",\"等级：<level>\",\"等級：<level>\",\"سطح: <level>\",\"Level: <level>\",\"Tahap: <level>\"\n\"TID_LADDER_QUEST_PLAY\",\"Play PvP\",\"Jouer en JcJ\",\"Spiel PvP\",\"Juega contra otros jugadores\",\"Gioca PvP\",\"PvP spelen\",\"Spill PvP\",\"PvP Oyna\",\"プレイヤー対抗でプレイ\",\"PvP 플레이\",\"Играть в режиме PvP\",\"اللعب لاعب ضد لاعب\",\"Jogar PvP\",\"PvP对战\",\"PvP對戰\",\"نبرد بازیکن در مقابل بازیکن\",\"Main PvP\",\"Main PvP\"\n\"TID_LADDER_QUEST_PLAY_INFO\",\"Play <num> Ladder games.\",\"Participez à <num> combats à échelle.\",\"Spiel <num> Ranglistenspiele\",\"Juega <num> partidas de la clasificación.\",\"Gioca <num> partite da classifica.\",\"Speel <num> ranglijstspellen.\",\"Spill <num> rangspill.\",\"<num> Sıradan oyun oyna.\",\"ラダーゲームを<num>回プレイする\",\"래더 게임 <num> 회 플레이\",\"Сыграй рейтинговые игры (<num>).\",\"العب <num> من ألعاب السلم.\",\"Jogue <num> jogos de sucessão.\",\"进行<num>场天梯对战。\",\"進行<num>場天梯對戰\",\"انجام <num> بازی پلکانی\",\"Main <num> game Jenjang.\",\"Main <num> permainan Janjang\"\n\"TID_LADDER_QUEST_WIN\",\"Dominate PvP!\",\"Dominez le jeu en JcJ !\",\"Setz dich im PvP durch!\",\"¡Domina a tus oponentes!\",\"Domina in PvP!\",\"Domineer PvP!\",\"Dominer i PvP!\",\"PvP'ye Hükmet!\",\"プレイヤー対抗を制覇しよう！\",\"PvP 지배!\",\"Доминируй в режиме PvP!\",\"كن سيد معارك لاعب ضد لاعب!\",\"Domine o PvP!\",\"PvP主宰！\",\"PvP主宰！\",\"تصاحب نبرد بازیکن در مقابل بازیکن\",\"Dominasi PvP!\",\"Kuasai PvP!\"\n\"TID_LADDER_QUEST_WIN_INFO\",\"Win <num> Ladder games.\",\"Gagnez <num> combats à échelle.\",\"Gewinne <num> Ranglistenspiele.\",\"Gana <num> partidas de la clasificación.\",\"Vinci <num> partite da classifica.\",\"Win <num> ranglijstspellen.\",\"Vinn <num> rangspill.\",\"<num> Sıradan oyun kazan.\",\"ラダーゲームで<num>回勝利する\",\"래더 게임에서 <num> 회 승리\",\"Победи в рейтинговых играх (<num>).\",\"فز في <num> من ألعاب السلم.\",\"Ganhe <num> jogos de sucessão.\",\"赢得<num>场天梯对战\",\"贏得<num>場天梯對戰。\",\"<num> بازی پلکانی را ببر\",\"Menangkan <num> game Jenjang.\",\"Menangi <num> permainan Janjang\"\n\"TID_FRIENDLY_QUEST_PLAY\",\"Play with Friends!\",\"Jouez avec des amis !\",\"Spiel mit Freunden!\",\"¡Juega con amigos!\",\"Gioca con gli amici!\",\"Speel met vrienden!\",\"Spill med venner!\",\"Arkadaşlarınla Oyna!\",\"フレンドと遊ぼう！\",\"친구와 플레이!\",\"Играй с друзьями!\",\"اللعب مع الأصدقاء!\",\"Jogue com amigos!\",\"与好友组队！\",\"與好友組隊！\",\"با دوستانت بازی کن!\",\"Bermain dengan Teman!\",\"Main bersama Rakan!\"\n\"TID_FRIENDLY_QUEST_PLAY_INFO\",\"Play <num> Friendly Battles with Friends or Clan.\",\"Participez à <num> combats amicaux avec vos amis ou votre clan.\",\"Spiele <num> Testspiele mit Freunden oder deinem Clan.\",\"Juega <num> batallas amistosas con amigos o con tu clan.\",\"Gioca <num> battaglie amichevoli con amici o il clan.\",\"Speel <num> vriendelijke gevechten met vrienden of clangenoten.\",\"Spill <num> vennskapskamper med venner eller klanen din.\",\"Arkadaş veya Klanınla <num> Dostluk Savaşı oyna.\",\"フレンドやクランと一緒にフレンドバトルを<num>回プレイする\",\"친구나 클랜원과 함께 친선전 <num>회 플레이\",\"Проведи дружеские бои (<num>) с друзьями или кланом.\",\"العب <num> من المعارك الودية مع الأصدقاء أو القبيلة.\",\"Jogue <num> batalhas amistosas com amigos ou clã.\",\"与好友或部落成员进行<num>场友谊战\",\"與好友或部落成員進行<num>場友誼戰\",\"با دوستان یا قبیله خود <num> نبرد دوستانه انجام بده.\",\"Main <num> Pertempuran Persahabatan dengan Teman atau Klan.\",\"Main <num> Pertempuran Persahabatan bersama rakan atau klan.\"\n\"TID_COLLECT_QUEST_CHEST\",\"Chest Collector\",\"Collection de coffres\",\"Truhensammler\",\"Coleccionista de cofres\",\"Collezionista di bauli\",\"Kistenverzamelaar\",\"Kistesamler\",\"Sandık Toplayıcı\",\"宝箱コレクター\",\"상자 수집가\",\"Сборщик сундуков\",\"جامع صناديق\",\"Coletor de baús\",\"宝箱达人\",\"寶箱達人\",\"جمع‌کننده صندوق\",\"Pengumpul Peti\",\"Pengumpul Peti\"\n\"TID_COLLECT_QUEST_CHEST_INFO\",\"Collect <num> chests\",\"Collectionnez <num> coffres\",\"Sammle <num> Truhen\",\"Consigue <num> cofres.\",\"Ottieni <num> bauli\",\"Verzamel <num> kisten.\",\"Samle <num> kister\",\"<num> sandık topla\",\"宝箱を<num>個ゲットする\",\"상자 <num>개 모으기\",\"Собери сундуки (<num>).\",\"جمع <num> من الصناديق\",\"Coletar <num> baús\",\"收集<num>个宝箱\",\"收集<num>個寶箱\",\"<num> صندوق جمع کن\",\"Kumpulkan <num> peti\",\"Kumpul <num> peti\"\n\"TID_HIT_QUEST\",\"Hit Quest: <source>\",\"Quête de frappe : <source>\",\"Trefferquest: <source>\",\"Misión de golpeo: <source>\",\"Colpo grosso: <source>\",\"Trefferopdracht: <source>\",\"Treffoppdrag: <source>\",\"Vurma Görevi: <source>\",\"ヒットクエスト： <source>\",\"명중 퀘스트: <source>\",\"Ударный квест: «<source>»\",\"مهمة الإصابة: <source>\",\"Missão de atingir: <source>\",\"攻击任务：<source>\",\"攻擊任務：<source>\",\"کاوش ضربه: <source>\",\"Tugas Pukul: <source>\",\"Misi Serangan: <source>\"\n\"TID_HIT_QUEST_INFO\",\"Hit anything <num> times with <source>\",\"Frappez n'importe quoi <num> fois avec <source>\",\"Triff ein beliebiges Ziel <num>-mal mit Folgendem: <source>\",\"Golpea cualquier cosa <num> veces con esto: <source>.\",\"Colpisci qualcosa <num> volte con <source>\",\"Raak <num> keer iets met <source>.\",\"Treff hva som helst <num> ganger med <source>\",\"<source> ile <num> kez herhangi bir hedefi vur\",\"<source>で何かを<num>回攻撃する\",\"<source> 사용으로 아무거나 <num>번 맞추기\",\"Порази врагов <num> р. (используй «<source>»)\",\"إصابة أي شيء <num> من المرات بـ <source>\",\"Atinja qualquer coisa <num> vezes com <source>.\",\"使用<source>攻击任意敌军<num>次\",\"使用<source>攻擊任意敵軍<num>次\",\"به هر چیزی <num> بار با <source> ضربه بزن\",\"Pukul apa saja <num> kali dengan <source>\",\"Serang apa sahaja <num> kali dengan <source>\"\n\"TID_CAST_QUEST\",\"Play Anything!\",\"Jouez ce que vous voulez !\",\"Spiel irgendwas!\",\"Juega cualquier cosa.\",\"Gioca qualsiasi cosa!\",\"Speel wat je wil!\",\"Spill hva som helst!\",\"Herhangi Bir Kart Oyna!\",\"とにかく遊ぼう！\",\"무엇이든 플레이!\",\"Играй любыми картами.\",\"اللعب بأي شيء!\",\"Jogue qualquer coisa!\",\"使用任意卡牌！\",\"使用任意卡牌！\",\"بازی دلخواه\",\"Main Apa Saja!\",\"Main Apa-apa Sahaja!\"\n\"TID_CAST_QUEST_SPELL\",\"Play Spells\",\"Lancez des sorts\",\"Spiel Zauber\",\"Juega hechizos.\",\"Gioca incantesimi\",\"Speel spreuken\",\"Spill formler\",\"Büyü Kartı Oyna\",\"スペルで遊ぶ\",\"마법 플레이\",\"Играй заклинаниями.\",\"استخدام تعويذات\",\"Use feitiços.\",\"使用法术卡牌\",\"使用法術卡牌\",\"بازی طلسم‌ها\",\"Main Mantra\",\"Main Sihir\"\n\"TID_CAST_QUEST_TROOP\",\"Play Troops\",\"Déployez des troupes\",\"Spiel Truppen\",\"Juega tropas.\",\"Gioca truppe\",\"Speel eenheden\",\"Spill tropper\",\"Birlik Kartı Oyna\",\"ユニットで遊ぶ\",\"유닛 플레이\",\"Играй воинами.\",\"استخدام قوات\",\"Use tropas.\",\"使用军队卡牌\",\"使用軍隊卡牌\",\"بازی نیروها\",\"Main Peleton\",\"Main Askar\"\n\"TID_CAST_QUEST_BUILDING\",\"Play Buildings\",\"Placez des bâtiments\",\"Spiel Gebäude\",\"Juega estructuras.\",\"Gioca edifici\",\"Speel gebouwen\",\"Spill bygninger\",\"Bina Kartı Oyna\",\"建物で遊ぶ\",\"건물 플레이\",\"Играй зданиями.\",\"استخدام مباني\",\"Use construções.\",\"使用建筑卡牌\",\"使用建築卡牌\",\"بازی ساختمون‌ها\",\"Main Bangunan\",\"Main Bangunan\"\n\"TID_CAST_QUEST_MAX_ELIXIR\",\"Play Cheap!\",\"Jouez bon marché !\",\"Spiel billig!\",\"Juega con coste bajo.\",\"Gioca in modo economico!\",\"Speel goedkoop!\",\"Spill billig!\",\"Ucuz Kart Oyna!\",\"チープに遊ぶ\",\"싸게 플레이\",\"Играй экономно.\",\"اللعب بمقابل زهيد!\",\"Use itens baratos.\",\"使用低圣水消耗卡牌！\",\"使用低聖水消耗卡牌！\",\"بازی ارزون\",\"Main Murah!\",\"Main Murah!\"\n\"TID_CAST_QUEST_MIN_ELIXIR\",\"Play Expensive!\",\"Jouez à prix fort !\",\"Spiel teuer!\",\"Juega con coste alto.\",\"Gioca in modo costoso!\",\"Speel duur!\",\"Spill dyrt!\",\"Pahalı Kart Oyna!\",\"ゴージャスに遊ぶ\",\"비싸게 플레이\",\"Играй дорогими картами.\",\"اللعب بمقابل باهظ!\",\"Use itens caros.\",\"使用高圣水消耗卡牌！\",\"使用高聖水消耗卡牌！\",\"بازی گرون!\",\"Main Mahal!\",\"Main Mahal!\"\n\"TID_CAST_QUEST_RARITY\",\"Play <rarity>\",\"Jouez <rarity>\",\"Spiel <rarity>\",\"Juega <rarity>.\",\"Gioca <rarity>\",\"Speel <rarity>\",\"Spill <rarity>\",\"<rarity> Oyna\",\"<rarity>で遊ぶ\",\"<rarity> 플레이\",\"Играй картами с редкостью «<rarity>».\",\"استخدام <rarity>\",\"Use <rarity>.\",\"使用<rarity>卡\",\"使用<rarity>卡\",\"<rarity> بازی کن\",\"Main <rarity>\",\"Main <rarity>\"\n\"TID_CAST_QUEST_SINGLE\",\"Play <spell>\",\"Lancez <spell>\",\"Spiel <spell>\",\"Juega <spell>.\",\"Gioca <spell>\",\"Speel <spell>\",\"Spill <spell>\",\"<spell> Oyna\",\"<spell>で遊ぶ\",\"<spell> 플레이\",\"Играй картой «<spell>».\",\"استخدام <spell>\",\"Use <spell>.\",\"使用<spell>\",\"使用<spell>\",\"<spell> بازی کن\",\"Main <spell>\",\"Main <spell>\"\n\"TID_CAST_QUEST_INFO\",\"Play <num> cards\",\"Jouez <num> cartes\",\"Spiel <num> Karten\",\"Juega <num> cartas.\",\"Gioca <num> carte\",\"Speel <num> kaarten\",\"Spill <num> kort\",\"<num> Kart Oyna\",\"<num>枚のカードで遊ぶ\",\"카드 <num>장 사용\",\"Играй несколькими картами (<num>).\",\"استخدام <num> من البطاقات\",\"Use <num> cartas.\",\"使用任意卡牌<num>次\",\"使用任意卡牌<num>次\",\"<num> کارت بازی کن\",\"Main <num> kartu\",\"Main <num> kad\"\n\"TID_CAST_QUEST_SPELL_INFO\",\"Play <num> Spell cards\",\"Jouez <num> cartes de sorts\",\"Spiel <num> Zauberkarten\",\"Juega <num> cartas de hechizo.\",\"Gioca <num> carte incantesimo\",\"Speel <num> spreuken\",\"Spill <num> formelkort\",\"<num> Büyü Kartı Oyna\",\"<num>枚の呪文カードで遊ぶ\",\"마법 카드 <num>장 사용\",\"Играй картами заклинаний (<num>).\",\"استخدام <num> من بطاقات التعويذات\",\"Use <num> cartas de feitiço.\",\"使用法术卡牌<num>次\",\"使用法術卡牌<num>次\",\"<num> کارت طلسم بازی کن\",\"Main <num> kartu Mantra\",\"Main <num> kad Sihir\"\n\"TID_CAST_QUEST_TROOP_INFO\",\"Play <num> Troop cards\",\"Jouez <num> cartes de troupes\",\"Spiel <num> Truppenkarten\",\"Juega <num> cartas de tropa.\",\"Gioca <num> carte truppa\",\"Speel <num> eenheden\",\"Spill <num> troppekort\",\"<num> Birlik Kartı Oyna\",\"<num>枚のユニットカードで遊ぶ\",\"유닛 카드 <num>장 사용\",\"Играй картами войск (<num>).\",\"استخدام <num> من بطاقات القوات\",\"Use <num> cartas de tropas.\",\"使用军队卡牌<num>次\",\"使用軍隊卡牌<num>次\",\"<num> کارت نیرو بازی کن\",\"Main <num> kartu Peleton\",\"Main <num> kad Askar\"\n\"TID_CAST_QUEST_BUILDING_INFO\",\"Play <num> Building cards\",\"Jouez <num> cartes de bâtiments\",\"Spiel <num> Gebäudekarten\",\"Juega <num> cartas de estructura.\",\"Gioca <num> carte edificio\",\"Speel <num> gebouwen\",\"Spill <num> bygningskort\",\"<num> Bina Kartı Oyna\",\"<num>枚の建物カードで遊ぶ\",\"건물 카드 <num>장 사용\",\"Играй картами зданий (<num>).\",\"استخدام <num> من بطاقات المباني\",\"Use <num> cartas de construção.\",\"使用建筑卡牌<num>次\",\"使用建築卡牌<num>次\",\"<num> کارت ساختمون بازی کن\",\"Main <num> kartu Bangunan\",\"Main <num> kad Bangunan\"\n\"TID_CAST_QUEST_MAX_ELIXIR_INFO\",\"Play <num> cards that cost less than <max_elixir> elixir\",\"Jouez <num> cartes à moins de <max_elixir> doses d'élixir\",\"Spiel <num> Karten, die weniger als <max_elixir> Elixier kosten\",\"Juega <num> cartas que cuesten menos de <max_elixir> de elixir.\",\"Gioca <num> carte che costino meno <max_elixir> elisir\",\"Speel <num> kaarten die minder dan <max_elixir> elixir kosten\",\"Spill <num> kort som koster under <max_elixir> eliksir\",\"<max_elixir> iksirden daha az maliyetli <num> kart oyna\",\"エリクサーコストが<max_elixir>以下のカード<num>枚で遊ぶ\",\"엘릭서 <max_elixir>이하의 카드 <num>장 사용\",\"Играй <num> картами, которые стоят меньше <max_elixir> капель эликсира.\",\"استخدام<num> من البطاقات التي تكلف أقل من <max_elixir> إكسير\",\"Use <num> cartas que custem menos do que <max_elixir> de elixir.\",\"使用圣水消耗低于<max_elixir>的卡牌<num>次\",\"使用聖水消耗低於<max_elixir>的卡牌<num>次\",\"<num> کارتی بازی کن که ارزشش کمتر از <max_elixir> اکسیر باشه\",\"Main <num> kartu berbiaya kurang dari <max_elixir> eliksir\",\"Main <num> kad yang berkos kurang daripada <max_elixir> eliksir\"\n\"TID_CAST_QUEST_MIN_ELIXIR_INFO\",\"Play <num> cards that cost more than <min_elixir> elixir\",\"Jouez <num> cartes à plus de <min_elixir> doses d'élixir\",\"Spiel <num> Karten, die mehr als <min_elixir> Elixier kosten\",\"Juega <num> cartas que cuesten más de <min_elixir> de elixir.\",\"Gioca <num> carte che costino più di <min_elixir> elisir\",\"Speel <num> kaarten die meer dan <min_elixir> elixir kosten\",\"Spill <num> kort som koster mer enn <min_elixir> eliksir\",\"<min_elixir> iksirden daha yüksek maliyetli <num> kart oyna\",\"エリクサーコストが<min_elixir>以上のカード<num>枚で遊ぶ\",\"엘릭서 <min_elixir>이상의 카드 <num>장 사용\",\"Играй <num> картами, которые стоят больше <min_elixir> капель эликсира.\",\"استخدام <num> من البطاقات التي تكلف أكثر من <min_elixir> إكسير\",\"Use <num> cartas que custem mais do que <min_elixir> de elixir.\",\"使用圣水消耗高于<min_elixir>的卡牌<num>次\",\"使用聖水消耗高於<min_elixir>的卡牌<num>次\",\"<num> کارتی بازی کن که ارزشش بیشتر از <min_elixir> اکسیر باشه\",\"Main <num> kartu berbiaya lebih dari <min_elixir> eliksir\",\"Main <num> kad yang berkos lebih daripada <min_elixir> eliksir\"\n\"TID_CAST_QUEST_RARITY_INFO\",\"Play <num> cards with <rarity> Rarity\",\"Jouez <num> cartes de rareté <rarity>\",\"Spiel <num> Karten mit Seltenheit \\q<rarity>\\q\",\"Juega <num> cartas de calidad <rarity>.\",\"Gioca <num> carte di rarità <rarity>\",\"Speel <num> kaarten met zeldzaamheid: <rarity>\",\"Spill <num> kort med forekomsten <rarity>\",\"<num> <rarity> Kart Oyna\",\"レア度<rarity>のカード<num>枚で遊ぶ\",\"희귀도가 <rarity>인 카드 <num>장 사용\",\"Играй картами (<num>) с редкостью «<rarity>».\",\"استخدام <num> من البطاقات ذات الندرة <rarity>\",\"Use <num> cartas de nível de raridade <rarity>.\",\"使用<rarity>卡<num>次\",\"使用<rarity>卡<num>次\",\"<num> کارت با <rarity> کمیابی بازی کن!\",\"Main <num> kartu dengan Kelangkaan <rarity>\",\"Main <num> kad dengan Kekerapan <rarity>\"\n\"TID_CAST_QUEST_SINGLE_INFO\",\"Play <num> <spell> times\",\"Lancez <spell> <num> fois\",\"Spiel <spell> <num>-mal\",\"Juega <spell> <num> veces.\",\"Gioca <spell> <num> volte\",\"Speel <num> keer <spell>\",\"Spill <spell> <num> ganger\",\"<num> kez <spell> Oyna\",\"<num>枚の<spell>で遊ぶ\",\"<spell> 카드 <num>번 사용\",\"Играй заклинанием «<spell>» <num> р.\",\"استخدام <spell> <num> من المرات\",\"Use <spell> <num> vezes.\",\"使用<spell><num>次\",\"使用<spell><num>次\",\"<num> <spell> بار بازی کن\",\"Main <spell> <num> kali\",\"Main<spell> <num> kali\"\n\"TID_ROYALE_EVENT_ENDED\",\"Local event <name> has ended!\",\"L'événement local <name> est terminé !\",\"Das lokale Ereignis \\q<name>\\q ist zu Ende!\",\"¡El evento local <name> ha terminado!\",\"L'evento locale <name> è terminato!\",\"Lokaal evenement <name> is afgelopen!\",\"Den lokale hendelsen <name> er over!\",\"Yerel <name> etkinliği sona erdi!\",\"ローカルイベント<name>が終了しました！\",\"<name> 지역 이벤트가 종료되었습니다!\",\"Местное событие «<name>» окончено!\",\"انتهى حدث <name> المحلي!\",\"O evento local <name> terminou!\",\"本地活动<name>已结束！\",\"本地活動<name>已結束！\",\"رویداد محلی <name> تموم شده!\",\"Acara lokal <name> telah berakhir!\",\"Acara setempat <name> telah tamat!\"\n\"TID_ROYALE_EVENT_STARTED\",\"Local event <name> has started!\",\"L'événement local <name> a commencé !\",\"Das lokale Ereignis \\q<name>\\q hat begonnen!\",\"¡El evento local <name> ha comenzado!\",\"L'evento locale <name> è iniziato!\",\"Lokaal evenement <name> is begonnen!\",\"Den lokale hendelsen <name> har begynt!\",\"Yerel <name> etkinliği başladı!\",\"ローカルイベント<name>が始まりました！\",\"<name> 지역 이벤트가 시작되었습니다!\",\"Местное событие «<name>» началось!\",\"بدأ حدث <name> المحلي!\",\"O evento local <name> começou!\",\"本地活动<name>开始啦！\",\"本地活動<name>開始啦！\",\"رویداد محلی <name> شروع شده!\",\"Acara lokal <name> telah dimulai!\",\"Acara setempat <name> sudah bermula!\"\n\"TID_INVITE_FRIEND\",\"Invite Friend\",\"Inviter un ami\",\"Freund einladen\",\"Invitar a un amigo\",\"Invita un amico\",\"Vriend uitnodigen\",\"Inviter venn\",\"Arkadaşını Davet Et\",\"フレンドを招待\",\"친구 초대\",\"Пригласи друга\",\"دعوة صديق\",\"Convidar amigo\",\"邀请好友\",\"邀請好友\",\"دعوت دوست\",\"Undang Teman\",\"Jemput Rakan\"\n\"TID_INVITE_FRIEND_LINE\",\"Invite LINE Friend\",\"Inviter un ami LINE\",\"LINE-Freund einladen\",\"Invitar a un contacto de LINE\",\"Invita un amico di LINE\",\"LINE-vriend uitnodigen\",\"Inviter LINE-venn\",\"LINE Arkadaşını Davet Et\",\"LINEフレンドを招待\",\"LINE 친구 초대\",\"Пригласи друга из LINE\",\"دعوة صديق عبر LINE\",\"Convidar amigo da fila\",\"邀请LINE好友\",\"邀請LINE好友\",\"دعوت دوست LINE\",\"Undang Teman LINE\",\"Jemput Rakan LINE\"\n\"TID_INVITE_FRIEND_TO_CLAN\",\"Invite to Clan\",\"Inviter à rejoindre le clan\",\"In Clan einladen\",\"Invitar al clan\",\"Invita nel clan\",\"Uitnodigen voor clan\",\"Inviter til klan\",\"Klana Davet Et\",\"クランに招待\",\"클랜에 초대\",\"Пригласить в клан\",\"دعوة إلى القبيلة\",\"Convidar para o clã\",\"邀请加入部落\",\"邀請加入部落\",\"دعوت به قبیله\",\"Undang ke Klan\",\"Jemput ke Klan\"\n\"TID_SPELL_TEASER\",\"Spell coming soon!\",\"Sort bientôt disponible !\",\"Zauber demnächst verfügbar!\",\"Próximamente: ¡Un hechizo!\",\"Incantesimo in arrivo!\",\"Spreuk wordt binnenkort verwacht!\",\"Formel kommer snart!\",\"Büyü çok yakında geliyor!\",\"呪文が近日登場！\",\"마법 곧 출시!\",\"Скоро: новое заклинание!\",\"ستصدر التعويذة قريبًا!\",\"Feitiço chegando em breve!\",\"卡牌即将揭晓！\",\"卡牌即將揭曉！\",\"طلسم به زودی از راه می‌رسه!\",\"Mantra segera hadir!\",\"Sihir akan datang!\"\n\"TID_WHAT_IS_A_2v2_BATTLE\",\"What is a 2v2 Battle?\",\"Qu'est-ce qu'un combat 2c2 ?\",\"Was ist ein Duokampf?\",\"¿Qué es una batalla 2c2?\",\"Cos'è una battaglia 2 vs 2?\",\"Wat is een 2-tegen-2-gevecht?\",\"Hva er en 2v2-kamp?\",\"2'ye 2 Savaş nedir?\",\"協力バトルとは何ですか？\",\"2v2 전투가 뭔가요?\",\"Что такое бой 2 на 2?\",\"ما هي معركة 2 ضد 2؟\",\"O que é uma batalha 2v2?\",\"什么是2v2对战？\",\"什麼是2v2對戰？\",\"نبرد 2 درمقابل 2 چیه؟\",\"Apa itu Pertempuran 2v2?\",\"Apa itu Pertempuran 2 lwn 2?\"\n\"TID_2V2_BATTLE_AS_TEAM\",\"Battle for Chests as a Team!\",\"Combattez en équipe pour obtenir des coffres !\",\"Kämpft als Team um Truhen!\",\"¡Lucha en equipo para llevarte cofres!\",\"Collaborate per ottenere dei bauli!\",\"Vecht voor kisten als een team!\",\"Kjemp om kister som et lag!\",\"Sandık kazanmak için Takım halinde savaş!\",\"チームで宝箱を勝ち取りましょう！\",\"팀으로 상자를 두고 싸워 보세요!\",\"Сражайтесь за сундуки как команда!\",\"قاتلوا كفريق للفوز بالصناديق!\",\"Lute em equipe para ganhar baús!\",\"组队对战，赢取宝箱！\",\"組隊對戰，贏得寶箱！\",\"در قالب تیمی برای دریافت صندوق‌ها نبرد کن!\",\"Pertempuran demi Peti sebagai Tim!\",\"Menangi peti sebagai satu Pasukan!\"\n\"TID_2V2_TEAM_BATTLE_EXPLAINED\",\"Collect chests with your friends or another player at your level - without the risk of losing Trophies!\",\"Récupérez des coffres avec un ami ou un autre joueur de votre niveau sans risquer de perdre des trophées !\",\"Gewinne zusammen mit Freunden oder Spielern auf deinem Level Truhen ohne das Risiko, Trophäen zu verlieren!\",\"Consigue cofres con tus amigos o con otro jugador de tu nivel sin arriesgarte a perder trofeos.\",\"Ottieni bauli con i tuoi amici o con un altro giocatore al tuo livello, senza il rischio di perdere trofei!\",\"Verzamel kisten met je vrienden of een andere speler van jouw level, zonder dat je het gevaar loopt trofeeën te verliezen.\",\"Samle kister sammen med venner eller en annen spiller på ditt nivå, uten å risikere tap av trofeer!\",\"Kupa kaybetme riski olmadan arkadaşın ya da kendi seviyende bir oyuncuyla birlikte sandık topla!\",\"トロフィーを失う心配はありません！ お友達や同レベルの他のプレイヤーと一緒に、宝箱を集めましょう！\",\"친구나 같은 레벨의 플레이어와 상자를 모으세요! 트로피를 잃을 위험이 없습니다!\",\"Собирай сундуки с друзьями или другим игроком своего уровня, не опасаясь потерять трофеи!\",\"اجمع الصناديق مع أصدقائك أو مع لاعب آخر في مستواك - بدون المخاطرة بخسارة الكؤوس!\",\"Colete baús com um amigo ou outro jogador do seu nível sem o risco de perder troféus!\",\"与您的好友或同等级的其他玩家组队，一起赢取宝箱 — 即便战败也不会损失奖杯！\",\"與您的好友或同等級的其他玩家組隊，一起贏得寶箱 — 即便戰敗也不會損失獎盃！\",\"با دوستانت یا یک بازیکن همسطح خودت، صندوق جمع کن؛ بدون خطر از دست دادن جام!\",\"Ambil peti bersama teman atau pemain lain di levelmu - tanpa risiko kehilangan Trofi!\",\"Kumpul peti bersama rakan anda atau pemain lain pada tahap anda - tanpa risiko kehilangan Trofi!\"\n\"TID_2V2_FAIR_PLAY_ALL_LEVEL\",\"Fair Play for All Levels!\",\"Combat équitable à tous les niveaux !\",\"Fair Play für alle Level!\",\"¡Juego limpio en todos los niveles!\",\"Fair play a ogni livello!\",\"Een eerlijk spel op alle levels!\",\"Rettferdighet på alle nivåer!\",\"Tüm Seviyeler için Adil Koşullar!\",\"レベルに関わりなくフェアに戦いましょう！\",\"모든 레벨에서 페어플레이!\",\"Справедливая игра на всех уровнях!\",\"اللعب النزيه في كل المستويات!\",\"Jogo justo para todos os níveis!\",\"各等级玩家都能参与的公平对战！\",\"各等級玩家都能參與的公平對戰！\",\"بازی عادلانه برای همه سطوح!\",\"Permainan Adil untuk Semua Level!\",\"Permainan Adil untuk semua tahap!\"\n\"TID_2V2_FAIR_PLAY_EXPLAINED\",\"Your opponents are selected based on your team's skill level. Your King Level is adjusted to the average between you and your teammate.\",\"Vos adversaires sont choisis en fonction du niveau de compétence de votre équipe. Le niveau de votre roi est déterminé en fonction de la moyenne entre vous et votre coéquipier.\",\"Eure Gegner werden nach dem Fähigkeitslevel eures Teams ausgesucht. Der Durchschnitt eurer Königslevel ergibt den Königslevel eures Teams.\",\"Se te emparejará con rivales que tengan el mismo nivel de destreza que tu equipo. El nivel de la torre del rey será la media entre el de tu compañero y el tuyo.\",\"I tuoi avversari sono selezionati in base al livello di abilità della tua squadra. Il livello re è una media del tuo e di quello del tuo compagno di squadra.\",\"Je tegenstanders worden gekozen op basis van het vaardigheidslevel van je team. Je koningslevel is aangepast aan het gemiddelde tussen jou en je teamgenoot.\",\"Motstanderne dine velges med utgangspunkt i ferdighetsnivået til laget ditt. Kongenivået ditt justeres til gjennomsnittet av ditt og lagkameratens nivå.\",\"Rakiplerin takımının beceri seviyesine göre seçilir. Kral Seviyen sen ve takım arkadaşlarının ortalamasına göre belirlenir.\",\"対戦相手は、あなたのチームのスキルレベルに応じて決まります。キングレベルは、あなたとチームメイトの平均値に調整されます。\",\"상대방은 내 팀의 스킬 레벨에 따라 정해집니다. 왕 레벨은 나와 내 팀원의 평균 왕 레벨로 조정됩니다.\",\"Противники подбираются в зависимости от уровня мастерства вашей команды. Уровень короля команды примерно равен среднему значению уровня твоего короля и уровня короля союзника.\",\"يتم تحديد خصومك بناءً على مستوى مهارات فريقك. يتم تعديل مستوى ملكك إلى متوسط مستواك ومستوى زملائك في الفريق.\",\"Seus adversários são escolhidos com base no nível de habilidade da sua equipe. O nível do seu Rei é ajustado para a média entre a equipe.\",\"系统将会根据您队伍的技术水平来匹配对手。您的国王塔等级将会根据您和您队友国王塔的平均等级进行调整。\",\"系統將會根據您隊伍的技術水準來配對對手。您的國王塔等級將會根據您和您隊友國王塔的平均等級進行調整。\",\"حریفات بر اساس سطح مهارت تیمت انتخاب می‌شن. سطح پادشاهت بر مبنای قدرت میانگین تو و هم‌تیمی‌ات تنظیم می‌شه.\",\"Lawanmu dipilih berdasarkan level keterampilan tim-mu. Level Rajamu disesuaikan dengan rata-rata antara kamu dan rekan tim.\",\"Pihak lawan dipilih berdasarkan tahap kemahiran pasukan anda. Tahap Raja anda disesuaikan kepada purata antara anda dan rakan sepasukan anda.\"\n\"TID_2V2_BATTLE_WITH_YOUR_CARDS\",\"Battle With Your Own Cards!\",\"Combattez avec vos propres cartes !\",\"Kämpfe mit deinen eigenen Karten!\",\"¡Lucha con tus propias cartas!\",\"Combatti con le tue carte!\",\"Vecht met je eigen kaarten!\",\"Spill med dine egne kort!\",\"Kendi Kartlarınla Savaş!\",\"自分のカードで戦いましょう！\",\"내 카드로 전투!\",\"Сражайтесь своими собственными картами.\",\"قاتل باستخدام بطاقاتك الخاصة!\",\"Lute com as suas próprias cartas!\",\"使用您自己的卡组进行对战！\",\"使用您自己的牌組進行對戰！\",\"با کارت‌های خودت نبرد کن!\",\"Bertempur dengan Kartumu Sendiri!\",\"Bertempur Menggunakan Kad Anda Sendiri!\"\n\"TID_2V2_BATTLE_CARDS_EXPLAINED\",\"Use your own card collection to create the best 2v2 decks you can! Matchmaking ensures that you're playing at the right skill level for you.\",\"Utilisez votre propre collection de cartes pour créer le meilleur jeu possible pour les combats 2c2. La recherche d'adversaire vous permet d'affronter des joueurs dont le niveau de compétence est proche du vôtre.\",\"Erstelle mit deiner eigenen Kartensammlung die bestmöglichen Duokampf-Decks! Die Spielersuche sorgt dafür, dass du auf dem für dich angemessenen Fähigkeitslevel spielst.\",\"¡Usa tu propia colección de cartas para crear las mejores barajas de 2c2 que puedas! El sistema de emparejamiento encontrará rivales con el nivel de destreza adecuado.\",\"Usa la tua collezione di carte per creare il miglior mazzo da 2 vs 2 possibile! Il matchmaking garantisce che sarà uno scontro adatto al tuo livello di abilità.\",\"Gebruik je eigen kaartverzameling om de allerbeste 2-tegen-2-gevechtskaarten samen te stellen. De koppeling zorgt ervoor dat je op je juiste vaardigheidslevel speelt.\",\"Bruk din egen kortsamling til å danne så sterke 2v2-kampkort som mulig! Matchmakingen sørger for at du spiller på et passende ferdighetsnivå.\",\"Kendi kart koleksiyonunu kullanarak en iyi 2'ye 2 desteni oluştur! Eşleştirme sistemi uygun bir seviyede oynamanı sağlar.\",\"自分のカードコレクションを使って、最高の協力バトルデッキを作りあげましょう！ マッチメイクでは、あなたのスキルレベルに合った対戦相手が選ばれます。\",\"자신의 카드 컬렉션을 사용해 최고의 2v2 덱을 만들어 보세요! 매치메이킹은 자신에게 맞는 스킬 레벨의 상대방과 플레이할 수 있도록 해줍니다.\",\"Используй свои карты для создания лучших колод для боев 2 на 2! Соперники подбираются в зависимости от твоего уровня мастерства.\",\"استخدم مجموعة بطاقاتك لتكوين أفضل مجموعات 2 ضد 2 يمكنك الحصول عليها! يضمن نظام المطابقة أنك تلعب بمستوى المهارة المناسب لك.\",\"Use sua coleção de cartas para criar os melhores decks possíveis para batalhas 2v2! O sistema de batalhas garante que você jogará contra alguém do mesmo nível.\",\"使用您牌库中的卡牌搭配出最佳2v2出战卡组！系统会为您匹配与您旗鼓相当的对手。\",\"使用您牌庫中的卡牌搭配出最佳2v2出戰牌組！系統會為您配對與您旗鼓相當的對手。\",\"از مجموعه کارت خودت استفاده کن تا بهترین دست‌های 2 در مقابل 2 رو ایجاد کنی! حریف‌یابی، تو رو در مقابل کسی قرار می‌ده که سطح مهارتش برای تو مناسبه.\",\"Gunakan koleksi kartumu sendiri untuk menciptakan dek 2v2 terbaik sebisamu! Pencarian lawan memastikan kamu bermain di level keterampilan yang cocok untukmu.\",\"Gunakan koleksi kad anda sendiri untuk mencipta dek 2 lwn 2 terbaik yang boleh! Padanan memastikan anda bermain pada tahap kemahiran yang sesuai untuk anda.\"\n\"TID_SHARE_TO_CLAN\",\"Share to Clan\",\"Partager avec le clan\",\"Im Clan teilen\",\"Compartir con el clan\",\"Condividi nel clan\",\"Delen met clan\",\"Del med klan\",\"Klanla Paylaş\",\"クランと共有\",\"클랜에 공유\",\"Поделиться с кланом\",\"مشاركة مع القبيلة\",\"Compartilhar com o clã\",\"分享至部落\",\"分享至部落\",\"اشتراک‌گذاری در قبیله\",\"Bagikan ke Klan\",\"Kongsi kepada Klan\"\n\"TID_CHINA_CHEST_POPUP_TITLE\",\"Gold and Gift\",\"Or et cadeau\",\"Gold und Geschenk\",\"Oro y regalo\",\"Oro e dono\",\"Goud en cadeaus\",\"Gull og gave\",\"Altın ve Hediye\",\"ゴールドとギフト\",\"골드 및 선물\",\"Золото и подарок\",\"الذهب والهدايا\",\"Ouro e brinde\",\"金币和礼物\",\"金幣和禮物\",\"طلا و هدیه\",\"Emas dan Hadiah\",\"Emas dan Hadiah\"\n\"TID_2v2_BATTLE_BUTTON\",\"Join\\n2v2\",\"Rejoindre\\n2c2\",\"Duokampf\\nbeitreten\",\"Unirse\\na 2c2\",\"Unisciti alla\\n2 vs 2!\",\"Meedoen\",\"Bli med i\\n2v2\",\"2'ye 2'ye\\nkatıl\",\"協力バトルに\\n参加\",\"2v2\\n참가\",\"Вступить\",\"انضم لـ\\n2 ضد 2!\",\"Entrar para a\\n2v2!\",\"加入\\n2v2\",\"加入\\n2v2\",\"به نبرد 2 در مقابل 2\\nبپیوند\",\"Ikut\\n2v2!\",\"Sertai\\n2 lwn 2\"\n\"TID_ALLIANCE_DONATION_UNLOCKS\",\"Donation unlocks at level <level>\",\"Dons débloqués au niveau <level>\",\"Spenden werden ab Level <level> freigeschaltet\",\"Las donaciones se desbloquean en el nivel <level>.\",\"Le donazioni si sbloccano al livello <level>\",\"Doneren wordt ontgrendeld op level <level>.\",\"Donasjoner låses opp på nivå <level>\",\"Bağışın kilidi <level>. seviyede açılır\",\"寄付はレベル<level>でアンロックされます\",\"지원은 <level>레벨에서 해제됩니다.\",\"Жертвовать карты можно с <level>-го уровня\",\"يُفتح التبرع في المستوى <level>\",\"Doações desbloqueiam no nível <level>.\",\"捐赠卡牌功能在<level>级解锁\",\"捐贈卡牌功能在<level>級解鎖\",\"اهدا در سطح <level> بازگشایی می‌شه\",\"Donasi terbuka di level <level>\",\"Pendermaan dibuka kunci pada tahap <level>\"\n\"TID_ALLIANCE_REQUESTING_UNLOCKS\",\"Requesting cards unlocks at level <level>\",\"Demandes de cartes débloquées au niveau <level>\",\"Karten kannst du ab Level <level> anfordern\",\"Puedes pedir cartas a partir del nivel <level>.\",\"La richiesta di carte si sblocca al livello <level>\",\"Om kaarten vragen wordt ontgrendeld op level <level>.\",\"Forespørsler om kort låses opp på nivå <level>\",\"Kart isteğinin kilidi <level>. seviyede açılır\",\"カードのリクエストはレベル<level>でアンロックされます\",\"카드 요청은 <level>레벨에서 해제됩니다.\",\"Запрашивать карты можно с <level>-го уровня\",\"يُفتح طلب البطاقات في المستوى <level>\",\"Solicitações de cartas desbloqueiam no nível <level>.\",\"请求捐赠功能在<level>级解锁\",\"請求捐贈功能在<level>級解鎖\",\"درخواست کارت در سطح <level> بازگشایی می‌شه\",\"Meminta kartu terbuka di level <level>\",\"Permintaan kad dibuka kunci pada tahap <level>\"\n\"TID_CLANMATE_ONLINE\",\"Members online: <count>\",\"Membres en ligne : <count>\",\"Mitglieder online: <count>\",\"Miembros en línea: <count>\",\"Membri online: <count>\",\"Leden online: <count>\",\"Påloggede medlemmer: <count>\",\"Çevrimiçi üyeler: <count>\",\"オンラインのメンバー： <count>\",\"접속 중인 클랜원: <count>\",\"Участников в сети: <count>\",\"الأعضاء المتصلين بالإنترنت: <count>\",\"Membros do clã on-line: <count>\",\"在线部落成员：<count>\",\"線上部落成員：<count>\",\"اعضای آنلاین: <count>\",\"Anggota online: <count>\",\"Ahli dalam talian: <count>\"\n\"TID_INVITE_COPIED_TO_CLIPBOARD\",\"Invite link copied to clipboard!\",\"Lien d'invitation copié dans le presse-papiers !\",\"Einladungslink in die Zwischenablage kopiert!\",\"Enlace de invitación copiado al portapapeles.\",\"Link di invito copiato negli appunti!\",\"Uitnodigingslink naar klembord gekopieerd.\",\"Invitasjonslenke kopiert til utklippstavlen!\",\"Davet bağlantısı panoya kopyalandı!\",\"招待リンクをクリップボードにコピーしました！\",\"초대 링크가 클립보드에 복사되었습니다!\",\"Ссылка с приглашением скопирована в буфер обмена!\",\"تم نسخ رابط الدعوة إلى الحافظة!\",\"Link do convite copiado para a área de transferência.\",\"邀请链接已复制到剪贴板！\",\"邀請連結已複製到剪貼板！\",\"لینک دعوت روی کلیپ‌برد کپی شد!\",\"Tautan undangan tersalin ke papan klip!\",\"Pautan jemputan disalin ke papan keratan!\"\n\"TID_INVITE_COPIED_TO_CLIPBOARD_CONFIRM\",\"Ok\",\"OK\",\"O. K.\",\"Vale\",\"Ok\",\"OK\",\"OK\",\"Tamam\",\"OK\",\"확인\",\"ОК\",\"موافق\",\"OK\",\"确定\",\"確定\",\"تایید\",\"Oke\",\"Okey\"\n\"TID_CHANCE\",\"Chance!\",\"Chance !\",\"Chance!\",\"probabilidades\",\"Chance!\",\"Kans!\",\"Sjanse!\",\"Şans!\",\"チャンス！\",\"확률!\",\"шанс!\",\"فرصة!\",\"Sorte!\",\"几率！\",\"機率！\",\"شانش!\",\"Peluang!\",\"Peluang!\"\n\"TID_CONFIRM_CHANGE_CLAN_TITLE\",\"Change Clan?\",\"Changer de clan ?\",\"Clan wechseln?\",\"Cambiar clan\",\"Vuoi cambiare clan?\",\"Van clan veranderen?\",\"Bytte klan?\",\"Klan değiştirilsin mi?\",\"クランを変えますか？\",\"클랜을 변경하시겠습니까?\",\"Сменить клан?\",\"تغيير القبيلة؟\",\"Mudar de clã?\",\"更换部落？\",\"更換部落？\",\"تغییر قبیله؟\",\"Ganti Klan?\",\"Tukar Klan?\"\n\"TID_CONFIRM_CHANGE_CLAN\",\"You are already in a Clan! Do you really want to change Clan?\",\"Vous faites déjà partie d'un clan ! Voulez-vous vraiment changer de clan ?\",\"Du bist bereits in einem Clan! Willst du wirklich zu einem anderen Clan wechseln?\",\"¡Ya perteneces a un clan! ¿Seguro que quieres cambiar de clan?\",\"Fai già parte di un clan! Vuoi davvero cambiarlo?\",\"Je zit al bij een clan! Wil je echt van clan veranderen?\",\"Du er allerede med i en klan! Er du sikker på at du vil bytte klan?\",\"Zaten bir Klandasın! Klanı değiştirmek istediğinden emin misin?\",\"すでにクランに所属しています！ クランを変更してもよろしいですか？\",\"이미 다른 클랜에 가입했습니다! 클랜을 변경하시겠습니까?\",\"Ты уже в клане! Уверен, что хочешь сменить клан?\",\"أنت موجود في قبيلة بالفعل! أتريد فعلًا تغيير القبيلة؟\",\"Você já está em um clã. Deseja mesmo mudar?\",\"您已经加入了一个部落！确定要更换部落吗？\",\"您已經加入了一個部落！確定要更換部落嗎？\",\"قبلاً وارد یک قبیله شدی! واقعا میخوای قبیله‌ات رو تغییر بدی؟\",\"Kamu sudah ikut satu Klan! Benar-benar mau berganti Klan?\",\"Anda sudah berada dalam Klan! Adakah anda pasti anda ingin menukar Klan?\"\n\"TID_CONFIRM_CLAN_FULL_TITLE\",\"Clan Full!\",\"Ce clan est complet !\",\"Clan ist voll!\",\"¡El clan está lleno!\",\"Clan al completo!\",\"De clan is vol!\",\"Klanen er full!\",\"Klan Dolu!\",\"クランが満員です！\",\"클랜이 가득 찼습니다!\",\"Клан переполнен!\",\"القبيلة ممتلئة!\",\"Clã cheio!\",\"部落已满！\",\"部落已滿！\",\"قبیله پر است!\",\"Klan Penuh!\",\"Klan penuh!\"\n\"TID_CONFIRM_CLAN_FULL\",\"Unable to join <clan>. The Clan is full!\",\"Impossible de rejoindre <clan>. Ce clan est complet !\",\"Du kannst <clan> nicht beitreten. Der Clan ist voll!\",\"No es posible unirse a <clan>. ¡El clan está lleno!\",\"Impossibile unirsi a <clan>. Il clan è al completo!\",\"Je kunt je niet aansluiten bij <clan>. De clan is vol.\",\"Kan ikke bli med i <clan>. Klanen er full!\",\"<clan> klanına katılamadın. Klan dolu!\",\"<clan>に参加できません。このクランは満員です！\",\"<clan> 클랜에 가입할 수 없습니다. 인원이 다 찼습니다!\",\"Невозможно вступить в клан <clan> — клан переполнен.\",\"تعذر الانضمام إلى <clan>. القبيلة ممتلئة!\",\"O clã <clan> está cheio e não é possível entrar nele.\",\"无法加入部落<clan>。该部落已满！\",\"無法加入部落<clan>。該部落已滿！\",\"نمیشه به این قبیله ملحق شد <clan>. قبیله پر است!\",\"Tidak dapat bergabung dengan <clan>. Klan penuh!\",\"Tidak dapat menyertai <clan>. Klan penuh!\"\n\"TID_DROP_RATE_AT_LEAST_ONE_IN_X\",\"At least 1 in every <num> chests.\",\"Au moins 1 tous les <num> coffres.\",\"Mindestens 1 Exemplar in <num> Truhen.\",\"Al menos una cada <num> cofres.\",\"Almeno 1 ogni <num> bauli.\",\"Ten minste één in elke <num> kisten.\",\"Minst 1 i hver <num>. kiste.\",\"Her <num> sandıkta en az 1 adet.\",\"<num>個の宝箱に最低1枚入っています。\",\"상자 <num>개마다 최소 1장\",\"Как минимум 1 в каждых <num> сундуках.\",\"على الأقل 1 في كل <num> من الصناديق.\",\"Pelo menos 1 em cada <num> baús.\",\"每<num>个宝箱中至少包含1张。\",\"每<num>個寶箱中至少包含1張。\",\"حداقل یکی در هر <num> صندوق.\",\"Setidaknya 1 per <num> peti.\",\"Sekurang-kurangnya 1 dalam setiap <num> peti.\"\n\"TID_DROP_RATE_AT_LEAST_EVERY\",\"At least x<num> in every chest.\",\"Au moins x<num> dans tous les coffres.\",\"Mindestens <num>x in jeder Truhe.\",\"Al menos <num> en cada cofre.\",\"Almeno <num> in ogni baule.\",\"Ten minste <num>x in elke kist.\",\"Minst <num> i hver kiste.\",\"Her sandıkta en az <num> adet.\",\"どの宝箱にも必ず<num>枚は入っています。\",\"모든 상자에 최소 <num>장\",\"Не менее <num> в каждом сундуке.\",\"x<num> على الأقل في كل صندوق.\",\"Pelo menos <num>x em cada baú.\",\"每个宝箱中至少包含<num>张。\",\"每個寶箱中至少包含<num>張。\",\"حداقل x<num> در هر صندوق.\",\"Setidaknya <num>x di setiap peti.\",\"Sekurang-kurangnya x<num> dalam setiap peti.\"\n\"TID_BONUS_CHANCE\",\"Bonus Chance!\",\"Bonus chance !\",\"Bonuschance!\",\"Probabilidades extras\",\"Chance extra!\",\"Bonuskans!\",\"Bonussjanse!\",\"Bonus Şans!\",\"ボーナスチャンス！\",\"보너스 확률!\",\"Доступен бонус!\",\"فرصة للحصول على مكافأة!\",\"Chance de bônus!\",\"额外几率！\",\"額外機率！\",\"پاداش شانس!\",\"Peluang Bonus!\",\"Peluang Bonus!\"\n\"TID_TRIPLE_ELIXIR\",\"Triple Elixir Battle\",\"Combat triple élixir\",\"Dreifachelixier-Kampf\",\"Batalla de triple elixir\",\"Battaglia triplo elisir\",\"Driedubbel-elixirgevecht\",\"Trippel eliksir-kamp\",\"Üç Kat İksirli Savaş\",\"トリプルエリクサーバトル\",\"트리플 엘릭서 전투\",\"Бой с тройным эликсиром\",\"معركة 3 أضعاف الإكسير\",\"Batalha do elixir triplo\",\"三倍圣水对战\",\"三倍聖水對戰\",\"نبرد اکسیر سه برابر\",\"Pertempuran Eliksir Lipat Tiga\",\"Pertempuran Eliksir Tiga Kali Ganda\"\n\"TID_RAMP_UP_ELIXIR\",\"Ramp Up Battle\",\"Combat d'accélération\",\"Beschleunigungskampf\",\"Batalla de aumento\",\"Battaglia progressiva\",\"Opvoergevecht\",\"Opptrappingskamp\",\"Artışlı Savaş\",\"強化バトル\",\"램프업 전투에\",\"Усложняющийся бой\",\"معركة متدرّجة\",\"Batalha de reforço\",\"疯狂圣水对战\",\"瘋狂聖水對戰\",\"نبرد افزایشی\",\"Pertempuran Perkuat\",\"Pertempuran Bertingkat\"\n\"TID_CARD_EXCLUSIVE\",\"Exclusive!\",\"Exclusivité !\",\"Exklusiv!\",\"¡Exclusiva!\",\"Esclusiva!\",\"Exclusief!\",\"Eksklusivt!\",\"Özel!\",\"限定！\",\"독점!\",\"Эксклюзив!\",\"حصري!\",\"Exclusivo!\",\"限定专属！\",\"限定專屬！\",\"انحصاری!\",\"Eksklusif!\",\"Eksklusif!\"\n\"TID_CARD_BONUS\",\"BONUS!\",\"BONUS !\",\"BONUS!\",\"¡BONUS!\",\"BONUS!\",\"BONUS!\",\"BONUS!\",\"BONUS!\",\"ボーナス！\",\"보너스!\",\"БОНУС!\",\"مكافأة!\",\"BÔNUS!\",\"奖励！\",\"獎勵！\",\"پاداش!\",\"BONUS!\",\"BONUS!\"\n\"TID_CARD_SUPER_BONUS\",\"SUPER BONUS!\",\"SUPER BONUS !\",\"SUPERBONUS!\",\"¡SUPERBONUS!\",\"SUPER BONUS!\",\"SUPERBONUS!\",\"SUPERBONUS!\",\"SÜPER BONUS!\",\"スーパーボーナス！\",\"슈퍼 보너스!\",\"СУПЕРБОНУС!\",\"مكافأة خارقة!\",\"SUPERBÔNUS!\",\"超级奖励！\",\"超級獎勵！\",\"پاداش بزرگ!\",\"BONUS SUPER!\",\"BONUS SUPER!\"\n\"TID_CARD_MEGA_BONUS\",\"MEGA BONUS!\",\"MÉGA BONUS !\",\"MEGABONUS!\",\"¡MEGABONUS!\",\"MEGA BONUS!\",\"MEGABONUS!\",\"MEGABONUS!\",\"MEGA BONUS!\",\"メガボーナス！\",\"메가 보너스!\",\"МЕГАБОНУС!\",\"مكافأة كبيرة!\",\"MEGABÔNUS!\",\"非凡奖励！\",\"非凡獎勵！\",\"پاداش بزرگ!\",\"BONUS MEGA!\",\"BONUS MEGA!\"\n\"TID_CARD_MAX_BONUS\",\"MAX BONUS!\",\"BONUS MAX. !\",\"MAXIMALBONUS!\",\"¡BONUS MÁXIMO!\",\"BONUS MASSIMO!\",\"MAX. BONUS!\",\"MAKSBONUS!\",\"MAKSİMUM BONUS!\",\"MAXボーナス！\",\"최대 보너스!\",\"МАКСИМАЛЬНЫЙ БОНУС!\",\"مكافأة الحد الأقصى!\",\"BÔNUS MÁX!\",\"终极奖励！\",\"終極獎勵！\",\"پاداش حداکثری!\",\"BONUS MAKS!\",\"BONUS MAKSIMUM!\"\n\"TID_CARD_SHOP_CYCLE_CONDITION\",\"All available cards will cycle through the Shop within a 3 month period. Cards refresh every 24 hours. Legendary Cards appear after reaching Arena 10.\",\"Toutes les cartes débloquées se succèderont au magasin sur un cycle de 3 mois. Les cartes en promo changeront toutes les 24 heures. (Les cartes légendaires feront leur apparition au magasin après l'arène 10.)\",\"Alle freigeschalteten Karten sind innerhalb von 3 Monaten mindestens einmal im Shop erhältlich. Die zum Verkauf stehenden Karten werden alle 24 Stunden aktualisiert. (Legendäre Karten sind erst ab Arena 10 im Shop erhältlich.)\",\"Las cartas desbloqueadas aparecen en la tienda en un plazo de tres meses. Las cartas en oferta se renuevan cada 24 horas. Las cartas legendarias irán apareciendo en la tienda tras la arena 10.\",\"Nell'arco di 3 mesi, tutte le carte che hai sbloccato compariranno nel negozio. Ogni 24 ore verranno offerte nuove carte. Le carte leggendarie appaiono nel negozio solo dall'arena 10.\",\"Alle ontgrendelde kaarten zullen binnen een periode van drie maanden rouleren in de winkel. Kaarten die te koop zijn, worden iedere 24 uur vernieuwd. (Legendarische kaarten rouleren in de winkel alleen vanaf arena 10.)\",\"Alle opplåste kort sirkulerer i butikken i 3 måneder. Det kommer nye kort på salg hver 24. time. (Legendariske kort sirkulerer bare i butikken etter arena 10.)\",\"Kilidi açılan tüm kartlar 3 aylık bir süreçte sırayla Dükkana gelir. İndirimdeki Kartlar her 24 saatte bir yenilenir. (Efsanevi kartlar, 10. Arenadan sonra dükkana gelmeye başlar)\",\"アンロック済みのカードは、3ヵ月以内に必ずショップに登場します。また、ショップに並んでいるカードは24時間ごとに入れ替わります。（ウルトラレアカードはアリーナレベル10以降のショップにのみ登場します）\",\"잠금 해제된 카드들은 상점에서 3개월 주기로 순환합니다. 판매되는 카드는 24시간마다 바뀝니다. (전설 카드는 아레나 10 이후에서만 상점에서 순환합니다.)\",\"Все открытые карты будут меняться в магазине в течение 3 месяцев. Карты, участвующие в распродажах, меняются каждые 24 часа. (Легендарные карты будут меняться в магазине после 10-й арены.)\",\"تمتد دورة عرض كل البطاقات المفتوحة في المتجر على مدار 3 شهور. وتُحدّث البطاقات المعروضة بخصم كل 24 ساعة. (لا تتجدد البطاقات الأسطورية في المتجر إلا بعد الساحة 10)\",\"O ciclo das cartas desbloqueadas na loja é de 3 meses. As ofertas de cartas são atualizadas a cada 24 horas. Cartas lendárias entrarão para o ciclo a partir da Arena 10.\",\"每3个月都将刷新出所有已解锁的卡牌。商店每天24点刷新。（传奇卡仅会在您达到10阶竞技场后出现）\",\"每3個月都將刷新出所有已解鎖的卡牌。商店每天24點刷新。（傳奇卡僅會在您達到10階競技場後出現）\",\"همه کارت‌های باز شده تو دوره 3 ماهه توی فروشگاه گردش دارن. کارت‌های فروشی هر 24 ساعت عوض میشن. (کارت‌های افسانه‌ای فقط بعد از میدان نبرد 10 گردش پیدا می‌کنن)\",\"Semua kartu yang terbuka bersiklus 3 bulan di Toko. Kartu yang diobral akan diperbarui setiap 24 jam. (Kartu Legendaris akan bersiklus hanya setelah Arena 10)\",\"Semua kad yang dibuka kunci akan dikitar di dalam kedai dalam tempoh 3 bulan. Kad yang dijual disegar semula setiap 24 jam. (Kad Legenda hanya akan dikitar di dalam kedai selepas Arena 10)\"\n\"TID_GUARANTEED\",\"Guaranteed\",\"Garanti\",\"Garantiert\",\"Garantizado\",\"Garantito\",\"Gegarandeerd\",\"Garantert\",\"Garantili\",\"確定\",\"보장\",\"Гарантировано\",\"مضمونة\",\"Garantido\",\"保证获得\",\"保證獲得\",\"تضمین‌شده\",\"Dijamin\",\"Terjamin\"\n\"TID_AT_LEAST\",\"At Least!\",\"Au moins !\",\"Mindestens!\",\"al menos\",\"Come minimo!\",\"Minstens!\",\"Minst!\",\"En Az!\",\"最低枚数！\",\"최소!\",\"Не менее\",\"على الأقل!\",\"No mínimo!\",\"至少！\",\"至少！\",\"حداقل!\",\"Setidaknya!\",\"Sekurang-kurangnya!\"\n\"TID_BONUS_GUARANTEED\",\"Guaranteed!\",\"Garanti !\",\"Garantiert!\",\"Garantizado\",\"Garantita!\",\"Gegarandeerd!\",\"Garantert!\",\"Garantili!\",\"確定！\",\"보장!\",\"Гарантировано!\",\"مضمونة!\",\"Garantido!\",\"保证获得！\",\"保證獲得！\",\"تضمین‌شده!\",\"Dijamin!\",\"Terjamin!\"\n\"TID_TUTORIAL_HOME_BATTLE_NAME_1\",\"YOUR FIRST BATTLE\",\"VOTRE PREMIER COMBAT\",\"DEIN ERSTER KAMPF\",\"TU PRIMERA BATALLA\",\"LA TUA PRIMA BATTAGLIA\",\"JE EERSTE GEVECHT\",\"DIN FØRSTE KAMP\",\"İLK SAVAŞIN\",\"はじめてのバトル\",\"내 첫 전투\",\"ТВОЯ ПЕРВАЯ БИТВА\",\"أول معركة لك\",\"SUA PRIMEIRA BATALHA\",\"您的首次对战\",\"您的首次對戰\",\"اولین نبردت\",\"PERTEMPURAN PERTAMAMU\",\"PERTEMPURAN PERTAMA ANDA\"\n\"TID_TUTORIAL_HOME_BATTLE_NAME_2\",\"DEFENSE\",\"DÉFENSE\",\"VERTEIDIGUNG\",\"DEFENSA\",\"DIFESA\",\"VERDEDIGEN\",\"FORSVAR\",\"SAVUNMA\",\"防衛\",\"방어\",\"ЗАЩИТА\",\"دفاع\",\"DEFESA\",\"防守\",\"防守\",\"دفاع\",\"PERTAHANAN\",\"PERTAHANAN\"\n\"TID_TUTORIAL_HOME_BATTLE_NAME_3\",\"COMBINE YOUR ATTACK\",\"MENEZ UNE ATTAQUE COMBO\",\"KOMBINIERE ANGRIFFE\",\"COMBINA TU ATAQUE\",\"COMBINA IL TUO ATTACCO\",\"JE AANVAL COMBINEREN\",\"KOMBINER ANGREPET DITT\",\"BİRDEN FAZLA KARTLA SALDIR\",\"組み合わせ攻撃\",\"공격을 조합하세요.\",\"КОМБИНИРУЙ КАРТЫ\",\"ادمج هجومك\",\"COMBINE SEU ATAQUE\",\"组合进攻\",\"組合進攻\",\"به صورت ترکیبی حمله کن\",\"GABUNGKAN SERANGANMU\",\"GABUNGKAN SERANGAN ANDA\"\n\"TID_TUTORIAL_HOME_BATTLE_NAME_4\",\"PROVE YOURSELF\",\"FAITES VOS PREUVES\",\"BEWEISE DICH\",\"DEMUESTRA TU VALÍA\",\"METTITI ALLA PROVA\",\"JEZELF BEWIJZEN\",\"VIS HVA DU DUGER TIL\",\"GÖSTER KENDİNİ\",\"自分の力を試してみましょう\",\"실력을 증명해 보시지!\",\"ПРОЯВИ СЕБЯ\",\"أثبت قدراتك\",\"PROVE SEU VALOR\",\"证明自己\",\"證明自己\",\"خودت رو اثبات کن\",\"BUKTIKAN DIRIMU\",\"BUKTIKAN DIRI ANDA\"\n\"TID_TUTORIAL_HOME_BATTLE_NAME_5\",\"FINAL TRAINING\",\"ENTRAÎNEMENT ULTIME\",\"ABSCHLUSSTRAINING\",\"ENTRENAMIENTO FINAL\",\"ADDESTRAMENTO FINALE\",\"LAATSTE TRAINING\",\"SISTE TRENING\",\"SON EĞİTİM\",\"最終トレーニング\",\"마지막 훈련\",\"ПОСЛЕДНЯЯ ТРЕНИРОВКА\",\"التدريب الأخير\",\"TREINO FINAL\",\"最终考验\",\"最終考驗\",\"آخرین آموزش\",\"LATIHAN TERAKHIR\",\"LATIHAN AKHIR\"\n\"TID_INVITE_CLAN_TOKEN_ERROR\",\"Error generating invite\",\"Erreur de création d'invitation\",\"Fehler beim Erstellen der Einladung\",\"Error al generar invitación\",\"Errore creazione invito\",\"Fout bij genereren uitnodiging\",\"Det oppsto en feil med invitasjonen.\",\"Davet oluşturulurken bir hata oluştu\",\"招待の作成中にエラーが発生しました\",\"초대 생성 중 오류 발생\",\"Ошибка при создании приглашения\",\"خطأ في إنشاء الدعوة\",\"Erro ao gerar convite\",\"生成邀请出错\",\"生成邀請發生錯誤\",\"خطا در تهیه دعوت\",\"Kesalahan dalam mengundang\",\"Ralat menjana jemputan\"\n\"TID_TRAINING_COMPLETE\",\"COMPLETE!\",\"TERMINÉ !\",\"ABGESCHLOSSEN!\",\"¡COMPLETADO!\",\"COMPLETATO!\",\"VOLTOOID!\",\"FULLFØRT!\",\"TAMAMLANDI!\",\"クリア！\",\"완료!\",\"ГОТОВО!\",\"مكتمل!\",\"CONCLUÍDO!\",\"完成！\",\"完成！\",\"کامل شد!\",\"SELESAI!\",\"SELESAI!\"\n\"TID_ADD_FRIENDS\",\"Add Friends!\",\"Ajoutez des amis !\",\"Füge Freunde hinzu!\",\"Añadir amigos\",\"Aggiungi amici!\",\"Vrienden toevoegen\",\"Legg til venner!\",\"Arkadaş Ekle!\",\"お友達を追加しましょう！\",\"친구 추가!\",\"Добавляй друзей!\",\"إضافة أصدقاء!\",\"Adicione amigos!\",\"添加好友！\",\"新增好友！\",\"اضافه کردن دوست!\",\"Tambahkan Teman!\",\"Tambah Rakan!\"\n\"TID_FRIEND_PERKS\",\"Enjoy Friendly Battles,\\n2v2 Battles\\nand LIVE spectating!\",\"Profitez des combats amicaux,\\ndes combats 2c2 et de leur\\ndiffusion en LIVE !\",\"Genieße Testspiele,\\nDuokämpfe\\nund LIVE-Übertragungen!\",\"Disfruta de batallas amistosas,\\nbatallas 2c2\\ny retransmisiones en directo.\",\"Divertiti con amichevoli,\\nbattaglie 2 vs 2\\ne assisti alle partite!\",\"Speel vriendelijke gevechten\\nen 2-tegen-2-gevechten,\\nen kijk live mee.\",\"Spill vennskapskamper og\\n2v2-kamper,\\nog se kamper direkte!\",\"Dostluk Savaşları,\\n2'ye 2 Savaşlar\\nve CANLI yayının keyfini çıkar!\",\"フレンドバトル、\\n協力バトル、\\nライブ観戦を楽しみましょう！\",\"친선전,\\n2v2 전투,\\n그리고 실시간 관전을 즐기세요!\",\"Участвуй в дружеских боях,\\nбоях 2 на 2\\nи наблюдай за сражениями в прямом эфире!\",\"استمتع بالمعارك الودية\\nو2 ضد 2\\nوشاهدها بالبث المباشر!\",\"Aproveite as batalhas amistosas,\\nbatalhas 2v2\\ne as batalhas AO VIVO!\",\"进行友谊战\\n组队参加2v2对战\\n实时观战！\",\"進行友誼戰\\n組隊參加2v2對戰\\n即時觀戰！\",\"از نبردهای دوستانه،\\nنبردهای 2 در مقابل 2\\nو تماشای زنده لذت ببر!\",\"Nikmati Pertempuran Persahabatan,\\nPertempuran 2v2\\ndan menonton LANGSUNG!\",\"Nikmati Pertempuran Persahabatan,\\nPertempuran 2 lwn 2\\ndan tontonan SECARA LANGSUNG!\"\n\"TID_POPOVER_UPGRADE_CARD\",\"Upgrading cards will strengthen your troops!\",\"L'amélioration des cartes renforce vos troupes !\",\"Verbessere Karten, um deine Truppen zu verstärken!\",\"¡Mejorar tus cartas reforzará tus tropas!\",\"Migliorare le carte renderà più forti le truppe!\",\"Door je kaarten te upgraden, worden je troepen sterker.\",\"Du kan styrke troppene dine ved å oppgradere kort!\",\"Kartlarını yükseltmek birliklerini güçlendirir!\",\"カードをアップグレードするとユニットが強くなります！\",\"카드를 업그레이드하면 유닛이 강해집니다!\",\"Улучшение карт усилит твои войска!\",\"ترقية البطاقات ستعزز قواتك!\",\"Melhorar as cartas deixará suas tropas mais fortes!\",\"升级卡牌可以强化您的部队！\",\"升級卡牌可以強化您的部隊！\",\"ارتقا کارت، نیروهات رو تقویت می‌کنه!\",\"Meningkatkan kartu akan memperkuat peletonmu!\",\"Menaik taraf kad akan memperkukuh askar anda!\"\n\"TID_HINT_SPARKY2\",\"Calling Sparky a \\qtrash can on wheels\\q hurts her feelings.\",\"Zappy est très triste quand on la traite « poubelle à roulettes ».\",\"Funki einen \\qMülleimer auf Rädern\\q zu nennen, verletzt ihre Gefühle.\",\"Llamar a Chispitas \\qcubo de basura con ruedas\\q podría herir sus sentimientos.\",\"Chiamare Scintilla \\qcassonetto a rotelle\\q ferisce i suoi sentimenti.\",\"Door Vonkje een 'prullenbak op wielen' te noemen, kwets je haar gevoelens.\",\"Gnist kan bli lei seg om du kaller henne \\qen søppeldunk på hjul\\q.\",\"Kıvılcıma \\qtekerlekli çöp kutusu\\q dediğinde kalbi kırılıyor.\",\"スパーキーのことを\\n車輪つきゴミ箱などと呼ぶと\\n怒りを買います。\",\"스파키를 \\q바퀴 달린 쓰레기통\\q이라고 부르면 스파키는 상처를 받는 답니다.\",\"Спарки обижается, когда ее называют «мусоркой на колесах».\",\"ستجرح مشاعر سباركي إذا وصفته بأنه \\qسلة قمامة على عجلات\\q.\",\"Toda vez que alguém diz \\q'lata velha de rodinhas'\\q para falar de Sparky, seu coração fica magoado.\",\"别说电磁炮是一个\\q带轮子的垃圾桶\\q，她可是会伤心的。\",\"別說電磁炮是一個\\q帶輪子的垃圾桶\\q，她可是會傷心的。\",\"هر کی اسپارکی رو \\qسطل آشغال چرخدار\\q صدا بزنه، احساساتش رو جریحه‌دار می‌کنه.\",\"Memanggil Sparky \\qtempat sampah beroda\\q melukai perasaannya.\",\"Memanggil Sparky \\qtong sampah atas roda\\q akan melukai hatinya.\"\n\"TID_HINT_2v2_1\",\"2v2 Battle allows you to collect chests with a friend, Clanmate or another player - without the risk of losing Trophies!\",\"Les combats 2c2 vous permettent de récupérer des coffres avec un ami, un membre du clan ou un autre joueur sans risquer de perdre des trophées !\",\"In Duokämpfen kannst du Truhen mit einem Freund, Clankameraden oder einem anderen Spieler sammeln - ohne das Risiko, Trophäen zu verlieren!\",\"Las batallas 2c2 te permiten conseguir cofres con un amigo, un aliado u otro jugador sin arriesgarte a perder trofeos.\",\"Le battaglie 2 vs 2 ti permettono di ottenere bauli con i tuoi amici, compagni di clan e altri giocatori, senza il rischio di perdere trofei!\",\"In een 2-tegen-2-gevecht kun je kisten verzamelen met een vriend, clangenoot of andere speler, zonder dat je het gevaar loopt trofeeën te verliezen.\",\"I 2v2-kamper kan du samle kister sammen med en venn, klanvenn eller en annen spiller, uten å risikere tap av trofeer!\",\"2'ye 2'ye 2 Savaşlar, Kupa kaybetme riski olmadan bir arkadaşın, Klan Arkadaşın ya da başka bir oyuncuyla birlikte sandık toplamanı sağlar!\",\"協力バトルでは、トロフィーを失う心配はありません！ お友達やクランメンバーや同レベルの他のプレイヤーと一緒に、宝箱を集めましょう！\",\"2v2 전투는 친구, 클랜원, 다른 플레이어와 함께 상자를 모을 수 있도록 해줍니다. 트로피를 잃을 위험이 없습니다!\",\"Собирай сундуки с другом, соклановцем или другим игроком в бою 2 на 2, не опасаясь потерять трофеи!\",\"تسمح لك معركة 2 ضد 2 بجمع الصناديق مع صديقك أو زميلك في القبيلة أو أي لاعب آخر - بدون المخاطرة بخسارة الكؤوس!\",\"Nas batalhas 2v2, você conquista baús com um amigo, colega de clã ou outro jogador sem o risco de perder troféus!\",\"在2v2对战中，您可以和好友、部落成员或其他玩家组队赢取宝箱 — 即便战败也不会损失奖杯！\",\"在2v2對戰中，您可以和好友、部落成員或其他玩家組隊贏得寶箱 — 即便戰敗也不會損失獎盃！\",\"در نبرد 2 در مقابل 2 می‌تونی با دوست، هم‌قبیله‌ای یا یک بازیکن دیگه، صندوق جمع کنی؛ بدون خطر از دست دادن جام!\",\"Pertempuran 2v2 memungkinkanmu mengumpulkan peti bersama teman, Rekan Klan atau pemain lain - tanpa risiko kehilangan Trofi!\",\"Pertempuran 2 lwn 2 membolehkan anda mengumpul peti bersama rakan, rakan klan atau pemain lain - tanpa risiko kehilangan trofi!\"\n\"TID_HINT_2v2_2\",\"2v2 Battle allows you to collect chests, earn Victory Gold and have fun with a friend, Clanmate or another player!\",\"Les combats 2c2 vous permettent de récupérer des coffres, de remporter de l'or de la victoire et de vous amuser avec un ami, un membre du clan ou un autre joueur !\",\"In Duokämpfen kannst du Truhen sammeln, Siegesgold verdienen und Spaß mit einem Freund, Clankameraden oder einem anderen Spieler haben!\",\"Las batallas 2c2 te permiten conseguir cofres con un amigo, ganar oro de victoria y divertirte con un amigo, un aliado u otro jugador.\",\"Le battaglie 2 vs 2 ti permettono di ottenere bauli e oro dalle vittorie e di divertirti con i tuoi amici, compagni di clan e altri giocatori!\",\"In een 2-tegen-2-gevecht kun je kisten verzamelen, overwinningsgoud verdienen en plezier hebben met een vriend, clangenoot of andere speler.\",\"I 2v2-kamper kan du samle kister, tjene seiersgull og ha det moro sammen med en venn, klanvenn eller en annen spiller!\",\"2'ye 2'ye 2 Savaşlar, Zafer Altını kazanmanı ve bir arkadaşın, Klan Arkadaşın ya da başka bir oyuncuyla keyifli vakit geçirmeni sağlar!\",\"協力バトルでは、宝箱や勝利ゴールドを入手できます。お友達やクランメンバーや他のプレイヤーと一緒に楽しみましょう！\",\"2v2 전투는 상자를 모으고, 승리 골드를 획득할 수 있도록 해줍니다. 친구, 클랜원, 다른 플레이어와 게임을 즐길 수도 있습니다!\",\"Собирай сундуки, зарабатывай золото и просто весело проводи время с другом, соклановцем или другим игроком в боях 2 на 2!\",\"تسمح لك معركة 2 ضد 2 بجمع الصناديق والمرح واقتناء ذهب النصر مع صديقك أو زميلك في القبيلة أو أي لاعب آخر!\",\"Nas batalhas 2v2, você conquista baús, ganha ouro por vitória e se diverte com um amigo, colega de clã ou outro jogador!\",\"在2v2对战中，您可以赢取宝箱和获胜金币，并享受与好友、部落成员或其他玩家合作带来的乐趣！\",\"在2v2對戰中，您可以贏得寶箱和獲勝金幣，並享受與好友、部落成員或其他玩家合作帶來的樂趣！\",\"در نبرد 2 در مقابل 2 می‌تونی با دوست، هم‌قبیله‌ای یا یک بازیکن دیگه، طلای پیروزی و صندوق جمع کنی؛ بدون خطر از دست دادن جام!\",\"Pertempuran 2v2 memungkinkanmu mengumpulkan peti, meraih Emas Kemenangan, dan bersenang-senang bersama teman, Rekan Klan atau pemain lain!\",\"Pertempuran 2 lwn 2 membolehkan anda mengumpul peti, memperoleh emas kemenangan dan berseronok bersama rakan, rakan klan atau pemain lain!\"\n\"TID_HINT_2v2_3\",\"2v2 Battle uses your own card collection. Matchmaking ensures that you're playing at the right skill level for you.\",\"Dans les combats 2c2, vous utilisez votre propre collection de cartes. La recherche d'adversaire vous permet d'affronter des joueurs dont le niveau de compétence est proche du vôtre.\",\"In Duokämpfen kommt deine eigene Kartensammlung zum Einsatz. Die Spielersuche sorgt dafür, dass du auf dem für dich angemessenen Fähigkeitslevel spielst.\",\"En las batallas 2c2, usarás tu propia colección de cartas. El sistema de emparejamiento encontrará rivales con el nivel de destreza adecuado.\",\"Nelle battaglie 2 vs 2 usi la tua collezione di carte. Il matchmaking garantisce che sarà uno scontro adatto al tuo livello di abilità.\",\"In een 2-tegen-2-gevecht gebruik je je eigen kaartverzameling. De koppeling zorgt ervoor dat je op je juiste vaardigheidslevel speelt.\",\"I 2v2-kamper bruker du din egen kortsamling. Matchmakingen sørger for at du spiller på et passende ferdighetsnivå.\",\"2'ye 2 Savaşlarda kendi kart koleksiyonun kullanılır. Eşleştirme sayesinde sana uygun seviyede oynarsın.\",\"協力バトルでは、自分のカードコレクションを使います。マッチメイクでは、あなたのスキルレベルに合った対戦相手が選ばれます。\",\"2v2 전투에서는 자신의 카드 컬렉션을 사용합니다. 매치메이킹은 자신에게 맞는 스킬 레벨의 상대방과 플레이할 수 있도록 해줍니다.\",\"В боях 2 на 2 используются карты из твоей коллекции. Соперники подбираются в зависимости от твоего уровня мастерства.\",\"تستخدم معركة 2 ضد 2 مجموعة بطاقاتك. ويضمن نظام المطابقة أنك تلعب بمستوى المهارة المناسب لك.\",\"Nas batalhas 2v2, você usa sua coleção de cartas. O sistema de batalhas garante que você jogarިá contra alguém do mesmo nível de habilidade.\",\"在2v2对战中，您使用的是自己牌库中的卡牌。系统会为您匹配与您旗鼓相当的对手。\",\"在2v2對戰中，您使用的是自己牌庫中的卡牌。系統會為您配對與您旗鼓相當的對手。\",\"نبرد 2 در مقابل 2 از مجموعه کارت خودت استفاده می‌کنه. حریف‌یابی، تو رو در مقابل کسی قرار می‌ده که سطح مهارتش برای تو مناسبه.\",\"Pertempuran 2v2 menggunakan koleksi kartumu sendiri. Pencarian lawan memastikan kamu bermain di level keterampilan yang cocok untukmu.\",\"Pertempuran 2 lwn 2 menggunakan koleksi kad anda sendiri. Padanan memastikan anda bermain pada tahap kemahiran yang sesuai untuk anda.\"\n\"TID_HINT_2v2_4\",\"In 2v2 Battle, your King Level is adjusted to the average between you and your teammate.\",\"Lors d'un combat 2c2, le niveau de votre roi est déterminé en fonction de la moyenne entre vous et votre coéquipier.\",\"In Duokämpfen ergibt der Durchschnitt eurer Königslevel den Königslevel eures Teams.\",\"En las batallas 2c2, el nivel de la torre del rey será la media entre el de tu compañero y el tuyo.\",\"Nelle battaglie 2 vs 2, il livello re è una media del tuo e di quello del tuo compagno di squadra.\",\"In een 2-tegen-2-gevecht is je koningslevel aangepast aan het gemiddelde tussen jou en je teamgenoot.\",\"I 2v2-kamper justeres kongenivået ditt til gjennomsnittet av ditt og lagkameratens nivå.\",\"2'ye 2 Savaşlarda Kral Seviyen senin ve takım arkadaşlarının ortalamasına göre belirlenir.\",\"協力バトルにおけるキングレベルは、あなたとチームメイトの平均値に調整されます。\",\"2v2 전투에서 왕 레벨은 나와 내 팀원의 평균 왕 레벨로 조정됩니다.\",\"В боях 2 на 2 уровень короля команды примерно равен среднему значению уровня твоего короля и уровня короля союзника.\",\"في معركة 2 ضد 2، يتم تعديل مستوى ملكك إلى متوسط مستواك ومستوى زميلك في الفريق.\",\"Nas batalhas 2v2, o nível do seu Rei é ajustado para a média entre a equipe.\",\"在2v2对战中，您的国王塔等级将会根据您和您队友国王塔的平均等级进行调整。\",\"在2v2對戰中，您的國王塔等級將會根據您和您隊友國王塔的平均等級進行調整。\",\"در نبرد 2 در مقابل 2، سطح پادشاهت بر مبنای قدرت میانگین تو و هم‌تیمی‌ات تنظیم میشه.\",\"Dalam Pertempuran 2v2, Level Rajamu disesuaikan dengan rata-rata antara kamu dan rekan tim.\",\"Dalam Pertempuran 2 lwn 2, Tahap Raja anda disesuaikan kepada purata antara anda dan rakan sepasukan anda.\"\n\"TID_HINT_2v2_5\",\"In 2v2 Battle, your opponents are selected based on your team's skill level.\",\"Lors d'un combat 2c2, vos adversaires sont choisis en fonction du niveau de compétence de votre équipe.\",\"In Duokämpfen werden eure Gegner auf Grundlage des Fähigkeitslevels eures Teams ausgesucht.\",\"En las batallas 2c2, se te asignarán rivales en función del nivel de destreza de tu equipo.\",\"Nelle battaglie 2 vs 2, gli avversari vengono selezionati in base al livello di abilità della squadra.\",\"In een 2-tegen-2-gevecht worden je tegenstanders gekozen op basis van het vaardigheidslevel van je team.\",\"I 2v2-kamper velges motstanderne basert på ferdighetsnivået til laget ditt.\",\"2'ye 2 Savaşlarda rakiplerin takımının beceri seviyesine göre seçilir.\",\"協力バトルでは、あなたのチームのスキルレベルに合った対戦相手が選ばれます。\",\"2v2 전투에서 상대방은 내 팀의 스킬 레벨에 따라 결정됩니다.\",\"В боях 2 на 2 противники подбираются в зависимости от уровня мастерства команды.\",\"في معركة 2 ضد 2، يتم اختيار خصومك بناءً على مستوى مهارة فريقك.\",\"Nas batalhas 2v2, seus adversários são selecionados com base no nível de habilidade da sua equipe.\",\"在2v2对战中，系统将会根据您队伍的技术水平来匹配对手。\",\"在2v2對戰中，系統將會根據您隊伍的技術水準來配對對手。\",\"در نبرد 2 در مقابل 2، حریف‌هات با توجه به سطح مهارت تیمتون انتخاب میشن.\",\"Dalam Pertempuran 2v2, lawanmu dipilih berdasarkan level keterampilan tim-mu.\",\"Dalam Pertempuran 2 lwn 2, pihak lawan anda dipilih berdasarkan tahap kemahiran pasukan anda.\"\n\"TID_HINT_2v2_6\",\"We've done the math: 2v2 Battle is at least twice the fun of anything else. Probably more.\",\"Le calcul est vite fait : les combats 2c2 sont au moins deux fois plus amusants que n'importe quoi d'autre. Peut-être même plus.\",\"Wir haben es ausgerechnet: Duokämpfe machen mindestens doppelt so viel Spaß wie alles andere!\",\"Hemos hecho los cálculos: las batallas 2c2 son al menos el doble de divertidas que las otras, puede que incluso más...\",\"In base ai nostri calcoli, le battaglie 2 vs 2 sono due volte più divertenti di qualsiasi altra cosa, se non di più.\",\"We hebben het goed uitgerekend: een 2-tegen-2-gevecht is minstens twee keer zo leuk als anders. Waarschijnlijk nog meer.\",\"Vi har gjort utregningen for deg. 2v2-kamper er minst dobbelt så gøy som alt annet. Sannsynligvis mer.\",\"2'ye 2 Savaş tüm savaşlardan iki kat daha eğlenceli. İki kattan fazla da olabilir.\",\"私たちの計算によると、強力バトルは最低でも他のバトルの2倍は面白いモードです。実際には、もっとかもしれません。\",\"계산을 좀 해 본 결과, 2v2 전투는 다른 어떤 것보다 최소 두 배는 더 재미있다고 합니다!\",\"Согласно нашим подсчетам, бой 2 на 2 как минимум в два раза веселее. А может, и в сто.\",\"أجرينا حساباتنا: تجلب لك معركة 2 ضد 2 على الأقل ضعف المرح الذي تشعر به لأي سبب آخر، وربما أكثر.\",\"Fizemos o cálculo: as batalhas 2v2 são pelo menos duas vezes mais divertidas do que as outras. Talvez até mais!\",\"我们计算过了：2v2对战比其他任何模式都至少好玩两倍，可能还不止。\",\"我們計算過了：2v2對戰比其他任何模式都至少好玩兩倍，可能還不止。\",\"حساب کردیم، دیدیم: توی نبرد 2 در مقابل 2 حداقل دو برابر هر کار دیگه‌ای خوش می‌گذره. شاید هم بیشتر.\",\"Kami menghitung: Pertempuran 2v2 setidaknya dua kali lebih seru dibanding yang lainnya. Mungkin lebih.\",\"Kami sudah cuba: Pertempuran 2 lwn 2 sekurang-kurangnya dua kali ganda keseronokan benda-benda lain. Mungkin lebih.\"\n\"TID_POPOVER_START_BATTLE\",\"Win battles for more chests!\",\"Gagnez des combats pour obtenir davantage de coffres !\",\"Gewinne Kämpfe, um mehr Truhen zu ergattern!\",\"¡Gana batallas para reunir más cofres!\",\"Vinci battaglie per ottenere altri bauli!\",\"Win gevechten voor meer kisten.\",\"Vinn kamper for å få flere kister!\",\"Daha fazla sandık için savaş kazan!\",\"バトルに勝って、宝箱をどんどん手に入れましょう！\",\"전투에서 승리해서 더 많은 상자를 획득하세요!\",\"Выигрывай бои, чтобы получить больше сундуков!\",\"فز بالمعارك لمزيد من الصناديق!\",\"Vença batalhas para ganhar mais baús.\",\"在对战中获胜以赢得更多宝箱！\",\"在對戰中獲勝以贏得更多寶箱！\",\"برای دریافت صندوق‌های بیشتر، نبردها رو ببر!\",\"Menangkan pertempuran demi peti lebih banyak!\",\"Menangi pertempuran untuk mendapat lebih banyak peti!\"\n\"TID_POPOVER_CHEST_SLOTS_FULL\",\"Chest slots full, open chests to collect more cards!\",\"Les emplacements pour coffres sont tous occupés ! Ouvrez des coffres pour obtenir de nouvelles cartes !\",\"Truhenplätze voll! Öffne Truhen, um mehr Karten zu sammeln!\",\"¡Huecos para cofre llenos! Abre cofres para reunir más cartas.\",\"Slot bauli pieni! Apri dei bauli per trovare più carte!\",\"Kistvakken vol! Open een kist om meer kaarten te verzamelen.\",\"Ingen flere kisteplasser. Åpne kister for å samle flere kort!\",\"Sandık bölmeleri dolu; daha fazla kart toplamak için sandık aç!\",\"宝箱スロットがいっぱいです！ 宝箱をあけて様々なカードを手に入れましょう！\",\"상자 슬롯이 가득 찼습니다! 상자를 열어 더 많은 카드를 모으세요!\",\"Места для сундуков больше нет! Открой сундуки, чтобы собрать больше карт!\",\"مواضع الصناديق ممتلئة، افتح الصناديق لتجمع بطاقات أكثر!\",\"O espaço para baús está cheio. Abra baús para coletar mais cartas!\",\"宝箱位已满，解锁并打开宝箱以收集更多卡牌！\",\"寶箱位已滿，解鎖並打開寶箱以收集更多卡牌！\",\"ردیف‌های صندوق پر هستن، صندوق‌ها رو باز کن تا کارت‌های بیشتر جمع کنی!\",\"Slot peti penuh, buka peti untuk mengumpulkan lebih banyak kartu!\",\"Slot peti penuh, buka peti untuk mengumpul lebih banyak kad!\"\n\"TID_GAMEMODE_DOUBLE_ELIXIR_2v2\",\"2v2 Double Elixir\",\"Double élixir 2c2\",\"Duo-Doppelelixier-Kampf\",\"Doble elixir 2c2\",\"2 vs 2 doppio elisir\",\"2-tegen-2-dubbel-elixir\",\"2v2 - dobbel eliksir\",\"2'ye 2 İki Kat İksir\",\"協力ダブルエリクサー\",\"2v2 더블 엘릭서\",\"Испытание 2 на 2 с двойным эликсиром\",\"2 ضد 2 ذات الإكسير المضاعَف\",\"Elixir Duplo na 2v2\",\"2v2双倍圣水\",\"2v2雙倍聖水\",\"2 در مقابل 2 اکسیر دو برابر\",\"Eliksir Ganda 2v2\",\"Eliksir Berganda 2 lwn 2\"\n\"TID_GAMEMODE_TRIPLE_ELIXIR_2v2\",\"2v2 Triple Elixir\",\"Triple élixir 2c2\",\"Duo-Dreifachelixier-Kampf\",\"Triple elixir 2c2\",\"2 vs 2 triplo elisir\",\"2-tegen-2-driedubbel-elixir\",\"2v2 - trippel eliksir\",\"2'ye 2 Üç Kat İksir\",\"協力トリプルエリクサー\",\"2v2 트리플 엘릭서\",\"Испытание 2 на 2 с тройным эликсиром\",\"2 ضد 2 مع 3 أضعاف الإكسير\",\"Elixir Triplo na 2v2\",\"2v2三倍圣水\",\"2v2三倍聖水\",\"2 در مقابل 2 اکسیر سه برابر\",\"Eliksir Lipat Tiga 2v2\",\"Eliksir Tiga Kali Ganda 2 lwn 2\"\n\"TID_GAMEMODE_OVERTIME_2v2\",\"2v2 Sudden Death\",\"Mort subite 2c2\",\"Duo-Kronen-K.-o.\",\"Muerte súbita 2c2\",\"Sudden Death 2 vs 2\",\"2-tegen-2-sudden-death\",\"Sudden death 2v2\",\"2'ye 2 Ani Ölüm\",\"協力サドンデス\",\"2v2 서든 데스\",\"Бой 2 на 2 с внезапной смертью\",\"2 ضد 2 ذات المهلة الحاسمة\",\"Morte súbita 2v2\",\"2v2突然死亡模式\",\"2v2驟死賽模式\",\"مرگ ناگهانی 2 در مقابل 2\",\"Fase Penentuan 2v2\",\"Kalah Mati 2 lwn 2\"\n\"TID_GAMEMODE_RAMPUP_ELIXIR_2v2\",\"2v2 Ramp Up\",\"Accélération 2c2\",\"Duo-Beschleunigungskampf\",\"Aumento 2c2\",\"2 vs 2 progressiva\",\"2-tegen-2-opvoer\",\"2v2 - opptrapping\",\"2'ye 2 Artışlı\",\"協力強化\",\"2v2 램프업\",\"Усложняющееся испытание 2 на 2\",\"2 ضد 2 المتدرجة\",\"Reforço na 2v2\",\"2v2疯狂圣水\",\"2v2瘋狂聖水\",\"2 در مقابل 2 افزایشی\",\"Perkuat 2v2\",\"2 lwn 2 Bertingkat\"\n\"TID_GAMEMODE_DRAFT_INSANE\",\"Double Elixir Draft\",\"Tirage double élixir\",\"Doppelelixier-Auswahlkampf\",\"Doble elixir de elección\",\"Strategica doppio elisir\",\"Dubbel-elixir-keuze\",\"Utvalg - dobbel eliksir\",\"İki Kat İksir Çekilişli\",\"ダブルエリクサードラフト\",\"더블 엘릭서 드래프트\",\"Испытание с двойным эликсиром и выбором карт\",\"سحب الإكسير المضاعَف\",\"Estratégia de Elixir Duplo\",\"双倍圣水选卡\",\"雙倍聖水選卡\",\"انتخاب کارت اکسیر دو برابر\",\"Draf Eliksir Ganda\",\"Eliksir Berganda Bertaktik\"\n\"TID_GAMEMODE_DRAFT_INSANE_2v2\",\"2v2 Double Elixir Draft\",\"Tirage double élixir 2c2\",\"Duo-Doppelelixier-Auswahlkampf\",\"Doble elixir de elección 2c2\",\"2 vs 2 strategica doppio elisir\",\"2-tegen-2-dubbel-elixir-keuze\",\"Utvalg 2v2 - dobbel eliksir\",\"2'ye 2 İki Kat İksir Çekilişli\",\"協力ダブルエリクサードラフト\",\"2v2 더블 엘릭서 드래프트\",\"Испытание 2 на 2 с двойным эликсиром и выбором карт\",\"سحب 2 ضد 2 مع ضعف الإكسير\",\"Estratégia de Elixir Duplo na 2v2\",\"2v2双倍圣水选卡\",\"2v2雙倍聖水選卡\",\"انتخاب کارت 2 در مقابل 2 اکسیر دو برابر\",\"Draf Eliksir Ganda 2v2\",\"Eliksir Berganda Bertaktik 2 lwn 2\"\n\"TID_OFFER_AVAILABLE\",\"Available\",\"Disponible(s)\",\"verfügbar\",\"disponibles\",\"Disponibile\",\"Beschikbaar\",\"tilgjengelig\",\"Mevcut\",\"入手可能\",\"이용 가능\",\"Доступно\",\"متاح\",\"Disponível\",\"可获得\",\"可獲得\",\"موجود\",\"Tersedia\",\"Tersedia\"\n\"TID_REQUEST_DRAFT_2V2\",\"Join 2v2 Draft Battle!\",\"Participez à un combat du tirage 2c2 !\",\"Tritt dem Duo-Auswahlkampf bei!\",\"¡Únete a la batalla de elección 2c2!\",\"Unisciti alla battaglia strategica 2 vs 2!\",\"Meedoen aan 2-tegen-2-keuzegevecht.\",\"Bli med i utvalgskamp 2v2!\",\"2'ye 2 Çekilişli Savaşa Katıl!\",\"協力ドラフトバトルに参加しましょう！\",\"2v2 드래프트 전투에 참가하세요!\",\"Присоединись к бою 2 на 2 с выбором карт!\",\"انضم لمعركة سحب 2 ضد 2!\",\"Entrar para Estratégia 2v2!\",\"加入2v2选卡对战！\",\"加入2v2選卡對戰！\",\"به نبرد انتخاب کارت 2 در مقابل 2 بپیوند!\",\"Ikut Pertempuran Draf 2v2!\",\"Sertai Pertempuran Bertaktik 2 lwn 2!\"\n\"TID_REQUEST_DOUBLE_ELIXIR_2V2\",\"Join 2v2 Double Elixir Battle!\",\"Participez au combat double élixir 2c2 !\",\"Tritt dem Duo-Doppelelixier-Kampf bei!\",\"¡Únete a la batalla de doble elixir 2c2!\",\"Unisciti alla battaglia doppio elisir 2 vs 2!\",\"Meedoen aan 2-tegen-2-dubbel-elixirgevecht.\",\"Bli med i dobbel eliksir-kamp 2v2!\",\"2'ye 2 İki Kat İksir Savaşına katıl!\",\"協力ダブルエリクサーバトルに参加しましょう！\",\"2v2 더블 엘릭서 전투에 참가하세요!\",\"Присоединись к бою 2 на 2 с двойным эликсиром!\",\"انضم إلى معركة 2 ضد 2 ذات الإكسير المضاعَف!\",\"Entre na batalha de elixir duplo 2v2!\",\"加入2v2双倍圣水对战！\",\"加入2v2雙倍聖水對戰！\",\"به نبرد 2 در مقابل 2 اکسیر دو برابر بپیوند!\",\"Ikut Pertempuran Eliksir Ganda 2v2!\",\"Sertai Pertempuran Eliksir Berganda 2 lwn 2!\"\n\"TID_REQUEST_OVERTIME_2V2\",\"Join 2v2 Sudden Death Battle!\",\"Participez au combat mort subite 2c2 !\",\"Tritt dem Duo-Kronen-K.-o. bei!\",\"¡Únete a la batalla de muerte súbita 2c2!\",\"Unisciti alla battaglia sudden death 2 vs 2!\",\"Meedoen aan 2-tegen-2-sudden-death-gevecht.\",\"Bli med i sudden death-kamp 2v2\",\"2'ye 2 Ani Ölüm Savaşına katıl!\",\"協力サドンデスバトルに参加しましょう！\",\"2v2 서든 데스 전투에 참가하세요!\",\"Присоединись к бою 2 на 2 с внезапной смертью!\",\"انضم لمعركة 2 ضد 2 ذات المهلة الحاسمة!\",\"Entre na batalha de morte súbita 2v2!\",\"加入2v2突然死亡模式对战！\",\"加入2v2驟死賽模式對戰！\",\"به نبرد مرگ ناگهانی 2 در مقابل 2 بپیوند!\",\"Ikut Pertempuran Fase Penentuan 2v2!\",\"Sertai Pertempuran Kalah Mati 2 lwn 2!\"\n\"TID_REQUEST_RAMPUP_2V2\",\"Join 2v2 Ramp Up Battle!\",\"Participez au combat d'accélération 2c2 !\",\"Tritt dem Duo-Beschleunigungskampf bei!\",\"¡Únete a la batalla de aumento 2c2!\",\"Unisciti alla battaglia progressiva 2 vs 2!\",\"Meedoen aan 2-tegen-2-opvoergevecht.\",\"Bli med i opptrappingskamp 2v2!\",\"2'ye 2 Artışlı Savaşa katıl!\",\"協力強化バトルに参加しましょう！\",\"2v2 램프업 전투에 참가하세요!\",\"Присоединись к усложняющемуся бою 2 на 2!\",\"انضم إلى معركة 2 ضد 2 المتدرّجة!\",\"Entre na batalha de reforço 2v2!\",\"加入2v2疯狂圣水对战！\",\"加入2v2瘋狂聖水對戰！\",\"به نبرد 2 در مقابل 2 افزایشی بپیوند!\",\"Ikut Pertempuran Perkuat 2v2!\",\"Sertai Pertempuran Bertingkat 2 lwn 2!\"\n\"TID_REQUEST_DRAFTMODE_INSANE_2V2\",\"Join 2v2 Double Elixir Draft Battle!\",\"Participez au combat du tirage double élixir 2c2 !\",\"Tritt dem Duo-Doppelelixier-Auswahlkampf bei!\",\"¡Únete a la batalla de doble elixir de elección 2c2!\",\"Unisciti alla battaglia strategica doppio elisir 2 vs 2!\",\"Meedoen aan 2-tegen-2-dubbel-elixir-keuzegevecht.\",\"Bli med i dobbel eliksir-utvalgskamp 2v2!\",\"2'ye 2 İki Kat İksir Çekilişli Savaşa katıl!\",\"協力ダブルエリクサードラフトバトルに参加しましょう！\",\"2v2 더블 엘릭서 드래프트 전투에 참가하세요!\",\"Присоединись к бою 2 на 2 с двойным эликсиром и выбором карт!\",\"انضم إلى معركة سحب 2 ضد 2 ذات الإكسير المضاعَف!\",\"Entre na batalha de estratégia de elixir duplo 2v2!\",\"加入2v2双倍圣水选卡对战！\",\"加入2v2雙倍聖水選卡對戰！\",\"به نبرد انتخاب کارت 2 در مقابل 2 اکسیر دو برابر بپیوند!\",\"Ikut Pertempuran Draf Eliksir Ganda 2v2!\",\"Sertai Pertempuran Bertaktik Eliksir Berganda 2 lwn 2!\"\n\"TID_EVENT_HAS_ENDED\",\"Event has ended\",\"Événement terminé\",\"Ereignis ist zu Ende\",\"¡El evento ha terminado!\",\"L'evento è terminato\",\"Het evenement is afgelopen.\",\"Hendelsen er over\",\"Etkinlik sona erdi\",\"イベントは終了しました\",\"이벤트가 끝났습니다.\",\"Событие окончено\",\"انتهى الحدث\",\"O evento terminou!\",\"活动已结束\",\"活動已結束\",\"رویداد تموم شده\",\"Acara telah berakhir\",\"Acara telah tamat\"\n\"TID_ELIXIR_MULTIPLIER\",\"X<num> Elixir\",\"X<num> doses d'élixir\",\"x<num> Elixier\",\"Elixir x<num>\",\"Elisir x<num>\",\"<num>x elixir\",\"X<num> eliksir\",\"<num> kat İksir\",\"エリクサー<num>倍\",\"X<num> 엘릭서\",\"Эликсир X<num>\",\"X<num> الإكسير\",\"Elixir <num>X\",\"<num>倍圣水\",\"<num>倍聖水\",\"اکسیر <num>برابر\",\"X<num> Eliksir\",\"X<num> Eliksir\"\n\"TID_INBOX_FRIEND_INVITE_ACCEPTED_TITLE\",\"Friend Added!\",\"Ami ajouté !\",\"Freund hinzugefügt!\",\"¡Amigo añadido!\",\"Amico aggiunto!\",\"Vriend toegevoegd!\",\"Venn lagt til!\",\"Arkadaş Eklendi!\",\"フレンドを追加しました！\",\"친구 추가됨!\",\"Друг добавлен!\",\"تمت إضافة الصديق!\",\"Amigo adicionado!\",\"好友已添加！\",\"已新增好友！\",\"دوست اضافه شد!\",\"Teman Ditambahkan!\",\"Rakan Ditambah!\"\n\"TID_INBOX_FRIEND_INVITE_ACCEPTED\",\"<name> has accepted your friend Invite!\",\"<name> a accepté votre demande.\",\"<name> hat deine Freundschaftsanfrage angenommen!\",\"¡<name> ha aceptado tu invitación!\",\"<name> ha accettato la tua richiesta di amicizia!\",\"<name> heeft je vriendschapsuitnodiging geaccepteerd.\",\"<name> har godtatt venneinvitasjonen din!\",\"<name> arkadaşlık davetini kabul etti!\",\"<name>がフレンド招待を承諾しました！\",\"<name> 님이 친구 신청을 수락했습니다!\",\"Игрок <name> принял приглашение!\",\"<name> قبل دعوة الصداقة!\",\"<name> aceitou seu pedido de amizade.\",\"<name>已经接受了您的好友请求！\",\"<name>已經接受了您的好友請求！\",\"<name> دعوت دوستی تو رو قبول کرد!\",\"<name> menerima Undangan berteman darimu!\",\"<name> telah menerima jemputan rakan anda!\"\n\"TID_MENU_TUTORIAL_BUBBLE_LOG\",\"Review your Battle History here\",\"Consultez l'historique des combats ici\",\"Hier siehst du deinen Kampfverlauf\",\"Consulta tu historial de batallas aquí.\",\"Qui puoi consultare lo storico delle battaglie\",\"Bekijk hier je gevechtsgeschiedenis.\",\"Se kamphistorikken din her\",\"Savaş Geçmişini buradan görüntüle\",\"ここから戦いの記録を見てみましょう\",\"여기서 내 전투 기록을 검토합니다\",\"Ознакомиться с историей боев\",\"راجع سجل معاركك هنا\",\"Veja seu histórico de batalha aqui.\",\"在这里查看您的历史对战\",\"在這裡查看您的歷史對戰\",\"تاریخچه نبرد خودت رو اینجا مرور کن\",\"Tinjau Riwayat Pertempuran di sini\",\"Semak sejarah pertempuran anda di sini\"\n\"TID_MENU_TUTORIAL_BUBBLE_TV\",\"TV Royale features exciting battles from all Arenas\",\"TV Royale diffuse les meilleurs combats de toutes les arènes\",\"TV Royale zeigt aufregende Kämpfe aus allen Arenen\",\"TV Royale incluye emocionantes batallas de todas las arenas.\",\"TV Royale mostra entusiasmanti battaglie di tutte le arene\",\"TV Royale biedt spannende gevechten uit alle arena's.\",\"På TV Royale kan du se spennende kamper fra alle arenaer\",\"TV Royale tüm Arenalardan heyecan verici savaşlar içerir\",\"クラロワTVでは、各アリーナで行われた劇的なバトルを放送します\",\"로얄 TV에는 모든 아레나에서 벌어진 멋진 전투가 있습니다\",\"На TV Royale представлены самые потрясающие бои со всех арен\",\"يقدم TV Royale معارك مثيرة من كل الساحات\",\"A TV Royale mostra batalhas empolgantes de todas as arenas.\",\"皇室TV收录了各个竞技场中的精彩对战\",\"皇室TV收錄了各個競技場中的精彩對戰\",\"نمایش نبردهای هیجان‌انگیز تمامی میدان‌های نبرد در TV Royale\",\"TV Royale manampilkan pertempuran seru dari semua Arena\",\"TV Diraja memaparkan pertempuran menarik dari semua arena\"\n\"TID_MENU_TUTORIAL_BUBBLE_TRAINING\",\"Try your decks in Training Mode\",\"Testez vos cartes de combat en mode entraînement\",\"Probiere dein Deck im Trainingsmodus aus\",\"Prueba tus barajas en el modo de entrenamiento.\",\"Prova i tuoi mazzi in modalità addestramento\",\"Probeer je kaarten uit in de trainingsmodus.\",\"Prøv ut kampkortene dine i treningsmodus\",\"Destelerini Eğitim Modunda dene\",\"訓練対戦でデッキを試してみましょう\",\"훈련 모드에서 덱을 시험해 보세요\",\"Испытай свои колоды в режиме тренировки\",\"جرّب مجموعاتك في وضع التدريب\",\"Teste seus decks no modo de treino.\",\"在训练模式中检验您的卡组\",\"在訓練模式中檢驗您的牌組\",\"دسته‌های نبردت رو در حالت آموزشی امتحان کن\",\"Coba dekmu dalam Mode Latihan\",\"Cuba dek anda di Mod Latihan\"\n\"TID_DRAFT_2V2_IN_PROGRESS\",\"2v2 Draft Battle: <cfffffe><time></c>\",\"Combat du tirage 2c2 : <cfffffe><time></c>\",\"Duo-Auswahlkampf: <cfffffe><time></c>\",\"Batalla de elección 2c2: <cfffffe><time></c>\",\"Battaglia strategica 2 vs 2: <cfffffe><time></c>\",\"2-tegen-2-keuzegevecht: <cfffffe><time></c>\",\"Utvalgskamp 2v2: <cfffffe><time></c>\",\"2'ye 2 Çekilişli Savaş: <cfffffe><time></c>\",\"協力ドラフトバトル： <cfffffe><time></c>\",\"2v2 드래프트 전투: <cfffffe><time></c>\",\"Бой 2 на 2 с выбором карт: <cfffffe><time></c>\",\"معركة سحب 2 ضد 2: <cfffffe><time></c>\",\"Estratégia 2v2: <cfffffe><time></c>\",\"2v2选卡对战：<cfffffe><time></c>\",\"2v2選卡對戰：<cfffffe><time></c>\",\"برد انتخاب کارت 2 در مقابل 2: <cfffffe><time></c>\",\"Pertempuran Draf 2v2:<cfffffe><time></c>\",\"Bertaktik 2 lwn 2: <cfffffe><time></c>\"\n\"TID_DOUBLE_ELIXIR_2V2_IN_PROGRESS\",\"2v2 Double Elixir Battle: <cfffffe><time></c>\",\"Combat double élixir 2c2 : <cfffffe><time></c>\",\"Duo-Doppelelixier-Kampf: <cfffffe><time></c>\",\"Batalla de doble elixir 2c2: <cfffffe><time></c>\",\"Battaglia doppio elisir 2 vs 2: <cfffffe><time></c>\",\"2-tegen-2-dubbel-elixirgevecht: <cfffffe><time></c>\",\"Dobbel eliksir-kamp 2v2: <cfffffe><time></c>\",\"2'ye 2 İki Kat İksirli Savaş: <cfffffe><time></c>\",\"協力ダブルエリクサーバトル： <cfffffe><time></c>\",\"2v2 더블 엘릭서 전투: <cfffffe><time></c>\",\"Бой 2 на 2 с двойным эликсиром: <cfffffe><time></c>\",\"معركة الإكسير المضاعَف 2 ضد 2: <cfffffe><time></c>\",\"Elixir duplo 2v2: <cfffffe><time></c>\",\"2v2双倍圣水对战：<cfffffe><time></c>\",\"2v2雙倍聖水對戰：<cfffffe><time></c>\",\"نبرد 2 در مقابل 2 اکسیر دو برابر: <cfffffe><time></c>\",\"Pertempuran Eliksir Ganda 2v2: <cfffffe><time></c>\",\"Eliksir Berganda 2 lwn 2: <cfffffe><time></c>\"\n\"TID_OVERTIME_2V2_IN_PROGRESS\",\"2v2 Sudden Death Battle: <cfffffe><time></c>\",\"Combat mort subite 2c2 : <cfffffe><time></c>\",\"Duo-Kronen-K.o.-Kampf: <cfffffe><time></c>\",\"Batalla de muerte súbita 2c2: <cfffffe><time></c>\",\"Battaglia sudden death 2 vs 2: <cfffffe><time></c>\",\"2-tegen-2-sudden-death-gevecht: <cfffffe><time></c>\",\"Sudden death-kamp 2v2: <cfffffe><time></c>\",\"2'ye 2 Ani Ölüm Savaşı: <cfffffe><time></c>\",\"協力サドンデスバトル： <cfffffe><time></c>\",\"2v2 서든 데스 전투: <cfffffe><time></c>\",\"Бой 2 на 2 с внезапной смертью: <cfffffe><time></c>\",\"معركة المهلة الحاسمة 2 ضد 2: <cfffffe><time></c>\",\"Morte súbita 2v2: <cfffffe><time></c>\",\"2v2突然死亡模式对战：<cfffffe><time></c>\",\"2v2驟死賽模式對戰：<cfffffe><time></c>\",\"نبرد مرگ ناگهانی 2 در مقابل 2: <cfffffe><time></c>\",\"Pertempuran Fase Penentuan 2v2: <cfffffe><time></c>\",\"Kalah Mati 2 lwn 2: <cfffffe><time></c>\"\n\"TID_RAMPUP_2V2_IN_PROGRESS\",\"2v2 Ramp Up Battle: <cfffffe><time></c>\",\"Combat d'accélération 2c2 : <cfffffe><time></c>\",\"Duo-Beschleunigungskampf: <cfffffe><time></c>\",\"Batalla de aumento 2c2: <cfffffe><time></c>\",\"Battaglia progressiva 2 vs 2: <cfffffe><time></c>\",\"2-tegen-2-opvoergevecht: <cfffffe><time></c>\",\"Opptrappingskamp 2v2: <cfffffe><time></c>\",\"2'ye 2 Artışlı Savaş: <cfffffe><time></c>\",\"協力強化バトル： <cfffffe><time></c>\",\"2v2 램프업 전투: <cfffffe><time></c>\",\"Усложняющийся бой 2 на 2: <cfffffe><time></c>\",\"انضم إلى معركة 2 ضد 2 المتدرّجة: <cfffffe><time></c>\",\"Reforço 2v2: <cfffffe><time></c>\",\"2v2疯狂圣水对战：<cfffffe><time></c>\",\"2v2瘋狂聖水對戰：<cfffffe><time></c>\",\"نبرد 2 در مقابل 2 افزایشی: <cfffffe><time></c>\",\"Pertempuran Perkuat 2v2: <cfffffe><time></c>\",\"2 lwn 2 Bertingkat: <cfffffe><time></c>\"\n\"TID_DRAFTMODE_INSANE_2V2_IN_PROGRESS\",\"2v2 Double Elixir Draft: <cfffffe><time></c>\",\"Combat du tirage double élixir 2c2 : <cfffffe><time></c>\",\"Duo-Doppelelixier-Auswahlkampf: <cfffffe><time></c>\",\"Doble elixir de elección 2c2: <cfffffe><time></c>\",\"Strategica doppio elisir 2 vs 2: <cfffffe><time></c>\",\"2-tegen-2-dubbel-elixir-keuze: <cfffffe><time></c>\",\"Utvalg 2v2 - dobbel eliksir: <cfffffe><time></c>\",\"2'ye 2 İki Kat İksir Çekilişli: <cfffffe><time></c>\",\"協力ダブルエリクサードラフト： <cfffffe><time></c>\",\"2v2 더블 엘릭서 드래프트: <cfffffe><time></c>\",\"Бой 2 на 2 с двойным эликсиром и выбором карт: <cfffffe><time></c>\",\"سحب الإكسير المضاعَف 2 ضد 2: <cfffffe><time></c>\",\"Elixir Duplo 2v2: <cfffffe><time></c>\",\"2v2双倍圣水选卡对战：<cfffffe><time></c>\",\"2v2雙倍聖水選卡對戰：<cfffffe><time></c>\",\"نبرد انتخاب کارت 2 در مقابل 2 اکسیر دو برابر: <cfffffe><time></c>\",\"Draf Eliksir Ganda 2v2: <cfffffe><time></c>\",\"Eliksir Berganda Bertaktik 2 lwn 2: <cfffffe><time></c>\"\n\"TID_DRAFT_1V1_IN_PROGRESS\",\"Draft Battle: <cfffffe><time></c>\",\"Combat du tirage : <cfffffe><time></c>\",\"Auswahlkampf: <cfffffe><time></c>\",\"Batalla de elección: <cfffffe><time></c>\",\"Battaglia strategica: <cfffffe><time></c>\",\"Keuzegevecht: <cfffffe><time></c>\",\"Utvalgskamp: <cfffffe><time></c>\",\"Çekilişli Savaş: <cfffffe><time></c>\",\"ドラフトバトル： <cfffffe><time></c>\",\"드래프트전: <cfffffe><time></c>\",\"Бой с выбором карт: <cfffffe><time></c>\",\"معركة سحب: <cfffffe><time></c>\",\"Batalha de estratégia: <cfffffe><time></c>\",\"选卡对战：<cfffffe><time></c>\",\"選卡對戰：<cfffffe><time></c>\",\"نبرد انتخاب کارت: <cfffffe><time></c>\",\"Pertempuran Draf: <cfffffe><time></c>\",\"Pertempuran Bertaktik: <cfffffe><time></c>\"\n\"TID_DOUBLE_ELIXIR_1V1_IN_PROGRESS\",\"Double Elixir Battle: <cfffffe><time></c>\",\"Combat double élixir : <cfffffe><time></c>\",\"Doppelelixier-Kampf: <cfffffe><time></c>\",\"Batalla de doble elixir: <cfffffe><time></c>\",\"Battaglia doppio elisir: <cfffffe><time></c>\",\"Dubbel-elixirgevecht: <cfffffe><time></c>\",\"Dobbel eliksir-kamp: <cfffffe><time></c>\",\"İki Kat İksirli Savaş: <cfffffe><time></c>\",\"ダブルエリクサーバトル： <cfffffe><time></c>\",\"더블 엘릭서 전투: <cfffffe><time></c>\",\"Бой с двойным эликсиром: <cfffffe><time></c>\",\"معركة الإكسير المضاعَف: <cfffffe><time></c>\",\"Batalha do elixir duplo: <cfffffe><time></c>\",\"双倍圣水对战：<cfffffe><time></c>\",\"雙倍聖水對戰：<cfffffe><time></c>\",\"نبرد اکسیر دو برابر: <cfffffe><time></c>\",\"Pertempuran Eliksir Ganda: <cfffffe><time></c>\",\"Pertempuran Eliksir Berganda: <cfffffe><time></c>\"\n\"TID_OVERTIME_1V1_IN_PROGRESS\",\"Sudden Death Battle: <cfffffe><time></c>\",\"Combat mort subite : <cfffffe><time></c>\",\"Kronen-K.o.-Kampf: <cfffffe><time></c>\",\"Batalla de muerte súbita: <cfffffe><time></c>\",\"Battaglia sudden death: <cfffffe><time></c>\",\"Sudden-death-gevecht: <cfffffe><time></c>\",\"Sudden death-kamp: <cfffffe><time></c>\",\"Ani Ölüm Savaşı: <cfffffe><time></c>\",\"サドンデスバトル： <cfffffe><time></c>\",\"서든 데스 전투: <cfffffe><time></c>\",\"Бой с внезапной смертью: <cfffffe><time></c>\",\"معركة المهلة الحاسمة: <cfffffe><time></c>\",\"Batalha de morte súbita: <cfffffe><time></c>\",\"突然死亡模式对战：<cfffffe><time></c>\",\"驟死賽模式對戰：<cfffffe><time></c>\",\"نبرد مرگ ناگهانی: <cfffffe><time></c>\",\"Pertempuran Fase Penentuan: <cfffffe><time></c>\",\"Pertempuran Kalah Mati: <cfffffe><time></c>\"\n\"TID_RAMPUP_1V1_IN_PROGRESS\",\"Ramp Up Battle: <cfffffe><time></c>\",\"Combat d'accélération : <cfffffe><time></c>\",\"Beschleunigungskampf: <cfffffe><time></c>\",\"Batalla de aumento: <cfffffe><time></c>\",\"Battaglia progressiva: <cfffffe><time></c>\",\"Opvoergevecht: <cfffffe><time></c>\",\"Opptrappingskamp: <cfffffe><time></c>\",\"Artışlı Savaş: <cfffffe><time></c>\",\"強化バトル： <cfffffe><time></c>\",\"램프업 전투: <cfffffe><time></c>\",\"Усложняющийся бой: <cfffffe><time></c>\",\"معركة متدرّجة: <cfffffe><time></c>\",\"Batalha de reforço: <cfffffe><time></c>\",\"疯狂圣水对战：<cfffffe><time></c>\",\"瘋狂聖水對戰：<cfffffe><time></c>\",\"نبرد افزایشی: <cfffffe><time></c>\",\"Pertempuran Perkuat: <cfffffe><time></c>\",\"Pertempuran Bertingkat: <cfffffe><time></c>\"\n\"TID_DRAFTMODE_INSANE_1V1_IN_PROGRESS\",\"Double Elixir Draft: <cfffffe><time></c>\",\"Tirage double élixir : <cfffffe><time></c>\",\"Doppelelixier-Auswahlkampf: <cfffffe><time></c>\",\"Doble elixir de elección: <cfffffe><time></c>\",\"Strategica doppio elisir: <cfffffe><time></c>\",\"Dubbel-elixir-keuze: <cfffffe><time></c>\",\"Utvalg - dobbel eliksir: <cfffffe><time></c>\",\"İki Kat İksir Çekilişli: <cfffffe><time></c>\",\"ダブルエリクサードラフト： <cfffffe><time></c>\",\"더블 엘릭서 드래프트: <cfffffe><time></c>\",\"Бой с двойным эликсиром и выбором карт: <cfffffe><time></c>\",\"سحب الإكسير المضاعَف: <cfffffe><time></c>\",\"Estratégia do Elixir Duplo: <cfffffe><time></c>\",\"双倍圣水选卡对战：<cfffffe><time></c>\",\"雙倍聖水選卡對戰：<cfffffe><time></c>\",\"انتخاب کارت اکسیر دو برابر: <cfffffe><time></c>\",\"Draf Eliksir Ganda: <cfffffe><time></c>\",\"Eliksir Berganda Bertaktik: <cfffffe><time></c>\"\n\"TID_REQUEST_DRAFT_1V1\",\"Join Draft Battle!\",\"Participez à un combat du tirage !\",\"Tritt dem Auswahlkampf bei!\",\"¡Únete a la batalla de elección!\",\"Unisciti alla battaglia strategica!\",\"Meedoen aan keuzegevecht.\",\"Bli med i utvalgskamp!\",\"Çekilişli Savaşa Katıl!\",\"ドラフトバトルに参加しましょう！\",\"드래프트 전투에 참가하세요!\",\"Присоединись к бою с выбором карт!\",\"انضم لمعركة السحب!\",\"Entrar para batalha de estratégia!\",\"加入选卡对战！\",\"加入選卡對戰！\",\"به نبرد انتخاب کارت بپیوند!\",\"Ikut Pertempuran Draf!\",\"Sertai Pertempuran Bertaktik!\"\n\"TID_REQUEST_DOUBLE_ELIXIR_1V1\",\"Join Double Elixir Battle!\",\"Participez à un combat double élixir !\",\"Tritt dem Doppelelixier-Kampf bei!\",\"¡Únete a la batalla de doble elixir!\",\"Unisciti alla battaglia doppio elisir!\",\"Meedoen aan dubbel-elixirgevecht.\",\"Bli med i dobbel eliksir-kamp!\",\"İki Kat İksirli Savaşa Katıl!\",\"ダブルエリクサーバトルに参加しましょう！\",\"더블 엘릭서 전투에 참가하세요!\",\"Присоединись к бою с двойным эликсиром!\",\"انضم لمعركة الإكسير المضاعَف!\",\"Entrar para batalha de elixir duplo!\",\"加入双倍圣水对战！\",\"加入雙倍聖水對戰！\",\"یه نبرد اکسیر دو برابر بپیوند!\",\"Ikut Pertempuran Eliksir Ganda!\",\"Sertai Pertempuran Eliksir Berganda!\"\n\"TID_REQUEST_OVERTIME_1V1\",\"Join Sudden Death Battle!\",\"Participez à un combat mort subite !\",\"Tritt dem Kronen-K.o.-Kampf bei!\",\"¡Únete a la batalla de muerte súbita!\",\"Unisciti alla battaglia sudden death!\",\"Meedoen aan sudden-death-gevecht.\",\"Bli med i sudden death-kamp!\",\"Ani Ölüm Savaşına Katıl!\",\"サドンデスバトルに参加しましょう！\",\"서든 데스 전투에 참가하세요!\",\"Присоединись к бою с внезапной смертью!\",\"انضم لمعركة المهلة الحاسمة!\",\"Entrar para batalha de morte súbita!\",\"加入突然死亡模式对战！\",\"加入驟死賽模式對戰！\",\"به نبرد مرگ ناگهانی بپیوند!\",\"Ikut Pertempuran Fase Penentuan!\",\"Sertai Pertempuran Kalah Mati!\"\n\"TID_REQUEST_RAMPUP_1V1\",\"Join Ramp Up Battle!\",\"Participez à un combat d'accélération !\",\"Tritt dem Beschleunigungskampf bei!\",\"¡Únete a la batalla de aumento!\",\"Unisciti alla battaglia progressiva!\",\"Meedoen aan opvoergevecht.\",\"Bli med i opptrappingskamp!\",\"Artışlı Savaşa Katıl!\",\"強化バトルに参加しましょう！\",\"램프업 전투에 참가하세요!\",\"Присоединись к усложняющемуся бою!\",\"انضم لمعركة متدرّجة!\",\"Entrar para batalha de reforço!\",\"加入疯狂圣水对战！\",\"加入瘋狂聖水對戰！\",\"به نبرد افزایشی بپیوند!\",\"Ikut Pertempuran Perkuat!\",\"Sertai Pertempuran Bertingkat!\"\n\"TID_REQUEST_DRAFTMODE_INSANE_1V1\",\"Join Double Elixir Draft Battle!\",\"Participez à un combat du tirage double élixir !\",\"Tritt dem Doppelelixier-Auswahlkampf bei!\",\"¡Únete a la batalla de doble elixir de elección!\",\"Unisciti alla battaglia strategica doppio elisir!\",\"Meedoen aan dubbel-elixir-keuzegevecht.\",\"Bli med i utvalgskamp - dobbel eliksir!\",\"İki Kat İksir Çekilişli Savaşa Katıl!\",\"ダブルエリクサードラフトバトルに参加しましょう！\",\"더블 엘릭서 드래프트 전투에 참가하세요!\",\"Присоединись к бою с двойным эликсиром и выбором карт!\",\"انضم لمعركة سحب الإكسير المضاعَف!\",\"Entrar para Estratégia do Elixir Duplo!\",\"加入双倍圣水选卡对战！\",\"加入雙倍聖水選卡對戰！\",\"به نبرد انتخاب کارت اکسیر دو برابر بپیوند!\",\"Ikut Pertempuran Draf Eliksir Ganda!\",\"Sertai Eliksir Berganda Bertaktik!\"\n\"TID_REQUEST_TRIPLE_ELIXIR_1V1\",\"Join Triple Elixir Battle!\",\"Participez à un combat triple élixir !\",\"Tritt dem Dreifachelixier-Kampf bei!\",\"¡Únete a la batalla de triple elixir!\",\"Unisciti alla battaglia triplo elisir!\",\"Meedoen aan driedubbel-elixirgevecht.\",\"Bli med i trippel eliksir-kamp!\",\"Üç Kat İksirli Savaşa Katıl!\",\"トリプルエリクサーバトルに参加しましょう！\",\"트리플 엘릭서 전투에 참가하세요!\",\"Присоединись к бою с тройным эликсиром!\",\"انضم لمعركة 3 أضعاف الإكسير!\",\"Entrar para batalha do elixir triplo!\",\"加入三倍圣水对战！\",\"加入三倍聖水對戰！\",\"به نبرد اکسیر سه برابر بپیوند!\",\"Ikut Pertempuran Eliksir Lipat Tiga!\",\"Sertai Pertempuran Eliksir Tiga Kali Ganda!\"\n\"TID_TRIPLE_ELIXIR_1V1_IN_PROGRESS\",\"Triple Elixir Battle: <cfffffe><time></c>\",\"Combat triple élixir : <cfffffe><time></c>\",\"Dreifachelixier-Kampf: <cfffffe><time></c>\",\"Batalla de triple elixir: <cfffffe><time></c>\",\"Battaglia triplo elisir: <cfffffe><time></c>\",\"Driedubbel-elixirgevecht: <cfffffe><time></c>\",\"Trippel eliksir-kamp: <cfffffe><time></c>\",\"Üç Kat İksirli Savaş: <cfffffe><time></c>\",\"トリプルエリクサーバトル： <cfffffe><time></c>\",\"트리플 엘릭서 전투: <cfffffe><time></c>\",\"Бой с тройным эликсиром: <cfffffe><time></c>\",\"معركة 3 أضعاف الإكسير: <cfffffe><time></c>\",\"Batalha do elixir triplo: <cfffffe><time></c>\",\"三倍圣水对战：<cfffffe><time></c>\",\"三倍聖水對戰：<cfffffe><time></c>\",\"نبرد اکسیر سه برابر: <cfffffe><time></c>\",\"Pertempuran Eliksir Lipat Tiga: <cfffffe><time></c>\",\"Eliksir Tiga Kali Ganda: <cfffffe><time></c>\"\n\"TID_X3\",\"x3\",\"x3\",\"x3\",\"x3\",\"x3\",\"3x\",\"x3\",\"3 kat\",\"x3\",\"x3\",\"x3\",\"×3\",\"x3\",\"x3\",\"x3\",\"3 برابر\",\"x3\",\"x3\"\n\"TID_ADD_FRIEND_FAILED_THEIR_LIST_FULL\",\"Unable to add friend, their friend list is full!\",\"Impossible d'ajouter cet ami\",\"Freund konnte nicht hinzugefügt werden.\",\"No se ha podido añadir un amigo.\",\"Impossibile aggiungere amico\",\"Vriend kan niet worden toegevoegd.\",\"Kunne ikke legge til venn\",\"Arkadaş eklenemedi\",\"フレンドを追加できません\",\"친구를 추가하지 못했습니다.\",\"Не удалось добавить друга\",\"فشلت إضافة الصديق\",\"Falha ao adicionar amigo.\",\"添加好友失败\",\"新增好友失敗\",\"افزودن دوست انجام نشد\",\"Gagal menambahkan teman\",\"Gagal menambah rakan\"\n\"TID_ADD_FRIEND_FAILED_YOUR_LIST_FULL\",\"Unable to add friend, your friend list is full!\",\"Impossible d'ajouter cet ami\",\"Freund konnte nicht hinzugefügt werden.\",\"No se ha podido añadir un amigo.\",\"Impossibile aggiungere amico\",\"Vriend kan niet worden toegevoegd.\",\"Kunne ikke legge til venn\",\"Arkadaş eklenemedi\",\"フレンドを追加できません\",\"친구를 추가하지 못했습니다.\",\"Не удалось добавить друга\",\"فشلت إضافة الصديق\",\"Falha ao adicionar amigo.\",\"添加好友失败\",\"新增好友失敗\",\"افزودن دوست انجام نشد\",\"Gagal menambahkan teman\",\"Gagal menambah rakan\"\n\"TID_ADD_FRIEND_FAILED_BANNED\",\"Unable to add friend, user is banned!\",\"Impossible d'ajouter cet ami\",\"Freund konnte nicht hinzugefügt werden.\",\"No se ha podido añadir un amigo.\",\"Impossibile aggiungere amico\",\"Vriend kan niet worden toegevoegd.\",\"Kunne ikke legge til venn\",\"Arkadaş eklenemedi\",\"フレンドを追加できません\",\"친구를 추가하지 못했습니다.\",\"Не удалось добавить друга\",\"فشلت إضافة الصديق\",\"Falha ao adicionar amigo.\",\"添加好友失败\",\"新增好友失敗\",\"افزودن دوست انجام نشد\",\"Gagal menambahkan teman\",\"Gagal menambah rakan\"\n\"TID_CLAN_JOIN_FAILED_IN_TUTORIAL\",\"Unable to join clan while in training!\",\"Impossible de rejoindre le clan !\",\"Clanbeitritt nicht möglich!\",\"No es posible unirse al clan.\",\"Non è stato possibile unirsi al clan!\",\"Je kunt je niet bij de clan aansluiten.\",\"Kan ikke bli med i klanen!\",\"Klana katılamadın!\",\"クランに参加できません！\",\"클랜에 가입할 수 없습니다!\",\"Невозможно вступить в клан!\",\"تعذر الانضمام إلى القبيلة!\",\"Não é possível entrar para este clã.\",\"无法加入该部落！\",\"無法加入該部落！\",\"نمیشه به این قبیله ملحق شد!\",\"Tidak dapat bergabung dengan Klan!\",\"Tidak dapat menyertai Klan!\"\n\"TID_COMPLETE_TUTORIAL\",\"Complete training first!\",,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_client/texts_patch.csv",
    "content": "\"TID\",\"EN\",\"FR\",\"DE\",\"ES\",\"IT\",\"NL\",\"NO\",\"TR\",\"JP\",\"KR\",\"RU\",\"AR\",\"PT\",\"CN\",\"CNT\",\"FA\",\"ID\",\"MS\"\n\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\"\n\"TID_KOREA_DISCLAIMER\",,,,,,,,,,,,,,,,,,\n\"TID_KOREA_DISCLAIMER_LINK\",,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/abilities.csv",
    "content": "\"Name\",\"IconFile\",\"TID\",\"AreaEffectObject\",\"Buff\",\"BuffTime\",\"Effect\"\n\"string\",\"string\",\"String\",\"String\",\"String\",\"int\",\"String\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/achievements.csv",
    "content": "\"Name\",\"Level\",\"TID\",\"InfoTID\",\"Action\",\"ActionCount\",\"ExpReward\",\"DiamondReward\",\"SortIndex\",\"Hidden\",\"AndroidID\",\"Type\"\n\"String\",\"int\",\"String\",\"String\",\"String\",\"int\",\"int\",\"int\",\"int\",\"Boolean\",\"String\",\"String\"\n\"com.supercell.scroll.teamplayer\",2,\"TID_ACHIEVEMENT_TITLE_CLAN\",\"TID_ACHIEVEMENT_INFO_CLAN\",\"jointeam\",1,10,100,1,,\"CgkI9Yit2rYREAIQAQ\",\"jointeam\"\n\"com.supercell.scroll.donate\",0,\"TID_ACHIEVEMENT_TITLE_DONATE\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",25,5,3,2,,\"CgkI9Yit2rYREAIQAg\",\"donate\"\n\"com.supercell.scroll.donate2\",1,\"TID_ACHIEVEMENT_TITLE_DONATE\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",250,10,5,3,,\"CgkI9Yit2rYREAIQAw\",\"donate\"\n\"com.supercell.scroll.donate3\",2,\"TID_ACHIEVEMENT_TITLE_DONATE\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",2500,20,10,4,,\"CgkI9Yit2rYREAIQBA\",\"donate\"\n\"com.supercell.scroll.reacharena\",0,\"TID_ACHIEVEMENT_TITLE_REACHARENA\",\"TID_ACHIEVEMENT_INFO_REACHARENA\",\"reacharena\",2,5,3,8,,\"CgkI9Yit2rYREAIQBQ\",\"reacharena\"\n\"com.supercell.scroll.reacharena2\",1,\"TID_ACHIEVEMENT_TITLE_REACHARENA\",\"TID_ACHIEVEMENT_INFO_REACHARENA\",\"reacharena\",4,10,5,9,,\"CgkI9Yit2rYREAIQBg\",\"reacharena\"\n\"com.supercell.scroll.reacharena3\",2,\"TID_ACHIEVEMENT_TITLE_REACHARENA\",\"TID_ACHIEVEMENT_INFO_REACHARENA\",\"reacharena\",6,20,10,10,,\"CgkI9Yit2rYREAIQBw\",\"reacharena\"\n\"com.supercell.scroll.cards\",0,\"TID_ACHIEVEMENT_TITLE_CARDS\",\"TID_ACHIEVEMENT_INFO_CARDS\",\"findcard\",20,5,3,11,,\"CgkI9Yit2rYREAIQCA\",\"findcard\"\n\"com.supercell.scroll.cards2\",1,\"TID_ACHIEVEMENT_TITLE_CARDS\",\"TID_ACHIEVEMENT_INFO_CARDS\",\"findcard\",30,10,5,12,,\"CgkI9Yit2rYREAIQCQ\",\"findcard\"\n\"com.supercell.scroll.cards3\",2,\"TID_ACHIEVEMENT_TITLE_CARDS\",\"TID_ACHIEVEMENT_INFO_CARDS\",\"findcard\",40,20,10,13,,\"CgkI9Yit2rYREAIQCg\",\"findcard\"\n\"com.supercell.scroll.watchtv\",2,\"TID_ACHIEVEMENT_TITLE_TV\",\"TID_ACHIEVEMENT_INFO_TV\",\"watchtv\",1,5,5,14,,\"CgkI9Yit2rYREAIQCw\",\"watchtv\"\n\"com.supercell.scroll.tournament\",0,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT\",\"tournament\",1000,10,10,15,,\"CgkI9Yit2rYREAIQDQ\",\"tournament\"\n\"com.supercell.scroll.tournament2\",1,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT\",\"tournament\",20000,20,20,16,,\"CgkI9Yit2rYREAIQDg\",\"tournament\"\n\"com.supercell.scroll.tournament3\",2,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT\",\"tournament\",500000,50,30,17,,\"CgkI9Yit2rYREAIQDw\",\"tournament\"\n\"com.supercell.scroll.tournamentcreate\",0,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT_CREATE\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT_CREATE_ONE\",\"tournamenthost\",1,50,100,18,,\"CgkI9Yit2rYREAIQEA\",\"tournamenthost\"\n\"com.supercell.scroll.tournamentcreate2\",1,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT_CREATE\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT_CREATE_MULTIPLE\",\"tournamenthost\",10,50,500,19,,\"CgkI9Yit2rYREAIQEQ\",\"tournamenthost\"\n\"com.supercell.scroll.tournamentcreate3\",2,\"TID_ACHIEVEMENT_TITLE_TOURNAMENT_CREATE\",\"TID_ACHIEVEMENT_INFO_TOURNAMENT_CREATE_MULTIPLE\",\"tournamenthost\",50,50,500,20,,\"CgkI9Yit2rYREAIQEg\",\"tournamenthost\"\n\"com.supercell.scroll.jointournament\",2,\"TID_ACHIEVEMENT_TITLE_JOIN_TOURNAMENT\",\"TID_ACHIEVEMENT_INFO_JOIN_TOURNAMENT\",\"jointournament\",1,5,5,21,,\"CgkI9Yit2rYREAIQEw\",\"jointournament\"\n\"com.supercell.scroll.winstreak\",0,\"TID_ACHIEVEMENT_TITLE_WINSTREAK\",\"TID_ACHIEVEMENT_INFO_WINSTREAK\",\"winstreak\",4,5,5,22,,\"CgkI9Yit2rYREAIQFA\",\"winstreak\"\n\"com.supercell.scroll.winstreak2\",1,\"TID_ACHIEVEMENT_TITLE_WINSTREAK\",\"TID_ACHIEVEMENT_INFO_WINSTREAK\",\"winstreak\",8,10,20,23,,\"CgkI9Yit2rYREAIQFQ\",\"winstreak\"\n\"com.supercell.scroll.winstreak3\",2,\"TID_ACHIEVEMENT_TITLE_WINSTREAK\",\"TID_ACHIEVEMENT_INFO_WINSTREAK\",\"winstreak\",12,20,100,24,,\"CgkI9Yit2rYREAIQFg\",\"winstreak\"\n\"com.supercell.scroll.friendlybattle\",0,\"TID_ACHIEVEMENT_TITLE_FRIENDLY_BATTLE\",\"TID_ACHIEVEMENT_INFO_FRIENDLY_BATTLE\",\"friendlybattle\",1,50,5,25,,\"CgkI9Yit2rYREAIQFw\",\"friendlybattle\"\n\"com.supercell.scroll.friendlybattle2\",1,\"TID_ACHIEVEMENT_TITLE_FRIENDLY_BATTLE\",\"TID_ACHIEVEMENT_INFO_FRIENDLY_BATTLE\",\"friendlybattle\",5,50,10,26,,\"CgkI9Yit2rYREAIQGA\",\"friendlybattle\"\n\"com.supercell.scroll.friendlybattle3\",2,\"TID_ACHIEVEMENT_TITLE_FRIENDLY_BATTLE\",\"TID_ACHIEVEMENT_INFO_FRIENDLY_BATTLE\",\"friendlybattle\",10,50,25,27,,\"CgkI9Yit2rYREAIQGQ\",\"friendlybattle\"\n\"com.supercell.scroll.survivalevents\",0,\"TID_ACHIEVEMENT_TITLE_SURVIVAL_EVENT\",\"TID_ACHIEVEMENT_INFO_SURVIVAL_EVENT\",\"survivalevent\",1,50,5,28,,\"CgkI9Yit2rYREAIQGg\",\"survivalevent\"\n\"com.supercell.scroll.survivalevents2\",1,\"TID_ACHIEVEMENT_TITLE_SURVIVAL_EVENT\",\"TID_ACHIEVEMENT_INFO_SURVIVAL_EVENT\",\"survivalevent\",3,100,10,29,,\"CgkI9Yit2rYREAIQGw\",\"survivalevent\"\n\"com.supercell.scroll.survivalevents3\",2,\"TID_ACHIEVEMENT_TITLE_SURVIVAL_EVENT\",\"TID_ACHIEVEMENT_INFO_SURVIVAL_EVENT\",\"survivalevent\",5,200,25,30,,\"CgkI9Yit2rYREAIQHA\",\"survivalevent\"\n\"com.supercell.scroll.donatetwo\",0,\"TID_ACHIEVEMENT_TITLE_DONATE_2\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",5000,100,30,5,,\"CgkI9Yit2rYREAIQHQ\",\"donate2\"\n\"com.supercell.scroll.donatetwo2\",1,\"TID_ACHIEVEMENT_TITLE_DONATE_2\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",10000,200,50,6,,\"CgkI9Yit2rYREAIQHg\",\"donate2\"\n\"com.supercell.scroll.donatetwo3\",2,\"TID_ACHIEVEMENT_TITLE_DONATE_2\",\"TID_ACHIEVEMENT_INFO_DONATE\",\"donate\",25000,400,100,7,,\"CgkI9Yit2rYREAIQHw\",\"donate2\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/alliance_badges.csv",
    "content": "\"Name\",\"IconSWF\",\"IconExportName\",\"Category\"\n\"String\",\"String\",\"String\",\"String\"\n\"Flame_01\",\"sc/ui.sc\",\"clan_badge_01_01\",\"01_Symbol\"\n\"Flame_02\",\"sc/ui.sc\",\"clan_badge_01_02\",\"01_Symbol\"\n\"Flame_03\",\"sc/ui.sc\",\"clan_badge_01_03\",\"01_Symbol\"\n\"Flame_04\",\"sc/ui.sc\",\"clan_badge_01_04\",\"01_Symbol\"\n\"Sword_01\",\"sc/ui.sc\",\"clan_badge_02_01\",\"01_Symbol\"\n\"Sword_02\",\"sc/ui.sc\",\"clan_badge_02_02\",\"01_Symbol\"\n\"Sword_03\",\"sc/ui.sc\",\"clan_badge_02_03\",\"01_Symbol\"\n\"Sword_04\",\"sc/ui.sc\",\"clan_badge_02_04\",\"01_Symbol\"\n\"Bolt_01\",\"sc/ui.sc\",\"clan_badge_03_01\",\"01_Symbol\"\n\"Bolt_02\",\"sc/ui.sc\",\"clan_badge_03_02\",\"01_Symbol\"\n\"Bolt_03\",\"sc/ui.sc\",\"clan_badge_03_03\",\"01_Symbol\"\n\"Bolt_04\",\"sc/ui.sc\",\"clan_badge_03_04\",\"01_Symbol\"\n\"Crown_01\",\"sc/ui.sc\",\"clan_badge_04_01\",\"01_Symbol\"\n\"Crown_02\",\"sc/ui.sc\",\"clan_badge_04_02\",\"01_Symbol\"\n\"Crown_03\",\"sc/ui.sc\",\"clan_badge_04_03\",\"01_Symbol\"\n\"Crown_04\",\"sc/ui.sc\",\"clan_badge_04_04\",\"01_Symbol\"\n\"Arrow_01\",\"sc/ui.sc\",\"clan_badge_05_01\",\"01_Symbol\"\n\"Arrow_02\",\"sc/ui.sc\",\"clan_badge_05_02\",\"01_Symbol\"\n\"Arrow_03\",\"sc/ui.sc\",\"clan_badge_05_03\",\"01_Symbol\"\n\"Arrow_04\",\"sc/ui.sc\",\"clan_badge_05_04\",\"01_Symbol\"\n\"Diamond_Star_01\",\"sc/ui.sc\",\"clan_badge_06_01\",\"01_Symbol\"\n\"Diamond_Star_02\",\"sc/ui.sc\",\"clan_badge_06_02\",\"01_Symbol\"\n\"Diamond_Star_03\",\"sc/ui.sc\",\"clan_badge_06_03\",\"01_Symbol\"\n\"Diamond_Star_04\",\"sc/ui.sc\",\"clan_badge_06_04\",\"01_Symbol\"\n\"Skull_01\",\"sc/ui.sc\",\"clan_badge_07_01\",\"01_Symbol\"\n\"Skull_02\",\"sc/ui.sc\",\"clan_badge_07_02\",\"01_Symbol\"\n\"Skull_03\",\"sc/ui.sc\",\"clan_badge_07_03\",\"01_Symbol\"\n\"Skull_04\",\"sc/ui.sc\",\"clan_badge_07_04\",\"01_Symbol\"\n\"Skull_05\",\"sc/ui.sc\",\"clan_badge_07_05\",\"01_Symbol\"\n\"Skull_06\",\"sc/ui.sc\",\"clan_badge_07_06\",\"01_Symbol\"\n\"Moon_01\",\"sc/ui.sc\",\"clan_badge_08_01\",\"01_Symbol\"\n\"Moon_02\",\"sc/ui.sc\",\"clan_badge_08_02\",\"01_Symbol\"\n\"Moon_03\",\"sc/ui.sc\",\"clan_badge_08_03\",\"01_Symbol\"\n\"Pine_01\",\"sc/ui.sc\",\"clan_badge_09_01\",\"01_Symbol\"\n\"Pine_02\",\"sc/ui.sc\",\"clan_badge_09_02\",\"01_Symbol\"\n\"Pine_03\",\"sc/ui.sc\",\"clan_badge_09_03\",\"01_Symbol\"\n\"Traditional_Star_01\",\"sc/ui.sc\",\"clan_badge_10_01\",\"01_Symbol\"\n\"Traditional_Star_02\",\"sc/ui.sc\",\"clan_badge_10_02\",\"01_Symbol\"\n\"Traditional_Star_03\",\"sc/ui.sc\",\"clan_badge_10_03\",\"01_Symbol\"\n\"Traditional_Star_04\",\"sc/ui.sc\",\"clan_badge_10_04\",\"01_Symbol\"\n\"Traditional_Star_05\",\"sc/ui.sc\",\"clan_badge_10_05\",\"01_Symbol\"\n\"Traditional_Star_06\",\"sc/ui.sc\",\"clan_badge_10_06\",\"01_Symbol\"\n\"Star_Shine_01\",\"sc/ui.sc\",\"clan_badge_11_01\",\"01_Symbol\"\n\"Star_Shine_02\",\"sc/ui.sc\",\"clan_badge_11_02\",\"01_Symbol\"\n\"Star_Shine_03\",\"sc/ui.sc\",\"clan_badge_11_03\",\"01_Symbol\"\n\"Diamond_01\",\"sc/ui.sc\",\"clan_badge_12_01\",\"01_Symbol\"\n\"Diamond_02\",\"sc/ui.sc\",\"clan_badge_12_02\",\"01_Symbol\"\n\"Diamond_03\",\"sc/ui.sc\",\"clan_badge_12_03\",\"01_Symbol\"\n\"flag_a_01\",\"sc/ui.sc\",\"clan_badge_13_01\",\"02_Flag\"\n\"flag_a_02\",\"sc/ui.sc\",\"clan_badge_13_02\",\"02_Flag\"\n\"flag_a_03\",\"sc/ui.sc\",\"clan_badge_13_03\",\"02_Flag\"\n\"flag_b_01\",\"sc/ui.sc\",\"clan_badge_14_01\",\"02_Flag\"\n\"flag_b_02\",\"sc/ui.sc\",\"clan_badge_14_02\",\"02_Flag\"\n\"flag_b_03\",\"sc/ui.sc\",\"clan_badge_14_03\",\"02_Flag\"\n\"flag_c_03\",\"sc/ui.sc\",\"clan_badge_15_01\",\"02_Flag\"\n\"flag_c_04\",\"sc/ui.sc\",\"clan_badge_15_02\",\"02_Flag\"\n\"flag_c_05\",\"sc/ui.sc\",\"clan_badge_15_03\",\"02_Flag\"\n\"flag_c_06\",\"sc/ui.sc\",\"clan_badge_15_04\",\"02_Flag\"\n\"flag_c_07\",\"sc/ui.sc\",\"clan_badge_15_05\",\"02_Flag\"\n\"flag_c_08\",\"sc/ui.sc\",\"clan_badge_15_06\",\"02_Flag\"\n\"flag_d_01\",\"sc/ui.sc\",\"clan_badge_16_01\",\"02_Flag\"\n\"flag_d_02\",\"sc/ui.sc\",\"clan_badge_16_02\",\"02_Flag\"\n\"flag_d_03\",\"sc/ui.sc\",\"clan_badge_16_03\",\"02_Flag\"\n\"flag_d_04\",\"sc/ui.sc\",\"clan_badge_16_04\",\"02_Flag\"\n\"flag_d_05\",\"sc/ui.sc\",\"clan_badge_16_05\",\"02_Flag\"\n\"flag_d_06\",\"sc/ui.sc\",\"clan_badge_16_06\",\"02_Flag\"\n\"flag_f_01\",\"sc/ui.sc\",\"clan_badge_17_01\",\"02_Flag\"\n\"flag_f_02\",\"sc/ui.sc\",\"clan_badge_17_02\",\"02_Flag\"\n\"flag_g_01\",\"sc/ui.sc\",\"clan_badge_18_01\",\"02_Flag\"\n\"flag_g_02\",\"sc/ui.sc\",\"clan_badge_18_02\",\"02_Flag\"\n\"flag_i_01\",\"sc/ui.sc\",\"clan_badge_19_01\",\"02_Flag\"\n\"flag_i_02\",\"sc/ui.sc\",\"clan_badge_19_02\",\"02_Flag\"\n\"flag_h_01\",\"sc/ui.sc\",\"clan_badge_20_01\",\"02_Flag\"\n\"flag_h_02\",\"sc/ui.sc\",\"clan_badge_20_02\",\"02_Flag\"\n\"flag_h_03\",\"sc/ui.sc\",\"clan_badge_20_03\",\"02_Flag\"\n\"flag_j_01\",\"sc/ui.sc\",\"clan_badge_21_01\",\"02_Flag\"\n\"flag_j_02\",\"sc/ui.sc\",\"clan_badge_21_02\",\"02_Flag\"\n\"flag_j_03\",\"sc/ui.sc\",\"clan_badge_21_03\",\"02_Flag\"\n\"flag_k_01\",\"sc/ui.sc\",\"clan_badge_22_01\",\"02_Flag\"\n\"flag_k_02\",\"sc/ui.sc\",\"clan_badge_22_02\",\"02_Flag\"\n\"flag_k_03\",\"sc/ui.sc\",\"clan_badge_22_03\",\"02_Flag\"\n\"flag_k_04\",\"sc/ui.sc\",\"clan_badge_22_04\",\"02_Flag\"\n\"flag_k_05\",\"sc/ui.sc\",\"clan_badge_22_05\",\"02_Flag\"\n\"flag_k_06\",\"sc/ui.sc\",\"clan_badge_22_06\",\"02_Flag\"\n\"flag_l_01\",\"sc/ui.sc\",\"clan_badge_23_01\",\"02_Flag\"\n\"flag_l_02\",\"sc/ui.sc\",\"clan_badge_23_02\",\"02_Flag\"\n\"flag_l_03\",\"sc/ui.sc\",\"clan_badge_23_03\",\"02_Flag\"\n\"flag_m_01\",\"sc/ui.sc\",\"clan_badge_24_01\",\"02_Flag\"\n\"flag_m_02\",\"sc/ui.sc\",\"clan_badge_24_02\",\"02_Flag\"\n\"flag_m_03\",\"sc/ui.sc\",\"clan_badge_24_03\",\"02_Flag\"\n\"flag_n_01\",\"sc/ui.sc\",\"clan_badge_25_01\",\"02_Flag\"\n\"flag_n_02\",\"sc/ui.sc\",\"clan_badge_25_02\",\"02_Flag\"\n\"flag_n_03\",\"sc/ui.sc\",\"clan_badge_25_03\",\"02_Flag\"\n\"flag_n_04\",\"sc/ui.sc\",\"clan_badge_25_04\",\"02_Flag\"\n\"flag_n_05\",\"sc/ui.sc\",\"clan_badge_25_05\",\"02_Flag\"\n\"flag_n_06\",\"sc/ui.sc\",\"clan_badge_25_06\",\"02_Flag\"\n\"Twin_Peaks_01\",\"sc/ui.sc\",\"clan_badge_27_04\",\"01_Symbol\"\n\"Twin_Peaks_02\",\"sc/ui.sc\",\"clan_badge_27_03\",\"01_Symbol\"\n\"Gem_01\",\"sc/ui.sc\",\"clan_badge_31_01\",\"03_Royale\"\n\"Gem_02\",\"sc/ui.sc\",\"clan_badge_31_02\",\"03_Royale\"\n\"Gem_03\",\"sc/ui.sc\",\"clan_badge_31_03\",\"03_Royale\"\n\"Gem_04\",\"sc/ui.sc\",\"clan_badge_31_04\",\"03_Royale\"\n\"Coin_01\",\"sc/ui.sc\",\"clan_badge_32_01\",\"03_Royale\"\n\"Coin_02\",\"sc/ui.sc\",\"clan_badge_32_02\",\"03_Royale\"\n\"Coin_03\",\"sc/ui.sc\",\"clan_badge_32_03\",\"03_Royale\"\n\"Coin_04\",\"sc/ui.sc\",\"clan_badge_32_04\",\"03_Royale\"\n\"Elixir_01\",\"sc/ui.sc\",\"clan_badge_43_01\",\"03_Royale\"\n\"Elixir_02\",\"sc/ui.sc\",\"clan_badge_43_02\",\"03_Royale\"\n\"Heart_01\",\"sc/ui.sc\",\"clan_badge_30_01\",\"01_Symbol\"\n\"Heart_02\",\"sc/ui.sc\",\"clan_badge_30_02\",\"01_Symbol\"\n\"Heart_04\",\"sc/ui.sc\",\"clan_badge_30_04\",\"01_Symbol\"\n\"Heart_03\",\"sc/ui.sc\",\"clan_badge_30_03\",\"01_Symbol\"\n\"Tower_01\",\"sc/ui.sc\",\"clan_badge_44_01\",\"03_Royale\"\n\"Tower_02\",\"sc/ui.sc\",\"clan_badge_44_02\",\"03_Royale\"\n\"Tower_03\",\"sc/ui.sc\",\"clan_badge_44_03\",\"03_Royale\"\n\"Tower_04\",\"sc/ui.sc\",\"clan_badge_44_04\",\"03_Royale\"\n\"Fan_01\",\"sc/ui.sc\",\"clan_badge_36_01\",\"01_Symbol\"\n\"Fan_02\",\"sc/ui.sc\",\"clan_badge_36_02\",\"01_Symbol\"\n\"Fan_03\",\"sc/ui.sc\",\"clan_badge_36_03\",\"01_Symbol\"\n\"Fan_04\",\"sc/ui.sc\",\"clan_badge_36_04\",\"01_Symbol\"\n\"Fugi_01\",\"sc/ui.sc\",\"clan_badge_26_01\",\"01_Symbol\"\n\"Fugi_02\",\"sc/ui.sc\",\"clan_badge_26_02\",\"01_Symbol\"\n\"Fugi_03\",\"sc/ui.sc\",\"clan_badge_26_04\",\"01_Symbol\"\n\"Fugi_04\",\"sc/ui.sc\",\"clan_badge_26_03\",\"01_Symbol\"\n\"YingYang_01\",\"sc/ui.sc\",\"clan_badge_28_01\",\"01_Symbol\"\n\"YingYang_02\",\"sc/ui.sc\",\"clan_badge_28_02\",\"01_Symbol\"\n\"flag_c_01\",\"sc/ui.sc\",\"clan_badge_28_03\",\"02_Flag\"\n\"flag_c_02\",\"sc/ui.sc\",\"clan_badge_28_04\",\"02_Flag\"\n\"Cherry_Blossom_01\",\"sc/ui.sc\",\"clan_badge_34_01\",\"01_Symbol\"\n\"Cherry_Blossom_02\",\"sc/ui.sc\",\"clan_badge_34_02\",\"01_Symbol\"\n\"Cherry_Blossom_03\",\"sc/ui.sc\",\"clan_badge_34_03\",\"01_Symbol\"\n\"Cherry_Blossom_04\",\"sc/ui.sc\",\"clan_badge_34_04\",\"01_Symbol\"\n\"Cherry_Blossom_06\",\"sc/ui.sc\",\"clan_badge_35_03\",\"01_Symbol\"\n\"Cherry_Blossom_05\",\"sc/ui.sc\",\"clan_badge_35_04\",\"01_Symbol\"\n\"Cherry_Blossom_07\",\"sc/ui.sc\",\"clan_badge_35_01\",\"01_Symbol\"\n\"Cherry_Blossom_08\",\"sc/ui.sc\",\"clan_badge_35_02\",\"01_Symbol\"\n\"Bamboo_01\",\"sc/ui.sc\",\"clan_badge_29_01\",\"01_Symbol\"\n\"Bamboo_02\",\"sc/ui.sc\",\"clan_badge_29_02\",\"01_Symbol\"\n\"Bamboo_03\",\"sc/ui.sc\",\"clan_badge_29_03\",\"01_Symbol\"\n\"Bamboo_04\",\"sc/ui.sc\",\"clan_badge_29_04\",\"01_Symbol\"\n\"Orange_01\",\"sc/ui.sc\",\"clan_badge_37_01\",\"01_Symbol\"\n\"Orange_02\",\"sc/ui.sc\",\"clan_badge_37_04\",\"01_Symbol\"\n\"Lotus_01\",\"sc/ui.sc\",\"clan_badge_40_01\",\"01_Symbol\"\n\"Lotus_02\",\"sc/ui.sc\",\"clan_badge_40_02\",\"01_Symbol\"\n\"A_Char_King_01\",\"sc/ui.sc\",\"clan_badge_54_01\",\"03_Royale\"\n\"A_Char_King_02\",\"sc/ui.sc\",\"clan_badge_54_02\",\"03_Royale\"\n\"A_Char_King_03\",\"sc/ui.sc\",\"clan_badge_54_03\",\"03_Royale\"\n\"A_Char_King_04\",\"sc/ui.sc\",\"clan_badge_54_04\",\"03_Royale\"\n\"A_Char_Barbarian_01\",\"sc/ui.sc\",\"clan_badge_47_01\",\"03_Royale\"\n\"A_Char_Barbarian_02\",\"sc/ui.sc\",\"clan_badge_47_02\",\"03_Royale\"\n\"A_Char_Prince_01\",\"sc/ui.sc\",\"clan_badge_48_01\",\"03_Royale\"\n\"A_Char_Prince_02\",\"sc/ui.sc\",\"clan_badge_48_02\",\"03_Royale\"\n\"A_Char_Knight_01\",\"sc/ui.sc\",\"clan_badge_55_01\",\"03_Royale\"\n\"A_Char_Knight_02\",\"sc/ui.sc\",\"clan_badge_55_02\",\"03_Royale\"\n\"A_Char_Goblin_01\",\"sc/ui.sc\",\"clan_badge_53_01\",\"03_Royale\"\n\"A_Char_Goblin_02\",\"sc/ui.sc\",\"clan_badge_53_02\",\"03_Royale\"\n\"A_Char_DarkPrince_01\",\"sc/ui.sc\",\"clan_badge_49_01\",\"03_Royale\"\n\"A_Char_DarkPrince_02\",\"sc/ui.sc\",\"clan_badge_49_02\",\"03_Royale\"\n\"A_Char_DarkPrince_03\",\"sc/ui.sc\",\"clan_badge_49_03\",\"03_Royale\"\n\"A_Char_DarkPrince_04\",\"sc/ui.sc\",\"clan_badge_49_04\",\"03_Royale\"\n\"A_Char_MiniPekka_01\",\"sc/ui.sc\",\"clan_badge_51_01\",\"03_Royale\"\n\"A_Char_MiniPekka_02\",\"sc/ui.sc\",\"clan_badge_51_02\",\"03_Royale\"\n\"A_Char_Pekka_01\",\"sc/ui.sc\",\"clan_badge_38_03\",\"03_Royale\"\n\"A_Char_Pekka_02\",\"sc/ui.sc\",\"clan_badge_38_04\",\"03_Royale\"\n\"A_Char_Hammer_01\",\"sc/ui.sc\",\"clan_badge_45_01\",\"03_Royale\"\n\"A_Char_Hammer_02\",\"sc/ui.sc\",\"clan_badge_45_02\",\"03_Royale\"\n\"A_Char_Rocket_01\",\"sc/ui.sc\",\"clan_badge_42_01\",\"03_Royale\"\n\"A_Char_Rocket_02\",\"sc/ui.sc\",\"clan_badge_42_02\",\"03_Royale\"\n\"Freeze_01\",\"sc/ui.sc\",\"clan_badge_56_01\",\"01_Symbol\"\n\"Freeze_02\",\"sc/ui.sc\",\"clan_badge_56_02\",\"01_Symbol\"\n\"Clover_01\",\"sc/ui.sc\",\"clan_badge_57_01\",\"01_Symbol\"\n\"Clover_02\",\"sc/ui.sc\",\"clan_badge_57_02\",\"01_Symbol\"\n\"flag_h_04\",\"sc/ui.sc\",\"clan_badge_20_04\",\"02_Flag\"\n\"flag_e_02\",\"sc/ui.sc\",\"clan_badge_20_05\",\"02_Flag\"\n\"flag_i_03\",\"sc/ui.sc\",\"clan_badge_20_06\",\"02_Flag\"\n\"flag_e_01\",\"sc/ui.sc\",\"clan_badge_20_07\",\"02_Flag\"\n\"A_Char_Barbarian_03\",\"sc/ui.sc\",\"clan_badge_47_03\",\"03_Royale\"\n\"A_Char_Prince_03\",\"sc/ui.sc\",\"clan_badge_48_03\",\"03_Royale\"\n\"A_Char_Bomb_01\",\"sc/ui.sc\",\"clan_badge_58_01\",\"03_Royale\"\n\"A_Char_Bomb_02\",\"sc/ui.sc\",\"clan_badge_58_02\",\"03_Royale\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/alliance_roles.csv",
    "content": "\"Name\",\"Level\",\"TID\",\"CanInvite\",\"CanSendMail\",\"CanChangeAllianceSettings\",\"CanAcceptJoinRequest\",\"CanKick\",\"CanBePromotedToLeader\",\"CanPromoteToOwnLevel\"\n\"String\",\"int\",\"String\",\"Boolean\",\"Boolean\",\"Boolean\",\"Boolean\",\"Boolean\",\"Boolean\",\"Boolean\"\n\"NonMember\",0,,\"false\",\"false\",\"false\",\"false\",,,\n\"Member\",1,\"TID_ALLIANCE_ROLE_MEMBER\",\"false\",\"false\",\"false\",\"false\",\"false\",,\n\"Leader\",20,\"TID_ALLIANCE_ROLE_LEADER\",\"true\",\"true\",\"true\",\"true\",\"true\",\"true\",\n\"Elder\",5,\"TID_ALLIANCE_ROLE_ELDER\",\"true\",\"false\",\"false\",\"true\",\"true\",,\n\"Co-leader\",10,\"TID_ALLIANCE_ROLE_CO_LEADER\",\"true\",\"true\",\"true\",\"true\",\"true\",\"true\",\"true\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/area_effect_objects.csv",
    "content": "\"Name\",\"Rarity\",\"LifeDuration\",\"LifeDurationIncreasePerLevel\",\"LifeDurationIncreaseAfterTournamentCap\",\"AffectsHidden\",\"Radius\",\"LoopingEffect\",\"OneShotEffect\",\"ScaledEffect\",\"HitEffect\",\"Pushback\",\"MaximumTargets\",\"HitSpeed\",\"Damage\",\"NoEffectToCrownTowers\",\"CrownTowerDamagePercent\",\"HitBiggestTargets\",\"Buff\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"BuffTimeIncreaseAfterTournamentCap\",\"CapBuffTimeToAreaEffectTime\",\"BuffNumber\",\"OnlyEnemies\",\"OnlyOwnTroops\",\"IgnoreBuildings\",\"Projectile\",\"SpawnCharacter\",\"SpawnInterval\",\"SpawnEffect\",\"SpawnDeployBaseAnim\",\"SpawnTime\",\"SpawnCharacterLevelIndex\",\"SpawnInitialDelay\",\"SpawnMaxCount\",\"HitsGround\",\"HitsAir\",\"ProjectileStartHeight\",\"ProjectilesToCenter\",\"SpawnsAEO\",\"ControlsBuff\",\"Clone\",\"AttractPercentage\"\n\"string\",\"String\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"boolean\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"string\",\"String\",\"int\",\"String\",\"String\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"String\",\"boolean\",\"boolean\",\"int\"\n\"Rage\",\"Epic\",6000,500,500,,5000,\"Spell_rage_loop\",\"Spell_rage_effect\",\"Spell_rage_ground\",,,,300,,,,,\"Rage\",2000,,,\"TRUE\",1,,\"TRUE\",,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"Freeze\",\"Epic\",4000,300,300,\"TRUE\",3000,\"Spell_freeze_loop\",,\"Spell_freeze_ground\",,,,,,,,,\"Freeze\",4000,300,300,,1,\"TRUE\",,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"Lightning\",\"Epic\",1500,,,,3500,,,,,,,460,,,,\"TRUE\",,,,,,,\"TRUE\",,,\"LighningSpell\",,,,,,,,,\"TRUE\",\"TRUE\",10,,,,,\n\"Zap\",\"Common\",1,,,,2500,,\"Spell_zap_effect\",,,,,,75,,-60,,\"ZapFreeze\",500,,,,,\"TRUE\",,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"Poison\",\"Epic\",8000,,,,3500,\"Spell_poison_loop\",\"Spell_poison_effect\",\"Spell_poison_ground\",,,,250,,,,,\"Poison\",1000,,,,1,\"TRUE\",,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"BarbarianRage\",\"Legendary\",7500,500,500,,5000,\"Spell_rage_loop\",\"Spell_rage_effect\",\"Spell_rage_ground\",,,,300,,,,,\"Rage\",2000,,,\"TRUE\",1,,\"TRUE\",,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"Graveyard\",\"Legendary\",10000,,,,5000,,,\"Spell_graveyard_ground\",,,,,,,,,,,,,\"TRUE\",1,,\"TRUE\",,,\"Skeleton\",500,\"Graveyard_appear\",\"filter_deploy_unit_skeleton\",400,8,1500,,\"TRUE\",\"TRUE\",,,,,,\n\"FreezeIceGolemite\",\"Rare\",2000,,,\"TRUE\",2000,,\"IceGolem_slow_loop\",\"IceGolem_slow_ground\",,,,,,,,,\"IceWizardSlowDown\",2000,,,,1,\"TRUE\",,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n\"Tornado\",\"Epic\",2550,,,,5500,,,\"Spell_tornado_deploy\",,,,50,,,,,\"Tornado\",500,,,,,\"TRUE\",,\"TRUE\",,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",,220\n\"Clone\",\"Epic\",1000,,,,3000,,,\"spell_clone_ground\",,,,,,,,,\"Clone\",500,,,,,,\"TRUE\",\"TRUE\",,,,,\"filter_hologram\",,,,,\"TRUE\",\"TRUE\",,,,,\"TRUE\",\n\"NOT_IN_USE\",\"Epic\",1000,,,,3000,,,\"spell_clone_ground\",,,,,,,,,\"Clone\",500,,,,,,\"TRUE\",\"TRUE\",,,,,\"filter_hologram\",,,,,\"TRUE\",\"TRUE\",,,,,\"TRUE\",\n\"Heal\",\"Rare\",3050,,,,3000,,,\"Healing\",,,,50,,,,,\"Heal\",500,,,,1,,\"TRUE\",\"TRUE\",,,,,,,,,,\"TRUE\",\"TRUE\",,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/arenas.csv",
    "content": "\"Name\",\"TID\",\"SubtitleTID\",\"Arena\",\"ChestArena\",\"TvArena\",\"IsInUse\",\"TrainingCamp\",\"PVEArena\",\"TrophyLimit\",\"DemoteTrophyLimit\",\"SeasonTrophyReset\",\"ChestRewardMultiplier\",\"ChestShopPriceMultiplier\",\"RequestSize\",\"MaxDonationCountCommon\",\"MaxDonationCountRare\",\"MaxDonationCountEpic\",\"IconSWF\",\"IconExportName\",\"MainMenuIconExportName\",\"SmallIconExportName\",\"MatchmakingMinTrophyDelta\",\"MatchmakingMaxTrophyDelta\",\"MatchmakingMaxSeconds\",\"PvpLocation\",\"TeamVsTeamLocation\",\"DailyDonationCapacityLimit\",\"BattleRewardGold\",\"ReleaseDate\",\"SeasonRewardChest\"\n\"string\",\"string\",\"string\",\"Int\",\"string\",\"string\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"int\",\"String\",\"String\",\"int\",\"int\",\"String\",\"String\"\n\"TrainingCamp\",\"TID_ARENA_TRAINING_CAMP\",\"TID_INFO_ARENA_TRAINING_CAMP\",0,\"TrainingCamp\",\"TrainingCamp\",\"TRUE\",\"TRUE\",,0,0,,100,100,10,1,1,1,\"sc/ui_arena.sc\",\"arena_00\",\"arena_00\",,0,100,60,\"TrainingCamp\",,60,5,,\n\"Arena1\",\"TID_ARENA1\",\"TID_INFO_ARENA1\",1,\"Arena1\",\"Arena1\",\"TRUE\",,,0,0,,100,100,10,1,1,1,\"sc/ui_arena.sc\",\"arena_01\",\"arena_01\",,20,100,60,\"PvP_goblin\",\"TeamVsTeam_goblin\",60,5,,\n\"Arena2\",\"TID_ARENA2\",\"TID_INFO_ARENA2\",2,\"Arena2\",\"Arena2\",\"TRUE\",,,400,350,,135,130,10,2,1,1,\"sc/ui_arena.sc\",\"arena_02\",\"arena_02\",,40,100,60,\"PvP_bone\",\"TeamVsTeam_bone\",60,7,,\n\"Arena3\",\"TID_ARENA3\",\"TID_INFO_ARENA3\",3,\"Arena3\",\"Arena3\",\"TRUE\",,,800,750,,170,160,10,2,1,1,\"sc/ui_arena.sc\",\"arena_03\",\"arena_03\",,40,100,60,\"PvP_barbarian\",\"TeamVsTeam_barbarian\",60,9,,\n\"Arena4\",\"TID_ARENA4\",\"TID_INFO_ARENA4\",4,\"Arena4\",\"Arena4\",\"TRUE\",,,1100,1050,,200,180,20,4,1,1,\"sc/ui_arena.sc\",\"arena_04\",\"arena_04\",,40,100,60,\"PvP_dark\",\"TeamVsTeam_dark\",120,11,,\n\"Arena5\",\"TID_ARENA5\",\"TID_INFO_ARENA5\",5,\"Arena5\",\"Arena5\",\"TRUE\",,,1400,1350,,230,200,20,4,1,1,\"sc/ui_arena.sc\",\"arena_05\",\"arena_05\",,40,100,60,\"PvP_spell\",\"TeamVsTeam_spell\",120,12,,\n\"Arena6\",\"TID_ARENA6\",\"TID_INFO_ARENA6\",6,\"Arena6\",\"Arena6\",\"TRUE\",,,1700,1650,,260,220,20,4,1,1,\"sc/ui_arena.sc\",\"arena_06\",\"arena_06\",,40,100,60,\"PvP_builder\",\"TeamVsTeam_builder\",120,14,,\n\"Arena_L\",\"TID_ARENA_L\",\"TID_INFO_ARENA_L\",10,\"Arena_L\",\"Arena_L\",\"TRUE\",,,3000,2950,,380,300,40,8,1,1,\"sc/ui_arena.sc\",\"arena_legendary\",\"arena_legendary\",,40,200,60,\"PvP_legendary\",\"TeamVsTeam_legendary\",240,20,,\n\"Arena7\",\"TID_ARENA7\",\"TID_INFO_ARENA7\",7,\"Arena7\",\"Arena7\",\"TRUE\",,,2000,1950,,290,240,30,6,1,1,\"sc/ui_arena.sc\",\"arena_07\",\"arena_07\",,40,100,60,\"PvP_royal\",\"TeamVsTeam_royal\",180,15,,\n\"Arena8\",\"TID_ARENA8\",\"TID_INFO_ARENA8\",8,\"Arena8\",\"Arena8\",\"TRUE\",,,2300,2250,,320,260,30,6,1,1,\"sc/ui_arena.sc\",\"arena_08\",\"arena_08\",,40,100,60,\"PvP_ice\",\"TeamVsTeam_ice\",200,16,,\n\"Arena9\",\"TID_ARENA9\",\"TID_INFO_ARENA9\",9,\"Arena9\",\"Arena9\",\"TRUE\",,,2600,2550,,350,280,30,6,1,1,\"sc/ui_arena.sc\",\"arena_09\",\"arena_09\",,40,100,60,\"PvP_jungle\",\"TeamVsTeam_jungle\",220,18,\"2017-01-13\",\n\"Arena_T\",\"TID_ARENA_T\",\"TID_INFO_ARENA_T\",11,\"Arena_T\",\"Arena_T\",\"TRUE\",,,3800,3750,,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"arena_champion\",\"arena_champion\",,40,200,60,\"PvP_champion\",\"TeamVsTeam_champion\",260,22,,\n\"Arena_L1\",\"TID_ARENA_L1\",\"TID_INFO_ARENA_L1\",12,\"Arena_T\",\"Arena_T\",\"TRUE\",,,4000,4000,4000,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_001\",\"league_badge_arena_001\",\"league_list_icon_001\",40,200,60,\"PvP_champion\",,260,24,,\"SeasonReward_L1\"\n\"Arena_L2\",\"TID_ARENA_L2\",\"TID_INFO_ARENA_L2\",13,\"Arena_T\",\"Arena_T\",\"TRUE\",,,4300,4300,4000,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_002\",\"league_badge_arena_002\",\"league_list_icon_002\",40,200,60,\"PvP_champion\",,260,26,,\"SeasonReward_L2\"\n\"Arena_L3\",\"TID_ARENA_L3\",\"TID_INFO_ARENA_L3\",14,\"Arena_T\",\"Arena_T\",\"TRUE\",,,4600,4600,4000,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_003\",\"league_badge_arena_003\",\"league_list_icon_003\",40,200,60,\"PvP_champion\",,260,28,,\"SeasonReward_L3\"\n\"Arena_L4\",\"TID_ARENA_L4\",\"TID_INFO_ARENA_L4\",15,\"Arena_T\",\"Arena_T\",\"TRUE\",,,4900,4900,4300,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_004\",\"league_badge_arena_004\",\"league_list_icon_004\",40,200,60,\"PvP_champion\",,260,30,,\"SeasonReward_L4\"\n\"Arena_L5\",\"TID_ARENA_L5\",\"TID_INFO_ARENA_L5\",16,\"Arena_T\",\"Arena_T\",\"TRUE\",,,5200,5200,4300,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_005\",\"league_badge_arena_005\",\"league_list_icon_005\",40,200,60,\"PvP_champion\",,260,32,,\"SeasonReward_L5\"\n\"Arena_L6\",\"TID_ARENA_L6\",\"TID_INFO_ARENA_L6\",17,\"Arena_T\",\"Arena_T\",\"TRUE\",,,5500,5500,4300,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_006\",\"league_badge_arena_006\",\"league_list_icon_006\",40,200,60,\"PvP_champion\",,260,34,,\"SeasonReward_L6\"\n\"Arena_L7\",\"TID_ARENA_L7\",\"TID_INFO_ARENA_L7\",18,\"Arena_T\",\"Arena_T\",\"TRUE\",,,5800,5800,4600,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_007\",\"league_badge_arena_007\",\"league_list_icon_007\",40,200,60,\"PvP_champion\",,260,36,,\"SeasonReward_L7\"\n\"Arena_L8\",\"TID_ARENA_L8\",\"TID_INFO_ARENA_L8\",19,\"Arena_T\",\"Arena_T\",\"TRUE\",,,6100,6100,4600,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_008\",\"league_badge_arena_008\",\"league_list_icon_008\",40,200,60,\"PvP_champion\",,260,38,,\"SeasonReward_L8\"\n\"Arena_L9\",\"TID_ARENA_L9\",\"TID_INFO_ARENA_L9\",20,\"Arena_T\",\"Arena_T\",\"TRUE\",,,6400,6400,4600,410,320,40,8,1,1,\"sc/ui_arena.sc\",\"league_badge_009\",\"league_badge_arena_009\",\"league_list_icon_009\",40,200,60,\"PvP_champion\",,260,40,,\"SeasonReward_L9\"\n\"ArenaPvE\",\"TID_ARENA_TRAINING_CAMP\",\"TID_INFO_ARENA_TRAINING_CAMP\",0,\"TrainingCamp\",\"TrainingCamp\",\"TRUE\",\"TRUE\",\"TRUE\",0,0,,100,100,10,1,1,1,\"sc/ui_arena.sc\",\"arena_00\",\"arena_00\",,0,100,60,\"PvE_training\",,,,,\n\"ArenaTvE\",\"TID_ARENA_TRAINING_CAMP\",\"TID_INFO_ARENA_TRAINING_CAMP\",0,\"TrainingCamp\",\"TrainingCamp\",\"TRUE\",\"TRUE\",\"TRUE\",0,0,,100,100,10,1,1,1,\"sc/ui_arena.sc\",\"arena_00\",\"arena_00\",,0,100,60,\"TvE_training\",,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/buildings.csv",
    "content": "\"Name\",\"Rarity\",\"SightRange\",\"DeployTime\",\"ChargeRange\",\"Speed\",\"Hitpoints\",\"HitSpeed\",\"LoadTime\",\"Damage\",\"DamageSpecial\",\"CrownTowerDamagePercent\",\"LoadFirstHit\",\"StopTimeAfterAttack\",\"StopTimeAfterSpecialAttack\",\"Projectile\",\"CustomFirstProjectile\",\"MultipleProjectiles\",\"MultipleTargets\",\"AllTargetsHit\",\"Range\",\"MinimumRange\",\"SpecialMinRange\",\"SpecialRange\",\"SpecialLoadTime\",\"SpecialReadyEffect\",\"AttacksGround\",\"AttacksAir\",\"DeathDamageRadius\",\"DeathDamage\",\"DeathPushBack\",\"AttackPushBack\",\"LifeTime\",\"ProjectileSpecial\",\"ProjectileEffect\",\"ProjectileEffectSpecial\",\"AreaDamageRadius\",\"TargetOnlyBuildings\",\"SpecialAttackInterval\",\"BuffOnDamage\",\"BuffOnDamageTime\",\"StartingBuff\",\"StartingBuffTime\",\"FileName\",\"BlueExportName\",\"BlueTopExportName\",\"RedExportName\",\"RedTopExportName\",\"UseAnimator\",\"AttachedCharacter\",\"AttachedCharacterHeight\",\"DamageEffect\",\"DamageEffectSpecial\",\"DeathEffect\",\"MoveEffect\",\"LoopMoveEffect\",\"SpawnEffect\",\"CrowdEffects\",\"ShadowScaleX\",\"ShadowScaleY\",\"ShadowX\",\"ShadowY\",\"ShadowSkew\",\"ShadowCustom\",\"ShadowCustomLow\",\"Pushback\",\"IgnorePushback\",\"Scale\",\"CollisionRadius\",\"Mass\",\"TileSizeOverride\",\"AreaBuff\",\"AreaBuffTime\",\"AreaBuffRadius\",\"HealthBar\",\"HealthBarOffsetY\",\"ShowHealthNumber\",\"FlyingHeight\",\"FlyDirectPaths\",\"FlyFromGround\",\"DamageExportName\",\"GrowTime\",\"GrowSize\",\"MorphCharacter\",\"MorphEffect\",\"HealOnMorph\",\"AreaEffectOnMorph\",\"MorphTime\",\"MorphKeepTarget\",\"AttackStartEffect\",\"AttackStartEffectSpecial\",\"DashImmuneToDamageTime\",\"DashStartEffect\",\"DashEffect\",\"DashCooldown\",\"JumpHeight\",\"DashPushBack\",\"DashRadius\",\"DashDamage\",\"DashFilter\",\"DashConstantTime\",\"DashLandingTime\",\"LandingEffect\",\"DashMinRange\",\"DashMaxRange\",\"JumpSpeed\",\"ContinuousEffect\",\"SpawnStartTime\",\"SpawnInterval\",\"SpawnNumber\",\"SpawnLimit\",\"SpawnPauseTime\",\"SpawnCharacterLevelIndex\",\"SpawnCharacter\",\"SpawnProjectile\",\"SpawnCharacterEffect\",\"SpawnDeployBaseAnim\",\"SpawnRadius\",\"DeathSpawnCount\",\"DeathSpawnCharacter\",\"DeathSpawnProjectile\",\"DeathSpawnRadius\",\"DeathSpawnMinRadius\",\"SpawnAngleShift\",\"DeathSpawnDeployTime\",\"DeathSpawnPushback\",\"DeathAreaEffect\",\"DeathInheritIgnoreList\",\"Kamikaze\",\"KamikazeTime\",\"KamikazeEffect\",\"SpawnPathfindSpeed\",\"SpawnPathfindEffect\",\"SpawnPathfindMorph\",\"SpawnPushback\",\"SpawnPushbackRadius\",\"SpawnAreaObject\",\"SpawnAreaObjectLevelIndex\",\"ChargeEffect\",\"TakeDamageEffect\",\"ProjectileStartRadius\",\"ProjectileStartZ\",\"StopMovementAfterMS\",\"WaitMS\",\"DontStopMoveAnim\",\"IsSummonerTower\",\"NoDeploySizeW\",\"NoDeploySizeH\",\"TID\",\"VariableDamageLifeTime\",\"VariableDamageTransitionTime\",\"VariableDamage2\",\"VariableDamageTime1\",\"VariableDamage3\",\"VariableDamageTime2\",\"TargettedDamageEffect1\",\"TargettedDamageEffect2\",\"TargettedDamageEffect3\",\"DamageLevelTransitionEffect12\",\"DamageLevelTransitionEffect23\",\"FlameEffect1\",\"FlameEffect2\",\"FlameEffect3\",\"TargetEffectY\",\"SelfAsAoeCenter\",\"HidesWhenNotAttacking\",\"HideTimeMs\",\"HideBeforeFirstHit\",\"SpecialAttackWhenHidden\",\"TargetedHitEffect\",\"TargetedHitEffectSpecial\",\"UpTimeMs\",\"HideEffect\",\"AppearEffect\",\"AppearPushbackRadius\",\"AppearPushback\",\"AppearAreaObject\",\"ManaCollectAmount\",\"ManaGenerateTimeMs\",\"ManaGenerateLimit\",\"HasRotationOnTimeline\",\"TurretMovement\",\"ProjectileYOffset\",\"ChargeSpeedMultiplier\",\"DeployDelay\",\"DeployBaseAnimExportName\",\"JumpEnabled\",\"SightClip\",\"AreaEffectOnDash\",\"SightClipSide\",\"WalkingSpeedTweakPercentage\",\"ShieldHitpoints\",\"ShieldDiePushback\",\"ShieldLostEffect\",\"BlueShieldExportName\",\"RedShieldExportName\",\"LoadAttackEffect1\",\"LoadAttackEffect2\",\"LoadAttackEffect3\",\"LoadAttackEffectReady\",\"RotateAngleSpeed\",\"DeployTimerDelay\",\"RetargetAfterAttack\",\"AttackShakeTime\",\"VisualHitSpeed\",\"Ability\",\"Burst\",\"BurstDelay\",\"BurstKeepTarget\",\"ActivationTime\",\"AttackDashTime\",\"LoopingFilter\",\"BuildingTarget\",\"SpawnConstPriority\"\n\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"string\",\"int\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"string\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"boolean\",\"string\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"String\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"string\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"string\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\"\n\"KingTower\",\"Common\",7000,,,,2400,1000,500,,,,,,,\"KingProjectile\",,,,,7000,,,,,,\"true\",\"true\",,,,,,,\"King_attack\",,,,,,,,,\"sc/building_tower.sc\",\"KingTower_blue\",,\"KingTower_red\",,,,2400,\"musketeer_hit\",,\"King_player_die\",,,,,102,60,-6,2,13,,,,,100,1400,,2,,,,\"Summoner\",-27,\"true\",,,,\"filter_damage\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,750,3500,,,,,18,16,\"TID_CHARACTER_WIZARD\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",5,400,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"PrincessTower\",\"Common\",7500,,,,1400,800,,,,,,,,\"TowerPrincessProjectile\",,,,,7500,,,,,,\"true\",\"true\",,,,,,,\"ArcherTowerAttack\",,,,,,,,,\"sc/building_tower.sc\",\"StarTower_base_blue\",\"StarTower_top_blue\",\"StarTower_base_red\",\"StarTower_top_red\",,\"TowerPrincess\",2200,,,\"TowerExplode\",,,,\"true\",102,70,-5,5,13,,,,,100,1000,,,,,,\"Tower\",,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,3000,,,,\"true\",11,21,\"TID_BUILDING_ARCHER_TOWER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Cannon\",\"Common\",5500,1000,,,350,800,,,,,,,,\"TowerCannonball\",,,,,5500,,,,,,\"true\",,,,,,30000,,\"cannon_fire_projectile\",,,,,,,,,\"sc/building_basic_cannon.sc\",\"building_cannon\",,\"building_enemy_cannon\",,,,,,,\"Cannon_die\",,,\"Cannon_deploy\",,90,-90,-7,10,10,,,,,100,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,2500,,,,,,,\"TID_BUILDING_CANNON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"GoblinHut\",\"Rare\",,1000,,,735,10000,,,,,,,,,,,,,,,,,,,\"true\",,,,,,60000,,,,,,,,,,,\"sc/building_goblin_hut.sc\",\"building_goblinHut_player\",,\"building_goblinHut_enemy\",,,,,,,\"goblin_hut_die\",,,\"goblin_hut_deploy\",,90,60,-8,,5,,,,,100,1000,,,,,,,,,,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,4950,2,\"SpearGoblin\",,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_GOBLIN_HUT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Mortar\",\"Common\",11500,4000,,,600,5000,4000,,,,,,,\"MortarProjectile\",,,,,11500,4500,,,,,\"true\",,,,,,30000,,\"mortar_attack\",,,,,,,,,\"sc/building_mortar.sc\",\"building_mortar1\",,\"building_mortar1_enemy\",,\"true\",,,,,\"mortar_die\",,,\"mortar_deploy\",,80,80,,,35,,,,,140,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,,\"TID_BUILDING_MORTAR\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"InfernoTower\",\"Rare\",6000,1000,,,800,400,1600,20,,,,,,,,,,,6000,,,,,,\"true\",\"true\",,,,,40000,,,,,,,,,,,\"sc/building_inferno_tower.sc\",\"inferno_blue\",,\"inferno_red\",,\"true\",,,\"inferno_hit_effect\",,\"Cannon_die\",,,\"inferno_tower_deploy\",,90,70,-5,15,35,,,,,120,600,,,,,,,,,,,,,,,,,,,,,\"knight_attack_start\",,,,,,,,,,,,,,,,,\"Inferno_continuous\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,,\"TID_BUILDING_INFERNO\",,,75,2000,400,2000,\"inferno_beam_lvl1\",\"inferno_beam_lvl2\",\"inferno_beam_lvl3\",\"inferno_stage2_root\",\"inferno_stage3_root\",\"inferno_muzzle\",\"inferno_muzzle_stage2\",\"inferno_muzzle_stage3\",-80,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BombTower\",\"Rare\",6000,1000,,,950,1600,1100,,,,,,,\"BombTowerProjectile\",,,,,6000,,,,,,\"true\",,,,,,40000,,\"BombTower_attack\",,,,,,,,,\"sc/building_bomb_tower.sc\",\"building_bomb_tower_blue\",\"building_bomb_tower_top_blue\",\"building_bomb_tower_red\",\"building_bomb_tower_top_red\",,\"Bomber\",3200,,,\"BombTower_die\",,,\"goblin_hut_deploy\",,100,85,-8,,35,,,,,100,600,,,,,,,-15,,,,,\"filter_damage_wobble\",,,,,,,,,\"BombTower_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4500,,,,,,,\"TID_BUILDING_BOMB_TOWER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BarbarianHut\",\"Rare\",,1000,,,1100,10000,,,,,,,,,,,,,,,,,,,\"true\",,,,,,60000,,,,,,,,,,,\"sc/building_barbarian_hut.sc\",\"building_barbarian_hut_blue\",,\"building_barbarian_hut_red\",,,,,,,\"goblin_hut_die\",,,\"goblin_hut_deploy\",,90,60,-8,,5,,,,,100,1000,,,,,,,,,,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,500,2,,13500,2,\"Barbarian\",,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_BARBARIAN_HUT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tesla\",\"Common\",5500,1000,,,450,800,100,64,,,,,,,,,,,5500,,,,,,\"true\",\"true\",,,,,40000,,,,,,,,,,,\"sc/building_tesla.sc\",\"tesla1_blue\",,\"tesla1_red\",,,,,\"tesla_hit_effect\",,\"tesla_die\",,,\"tesla_deploy\",,80,80,,,35,,,,,90,500,,,,,,,10,,,,,,,,,,,,,,\"Tesla_beam\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,,\"TID_BUILDING_TESLA\",,,,,,,,,,,,,,,-60,,\"true\",800,,,\"Tesla_beam\",,800,\"tesla_down\",\"tesla_up\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ElixirCollector\",\"Rare\",,1000,,,580,,,,,,,,,,,,,,,,,,,,,,,,,,70000,,,,,,,,,,,\"sc/building_elixir_collector.sc\",\"building_elixir_pump_blue\",,\"building_elixir_pump_red\",,,,,,,\"elixircollector_die\",,,\"elixircollector_deploy\",,55,50,-15,,35,,,,,100,1000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_BUILDING_ELIXIR_COLLECTOR\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,8500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Xbow\",\"Epic\",11500,4000,,,1000,250,,,,,,,,\"xbow_projectile\",,,,,11500,,,,,,\"true\",,,,,,40000,,\"XbowAttack\",,,,,,,,,\"sc/building_xbow.sc\",\"building_xbow_attack1_1\",,\"building_xbow_red_attack1\",,,,,,,\"Cannon_die\",,,\"Xbow_deploy\",,80,80,,,35,,,,,100,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,2400,,,,,,,\"TID_BUILDING_XBOW\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tombstone\",\"Rare\",,1000,,,240,10000,,,,,,,,,,,,,,,,,,,\"true\",,,,,,40000,,,,,,,,,,,\"sc/building_tombstone.sc\",\"building_tombstone_blue\",,\"building_tombstone_red\",,,,,,,\"tombstone_die\",,,\"tombstone_deploy\",,90,60,-8,,5,,,,,100,1000,,,,,,,,,,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,2950,2,\"Skeleton\",,,,,4,\"Skeleton\",,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_TOMBSTONE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"GiantSkeletonBomb\",\"Epic\",,3000,,,,,,,,,,,,,,,,,,,,,,,\"true\",\"true\",3000,720,1800,,,,,,,,,,,,,\"sc/building_mega_bomb.sc\",\"giant_skeleton_bomb_blue\",,\"giant_skeleton_bomb_red\",,,,,,,\"MegaBombExplodeSkeleton\",,,\"GiantSkeleton_Bomb_deploy\",,,,,,,,,,,100,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_GIANT_SKELETON_BOMB\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BalloonBomb\",\"Epic\",,3000,,,,,,,,,,,,,,,,,,,,,,,\"true\",\"true\",3000,205,,,,,,,,,,,,,,\"sc/building_mega_bomb.sc\",\"giant_skeleton_bomb_blue\",,\"giant_skeleton_bomb_red\",,,,,,,\"MegaBombExplodeSkeleton\",,,\"GiantSkeleton_Bomb_deploy\",,,,,,,,,,,100,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_GIANT_SKELETON_BOMB\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"FirespiritHut\",\"Rare\",,1000,,,570,10000,,,,,,,,,,,,,,,,,,,\"true\",,,,,,50000,,,,,,,,,,,\"sc/building_firespirit_hut.sc\",\"firespirit_hut_blue\",,\"firespirit_hut_red\",,,,,,,\"goblin_hut_die\",,,\"Firespirit_building_spawn\",,90,60,-8,,5,,,,,95,1000,,,,,,,,,,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,500,2,,9400,2,\"FireSpirits\",,,,,,,,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_FIRE_SPIRIT_HUT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"RageBarbarianBottle\",\"Legendary\",,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"sc/building_rage_bottle.sc\",\"rage_bottle_fall\",,\"rage_bottle_fall\",,,,,,,\"rage_bottle_explode\",,,\"GiantSkeleton_Bomb_deploy\",,,,,,,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"BarbarianRage\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"KingTowerMiddle\",\"Common\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"sc/building_tower.sc\",\"2vs2_red_tower_top\",,\"2vs2_red_tower_top\",,,,,,,\"king_2v2_die\",,,,,102,60,-1,2,13,,,,,100,1400,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE21\",\"Common\",7000,,,,2400,1000,500,,,,,,,\"KingProjectile\",,,,,7000,,,,,,\"true\",\"true\",,,,,,,\"King_attack\",,,,,,,,,\"sc/building_tower.sc\",\"KingTower_blue\",,\"KingTower_red\",,,,2400,\"musketeer_hit\",,\"King_player_die\",,,,,102,60,-6,2,13,,,,,100,1400,,2,,,,\"Summoner\",-27,\"true\",,,,\"filter_damage\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,750,3500,,,,,18,16,\"TID_CHARACTER_WIZARD\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",5,400,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE22\",\"Legendary\",,1000,,,800,10000,,,,,,,,,,,,,,,,,,,\"true\",\"true\",,,,,40000,,,,,,,,,,,\"sc/building_tombstone.sc\",\"building_tombstone_blue\",,\"building_tombstone_red\",,,,,,,\"tombstone_die\",,,\"tombstone_deploy\",,90,60,-8,,5,,,,,100,1000,,,,,,,,,,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,150,4,,6500,8,\"Bat\",,,,,3,\"Bat\",,,,,,,,,,,,,,,,,,,,,400,400,,,,,,,\"TID_BUILDING_TOMBSTONE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"SkeletonContainer\",\"Common\",,600,,,,,,,,,,,,,,,,,,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_skeleton_balloon.sc\",\"skeleton_balloon_barrel_drop\",,\"skeleton_balloon_barrel_drop\",,,,,,,\"skeleton_container_explosion\",,,,,,,,,,,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"Skeleton\",,,,,8,\"Skeleton\",,1800,100,,500,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/character_buffs.csv",
    "content": "\"Name\",\"Rarity\",\"TID\",\"IconFileName\",\"IconExportName\",\"ChangeControl\",\"NoEffectToCrownTowers\",\"CrownTowerDamagePercent\",\"DamagePerSecond\",\"HitFrequency\",\"DamageReduction\",\"HealPerSecond\",\"ImmuneToAntiMagic\",\"HitSpeedMultiplier\",\"SpeedMultiplier\",\"SpawnSpeedMultiplier\",\"NegatesBuffs\",\"ImmunityToBuffs\",\"Invisible\",\"RemoveOnAttack\",\"RemoveOnHeal\",\"DamageMultiplier\",\"Panic\",\"Effect\",\"FilterFile\",\"FilterExportName\",\"FilterAffectsTransformation\",\"FilterInheritLifeDuration\",\"SizeMultiplier\",\"StaticTarget\",\"IgnorePushBack\",\"MarkEffect\",\"AudioPitchModifier\",\"PortalSpell\",\"AttractPercentage\",\"ControlledByParent\",\"Clone\",\"Scale\",\"EnableStacking\"\n\"String\",\"String\",\"String\",\"String\",\"String\",\"Boolean\",\"Boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"Boolean\",\"int\",\"int\",\"int\",\"String\",\"String\",\"Boolean\",\"Boolean\",\"Boolean\",\"int\",\"boolean\",\"String\",\"String\",\"String\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"String\",\"int\",\"String\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\"\n\"Rage\",\"Epic\",\"TID_SPELL_RAGE\",,,,,,,,,,,135,135,135,,,,,,,,\"Spell_rage_hit_effect\",\"sc/effects.sc\",\"filter_rage\",,,,,,\"Healing\",125,,,,,,\n\"Freeze\",\"Epic\",\"TID_SPELL_FREEZE\",,,,,,,,,,\"TRUE\",-100,-100,-100,,,,,,,,,\"sc/effects.sc\",\"filter_cold\",,,,,,,,,,,,,\n\"Poison\",\"Epic\",\"TID_SPELL_POISON\",,,,,-60,57,1000,,,\"TRUE\",,,,,,,,,,,\"PoisonSteam\",\"sc/effects.sc\",\"filter_poison\",,,,,,,,,,,,,TRUE\n\"IceWizardSlowDown\",\"Legendary\",,,,,,,,,,,,-35,-35,-35,,,,,,,,,\"sc/effects.sc\",\"filter_cold\",,,,,,\"Healing\",75,,,,,,\n\"ZapFreeze\",\"Common\",\"TID_SPELL_ZAP_FREEZE\",,,,,,,,,,\"TRUE\",-100,-100,-100,,,,,,,,,\"sc/effects.sc\",\"filter_cold\",,,,,,,,,,,,,\n\"Tornado\",\"Epic\",\"TID_SPELL_TORNADO\",,,,,-100,44,500,,,,,,,,,,,,,,,\"sc/effects.sc\",\"filter_poison\",,,,,,\"Healing\",,,220,\"true\",,,TRUE\n\"Clone\",\"Epic\",\"TID_SPELL_CLONE\",,,,,,,,,,,-100,-100,-100,,,,,,,,,,,,,,,,,,,,,\"true\",,\n\"Heal\",\"Rare\",,,,,,,,500,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,TRUE\n\"Stun\",\"Legendary\",,,,,,,,,,,\"TRUE\",-100,-100,-100,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/characters.csv",
    "content": "\"Name\",\"Rarity\",\"SightRange\",\"DeployTime\",\"ChargeRange\",\"Speed\",\"Hitpoints\",\"HitSpeed\",\"LoadTime\",\"Damage\",\"DamageSpecial\",\"CrownTowerDamagePercent\",\"LoadFirstHit\",\"StopTimeAfterAttack\",\"StopTimeAfterSpecialAttack\",\"Projectile\",\"CustomFirstProjectile\",\"MultipleProjectiles\",\"MultipleTargets\",\"AllTargetsHit\",\"Range\",\"MinimumRange\",\"SpecialMinRange\",\"SpecialRange\",\"SpecialLoadTime\",\"SpecialReadyEffect\",\"AttacksGround\",\"AttacksAir\",\"DeathDamageRadius\",\"DeathDamage\",\"DeathPushBack\",\"AttackPushBack\",\"LifeTime\",\"ProjectileSpecial\",\"ProjectileEffect\",\"ProjectileEffectSpecial\",\"AreaDamageRadius\",\"TargetOnlyBuildings\",\"SpecialAttackInterval\",\"BuffOnDamage\",\"BuffOnDamageTime\",\"StartingBuff\",\"StartingBuffTime\",\"FileName\",\"BlueExportName\",\"BlueTopExportName\",\"RedExportName\",\"RedTopExportName\",\"UseAnimator\",\"AttachedCharacter\",\"AttachedCharacterHeight\",\"DamageEffect\",\"DamageEffectSpecial\",\"DeathEffect\",\"MoveEffect\",\"LoopMoveEffect\",\"SpawnEffect\",\"CrowdEffects\",\"ShadowScaleX\",\"ShadowScaleY\",\"ShadowX\",\"ShadowY\",\"ShadowSkew\",\"ShadowCustom\",\"ShadowCustomLow\",\"Pushback\",\"IgnorePushback\",\"Scale\",\"CollisionRadius\",\"Mass\",\"TileSizeOverride\",\"AreaBuff\",\"AreaBuffTime\",\"AreaBuffRadius\",\"HealthBar\",\"HealthBarOffsetY\",\"ShowHealthNumber\",\"FlyingHeight\",\"FlyDirectPaths\",\"FlyFromGround\",\"DamageExportName\",\"GrowTime\",\"GrowSize\",\"MorphCharacter\",\"MorphEffect\",\"HealOnMorph\",\"AreaEffectOnMorph\",\"MorphTime\",\"MorphKeepTarget\",\"AttackStartEffect\",\"AttackStartEffectSpecial\",\"DashImmuneToDamageTime\",\"DashStartEffect\",\"DashEffect\",\"DashCooldown\",\"JumpHeight\",\"DashPushBack\",\"DashRadius\",\"DashDamage\",\"DashFilter\",\"DashConstantTime\",\"DashLandingTime\",\"LandingEffect\",\"DashMinRange\",\"DashMaxRange\",\"JumpSpeed\",\"ContinuousEffect\",\"SpawnStartTime\",\"SpawnInterval\",\"SpawnNumber\",\"SpawnLimit\",\"SpawnPauseTime\",\"SpawnCharacterLevelIndex\",\"SpawnCharacter\",\"SpawnProjectile\",\"SpawnCharacterEffect\",\"SpawnDeployBaseAnim\",\"SpawnRadius\",\"DeathSpawnCount\",\"DeathSpawnCharacter\",\"DeathSpawnProjectile\",\"DeathSpawnRadius\",\"DeathSpawnMinRadius\",\"SpawnAngleShift\",\"DeathSpawnDeployTime\",\"DeathSpawnPushback\",\"DeathAreaEffect\",\"DeathInheritIgnoreList\",\"Kamikaze\",\"KamikazeTime\",\"KamikazeEffect\",\"SpawnPathfindSpeed\",\"SpawnPathfindEffect\",\"SpawnPathfindMorph\",\"SpawnPushback\",\"SpawnPushbackRadius\",\"SpawnAreaObject\",\"SpawnAreaObjectLevelIndex\",\"ChargeEffect\",\"TakeDamageEffect\",\"ProjectileStartRadius\",\"ProjectileStartZ\",\"StopMovementAfterMS\",\"WaitMS\",\"DontStopMoveAnim\",\"IsSummonerTower\",\"NoDeploySizeW\",\"NoDeploySizeH\",\"TID\",\"VariableDamageLifeTime\",\"VariableDamageTransitionTime\",\"VariableDamage2\",\"VariableDamageTime1\",\"VariableDamage3\",\"VariableDamageTime2\",\"TargettedDamageEffect1\",\"TargettedDamageEffect2\",\"TargettedDamageEffect3\",\"DamageLevelTransitionEffect12\",\"DamageLevelTransitionEffect23\",\"FlameEffect1\",\"FlameEffect2\",\"FlameEffect3\",\"TargetEffectY\",\"SelfAsAoeCenter\",\"HidesWhenNotAttacking\",\"HideTimeMs\",\"HideBeforeFirstHit\",\"SpecialAttackWhenHidden\",\"TargetedHitEffect\",\"TargetedHitEffectSpecial\",\"UpTimeMs\",\"HideEffect\",\"AppearEffect\",\"AppearPushbackRadius\",\"AppearPushback\",\"AppearAreaObject\",\"ManaCollectAmount\",\"ManaGenerateTimeMs\",\"ManaGenerateLimit\",\"HasRotationOnTimeline\",\"TurretMovement\",\"ProjectileYOffset\",\"ChargeSpeedMultiplier\",\"DeployDelay\",\"DeployBaseAnimExportName\",\"JumpEnabled\",\"SightClip\",\"AreaEffectOnDash\",\"SightClipSide\",\"WalkingSpeedTweakPercentage\",\"ShieldHitpoints\",\"ShieldDiePushback\",\"ShieldLostEffect\",\"BlueShieldExportName\",\"RedShieldExportName\",\"LoadAttackEffect1\",\"LoadAttackEffect2\",\"LoadAttackEffect3\",\"LoadAttackEffectReady\",\"RotateAngleSpeed\",\"DeployTimerDelay\",\"RetargetAfterAttack\",\"AttackShakeTime\",\"VisualHitSpeed\",\"Ability\",\"Burst\",\"BurstDelay\",\"BurstKeepTarget\",\"ActivationTime\",\"AttackDashTime\",\"LoopingFilter\",\"BuildingTarget\",\"SpawnConstPriority\"\n\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"string\",\"int\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"string\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"boolean\",\"string\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"string\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"string\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\"\n\"Knight\",\"Common\",5500,1000,,60,660,1100,700,75,,,,,,,,,,,1000,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_knight.sc\",\"Knight\",,\"Knight_enemy\",,\"true\",,,\"knight_hit\",,\"knight_die\",\"knight_steps\",,\"knight_deploy\",,85,85,,-10,35,,,,,98,500,6,,,,,\"Medium\",35,,,,,\"filter_damage\",,,,,,,,,\"knight_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_KNIGHT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Archer\",\"Common\",5500,1000,,60,120,1200,1100,,,,,,,\"ArcherArrow\",,,,,5000,,,,,,\"true\",\"true\",,,,,,,\"ArcherAttack\",,,,,,,,,\"sc/chr_archer.sc\",\"archer1\",,\"archer1_enemy\",,\"true\",,,,,\"ArcherDie\",\"ArcherSteps\",,\"ArcherDeploy\",,75,75,,-15,25,,,,,87,500,3,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,\"ArcherAttackStart\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_ARCHER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Goblin\",\"Common\",5500,1000,,120,80,1100,900,50,,,,,,,,,,,500,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_goblin.sc\",\"goblin1\",,\"goblin1_enemy\",,\"true\",,,\"goblins_hit\",,\"goblins_die\",\"goblins_steps\",,\"goblins_deploy\",,50,50,-5,5,35,,,,,100,500,2,,,,,\"Small\",,,,,,\"filter_damage\",,,,,,,,,\"goblins_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_GOBLIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant\",\"Rare\",7500,1000,,45,1900,1500,1000,120,,,,,,,,,,,1250,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_giant.sc\",\"giant1\",,\"giant1_enemy\",,\"true\",,,\"giant_hit\",,\"giant_die\",\"giant_steps\",,\"giant_deploy\",\"true\",85,80,,,25,,,,\"true\",100,750,18,,,,,\"High\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"giant_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,640,100,,,,,\"TID_SPELL_GIANT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,2000,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"Pekka\",\"Epic\",5000,1000,,45,2600,1800,1300,510,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_pekka.sc\",\"pekka\",,\"pekka_enemy\",,\"true\",,,\"pekka_hit\",,\"pekka_die\",\"pekka_steps\",,\"pekka_deploy\",\"true\",80,80,,,35,,,,\"true\",106,750,18,,,,,\"Medium\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"pekka_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_PEKKA\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,20,,,,,,,,,,,,,,,,,,,,,,,\n\"Minion\",\"Common\",5500,1000,,90,90,1000,500,,,,,,,\"MinionSpit\",,,,,2000,,,,,,\"true\",\"true\",,,,,,,\"minion_attack\",,,,,,,,,\"sc/chr_minion.sc\",\"minion1\",,\"minion1_enemy\",,\"true\",,,,,\"minion_die\",\"minion_steps\",,\"minion_deploy\",,85,-60,,20,,,,,,85,500,2,,,,,\"Small\",,,1500,,,\"filter_damage_wobble\",,,,,,,,,\"minion_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_MINION\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Balloon\",\"Epic\",7700,1000,,60,1050,3000,2800,600,,,,,,,,,,,100,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_balloon.sc\",\"balloon1\",,\"balloon1_enemy\",,\"true\",,,\"balloon_hit\",,\"balloon_die\",\"balloon_steps\",,\"balloon_deploy\",,85,50,,-10,15,,,,\"true\",100,500,6,,,,,\"Medium\",,,3000,,,\"filter_damage_wobble\",,,,,,,,,\"balloon_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"BalloonBomb\",,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_BALLOON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"Witch\",\"Epic\",5500,1000,,60,524,700,200,,,,,,,\"WitchProjectile\",,,,,5000,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_witch.sc\",\"witch1\",,\"witch1_enemy\",,\"true\",,,\"witch_hit\",,\"witch_die\",\"witch_steps\",,\"witch_deploy\",,80,80,,,35,,,,,100,500,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"witch_attack_start\",,,,,,,,,,,,,,,,,,1000,300,3,,6400,5,\"Skeleton\",,\"witch_deploy_skeleton\",,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_WITCH\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Skeleton\",\"Common\",5500,1000,,90,32,1000,500,32,,,,,,,,,,,500,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_skeleton.sc\",\"skeleton1\",,\"skeleton1\",,\"true\",,,\"skeleton_hit\",,\"skeleton_die\",\"skeleton_steps\",,\"skeleton_deploy\",,50,50,-5,5,35,,,,,130,500,1,,,,,\"Small\",,,,,,\"filter_damage\",,,,,,,,,\"skeleton_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_SKELETON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Barbarian\",\"Common\",5500,1000,,60,300,1500,1000,75,,,,,,,,,,,700,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_barbarian.sc\",\"barbarian1\",,\"barbarian1_enemy\",,\"true\",,,\"barbarian_hit\",,\"barbarian_die\",\"barbarian_steps\",,\"barbarian_deploy\",,85,85,,-10,35,,,,,95,500,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"barbarian_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_BARBARIAN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,-20,,,,,,,,,,,,,,,,,,,,,,,\n\"Golem\",\"Epic\",7000,3000,,45,3200,2500,1500,195,,,,,,,,,,,750,,,,,,\"true\",\"true\",2000,195,1800,,,,,,,\"true\",,,,,,\"sc/chr_golem.sc\",\"golem1\",,\"golem1_red\",,\"true\",,,\"golem_hit\",,\"golem_die\",\"golem_steps\",,\"golem_deploy\",\"true\",85,85,,-15,25,,,,\"true\",130,750,20,,,,,\"High\",,,,,,\"filter_damage\",,,,,,,,,\"golem_attack_start\",,,,,,,,,,,,,,,,,\"golem_cont_effect\",,,,,,,,,,,,2,\"Golemite\",,1500,,,,\"true\",,,,,,,,,,,,,,,450,450,1000,200,\"true\",,,,\"TID_SPELL_GOLEM\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,2000,,2000,15,,,,,,,,,,,,,,,,,,,,,,,\n\"Golemite\",\"Epic\",7000,1000,,45,650,2500,1500,40,,,,,,,,,,,250,,,,,,\"true\",\"true\",2000,40,1800,,,,,,,\"true\",,,,,,\"sc/chr_golemite.sc\",\"golemite\",,\"golemite_red\",,\"true\",,,\"small_golem_hit\",,\"small_golem_die\",\"golem_steps\",,\"small_golem_deploy\",,50,50,-5,5,35,,,,,120,500,6,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"small_golem_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_SMALL_GOLEM\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,2000,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"Valkyrie\",\"Rare\",5500,1000,,60,880,1500,1300,120,,,,,,,,,,,1000,,,,,,\"true\",,,,,,,,,,2000,,,,,,,\"sc/chr_valkyrie.sc\",\"valkyrie1\",,\"valkyrie1_enemy\",,\"true\",,,\"valkyrie_hit\",,\"valkyrie_die\",\"valkyrie_steps\",,\"valkyrie_deploy\",,85,80,,,25,,,,,140,500,5,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"valkyrie_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_VALKYRIE\",,,,,,,,,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Bomber\",\"Common\",5500,1000,,60,147,1900,1700,,,,,,,\"BombSkeletonProjectile\",,,,,4500,,,,,,\"true\",,,,,,,,\"bomber_attack\",,,,,,,,,\"sc/chr_bomber.sc\",\"chr_bomber\",,\"chr_bomber_RED\",,\"true\",,,,,\"bomber_die\",\"bomber_steps\",,\"bomber_deploy\",,50,50,-5,5,35,,,,,100,500,4,,,,,\"Small\",,,,,,\"filter_damage\",,,,,,,,,\"bomber_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_BOMBER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,-10,,,,,,,,,,,,,,,,,,,,,,,\n\"Musketeer\",\"Rare\",6000,1000,,60,340,1100,600,,,,,,,\"MusketeerProjectile\",,,,,6000,,,,,,\"true\",\"true\",,,,,,,\"musketeer_attack\",,,,,,,,,\"sc/chr_musketeer.sc\",\"chr_musketeer_blue\",,\"chr_musketeer\",,\"true\",,,\"musketeer_hit\",,\"musketeer_die\",\"musketeer_steps\",,\"musketeer_deploy\",,80,80,,-10,35,,,,,100,500,5,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"musketeer_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,800,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_MUSKETEER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BabyDragon\",\"Epic\",5500,1000,,90,800,1600,1300,,,,,,,\"BabyDragonProjectile\",,,,,3500,,,,,,\"true\",\"true\",,,,,,,\"dragon_attack_start\",,,,,,,,,\"sc/chr_baby_dragon.sc\",\"baby_dragon\",,\"baby_dragon_enemy\",,\"true\",,,,,\"baby_dragon_die\",\"baby_dragon_steps\",,\"baby_dragon_deploy\",,85,-60,,20,,,,,\"true\",100,500,5,,,,,\"High\",,,3500,,,\"filter_damage_wobble\",,,,,,,,,\"baby_dragon_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,500,1900,,,,,,,\"TID_SPELL_BABY_DRAGON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MiniPekka\",\"Rare\",5500,1000,,90,600,1800,1300,325,,,,,,,,,,,1050,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_mini_pekka.sc\",\"minipekka\",,\"minipekka_red\",,\"true\",,,\"mini_pekka_hit\",,\"mini_pekka_die\",\"mini_pekka_steps\",,\"mini_pekka_deploy\",,80,80,,,35,,,,,100,450,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"mini_pekka_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_MINIPEKKA\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Wizard\",\"Rare\",5500,1000,,60,340,1400,1000,,,,,,,\"chr_wizardProjectile\",,,,,5500,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_wizard.sc\",\"wizard1\",,\"wizard1_red\",,\"true\",,,\"chr_wizard_hit\",,\"chr_wizard_die\",\"chr_wizard_steps\",,\"chr_wizard_deploy\",,80,80,,,35,,,,,87,500,5,,,,,\"Medium\",-18,,,,,\"filter_damage\",,,,,,,,,\"chr_wizard_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,550,1500,,,,,,,\"TID_SPELL_WIZARD\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,-10,,,,,,,,,,,,,,,,,,,,,,,\n\"Prince\",\"Epic\",5500,1000,250,60,1100,1500,1000,245,490,,,,,,,,,,1850,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_prince.sc\",\"Prince\",,\"Prince_red\",,\"true\",,,\"prince_hit\",\"prince_charge_hit\",\"prince_die\",\"prince_steps\",,\"prince_deploy\",,80,80,,,35,,,,\"true\",92,650,6,,,,,\"Medium\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"prince_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"prince_charge\",,,,,,,,,,\"TID_SPELL_PRINCE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,200,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"SpearGoblin\",\"Common\",5500,1000,,120,52,1300,1100,,,,,,,\"SpearGoblinProjectile\",,,,,5000,,,,,,\"true\",\"true\",,,,,,,\"spear_goblin_attack\",,,,,,,,,\"sc/chr_goblin_archer.sc\",\"goblinArcher_blue\",,\"goblinArcher\",,\"true\",,,,,\"spear_goblin_die\",\"spear_goblin_steps\",,\"spear_goblin_deploy\",,75,75,,-15,25,,,,,133,500,1,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,\"spear_goblin_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,600,,,,,,,\"TID_CHARACTER_SPEAR_GOBLIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"GiantSkeleton\",\"Epic\",5000,1000,,60,2000,1500,1000,130,,,,,,,,,,,800,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_giant_skeleton.sc\",\"giant_skeleton\",,\"giant_skeleton_enemy\",,\"true\",,,\"giant_skeleton_hit\",,\"giant_skeleton_die\",\"giant_skeleton_steps\",,\"giant_skeleton_deploy\",\"true\",50,50,-5,5,35,,,,\"true\",105,1000,15,,,,,\"High\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"giant_skeleton_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,\"GiantSkeletonBomb\",,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_GIANT_SKELETON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,-12,,,,,,,,,,,,,,,,,,,,,,,\n\"HogRider\",\"Rare\",9500,1000,,120,800,1500,1000,150,,,,,,,,,,,800,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_hog_rider.sc\",\"hog_rider\",,\"hog_rider_red\",,\"true\",,,\"hog_rider_hit\",,\"hog_rider_die\",\"hog_rider_steps\",,\"hog_rider_deploy\",,85,85,,-10,35,,,,,95,600,4,,,,,\"Medium\",-15,,,,,\"filter_damage\",,,,,,,,,\"hog_rider_attack_start\",,,,,,4000,,,,,,,\"hog_rider_landing\",,,160,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_HOG_RIDER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",\"true\",4000,,4000,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerPrincess\",\"Common\",5500,1000,,60,125,1200,1000,,,,,,,\"TowerPrincessProjectile\",,,,,5000,,,,,,\"true\",\"true\",,,,,,,\"ArcherAttack\",,,,,,,,,\"sc/chr_princess.sc\",\"princess_tower\",,\"princess_tower_red\",,\"true\",,,,,\"ArcherDie\",\"ArcherSteps\",,\"ArcherDeploy\",,75,75,,-15,25,,,,,100,500,3,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,\"ArcherAttackStart\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_ARCHER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceWizard\",\"Legendary\",5500,1000,,60,665,1500,1000,,,,,,,\"ice_wizardProjectile\",,,,,5500,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_ice_wizard.sc\",\"ice_wizard\",,\"ice_wizard_red\",,\"true\",,,,,\"ice_wizard_die\",\"ice_wizard_steps\",,\"ice_wizard_deploy\",,80,80,,,35,,,,,100,500,5,,,,,\"Medium\",-8,,,,,\"filter_damage\",,,,,,,,,\"ice_wizard_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,550,1500,,,,,,,\"TID_CHARACTER_ICE_WIZARD\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,-26,,,,,,,,,,,,,,,,,,,,,,,\n\"RoyalGiant\",\"Common\",7500,2000,,45,1200,1700,1000,,,,,,,\"RoyalGiantProjectile\",,,,,6500,,,,,,\"true\",,,,,,,,\"royal_giant_projectile_fx\",,,\"true\",,,,,,\"sc/chr_royal_giant.sc\",\"royalGiant\",,\"royalGiant_red\",,\"true\",,,,,\"royal_giant_die\",\"royal_giant_steps\",,\"royal_giant_deploy\",\"true\",85,80,,,25,,,,\"true\",100,750,18,,,,,\"High\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"royal_giant_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1200,2900,640,100,,,,,\"TID_SPELL_ROYAL_GIANT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,2000,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"Princess\",\"Legendary\",9500,1000,,60,216,3000,2500,,,,,,,\"PrincessProjectileDeco\",\"PrincessProjectile\",5,,,9000,,,,,,\"true\",\"true\",,,,,,,\"princess_attack\",,2500,,,,,,,\"sc/chr_princess.sc\",\"princess\",,\"princess_red\",,\"true\",,,,,\"princess_die\",\"princess_steps\",,\"princess_deploy\",,75,75,,-15,25,,,,,100,500,3,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,\"princess_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_PRINCESS\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"DarkPrince\",\"Epic\",5500,1000,250,60,735,1500,1000,145,290,,,,,,,,,,1050,,,,,,\"true\",,,,,,,,,,1000,,,,,,,\"sc/chr_black_knight.sc\",\"BlackKnight_blue\",,\"BlackKnight_red\",,\"true\",,,\"dark_prince_hit\",\"dark_prince_charge_hit\",\"dark_prince_die\",\"dark_prince_steps\",,\"dark_prince_deploy\",,85,85,,-10,35,,,,\"true\",92,750,6,,,,,\"Shield\",-8,,,,,\"filter_damage\",,,,,,,,,\"dark_prince_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"dark_prince_charge\",,450,450,,,,,,,\"TID_CHARACTER_DARK_PRINCE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,200,,\"filter_deploy_unit_default\",,,,,,200,,\"GuardShieldDown\",\"BlackKnight_shield_blue\",\"BlackKnight_shield_red\",,,,,,,,,,,,,,,,,,\n\"SkeletonWarrior\",\"Epic\",5500,1000,,90,65,1200,800,65,,,,,,,,,,,1600,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_skeleton_warrior.sc\",\"skeletonWarrior_blue\",,\"skeletonWarrior\",,\"true\",,,\"skeleton_warrior_hit\",,\"skeleton_warrior_die\",\"skeleton_warrior_steps\",,\"skeleton_warrior_deploy\",,50,50,-5,5,35,,,,,95,500,1,,,,,\"Shield_small\",-10,,,,,\"filter_damage\",,,,,,,,,\"skeleton_warrior_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,800,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_SKELETON_WARRIOR\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,150,,\"skeleton_warrior_lose_shield\",\"skeletonWarrior_blue_shield\",\"skeletonWarrior_shield\",,,,,,,,,,,,,,,,,,\n\"LavaHound\",\"Legendary\",5500,1000,,45,3000,1300,300,,,,,,,\"LavaHoundProjectile\",,,,,2000,,,,,,\"true\",\"true\",,,,,,,\"lava_hound_attack_start\",,,\"true\",,,,,,\"sc/chr_lava_hound.sc\",\"lava_hound\",,\"lava_hound_red\",,\"true\",,,,,\"lava_hound_die\",\"lava_hound_steps\",,\"lava_hound_deploy\",\"true\",85,-60,,20,,,,,\"true\",100,750,5,,,,,\"High\",,,4000,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,\"LavaPups\",,2500,,,,\"true\",,,,,,,,,,,,,,,1000,1800,,,,,,,\"TID_SPELL_LAVA_HOUND\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaPups\",\"Legendary\",5500,1000,,60,179,1000,200,,,,,,,\"LavaPupProjectile\",,,,,2000,,,,,,\"true\",\"true\",,,,,,,\"lava_pups_attack_start\",,,,,,,,,\"sc/chr_lava_pups.sc\",\"lava_pups\",,\"lava_pups\",,\"true\",,,,,\"lava_pups_die\",\"lava_pups_steps\",,\"lava_pups_deploy\",,85,-60,,20,,,,,,80,450,5,,,,,\"Small\",,,3500,,,\"filter_damage_wobble\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,500,100,,,,,,,\"TID_CHARACTER_LAVA_PUPS\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"RageBarbarian\",\"Legendary\",5500,1000,,120,990,700,300,200,,,,,,,,,,,700,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_rage_barbarian.sc\",\"rage_barbarian\",,\"rage_barbarian_red\",,\"true\",,,\"ragebarbarian_hit\",,\"barbarian_die\",\"ragebarbarian_steps\",,\"ragebarbarian_deploy\",,85,85,,-10,35,,,,,100,500,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"ragebarbarian_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"RageBarbarianBottle\",,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_RAGE_BARBARIAN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,,,,,,-20,,,,,,,,,,,,,,,,,,,,,,,\n\"IceSpirits\",\"Common\",5500,1000,,120,90,300,100,,,,,,,\"IceSpiritsProjectile\",,,,,2500,,,,,,\"true\",\"true\",,,,,,,\"icespirit_attack\",,,,,,,,,\"sc/chr_ice_spirits.sc\",\"icespirit\",,\"icespirit\",,\"true\",,,,,\"icespirit_die\",\"icespirit_steps\",,\"icespirit_deploy\",,75,75,,-15,25,,,,,100,400,1,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,,,,,,,,,,,,,,,,,,\"icespirit_continuous_fx\",,,,,,,,,,,650,,,,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,\"TID_CHARACTER_ICE_SPIRITS\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"FireSpirits\",\"Common\",5500,1000,,120,43,300,100,,,,,,,\"FireSpiritsProjectile\",,,,,2000,,,,,,\"true\",\"true\",,,,,,,\"firespirit_attack\",,,,,,,,,\"sc/chr_fire_firespirit.sc\",\"firespirit\",,\"firespirit\",,\"true\",,,,,\"firespirit_die\",\"firespirit_steps\",,\"firespirit_deploy\",,75,75,,-15,25,,,,,120,400,1,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,,,,,,,,,,,,,,,,,,\"firespirit_continuous_fx\",,,,,,,,,,,650,,,,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,\"TID_CHARACTER_FIRE_SPIRITS\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Miner\",\"Legendary\",5500,1000,,90,1000,1200,700,160,,-60,,,,,,,,,1300,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_miner.sc\",\"miner_blue\",,\"miner_red\",,\"true\",,,\"miner_hit\",,\"miner_die\",\"miner_steps\",,\"miner_deploy\",,85,85,,-10,35,,,,,100,500,6,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"miner_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,650,\"miner_travel_effect\",,,,,,,,450,450,,,,,,,\"TID_CHARACTER_MINER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_miner\",,,,,20,,,,,,,,,,,,,,,,,,,,,,,\n\"ZapMachine\",\"Legendary\",5000,1000,,45,1200,5000,4500,,,,\"true\",,,\"ZapMachineProjectile\",,,,,4500,,,,,,\"true\",,,,,750,,,\"zapmachine_attack\",\"zapmachine_attack\",,,,,,,,\"sc/chr_zap_machine.sc\",\"ZapMachine_Blue\",,\"ZapMachine\",,\"true\",,,,,\"zapmachine_die\",\"zapmachine_steps\",,\"zapmachine_deploy\",\"true\",100,-90,-8,15,-15,,,,\"true\",85,1000,18,,,,,\"Medium\",-10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1200,1800,,,,,,,\"TID_CHARACTER_ZAPMACHINE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,\"zapmachine_load_weapon_1\",\"zapmachine_load_weapon_2\",\"zapmachine_load_weapon_3\",\"zapmachine_load_weapon\",600,,,,,,,,,,,,,\n\"Bowler\",\"Epic\",5500,1000,,45,1200,2500,2000,,,,,,,\"BowlerProjectile\",,,,,5000,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bowler.sc\",\"bowler_blue\",,\"bowler_red\",,\"true\",,,,,\"bowler_die\",\"bowler_steps\",,\"bowler_deploy\",\"true\",85,80,,,25,,,,\"true\",118,750,18,,,,,\"High\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"bowler_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,,\"TID_SPELL_BOWLER\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"IceGolemite\",\"Rare\",7000,1000,,45,595,2500,1500,40,,,,,,,,,,,750,,,,,,\"true\",\"true\",2000,40,,,,,,,,\"true\",,,,,,\"sc/chr_snowman.sc\",\"snowman_blue\",,\"snowman_red\",,\"true\",,,\"snowman_hit\",,\"snowman_die\",\"snowman_steps\",,\"snowman_deploy\",,50,50,-5,5,35,,,,,100,700,6,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"snowman_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,1000,,,,,,,,,\"FreezeIceGolemite\",,,,,,,,,,,,,,350,350,470,80,\"true\",,,,\"TID_CHARACTER_SMALL_GOLEM\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,2000,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaMinion\",\"Rare\",5500,1000,,60,395,1500,1100,,,,,,,\"MegaMinionSpit\",,,,,2000,,,,,,\"true\",\"true\",,,,,,,\"royal_minion_attack\",,,,,,,,,\"sc/chr_mega_minion.sc\",\"mega_minion\",,\"mega_minion_red\",,\"true\",,,,,\"royal_minion_die\",\"royal_minion_steps\",,\"royal_minion_deploy\",,80,80,,,35,,,,,110,600,6,,,,,\"Medium\",,,1500,,,\"filter_damage\",,,,,,,,,\"royal_minion_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_MEGAMINION\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"InfernoDragon\",\"Legendary\",5500,1000,,60,1070,400,1000,30,,,,,,,,,,,4000,,,,,,\"true\",\"true\",,,,,,,\"inferno_dragon_attack\",,,,,,,,,\"sc/chr_baby_dragon.sc\",\"inferno_dragon\",,\"inferno_dragon_red\",,\"true\",,,\"inferno_hit_effect\",,\"inferno_dragon_die\",\"inferno_dragon_steps\",,\"inferno_dragon_deploy\",\"true\",85,-60,,20,,,,,\"true\",115,500,5,,,,,\"Medium\",-12,,4000,,,,,,,,,,,,\"inferno_dragon_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_INFERNO_DRAGON\",,,100,2000,350,2000,\"inferno_dragon_beam_lvl1\",\"inferno_dragon_beam_lvl2\",\"inferno_dragon_beam_lvl3\",,,\"inferno_dragon_muzzle\",\"inferno_dragon_muzzle_stage2\",\"inferno_dragon_muzzle_stage3\",-20,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,1200,,,,,,,,,\n\"BattleRam\",\"Rare\",5500,1000,300,60,430,400,50,140,280,,,,,,,,,,500,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_battle_ram.sc\",\"battle_ram\",,\"battle_ram_red\",,\"true\",,,\"battle_ram_hit_sfx\",,\"battle_ram_die\",\"barbarian_steps\",,\"battleram_deploy_nodelay\",,80,80,,,35,,,,\"true\",92,750,6,,,,,\"Medium\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"blowdart_goblin_atk_start\",,,,,,,,,,,,,,,,,,,,,,,2,,,,\"filter_deploy_unit_miner\",,2,\"Barbarian\",,600,,180,800,,,,\"true\",,,,,,,,,,\"battleram_charge\",,,,,,,,,,\"TID_SPELL_BATTLE_RAM\",,,,,,,,,,,,,,,,,,,,,\"battle_ram_hit\",,,,,,,,,,,,,,200,,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,500,,,,,,,,,,\n\"BlowdartGoblin\",\"Rare\",7500,1000,,120,123,650,350,,,,,,,\"BlowdartGoblinProjectile\",,,,,6500,,,,,,\"true\",\"true\",,,,,,,\"blowdart_goblin_attack\",,,,,,,,,\"sc/chr_goblin_blowdart.sc\",\"goblin_blowdart\",,\"goblin_blowdart_red\",,\"true\",,,,,\"spear_goblin_die\",\"blowdart_goblin_steps\",,\"blowdart_goblin_deploy\",,75,75,,-15,25,,,,,100,500,3,,,,,\"Small\",-10,,,,,\"filter_damage\",,,,,,,,,\"blowdart_goblin_atk_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1200,1600,,,,,,,\"TID_CHARACTER_BLOWDART_GOBLIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ElectroWizard\",\"Legendary\",5500,1000,,90,600,1800,1400,100,,,,,,,,,2,\"true\",5000,,,,,,\"true\",\"true\",,,,,,,,,,,,\"ZapFreeze\",500,,,\"sc/chr_electro_wizard.sc\",\"electro_wizard\",,\"electro_wizard_red\",,\"true\",,,\"electro_wizard_hit\",,\"electro_wizard_die\",\"electro_wizard_steps\",,\"electro_wizard_deploy\",\"true\",80,80,,,35,,,,,102,500,5,,,,,\"Medium\",-8,,,,,\"filter_damage\",,,,,,,,,\"electro_wizard_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"Zap\",8,,,550,1500,,,,,,,\"TID_CHARACTER_ELECTRO_WIZARD\",,,,,,,,,,,,,,,,,,,,,\"electro_wizard_beam\",,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,-26,,,,,,,,,,,,,,,,,,,,,,,\n\"AngryBarbarian\",\"Common\",5500,1000,,120,458,1500,1000,120,,,,,,,,,,,1000,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_barbarian.sc\",\"angry_barbarian\",,\"angry_barbarian_red\",,\"true\",,,\"barbarian_hit\",,\"barbarian_die\",\"angry_barbarian_steps\",,\"angry_barbarian_deploy\",,85,85,,-10,35,,,,,100,500,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,\"angry_barbarian_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_CHARACTER_ANGRY_BARBARIAN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,-20,,,,,,,,,,,,,,,,,,,,,,,\n\"AxeMan\",\"Epic\",5500,1000,,60,760,900,400,,,,,,,\"AxeManProjectile\",,,,,4500,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_axe_man.sc\",\"axe_man\",,\"axe_man_red\",,\"true\",,,\"ragebarbarian_hit\",,\"barbarian_die\",\"executioner_steps\",,\"executioner_deploy\",,85,85,,-10,-4,,,,,110,600,4,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,600,600,,,,,,,\"TID_SPELL_AXEMAN\",,,,,,,,,,,,,,,,,,,,,\"executioner_attack_start\",,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Assassin\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE1\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE2\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE3\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE4\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"DarkWitch\",\"Legendary\",5500,1000,,60,750,1500,900,285,,,,,,,,,,,1850,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_dark_witch.sc\",\"dark_witch\",,\"dark_witch_red\",,\"true\",,,\"dark_witch_hit\",,\"dark_witch_die\",\"dark_witch_steps\",,\"dark_witch_deploy\",\"true\",80,80,,,35,,,,,100,500,4,,,,,\"Medium\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"dark_witch_attack_start\",,,,,,,,,,,,,,,,,,1500,,2,,6000,8,\"Bat\",,\"bat_dark_witch_spawn\",,1500,3,\"Bat\",,2000,,90,,\"true\",,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_DARK_WITCH\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Bat\",\"Common\",5500,1000,,120,32,1000,500,32,,,,,,,,,,,1200,,,,,,\"true\",\"true\",,,,,,,,,,,,,,,,\"sc/chr_bats.sc\",\"bat\",,\"bat\",,\"true\",,,\"bat_hit\",,\"bat_die\",\"bat_steps\",,\"bat_deploy\",,65,-60,,20,,\"bat_shadow\",\"bat_shadow\",,,105,500,1,,,,,\"Small\",,,2000,,,\"filter_damage\",,,,,,,,,\"bat_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_BAT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,150,\"filter_wiggle\",,\n\"NOTINUSE9\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE5\",\"Legendary\",6000,1000,,90,750,1000,600,160,,,,,,,,,,,750,,,,,,\"true\",,,,,,,,,,,,,,,,,\"sc/chr_bandit.sc\",\"bandit\",,\"bandit_red\",,\"true\",,,\"assassin_hit\",\"assassin_hit_special_red\",\"assassin_die\",\"assassin_steps\",,\"assassin_deploy\",,85,85,,-10,35,,,,,110,600,3,,,,,\"Medium\",-10,,,,,\"filter_damage\",,,,,,,,,\"assassin_attack_start\",,100,\"assassin_dash_start\",\"assassin_dashing\",800,,,,320,\"filter_bandit_charge\",,,\"assassin_dash_end\",4000,6000,500,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MovingCannon\",\"Epic\",5500,1000,,90,524,1200,800,,,,,,,\"MovingCannonProjectile\",,,,,5500,,,,,,\"true\",,,,,,,,\"moving_cannon_fire_projectile\",,,,,,,,,\"sc/chr_movingcannon.sc\",\"moving_cannon\",,\"moving_cannon_red\",,\"true\",,,,,\"moving_cannon_die\",\"moving_cannon_steps\",,\"moving_cannon_deploy\",,80,80,-5,,25,,,,,110,600,3,,,,,\"MediumShield\",,,,,,\"filter_damage\",,,,,\"true\",,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,\"BrokenCannon\",,,,,,,,,,,,,,,,,,,,,1100,1800,,,,,,,\"TID_SPELL_MOVING_CANNON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,600,,,,,,,,,,,,,\n\"BrokenCannon\",\"Epic\",5500,1000,,,524,1200,800,,,,,,,\"MovingCannonProjectile\",,,,,5500,,,,,,\"true\",,,,,,20000,,\"broken_cannon_fire_projectile\",,,,,,,,,\"sc/chr_movingcannon.sc\",\"broken_cannon\",,\"broken_cannon_red\",,\"true\",,,,,\"broken_cannon_die\",,,\"broken_cannon_deploy\",,80,80,-5,,25,,,,,100,600,3,,,,,\"Medium\",,,,,,\"filter_damage\",,,,,,,1000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,450,450,,,,,,,\"TID_SPELL_MOVING_CANNON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,600,,,,,,,,,,,,,\n\"MegaKnight\",\"Legendary\",5500,1000,,60,3300,1800,1200,240,,,,,,,,,,,1000,,,,,,\"true\",,,,,,,,,,1300,,,,,,,\"sc/chr_mega_knight.sc\",\"mega_knight\",,\"mega_knight_red\",,\"true\",,,\"mega_knight_hit\",,\"mega_knight_die\",\"mega_knight_steps\",,\"mega_knight_deploy\",,80,80,,,,,,,\"true\",100,750,18,,,,,\"High\",,,,,,\"filter_damage_wobble\",,,,,,,,,\"mega_knight_attack_start\",,,\"mega_knight_dash_start\",\"mega_knight_dashing\",1100,3000,1000,2200,480,\"filter_mega_knight_jump\",800,300,\"mega_knight_dash_end\",4000,5000,250,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,1000,1000,,,,,,,,,,,,,\"TID_SPELL_MEGAKNIGHT\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_legendary\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE8\",\"Legendary\",5500,1000,,120,320,800,600,55,,,,,,,,,,,500,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_golemite.sc\",\"golemite\",,\"golemite_red\",,\"true\",,,\"goblins_hit\",,\"goblins_die\",\"goblins_steps\",,\"goblins_deploy\",,50,50,-5,5,35,,,,,90,750,2,,,,,\"Small\",,,,,,\"filter_damage\",,,,,,,,,\"goblins_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,350,350,,,,,,,\"TID_CHARACTER_GOBLIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"SkeletonBalloon\",\"Common\",7700,1000,,60,300,300,200,,,,,,,,,,,,350,,,,,,\"true\",,,,,,,,,,,\"true\",,,,,,\"sc/chr_skeleton_balloon.sc\",\"skeleton_balloon\",,\"skeleton_balloon_red\",,\"true\",,,\"skeleton_balloon_hit\",,\"skeleton_balloon_die\",\"skeleton_balloon_steps\",\"true\",\"skeleton_balloon_deploy\",,75,40,,5,15,,,,,95,500,7,,,,,\"Medium\",,,3100,\"true\",,\"filter_damage_wobble\",,,,,,,,,\"skeleton_balloon_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,\"SkeletonContainer\",,,,,,,,,\"true\",500,\"skeleton_balloon_die\",,,,,,,,,,450,450,,,,,,,\"TID_SPELL_BALLOON\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"filter_deploy_unit_default\",,,,2000,,,,,,,,,,,,,,,,,,,,,,,,\n\"DartBarrell\",\"Rare\",6000,1000,,90,290,1000,500,,,,,,,\"DartBarrellProjectile\",,,,,6000,,,,,,\"true\",\"true\",,,,,,,\"flying_machine_attack\",,,,,,,,,\"sc/chr_flying_machine.sc\",\"flying_machine\",,\"flying_machine_red\",,\"true\",,,,,\"flying_machine_die\",\"flying_machine_steps\",\"true\",\"flying_machine_deploy\",,75,75,,5,25,\"flying_machine_shadow\",,,,90,500,3,,,,,\"Medium\",-10,,4000,,,\"filter_damage\",,,,,,,,,\"flying_machine_attack_start\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1500,1300,,,,,,,\"TID_CHARACTER_BLOWDART_GOBLIN\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,400,\"filter_deploy_unit_default\",,,,,,,,,,,,,,,224,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/chest_order.csv",
    "content": "\"Name\",\"Chest\"\n\"String\",\"String\"\n\"MainCycle\",\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Magic\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Giant\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Magic\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Magic\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Giant\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Giant\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Magic\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Giant\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n,\"Silver\"\n,\"Gold\"\n,\"Silver\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/configuration_definitions.csv",
    "content": "\"Name\",\"ObjectType\"\n\"string\",\"string\"\n\"SHOP_CYCLE_MANAGEMENT\",\"ShopCycleManagementConfiguration\"\n\"CARD_RELEASE\",\"CardRelease\"\n\"KILL_SWITCH\",\"KillSwitch\"\n\"TUTORIAL_TEST_GROUPS\",\"TutorialTestGroups\"\n\"CLAN_CHEST\",\"ClanChest\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/content_tests.csv",
    "content": "\"Name\",\"SourceData\",\"TargetData\",\"Stat1\",\"Operator\",\"Stat2\",\"Result\",\"Enabled\"\n\"string\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"boolean\"\n\"Test1\",\"Goblins\",\"Archer\",\"Hitpoints\",\"div_roundup\",\"Damage\",2,\"TRUE\"\n\"Test2\",\"Zap\",\"Goblins\",\"Damage\",\"<\",\"Hitpoints\",,\"TRUE\"\n\"Test3\",\"Prince\",\"Barbarians\",\"DamageSpecial\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test4\",\"Goblins\",\"Princess\",\"Hitpoints\",\">\",\"Damage\",,\"TRUE\"\n\"Test5\",\"Bomber\",\"GiantSkeleton\",\"Hitpoints\",\"div_roundup\",\"Damage\",2,\"TRUE\"\n\"Test6\",\"Bomber\",\"Knight\",\"Hitpoints\",\"div_roundup\",\"Damage\",2,\"TRUE\"\n\"Test7\",\"Bomber\",\"Barbarians\",\"Hitpoints\",\"div_roundup\",\"Damage\",2,\"TRUE\"\n\"Test8\",\"Zap\",\"LavaPups\",\"Damage\",\"<\",\"Hitpoints\",,\"TRUE\"\n\"Test9\",\"Princess\",\"LavaPups\",\"Damage\",\"<\",\"Hitpoints\",,\"TRUE\"\n\"Test10\",\"FireSpirits\",\"LavaPups\",\"Damage\",\"<\",\"Hitpoints\",,\"TRUE\"\n\"Test11\",\"LavaPups\",\"PrincessTower\",\"Hitpoints\",\"div_roundup\",\"Damage\",2,\"TRUE\"\n\"Test12\",\"Rocket\",\"ZapMachine\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test13\",\"Tombstone\",\"RageBarbarian\",\"Hitpoints\",\"div_roundup\",\"Damage\",3,\"TRUE\"\n\"Test14\",\"PrincessTower\",\"SkeletonWarriors\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test15\",\"Minions\",\"Witch\",\"Hitpoints\",\"div_roundup\",\"Damage\",3,\"TRUE\"\n\"Test16\",\"Skeletons\",\"Witch\",\"Hitpoints\",\"<\",\"Damage\",,\"TRUE\"\n\"Test17\",\"Pekka\",\"Barbarians\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test18\",\"Pekka\",\"Witch\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test19\",\"Pekka\",\"IceWizard\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test20\",\"Pekka\",\"Musketeer\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n\"Test21\",\"Bomber\",\"Princess\",\"Damage\",\">=\",\"Hitpoints\",,\"TRUE\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/decos.csv",
    "content": "\"Name\",\"FileName\",\"ExportName\",\"Layer\",\"LowendLayer\",\"ShadowScale\",\"ShadowX\",\"ShadowY\",\"ShadowSkew\",\"CollisionRadius\",\"Effect\",\"AssetMinTrophy\",\"AssetMinTrophyScore\",\"AssetMinTrophyFileName\",\"SortValue\"\n\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"int\",\"string\",\"int\"\n\"Grassland_rock1\",\"sc/effects.sc\",\"Grassland_1x1_rock1\",\"Object\",\"Ground\",63,-5,5,12,,,,,,\n\"Grassland_rock2\",\"sc/effects.sc\",\"Grassland_2x2_rock2\",\"Object\",\"Ground\",88,-3,-5,,,,,,,\n\"Grassland_rock3\",\"sc/effects.sc\",\"Grassland_1x1_rock3\",\"Object\",\"Ground\",71,-4,1,,,,,,,\n\"Grassland_bush1\",\"sc/effects.sc\",\"Grassland_1x1_bush1\",\"Object\",\"Ground\",91,-4,-8,28,,,,,,\n\"WoodWall_single_2\",\"sc/effects.sc\",\"Grassland_1x1_bush1\",\"Object\",\"Ground\",91,-4,-8,28,,,,,,\n\"royal_red_deco\",\"sc/level_royal_arena.sc\",\"royal_red_deco\",\"Object\",\"Ground\",61,,5,22,,,,,,\n\"royal_blue_deco\",\"sc/level_royal_arena.sc\",\"royal_blue_deco\",\"Object\",\"Ground\",67,2,2,31,,,,,,\n\"royal_bucket\",\"sc/level_royal_arena.sc\",\"royal_bucket\",\"Object\",\"Ground\",94,-5,73,6,,,,,,\n\"royal_red_endwall1\",\"sc/level_royal_arena.sc\",\"royal_red_endwall1\",\"Object\",\"Ground\",95,,-48,4,,,,,,\n\"royal_red_tower1\",\"sc/level_royal_arena.sc\",\"royal_red_tower1\",\"Object\",\"Ground\",95,,,37,,,,,,\n\"royal_red_tower2\",\"sc/level_royal_arena.sc\",\"royal_red_tower2\",\"Object\",\"Ground\",95,,-32,18,,,,,,\n\"royal_red_wall_middle\",\"sc/level_royal_arena.sc\",\"royal_red_wall_middle\",\"Object\",\"Ground\",100,21,-88,26,,,,,,\n\"royal_mid_tower\",\"sc/level_royal_arena.sc\",\"royal_mid_tower\",\"Object\",\"Ground\",95,-8,76,14,,,,,,\n\"royal_red_endwall2\",\"sc/level_royal_arena.sc\",\"royal_red_endwall2\",\"Object\",\"Ground\",95,35,-48,59,,,,,,\n\"royal_blue_endwall1\",\"sc/level_royal_arena.sc\",\"royal_blue_endwall1\",\"Object\",\"Ground\",96,-12,59,24,,,,,,\n\"royal_blue_endwall2\",\"sc/level_royal_arena.sc\",\"royal_blue_endwall2\",\"Object\",\"Ground\",95,-13,72,11,,,,,,\n\"royal_blue_roof_left\",\"sc/level_royal_arena.sc\",\"royal_blue_roof_left\",\"Object\",\"Ground\",95,-28,-139,,,,,,,\n\"royal_blue_roof_right\",\"sc/level_royal_arena.sc\",\"royal_blue_roof_right\",\"Object\",\"Ground\",95,-4,-112,11,,,,,,\n\"royal_blue_tower1\",\"sc/level_royal_arena.sc\",\"royal_blue_tower1\",\"Object\",\"Ground\",95,2,11,10,,,,,,\n\"royal_blue_tower2\",\"sc/level_royal_arena.sc\",\"royal_blue_tower2\",\"Object\",\"Ground\",94,24,-111,53,,,,,,\n\"royal_blue_wall_middle\",\"sc/level_royal_arena.sc\",\"royal_blue_wall_middle\",\"Object\",\"Ground\",95,-7,43,42,,,,,,\n\"royal_red_roof_left\",\"sc/level_royal_arena.sc\",\"royal_red_roof_left\",\"Object\",\"Ground\",95,3,-151,33,,,,,,\n\"royal_red_roof_right\",\"sc/level_royal_arena.sc\",\"royal_red_roof_right\",\"Object\",\"Ground\",95,-9,-146,,,,,,,\n\"royal_sidestand_left\",\"sc/level_royal_arena.sc\",\"royal_sidestand_left\",\"Object\",\"Ground\",95,-29,147,8,,,,,,\n\"royal_sidestand_right\",\"sc/level_royal_arena.sc\",\"royal_sidestand_right\",\"Object\",\"Ground\",84,-35,112,1,,,,,,\n\"royal_blocktree\",\"sc/level_royal_arena.sc\",\"royal_blocktree\",\"Object\",\"Ground\",95,-6,-6,29,,,,,,\n\"royal_bush1x\",\"sc/level_royal_arena.sc\",\"royal_bush1x\",\"Object\",\"Ground\",95,-3,-5,25,,,,,,\n\"royal_base_top_2v2\",\"sc/level_royal_arena.sc\",\"royal_base_top_2v2\",\"Base\",\"Ground\",,,,,,,,,,\n\"royal_base_bottom_2v2\",\"sc/level_royal_arena.sc\",\"royal_base_bottom_2v2\",\"Base\",\"Ground\",,,,,,,,,,\n\"goblin_roofshade_left_blue\",\"sc/level_goblin_arena.sc\",\"goblin_roofshade_left_blue\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_roofshade_left_red\",\"sc/level_goblin_arena.sc\",\"goblin_roofshade_left_red\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_roofshade_right_blue\",\"sc/level_goblin_arena.sc\",\"goblin_roofshade_right_blue\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_roofshade_right_red\",\"sc/level_goblin_arena.sc\",\"goblin_roofshade_right_red\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_sharp1\",\"sc/level_goblin_arena.sc\",\"goblin_sharp1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_sharp3\",\"sc/level_goblin_arena.sc\",\"goblin_sharp3\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_sidestand_left\",\"sc/level_goblin_arena.sc\",\"goblin_sidestand_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_sidestand_right\",\"sc/level_goblin_arena.sc\",\"goblin_sidestand_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_stone1\",\"sc/level_goblin_arena.sc\",\"goblin_stone1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_stone2\",\"sc/level_goblin_arena.sc\",\"goblin_stone2\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_waterwheel\",\"sc/level_goblin_arena.sc\",\"goblin_waterwheel\",\"Object\",\"Ground\",95,10,-41,21,,,,,,\n\"goblin_woodpole1\",\"sc/level_goblin_arena.sc\",\"goblin_woodpole1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_woodtower1\",\"sc/level_goblin_arena.sc\",\"goblin_woodtower1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_woodtower2\",\"sc/level_goblin_arena.sc\",\"goblin_woodtower2\",\"Object\",\"Ground\",95,2,-23,44,,,,,,\n\"goblin_woodwall1\",\"sc/level_goblin_arena.sc\",\"goblin_woodwall1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_tree1\",\"sc/level_goblin_arena.sc\",\"goblin_tree1\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_tree2\",\"sc/level_goblin_arena.sc\",\"goblin_tree2\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_tree3\",\"sc/level_goblin_arena.sc\",\"goblin_tree3\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_tree4\",\"sc/level_goblin_arena.sc\",\"goblin_tree4\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_red_tower\",\"sc/level_goblin_arena.sc\",\"goblin_red_tower\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_blue_tower\",\"sc/level_goblin_arena.sc\",\"goblin_blue_tower\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"goblin_2v2_base_01\",\"sc/level_goblin_arena.sc\",\"goblin_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"training_cliff1\",\"sc/arena_training.sc\",\"cliff01\",\"Object\",\"Ground\",95,-15,34,24,,,,,,\n\"training_cliff2\",\"sc/arena_training.sc\",\"cliff02\",\"Object\",\"Ground\",95,-6,4,14,,,,,,\n\"training_cliff3\",\"sc/arena_training.sc\",\"cliff03\",\"Object\",\"Ground\",95,-8,,31,,,,,,\n\"training_cliff4\",\"sc/arena_training.sc\",\"cliff04\",\"Object\",\"Ground\",95,-3,-2,24,,,,,,\n\"training_cliff5\",\"sc/arena_training.sc\",\"cliff05\",\"Object\",\"Ground\",95,-8,-8,19,,,,,,\n\"training_cliff6\",\"sc/arena_training.sc\",\"cliff06\",\"Object\",\"Ground\",95,-13,2,32,,,,,,\n\"training_cliff7\",\"sc/arena_training.sc\",\"cliff07\",\"Object\",\"Ground\",95,-10,2,13,,,,,,\n\"training_tree1\",\"sc/arena_training.sc\",\"tree01\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"training_tree2\",\"sc/arena_training.sc\",\"tree02\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"training_tree3\",\"sc/arena_training.sc\",\"tree03\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"training_bush1\",\"sc/arena_training.sc\",\"bush01\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"training_bush2\",\"sc/arena_training.sc\",\"bush02\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"training_cliffs_left\",\"sc/arena_training.sc\",\"training_cliffs_left\",\"Object\",\"Ground\",95,-28,92,10,,,,,,\n\"training_cliffs_right\",\"sc/arena_training.sc\",\"training_cliffs_right\",\"Object\",\"Ground\",98,-23,93,13,,,,,,\n\"training_deco1\",\"sc/arena_training.sc\",\"training_deco1\",\"Object\",\"Ground\",72,2,,22,,,,,,\n\"training_deco2\",\"sc/arena_training.sc\",\"training_deco2\",\"Object\",\"Ground\",78,,,13,,,,,,\n\"fence_left_back\",\"sc/arena_training.sc\",\"fence_left_back\",\"Object\",\"Ground\",95,,10,15,,,,,,\n\"fence_left_front\",\"sc/arena_training.sc\",\"fence_left_front\",\"Object\",\"Ground\",98,2,-6,21,,,,,,\n\"fence_right_back\",\"sc/arena_training.sc\",\"fence_right_back\",\"Object\",\"Ground\",95,1,7,12,,,,,,\n\"fence_right_front\",\"sc/arena_training.sc\",\"fence_right_front\",\"Object\",\"Ground\",95,2,,21,,,,,,\n\"tree_group01\",\"sc/arena_training.sc\",\"tree_group01\",\"Object\",\"Ground\",90,-6,-6,,,,,,,\n\"bone_1_left\",\"sc/level_bone_arena.sc\",\"bone_1_left\",\"Object\",\"Ground\",90,-3,-32,10,,,,,,\n\"bone_1_right\",\"sc/level_bone_arena.sc\",\"bone_1_right\",\"Object\",\"Ground\",90,6,-56,60,,,,,,\n\"bone_2_left\",\"sc/level_bone_arena.sc\",\"bone_2_left\",\"Object\",\"Ground\",90,-9,19,,,,,,,\n\"bone_2_right\",\"sc/level_bone_arena.sc\",\"bone_2_right\",\"Object\",\"Ground\",90,,5,64,,,,,,\n\"bone_endstones_bottom\",\"sc/level_bone_arena.sc\",\"bone_endstones_bottom\",\"Object\",\"Ground\",90,-15,-31,31,,,,,,\n\"bone_endstones_top\",\"sc/level_bone_arena.sc\",\"bone_endstones_top\",\"Object\",\"Ground\",90,-10,-21,33,,,,,,\n\"bone_sidestands_botleft\",\"sc/level_bone_arena.sc\",\"bone_sidestands_botleft\",\"Object\",\"Ground\",90,-19,132,,,,,,,\n\"bone_sidestands_botright\",\"sc/level_bone_arena.sc\",\"bone_sidestands_botright\",\"Object\",\"Ground\",90,-15,153,5,,,,,,\n\"bone_sidestands_right\",\"sc/level_bone_arena.sc\",\"bone_sidestands_right\",\"Object\",\"Ground\",90,-12,127,,,,,,,\n\"bone_sidestands_topleft\",\"sc/level_bone_arena.sc\",\"bone_sidestands_topleft\",\"Object\",\"Ground\",90,-31,127,5,,,,,,\n\"bone_tower1\",\"sc/level_bone_arena.sc\",\"bone_tower1\",\"Object\",\"Ground\",98,-8,-45,,,,,,,\n\"bone_tower2\",\"sc/level_bone_arena.sc\",\"bone_tower2\",\"Object\",\"Ground\",98,-6,-35,22,,,,,,\n\"bone_deco_left\",\"sc/level_bone_arena.sc\",\"bone_deco_left\",\"Object\",\"Object\",90,,-2,21,,,,,,\n\"bone_deco_right\",\"sc/level_bone_arena.sc\",\"bone_deco_right\",\"Object\",\"Object\",90,-1,,37,,,,,,\n\"bone_decostone1\",\"sc/level_bone_arena.sc\",\"bone_decostone1\",\"Object\",\"Ground\",111,-13,-17,,,,,,,\n\"bone_decostone2\",\"sc/level_bone_arena.sc\",\"bone_decostone2\",\"Object\",\"Ground\",90,2,-11,39,,,,,,\n\"bone_2v2_base_01\",\"sc/level_bone_arena.sc\",\"bone_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"dark_fire_pot\",\"sc/level_dark_arena.sc\",\"dark_fire_pot\",\"Object\",\"Object\",95,-6,-6,,,\"dark_arena_pot_flame\",,,,\n\"dark_gate_bottom\",\"sc/level_dark_arena.sc\",\"dark_gate_bottom\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_gate_top\",\"sc/level_dark_arena.sc\",\"dark_gate_top\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_deco1\",\"sc/level_dark_arena.sc\",\"dark_deco1\",\"Object\",\"Ground\",84,,-4,20,,,,,,\n\"dark_pekka_bottom_left\",\"sc/level_dark_arena.sc\",\"dark_pekka_bottom_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_pekka_bottom_right\",\"sc/level_dark_arena.sc\",\"dark_pekka_bottom_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_pekka_top_left\",\"sc/level_dark_arena.sc\",\"dark_pekka_top_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_pekka_top_right\",\"sc/level_dark_arena.sc\",\"dark_pekka_top_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_stand_blue_left\",\"sc/level_dark_arena.sc\",\"dark_stand_blue_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_stand_blue_right\",\"sc/level_dark_arena.sc\",\"dark_stand_blue_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_stand_left_red\",\"sc/level_dark_arena.sc\",\"dark_stand_left_red\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"dark_stand_red_right\",\"sc/level_dark_arena.sc\",\"dark_stand_red_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"lava_crack01\",\"sc/level_dark_arena.sc\",\"lava_crack01\",\"Object\",\"Ground\",1,,,,,,,,,\n\"lava_crack02\",\"sc/level_dark_arena.sc\",\"lava_crack02\",\"Object\",\"Ground\",1,,,,,,,,,\n\"lava_crack03\",\"sc/level_dark_arena.sc\",\"lava_crack03\",\"Object\",\"Ground\",1,,,,,,,,,\n\"spiked_fence_left\",\"sc/level_dark_arena.sc\",\"spiked_fence_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spiked_fence_right\",\"sc/level_dark_arena.sc\",\"spiked_fence_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"stone_deco01\",\"sc/level_dark_arena.sc\",\"stone_deco01\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"stone_deco02\",\"sc/level_dark_arena.sc\",\"stone_deco02\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"stone_deco03\",\"sc/level_dark_arena.sc\",\"stone_deco03\",\"Object\",\"Ground\",95,,18,10,,,,,,\n\"stone_deco04\",\"sc/level_dark_arena.sc\",\"stone_deco04\",\"Object\",\"Ground\",95,-3,50,10,,,,,,\n\"stone_deco05\",\"sc/level_dark_arena.sc\",\"stone_deco05\",\"Object\",\"Ground\",95,,2,,,,,,,\n\"stone_deco07\",\"sc/level_dark_arena.sc\",\"stone_deco07\",\"Object\",\"Ground\",95,,15,,,,,,,\n\"dark_2v2_base_01\",\"sc/level_dark_arena.sc\",\"dark_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"barbarian_blocktree\",\"sc/level_barbarian_arena.sc\",\"barbarian_blocktree\",\"Object\",\"Ground\",95,-6,-6,29,,,,,,\n\"barbarian_blue_barracks\",\"sc/level_barbarian_arena.sc\",\"barbarian_blue_barracks\",\"Object\",\"Ground\",95,-22,-4,38,,,,,,\n\"barbarian_red_barracks\",\"sc/level_barbarian_arena.sc\",\"barbarian_red_barracks\",\"Object\",\"Ground\",95,-6,-6,31,,,,,,\n\"barbarian_blue_sidestand_left\",\"sc/level_barbarian_arena.sc\",\"barbarian_blue_sidestand_left\",\"Object\",\"Ground\",95,-11,1,20,,,,,,\n\"barbarian_blue_sidestand_right\",\"sc/level_barbarian_arena.sc\",\"barbarian_blue_sidestand_right\",\"Object\",\"Ground\",95,-17,-6,26,,,,,,\n\"barbarian_red_sidestand_left\",\"sc/level_barbarian_arena.sc\",\"barbarian_red_sidestand_left\",\"Object\",\"Ground\",95,-6,-6,10,,,,,,\n\"barbarian_red_sidestand_right\",\"sc/level_barbarian_arena.sc\",\"barbarian_red_sidestand_right\",\"Object\",\"Ground\",95,-6,-6,19,,,,,,\n\"barbarian_tower1\",\"sc/level_barbarian_arena.sc\",\"barbarian_tower1\",\"Object\",\"Ground\",95,-4,9,20,,,,,,\n\"barbarian_tower2\",\"sc/level_barbarian_arena.sc\",\"barbarian_tower2\",\"Object\",\"Ground\",95,,5,11,,,,,,\n\"barbarian_tower3\",\"sc/level_barbarian_arena.sc\",\"barbarian_tower3\",\"Object\",\"Ground\",104,-12,25,20,,,,,,\n\"barbarian_tower4\",\"sc/level_barbarian_arena.sc\",\"barbarian_tower4\",\"Object\",\"Ground\",95,5,11,23,,,,,,\n\"barbarian_barrell\",\"sc/level_barbarian_arena.sc\",\"barbarian_barrell\",\"Object\",\"Ground\",95,-8,51,39,,,,,,\n\"barbarian_fence1\",\"sc/level_barbarian_arena.sc\",\"barbarian_fence1\",\"Object\",\"Ground\",95,-2,4,39,,,,,,\n\"barbarian_bush1x\",\"sc/level_barbarian_arena.sc\",\"barbarian_bush1x\",\"Object\",\"Ground\",95,-3,-5,25,,,,,,\n\"barbarian_mushrooms\",\"sc/level_barbarian_arena.sc\",\"barbarian_mushrooms\",\"Object\",\"Ground\",95,-2,4,6,,,,,,\n\"barbarian_deco1\",\"sc/level_barbarian_arena.sc\",\"barbarian_deco1\",\"Object\",\"Ground\",95,-4,13,24,,,,,,\n\"barbarian_deco2\",\"sc/level_barbarian_arena.sc\",\"barbarian_deco2\",\"Object\",\"Ground\",95,-4,13,39,,,,,,\n\"barbarian_2v2_base_01\",\"sc/level_barbarian_arena.sc\",\"barbarian_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"spell_arena_edge_back\",\"sc/level_spell_arena.sc\",\"arena_edge_back\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_arena_edge_front\",\"sc/level_spell_arena.sc\",\"arena_edge_front\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_arena_edge_pole\",\"sc/level_spell_arena.sc\",\"arena_edge_pole\",\"Object\",\"Ground\",105,,-39,17,,,,,,\n\"spell_entry_pole_back\",\"sc/level_spell_arena.sc\",\"entry_pole_back\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_entry_pole_front\",\"sc/level_spell_arena.sc\",\"entry_pole_front\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_crystal_rock_left\",\"sc/level_spell_arena.sc\",\"crystal_rock_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_crystal_rock_right\",\"sc/level_spell_arena.sc\",\"crystal_rock_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_pot_left\",\"sc/level_spell_arena.sc\",\"spell_pot_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_pot_right\",\"sc/level_spell_arena.sc\",\"spell_pot_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_stand_blue_left\",\"sc/level_spell_arena.sc\",\"stand_blue_left\",\"Object\",\"Ground\",109,-17,-47,6,,,,,,\n\"spell_stand_blue_right\",\"sc/level_spell_arena.sc\",\"stand_blue_right\",\"Object\",\"Ground\",101,-17,-40,,,,,,,\n\"spell_stand_red_left\",\"sc/level_spell_arena.sc\",\"stand_red_left\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_stand_red_right\",\"sc/level_spell_arena.sc\",\"stand_red_right\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_red_deco\",\"sc/level_spell_arena.sc\",\"spell_red_deco\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_blue_deco\",\"sc/level_spell_arena.sc\",\"spell_blue_deco\",\"Object\",\"Ground\",95,-6,-6,,,,,,,\n\"spell_2v2_base_01\",\"sc/level_spell_arena.sc\",\"spell_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"legendary_statue1\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Statue1\",\"Object\",\"Ground\",80,-7,-3,26,,,,,,\n\"legendary_statue2\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Statue2\",\"Object\",\"Ground\",70,-8,2,26,,,,,,\n\"legendary_statue3\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Statue3\",\"Object\",\"Ground\",,-3,8,68,,,,,,\n\"legendary_statue4\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Statue4\",\"Object\",\"Ground\",,-6,-6,,,,,,,\n\"legendary_torch2\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_torch\",\"Object\",\"Ground\",87,-2,5,16,,\"LegendaryArena_torch_fire\",,,,\n\"smoke_glow1\",\"sc/level_legendary_arena.sc\",\"smoke_glow1\",\"Object\",\"Ground\",,,,,,\"legendaryArena_smokeGlow\",,,,\n\"smoke_glow2\",\"sc/level_legendary_arena.sc\",\"smoke_glow2\",\"Object\",\"Ground\",,,,,,\"legendaryArena_smokeGlow\",,,,\n\"smoke_glow3\",\"sc/level_legendary_arena.sc\",\"smoke_glow3\",\"Object\",\"Ground\",,,,,,\"legendaryArena_smokeGlow\",,,,\n\"LegendaryArena_Crystal1\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Crystal1\",\"Object\",\"Ground\",,,,,,,,,,\n\"LegendaryArena_Crystal2\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Crystal2\",\"Object\",\"Ground\",,,,,,,,,,\n\"LegendaryArena_Crystal3\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Crystal3\",\"Object\",\"Ground\",71,-6,24,16,,,,,,\n\"LegendaryArena_Crystal4\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Crystal4\",\"Object\",\"Ground\",74,-4,18,30,,,,,,\n\"LegendaryArena_Island1_float\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Island1_float\",\"Object\",\"Ground\",,,,,,,,,,\n\"LegendaryArena_Island1_float_blue\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Island1_float_blue\",\"Object\",\"Ground\",,,,,,,,,,\n\"LegendaryArena_Island2_float\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Island2_float\",\"Object\",\"Ground\",,,,,,,,,,\n\"LegendaryArena_Island2_float_blue\",\"sc/level_legendary_arena.sc\",\"LegendaryArena_Island2_float_blue\",\"Object\",\"Ground\",,,,,,,,,,\n\"legendary_2v2_base_01\",\"sc/level_legendary_arena.sc\",\"legendary_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"builder_blue_sidestand1\",\"sc/level_builder_arena.sc\",\"builder_blue_sidestand1\",\"Object\",\"Ground\",96,-4,7,7,,,,,,\n\"builder_blue_sidestand2\",\"sc/level_builder_arena.sc\",\"builder_blue_sidestand2\",\"Object\",\"Ground\",96,-17,-2,12,,,,,,\n\"builder_left_mid_tower\",\"sc/level_builder_arena.sc\",\"builder_left_mid_tower\",\"Object\",\"Ground\",93,-2,33,16,,,,,,\n\"builder_red_sidestand1\",\"sc/level_builder_arena.sc\",\"builder_red_sidestand1\",\"Object\",\"Ground\",96,3,6,4,,,,,,\n\"builder_red_sidestand2\",\"sc/level_builder_arena.sc\",\"builder_red_sidestand2\",\"Object\",\"Ground\",96,-23,,8,,,,,,\n\"builder_right_mid_tower\",\"sc/level_builder_arena.sc\",\"builder_right_mid_tower\",\"Object\",\"Ground\",96,-15,37,33,,,,,,\n\"builder_red_gate\",\"sc/level_builder_arena.sc\",\"builder_red_gate\",\"Object\",\"Ground\",98,2,7,22,,,,,,\n\"builder_blue_gate\",\"sc/level_builder_arena.sc\",\"builder_blue_gate\",\"Object\",\"Ground\",101,-13,64,24,,,,,,\n\"builder_red_tower\",\"sc/level_builder_arena.sc\",\"builder_red_tower\",\"Object\",\"Ground\",96,,-18,5,,,,,,\n\"builder_blue_tower\",\"sc/level_builder_arena.sc\",\"builder_blue_tower\",\"Object\",\"Ground\",102,-13,-20,31,,,,,,\n\"builder_blocktree1\",\"sc/level_builder_arena.sc\",\"builder_blocktree1\",\"Object\",\"Ground\",87,-21,-37,2,,,,,,\n\"builder_treestump1\",\"sc/level_builder_arena.sc\",\"builder_treestump1\",\"Object\",\"Ground\",96,-2,11,16,,,,,,\n\"builder_treestump2\",\"sc/level_builder_arena.sc\",\"builder_treestump2\",\"Object\",\"Ground\",96,-4,7,15,,,,,,\n\"builder_treetrunks1\",\"sc/level_builder_arena.sc\",\"builder_treetrunks1\",\"Object\",\"Ground\",96,1,7,15,,,,,,\n\"builder_treetrunks2\",\"sc/level_builder_arena.sc\",\"builder_treetrunks2\",\"Object\",\"Ground\",96,-2,-1,9,,,,,,\n\"builder_upgradefence1\",\"sc/level_builder_arena.sc\",\"builder_upgradefence1\",\"Object\",\"Ground\",99,,7,18,,,,,,\n\"builder_upgradefence2\",\"sc/level_builder_arena.sc\",\"builder_upgradefence2\",\"Object\",\"Ground\",89,-4,-5,2,,,,,,\n\"builder_2v2_base_01\",\"sc/level_builder_arena.sc\",\"builder_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"ice_cauldron_01\",\"sc/level_ice_arena.sc\",\"ice_cauldron_01\",\"Object\",\"Ground\",85,-20,20,30,,\"ice_cauldron_fire_01\",,,,\n\"ice_cauldron_02\",\"sc/level_ice_arena.sc\",\"ice_cauldron_02\",\"Object\",\"Ground\",85,-12,25,45,,\"ice_cauldron_fire_02\",,,,\n\"ice_chain_01_left\",\"sc/level_ice_arena.sc\",\"ice_chain_01_left\",\"Object\",\"Ground\",90,-5,5,,,,,,,\n\"ice_chain_01_right\",\"sc/level_ice_arena.sc\",\"ice_chain_01_right\",\"Object\",\"Ground\",90,-5,5,,,,,,,\n\"ice_cube_01\",\"sc/level_ice_arena.sc\",\"ice_cube_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_cubegroup_02\",\"sc/level_ice_arena.sc\",\"ice_cubegroup_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_mountain_01\",\"sc/level_ice_arena.sc\",\"ice_mountain_01\",\"Ground\",\"Ground\",-90,-30,80,-20,,,,,,\n\"ice_mountain_02\",\"sc/level_ice_arena.sc\",\"ice_mountain_02\",\"Ground\",\"Ground\",-90,-50,50,-20,,,,,,\n\"ice_rock_01\",\"sc/level_ice_arena.sc\",\"ice_rock_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_02\",\"sc/level_ice_arena.sc\",\"ice_rock_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_03\",\"sc/level_ice_arena.sc\",\"ice_rock_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_04\",\"sc/level_ice_arena.sc\",\"ice_rock_04\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_05\",\"sc/level_ice_arena.sc\",\"ice_rock_05\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_06\",\"sc/level_ice_arena.sc\",\"ice_rock_06\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rock_07\",\"sc/level_ice_arena.sc\",\"ice_rock_07\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rockgroup_01\",\"sc/level_ice_arena.sc\",\"ice_rockgroup_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_rockgroup_02\",\"sc/level_ice_arena.sc\",\"ice_rockgroup_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_blue_01_left\",\"sc/level_ice_arena.sc\",\"ice_stand_blue_01_left\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_blue_01_right\",\"sc/level_ice_arena.sc\",\"ice_stand_blue_01_right\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_red_01_left\",\"sc/level_ice_arena.sc\",\"ice_stand_red_01_left\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_red_01_right\",\"sc/level_ice_arena.sc\",\"ice_stand_red_01_right\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_snow_01\",\"sc/level_ice_arena.sc\",\"ice_stand_snow_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_snow_02\",\"sc/level_ice_arena.sc\",\"ice_stand_snow_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_snow_03\",\"sc/level_ice_arena.sc\",\"ice_stand_snow_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_stand_snow_04\",\"sc/level_ice_arena.sc\",\"ice_stand_snow_04\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_tree_01\",\"sc/level_ice_arena.sc\",\"ice_tree_01\",\"Object\",\"Ground\",85,-25,52,65,,,,,,\n\"ice_tree_02\",\"sc/level_ice_arena.sc\",\"ice_tree_02\",\"Object\",\"Ground\",85,-25,52,65,,,,,,\n\"ice_tree_03\",\"sc/level_ice_arena.sc\",\"ice_tree_03\",\"Object\",\"Ground\",85,-25,52,65,,,,,,\n\"ice_tree_01_shadow\",\"sc/level_ice_arena.sc\",\"ice_tree_01_shadow\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_tree_02_shadow\",\"sc/level_ice_arena.sc\",\"ice_tree_02_shadow\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_tree_03_shadow\",\"sc/level_ice_arena.sc\",\"ice_tree_03_shadow\",\"Object\",\"Ground\",,,,,,,,,,\n\"ice_vfx_sparkle_01\",\"sc/level_ice_arena.sc\",\"ice_vfx_sparkle_01\",\"Object\",\"Ground\",,,,,,\"ice_water_sparkle_01\",,,,\n\"ice_vfx_ripple_01_dummy\",\"sc/level_ice_arena.sc\",\"ice_vfx_ripple_01_dummy\",\"Object\",\"Ground\",,,,,,\"ice_water_ripple_01\",,,,\n\"ice_vfx_shine_01\",\"sc/level_ice_arena.sc\",\"ice_vfx_shine_01\",\"Ground\",\"Ground\",,,,,,,,,,\n\"ice_2v2_base_01\",\"sc/level_ice_arena.sc\",\"ice_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"event_bridge\",\"sc/level_goblin_arena.sc\",\"goblin_bridge_asset\",\"Base\",\"Base\",,,,,,,,,,\n\"jungle_vfx_splash_01\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_splash_01\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_vfx_rainline_01\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_rainline_01\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_firefly_01\",\"sc/level_jungle_arena.sc\",\"jungle_firefly_01\",\"Ground\",\"Ground\",,,,,,\"jungle_arena_firefly_01\",,,,\n\"jungle_firefly_02\",\"sc/level_jungle_arena.sc\",\"jungle_firefly_02\",\"Ground\",\"Ground\",,,,,,\"jungle_arena_firefly_02\",,,,\n\"jungle_firefly_03\",\"sc/level_jungle_arena.sc\",\"jungle_firefly_03\",\"Ground\",\"Ground\",,,,,,\"jungle_arena_firefly_03\",,,,\n\"jungle_bamboo_01\",\"sc/level_jungle_arena.sc\",\"jungle_bamboo_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_bamboo_02\",\"sc/level_jungle_arena.sc\",\"jungle_bamboo_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_goldstorage_01\",\"sc/level_jungle_arena.sc\",\"jungle_goldstorage_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_01\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_01\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_02\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_02\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_03\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_03\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_04\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_04\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_05\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_05\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_stand_01_blue_left\",\"sc/level_jungle_arena.sc\",\"jungle_stand_01_blue_left\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_stand_01_blue_right\",\"sc/level_jungle_arena.sc\",\"jungle_stand_01_blue_right\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_stand_01_red_left\",\"sc/level_jungle_arena.sc\",\"jungle_stand_01_red_left\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_stand_01_red_right\",\"sc/level_jungle_arena.sc\",\"jungle_stand_01_red_right\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_statue_01\",\"sc/level_jungle_arena.sc\",\"jungle_statue_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_statue_02\",\"sc/level_jungle_arena.sc\",\"jungle_statue_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_throne_01\",\"sc/level_jungle_arena.sc\",\"jungle_throne_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_tree_01\",\"sc/level_jungle_arena.sc\",\"jungle_tree_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"jungle_vine_01\",\"sc/level_jungle_arena.sc\",\"jungle_vine_01\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_vine_02\",\"sc/level_jungle_arena.sc\",\"jungle_vine_02\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_bridge_01\",\"sc/level_jungle_arena.sc\",\"jungle_bridge_01\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_01_shadow\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_01_shadow\",\"Above\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_02_shadow\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_02_shadow\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_03_shadow\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_03_shadow\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_04_shadow\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_04_shadow\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_leaves_05_shadow\",\"sc/level_jungle_arena.sc\",\"jungle_leaves_05_shadow\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_vfx_water_01\",\"sc/level_jungle_arena.sc\",\"jungle_vfx_water_01\",\"Ground\",\"Ground\",,,,,,,,,,\n\"jungle_2v2_base_01\",\"sc/level_jungle_arena.sc\",\"jungle_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,-20000\n\"champion_drawbridge_01\",\"sc/level_champion_arena.sc\",\"champion_drawbridge_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_01\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_02\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_03\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_04\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_04\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_05\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_05\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_06\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_06\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_floating_rock_07\",\"sc/level_champion_arena.sc\",\"champion_floating_rock_07\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_king_01\",\"sc/level_champion_arena.sc\",\"champion_king_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_king_02\",\"sc/level_champion_arena.sc\",\"champion_king_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_blue_01\",\"sc/level_champion_arena.sc\",\"champion_stands_blue_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_blue_02\",\"sc/level_champion_arena.sc\",\"champion_stands_blue_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_blue_03\",\"sc/level_champion_arena.sc\",\"champion_stands_blue_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_red_01_stage_01\",\"sc/level_champion_arena.sc\",\"champion_stands_red_01_stage_01\",\"Object\",\"Ground\",,,,,,,\"champion_stands_red_01_stage_02\",4300,\"sc/level_champion_arena.sc\",\n,,,,,,,,,,,\"champion_stands_red_01_stage_03\",4600,\"sc/level_champion_arena.sc\",\n\"champion_stands_red_01_stage_02\",\"sc/level_champion_arena.sc\",\"champion_stands_red_01_stage_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_red_01_stage_03\",\"sc/level_champion_arena.sc\",\"champion_stands_red_01_stage_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_red_02\",\"sc/level_champion_arena.sc\",\"champion_stands_red_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_stands_red_03\",\"sc/level_champion_arena.sc\",\"champion_stands_red_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_trophy_big_01\",\"sc/level_champion_arena.sc\",\"champion_trophy_big_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_wall_01_stage_01\",\"sc/level_champion_arena.sc\",\"champion_wall_01_stage_01\",\"Object\",\"Ground\",,,,,,,\"champion_wall_01_stage_02\",4300,\"sc/level_champion_arena.sc\",\n,,,,,,,,,,,\"champion_wall_01_stage_03\",4600,\"sc/level_champion_arena.sc\",\n\"champion_wall_01_stage_02\",\"sc/level_champion_arena.sc\",\"champion_wall_01_stage_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_wall_01_stage_03\",\"sc/level_champion_arena.sc\",\"champion_wall_01_stage_03\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_wall_02\",\"sc/level_champion_arena.sc\",\"champion_wall_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_waterfall_dummy\",\"sc/level_champion_arena.sc\",\"champion_waterfall_dummy\",\"Object\",\"Ground\",,,,,,\"waterfall_haze\",,,,\n\"champion_2v2_wall_01\",\"sc/level_champion_arena.sc\",\"champion_2v2_wall_01\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_2v2_wall_02\",\"sc/level_champion_arena.sc\",\"champion_2v2_wall_02\",\"Object\",\"Ground\",,,,,,,,,,\n\"champion_2v2_base_01\",\"sc/level_champion_arena.sc\",\"champion_2v2_base_01\",\"Base\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_2tiles_h\",\"sc/level_decos.sc\",\"wall1_2tiles_h\",\"Object\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_2tiles_v\",\"sc/level_decos.sc\",\"wall1_2tiles_v\",\"Object\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_corner1\",\"sc/level_decos.sc\",\"wall1_corner1\",\"Object\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_corner2\",\"sc/level_decos.sc\",\"wall1_corner2\",\"Object\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_corner3\",\"sc/level_decos.sc\",\"wall1_corner3\",\"Object\",\"Ground\",,,,,,,,,,\n\"PvE_deco_wall1_corner4\",\"sc/level_decos.sc\",\"wall1_corner4\",\"Object\",\"Ground\",,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/draft_deck.csv",
    "content": "\"Name\",\"RequiredSets\",\"OptionalSets\"\n\"String\",\"String\",\"String\"\n\"Draft_v1\",\"Draft_AllRandom\",\"Draft_TankUnit\"\n,\"Draft_DamageSpell\",\"Draft_3costUnit\"\n,\"Draft_AntiAir\",\"Draft_4costUnit\"\n,\"Draft_AntiAir2\",\"Draft_5costUnit\"\n,\"Draft_MainAttack\",\"Draft_Aggressive\"\n,,\"Draft_Buildings\"\n,,\"Draft_CheapDudes\"\n,,\"Draft_CoolStuff\"\n,,\"Draft_Legendary\"\n,,\"Draft_CheapCards\"\n\"TEST_Draft_balance_test\",\"TEST_Draft_All_live_cards\",\"Draft_TankUnit\"\n,\"Draft_DamageSpell\",\"Draft_3costUnit\"\n,\"Draft_AntiAir\",\"Draft_4costUnit\"\n,\"Draft_AntiAir2\",\"Draft_5costUnit\"\n,\"Draft_MainAttack\",\"Draft_Aggressive\"\n,,\"Draft_Buildings\"\n,,\"Draft_CheapDudes\"\n,,\"Draft_CoolStuff\"\n,,\"Draft_Legendary\"\n,,\"Draft_CheapCards\"\n\"TEST_Draft_new_cards_test\",\"TEST_Draft_New_cards\",\"Draft_TankUnit\"\n,\"Draft_DamageSpell\",\"Draft_3costUnit\"\n,\"Draft_AntiAir\",\"Draft_4costUnit\"\n,\"Draft_AntiAir2\",\"Draft_5costUnit\"\n,\"Draft_MainAttack\",\"Draft_Aggressive\"\n,,\"Draft_Buildings\"\n,,\"Draft_CheapDudes\"\n,,\"Draft_CoolStuff\"\n,,\"Draft_Legendary\"\n,,\"Draft_CheapCards\"\n\"TEST_Draft_new_cards_daily_test\",\"TEST_Draft_New_cards_daily\",\"Draft_TankUnit\"\n,\"Draft_DamageSpell\",\"Draft_3costUnit\"\n,\"Draft_AntiAir\",\"Draft_4costUnit\"\n,\"Draft_AntiAir2\",\"Draft_5costUnit\"\n,\"Draft_MainAttack\",\"Draft_Aggressive\"\n,,\"Draft_Buildings\"\n,,\"Draft_CheapDudes\"\n,,\"Draft_CoolStuff\"\n,,\"Draft_Legendary\"\n,,\"Draft_CheapCards\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/event_categories.csv",
    "content": "Name,CSVFiles,CSVRows,CustomNames\nString,String,String,String\nRED,,,ProductRed\nSHOP,,,RumbleShop\n,,,HolidayBundle\n,,,ChineseNewYearBundle\nCHALLENGE,csv_logic/survival_modes.csv,Gold,\n,,Bronze,\n,,BlindDeck,\n,,DoubleElixir,\n,,KingsCup,\n,,DraftMode,\n,,DraftMode2,\n,,ThreeBridges,\n,,HeroChallenge,\n,,ElectroWiz,\n,,DraftModeInsane,\n,,Team,\n,,RetroRoyale,\n,,BattleRamClassic,\n,,BattleRamGrand,\nFRIENDLY,csv_logic/game_modes.csv,BlindDeck,\n,,DoubleElixir_Friendly,\n,,DraftMode,\nSHOP_OFFER_DELAY,,,ShopOfferDelay\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/event_category_definitions.csv",
    "content": "\"Name\",\"ObjectType\"\n\"string\",\"string\"\n\"CHALLENGE\",\"ChallengeDefinitionType\"\n\"FRIENDLY\",\"FriendlyChallengeDefinitionType\"\n\"SHOP\",\"ShopDefinitionType\"\n\"LADDER\",\"LadderDefinitionType\"\n\"QUEST_TEAMBATTLE\",\"Quest_TeamBattle\"\n\"QUEST_CHALLENGEWINS\",\"Quest_ChallengeWins\"\n\"NOTIFICATION\",\"NotificationDefinitionType\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/event_category_enums.csv",
    "content": "\"Name\",\"Option\"\n\"string\",\"string\"\n\"ResourceEnum\",\"Gold\"\n,\"Gems\"\n\"IconExportNameEnum\",\"icon_tournament_2x_elixir\"\n,\"icon_tournament_2x_elixir_grand\"\n,\"icon_tournament_blind_deck\"\n,\"icon_tournament_blind_deck_grand\"\n,\"icon_tournament_bronze\"\n,\"icon_tournament_card_release\"\n,\"icon_tournament_card_release_grand\"\n,\"icon_tournament_custom\"\n,\"icon_tournament_draft\"\n,\"icon_tournament_draft_grand\"\n,\"icon_tournament_gold\"\n,\"icon_tournament_goldrush\"\n,\"icon_tournament_goldrush_grand\"\n,\"icon_tournament_retro\"\n,\"icon_tournament_retro_grand\"\n,\"icon_tournament_special\"\n,\"icon_tournament_special_grand\"\n,\"icon_tournament_3x_elixir\"\n,\"icon_tournament_3x_elixir_grand\"\n,\"icon_tournament_ramp_up\"\n,\"icon_tournament_ramp_up_grand\"\n,\"icon_tournament_suddendeath\"\n,\"icon_tournament_suddendeath_grand\"\n,\"icon_tournament_2v2\"\n,\"icon_tournament_2v2_grand\"\n\"WinIconExportNameEnum\",\"tournament_open_wins_badge_bronze\"\n,\"tournament_open_wins_badge_gold\"\n,\"tournament_open_wins_badge_blind\"\n,\"tournament_open_wins_badge_draft\"\n,\"tournament_open_wins_badge_legendary\"\n\"CostTypeEnum\",\"IAP\"\n,\"Gold\"\n,\"Gems\"\n,\"Free\"\n,\"Auto_Gems\"\n\"OfferRewardEnum\",\"Chest\"\n,\"Gold\"\n,\"Gems\"\n,\"Spell\"\n,\"Skin\"\n,\"ChestWithCardTheme\"\n\"BillingPackages\",\"com.supercell.scroll.specialoffertier1\"\n,\"com.supercell.scroll.specialoffertier2\"\n,\"com.supercell.scroll.specialoffertier3\"\n,\"com.supercell.scroll.specialoffertier4\"\n,\"com.supercell.scroll.specialoffertier5\"\n,\"com.supercell.scroll.specialoffertier6\"\n,\"com.supercell.scroll.specialoffertier7\"\n,\"com.supercell.scroll.specialoffertier8\"\n,\"com.supercell.scroll.specialoffertier9\"\n,\"com.supercell.scroll.specialoffertier10\"\n,\"com.supercell.scroll.specialoffertier15\"\n,\"com.supercell.scroll.specialoffertier20\"\n,\"com.supercell.scroll.specialoffertier50\"\n,\"com.supercell.scroll.specialoffertier60\"\n\"ArenaEnum\",\"All\"\n,\"TrainingCamp\"\n,\"Arena1\"\n,\"Arena2\"\n,\"Arena3\"\n,\"Arena4\"\n,\"Arena5\"\n,\"Arena6\"\n,\"Arena_L\"\n,\"Arena7\"\n,\"Arena8\"\n,\"Arena9\"\n,\"Arena_T\"\n\"ShopTemplates\",\"shop_item1_all_text\"\n,\"shop_item1_center_text\"\n,\"shop_item1_center_text_chest\"\n,\"shop_item1_left_right_text\"\n,\"shop_item1_left_text\"\n,\"shop_item1_left_text_chest\"\n,\"shop_item1_no_text\"\n,\"shop_item1_right_text\"\n,\"shop_item1_right_text_chest\"\n,\"shop_item2_no_text\"\n,\"shop_item2_text\"\n,\"shop_item2_text_chest\"\n,\"shop_item3_no_text\"\n,\"shop_item3_text\"\n,\"shop_item3_text_chest\"\n,\"shop_item3_text_chest_sml\"\n,\"shop_item1_drop_rate_01\"\n,\"shop_item1_drop_rate_02\"\n,\"shop_item1_target_card\"\n,\"shop_item1_target_card_gold\"\n\"MilestoneTypeEnum\",\"Chest\"\n,\"Gold\"\n,\"Gems\"\n,\"Spell\"\n,\"RandomSpell\"\n\"ChestEnum\",\"Silver_<current_arena>\"\n,\"Silver_<max_arena>\"\n,\"Gold_<current_arena>\"\n,\"Gold_<max_arena>\"\n,\"Giant_<current_arena>\"\n,\"Giant_<max_arena>\"\n,\"Magic_<current_arena>\"\n,\"Magic_<max_arena>\"\n,\"Epic_<current_arena>\"\n,\"Epic_<max_arena>\"\n,\"Legendary\"\n,\"Super_<current_arena>\"\n,\"Super_<max_arena>\"\n,\"Draft_<current_arena>\"\n,\"Draft_<max_arena>\"\n\"RarityEnum\",\"Common\"\n,\"Rare\"\n,\"Epic\"\n,\"Legendary\"\n\"SkinEnum\",\"Skin1\"\n,\"Skin2\"\n,\"Skin3\"\n,\"Skin4\"\n,\"Skin5\"\n,\"Skin6\"\n,\"Skin7\"\n,\"Skin8\"\n,\"Skin9\"\n,\"Skin10\"\n,\"Skin11\"\n,\"Skin12\"\n\"DraftDecks\",\"None\"\n,\"Draft_v1\"\n,\"TEST_Draft_balance_test\"\n,\"TEST_Draft_new_cards_test\"\n,\"TEST_Draft_new_cards_daily_test\"\n\"DraftSets\",\"None\"\n,\"Draft_AllRandom\"\n,\"Draft_TankUnit\"\n,\"Draft_Legendary\"\n,\"Draft_AntiAir\"\n,\"Draft_DamageSpell\"\n,\"Draft_CheapDudes\"\n,\"Draft_Buildings\"\n,\"Draft_Aggressive\"\n,\"Draft_CoolStuff\"\n,\"Draft_3costUnit\"\n,\"Draft_4costUnit\"\n,\"Draft_5costUnit\"\n,\"Draft_AllRandom\"\n,\"Draft_CheapCards\"\n,\"Draft_AntiAir2\"\n,\"TEST_Draft_All_live_cards\"\n,\"TEST_Draft_New_cards\"\n\"ClanChestTypeEnum\",\"ClanCrowns\"\n,\"TeamBattle\"\n\"NotificationCategoryEnum\",\"Battle\"\n,\"Clan\"\n,\"Shop\"\n,\"Challenge\"\n,\"Cards\"\n,\"RoyaleBox\"\n\"AccountTypeEnum\",\"AnyAccount\"\n,\"DemoAccount\"\n,\"NonDemoAccount\"\n\"GameModes_Friendly\",\"BlindDeck\"\n,\"DoubleElixir_Friendly\"\n,\"DraftMode\"\n,\"DraftModeInsane\"\n,\"TeamVsTeam\"\n,\"CardReleaseDraft\"\n,\"TeamVsTeamDraftChallenge\"\n,\"Overtime_Friendly\"\n,\"TripleElixir_Friendly\"\n,\"RampUpElixir_Friendly\"\n,\"TeamVsTeam_DoubleElixir_Friendly\"\n,\"TeamVsTeam_Overtime_Friendly\"\n,\"TeamVsTeam_RampUpElixir_Friendly\"\n,\"TeamVsTeam_DraftModeInsane_Friendly\"\n\"GameModes_Challenge\",\"BlindDeck\"\n,\"DoubleElixir\"\n,\"DraftMode\"\n,\"Challenge\"\n,\"DraftModeInsane\"\n,\"RetroRoyale\"\n,\"CardRelease\"\n,\"CardReleaseDraft\"\n,\"Overtime_Tournament\"\n,\"TeamVsTeamChallenge\"\n,\"TripleElixir_Tournament\"\n,\"RampUpElixir_Tournament\"\n,\"TeamVsTeamDraftChallenge\"\n,\"TeamVsTeam_DoubleElixir_Tournament\"\n,\"TeamVsTeam_Overtime_Tournament\"\n,\"TeamVsTeam_RampUpElixir_Tournament\"\n,\"TeamVsTeam_DraftModeInsane_Friendly\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/event_category_object_definitions.csv",
    "content": "\"Name\",\"PropertyName\",\"PropertyType\",\"IsRequired\",\"ObjectType\",\"DefaultInt\",\"DefaultString\"\n\"string\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"string\"\n\"ChallengeDefinitionType\",\"GameMode\",\"ENUMERATION\",\"TRUE\",\"GameModes_Challenge\",,\n,\"Title\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"FreePass\",\"NUMBER\",\"TRUE\",,,\n,\"JoinCost\",\"NUMBER\",\"TRUE\",,,\n,\"JoinCostResource\",\"ENUMERATION\",\"TRUE\",\"ResourceEnum\",,\n,\"MaxLosses\",\"NUMBER\",\"TRUE\",,,\n,\"Rewards\",\"LIST\",\"TRUE\",\"RewardType\",,\n,\"IconExportName\",\"ENUMERATION\",\"TRUE\",\"IconExportNameEnum\",,\n,\"CardTheme\",\"STRING\",\"FALSE\",,,\n,\"WinIconExportName\",\"ENUMERATION\",\"TRUE\",\"WinIconExportNameEnum\",,\n,\"Arena\",\"ENUMERATION\",\"TRUE\",\"ArenaEnum\",,\n,\"Subtitle\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"Description\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"MilestoneHighlightInUI\",\"NUMBER\",\"FALSE\",,,\n,\"StartNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"EndNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"TestFile\",\"OBJECT\",\"FALSE\",\"FileType\",,\n,\"DraftDeck\",\"ENUMERATION\",\"FALSE\",\"DraftDecks\",,\n,\"DraftDeckCardThemeSetOverride\",\"ENUMERATION\",\"FALSE\",\"DraftSets\",,\n\"FriendlyChallengeDefinitionType\",\"GameMode\",\"ENUMERATION\",\"TRUE\",\"GameModes_Friendly\",,\n,\"StartNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"EndNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"DraftDeck\",\"ENUMERATION\",\"FALSE\",\"DraftDecks\",,\n,\"DraftCardTheme\",\"STRING\",\"FALSE\",,,\n,\"DraftDeckCardThemeSetOverride\",\"ENUMERATION\",\"FALSE\",\"DraftSets\",,\n,\"HideTimer\",\"BOOLEAN\",\"FALSE\",,,\n,\"Target_AccountType\",\"ENUMERATION\",\"FALSE\",\"AccountTypeEnum\",,\n\"ShopDefinitionType\",\"Title\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"Subtitle\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"ShopOffers\",\"LIST\",\"TRUE\",\"ShopOfferType\",,\n,\"Target_ModuloX\",\"NUMBER\",\"FALSE\",,,\n,\"Target_ModuloY\",\"NUMBER\",\"FALSE\",,,\n,\"Target_Account\",\"STRING\",\"FALSE\",,,\n,\"Target_MinTrophies\",\"NUMBER\",\"FALSE\",,,\n,\"Target_MaxTrophies\",\"NUMBER\",\"FALSE\",,,\n,\"Target_DaysToShow\",\"NUMBER\",\"FALSE\",,,\n,\"Target_MinBought\",\"NUMBER\",\"FALSE\",,,\n,\"Target_MaxBought\",\"NUMBER\",\"FALSE\",,,\n,\"Target_CalculateOnce\",\"BOOLEAN\",\"FALSE\",,,\n,\"StartNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"EndNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"IsSpecial\",\"BOOLEAN\",\"FALSE\",,,\n,\"HideTimer\",\"BOOLEAN\",\"FALSE\",,,\n\"RewardType\",\"Gold\",\"NUMBER\",\"FALSE\",,,\n,\"Cards\",\"NUMBER\",\"FALSE\",,,\n,\"Milestone\",\"OBJECT\",\"FALSE\",\"MilestoneType\",,\n\"ShopOfferType\",\"Title\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"Template\",\"ENUMERATION\",\"TRUE\",\"ShopTemplates\",,\n,\"Repeatable\",\"BOOLEAN\",\"FALSE\",,,\n,\"CostType\",\"ENUMERATION\",\"TRUE\",\"CostTypeEnum\",,\n,\"Cost\",\"NUMBER\",\"FALSE\",,,\n,\"CostIAP\",\"ENUMERATION\",\"FALSE\",\"BillingPackages\",,\n,\"Image\",\"OBJECT\",\"TRUE\",\"ImageType\",,\n,\"PurchasedImage\",\"OBJECT\",\"FALSE\",\"ImageType\",,\n,\"Multiplier\",\"NUMBER\",\"FALSE\",,,\n,\"Rewards\",\"LIST\",\"TRUE\",\"OfferRewardType\",,\n,\"NumTimesPurchasable\",\"NUMBER\",\"FALSE\",,,\n\"OfferRewardType\",\"Type\",\"ENUMERATION\",\"TRUE\",\"OfferRewardEnum\",,\n,\"Chest\",\"ENUMERATION\",\"FALSE\",\"ChestEnum\",,\n,\"Spell\",\"ENUMERATION\",\"FALSE\",\"SpellsEnum\",,\n,\"Amount\",\"NUMBER\",\"FALSE\",,,\n,\"Skin\",\"ENUMERATION\",\"FALSE\",\"SkinEnum\",,\n,\"ChestWithCardTheme\",\"ENUMERATION\",\"FALSE\",\"ChestEnum\",,\n,\"ChestCardTheme\",\"ENUMERATION\",\"FALSE\",\"SpellsEnum\",,\n,\"ChestCardThemeChance\",\"NUMBER\",\"FALSE\",,,\n,\"ChestCardThemeGuarentee\",\"NUMBER\",\"FALSE\",,,\n,\"ChestCardThemeInEveryChest\",\"BOOLEAN\",\"FALSE\",,,\n\"UrlWithChecksumType\",\"Url\",\"STRING\",\"TRUE\",,,\n,\"Checksum\",\"STRING\",\"TRUE\",,,\n\"LocalizedStringType\",\"LanguageCode\",\"STRING\",\"TRUE\",,,\n,\"Text\",\"STRING\",\"TRUE\",,,\n\"ImageType\",\"File\",\"STRING\",\"TRUE\",,,\n,\"Path\",\"STRING\",\"TRUE\",,,\n,\"Checksum\",\"STRING\",\"TRUE\",,,\n\"ShopCycleManagementConfiguration\",\"EpicChestCycleDuration\",\"NUMBER\",\"FALSE\",,14,\n,\"LegendaryChestCycleDuration\",\"NUMBER\",\"FALSE\",,21,\n,\"ArenaPackCycleDuration\",\"NUMBER\",\"FALSE\",,10,\n\"CardRelease\",\"Bats\",\"DATE\",\"FALSE\",,,\n,\"MovingCannon\",\"DATE\",\"FALSE\",,,\n,\"MegaKnight\",\"DATE\",\"FALSE\",,,\n,\"SkeletonBalloon\",\"DATE\",\"FALSE\",,,\n,\"DartBarrell\",\"DATE\",\"FALSE\",,,\n\"MilestoneType\",\"Type\",\"ENUMERATION\",\"TRUE\",\"MilestoneTypeEnum\",,\n,\"Chest\",\"ENUMERATION\",\"FALSE\",\"ChestEnum\",,\n,\"Spell\",\"ENUMERATION\",\"FALSE\",\"SpellsEnum\",,\n,\"Amount\",\"NUMBER\",\"FALSE\",,,\n,\"RandomSpell\",\"ENUMERATION\",\"FALSE\",\"RarityEnum\",,\n\"KillSwitch\",\"HideShopOffersUI\",\"BOOLEAN\",\"FALSE\",,,\n\"TutorialTestGroups\",\"Forced\",\"NUMBER\",\"FALSE\",,1,\n,\"BattleCountToShowLogPopover\",\"NUMBER\",\"FALSE\",,1,\n,\"MaxExpLevelToShowLogPopover\",\"NUMBER\",\"FALSE\",,3,\n,\"BattleCountToShowTVPopover\",\"NUMBER\",\"FALSE\",,6,\n,\"MaxExpLevelToShowTVPopover\",\"NUMBER\",\"FALSE\",,3,\n,\"MaxExpLevelToShowTrainingTip\",\"NUMBER\",\"FALSE\",,3,\n\"FileType\",\"File\",\"STRING\",\"TRUE\",,,\n,\"Path\",\"STRING\",\"TRUE\",,,\n,\"Checksum\",\"STRING\",\"TRUE\",,,\n\"QuestDefinitionType\",\"Type\",\"STRING\",\"TRUE\",,,\n,\"Title\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"Info\",\"LIST\",\"TRUE\",\"LocalizedStringType\",,\n,\"ItemExportName\",\"STRING\",\"TRUE\",,,\n,\"MinLevel\",\"NUMBER\",\"TRUE\",,,\n\"QuestRewardsType\",\"Points\",\"NUMBER\",\"TRUE\",,,\n,\"RewardTypes\",\"STRING\",\"TRUE\",,,\n,\"Rewards\",\"STRING\",\"TRUE\",,,\n,\"RewardCount\",\"NUMBER\",\"TRUE\",,,\n\"QuestConditions_JustCount\",\"Count\",\"NUMBER\",\"TRUE\",,,\n\"EventID\",\"EventID\",\"NUMBER\",\"TRUE\",,,\n\"QuestConditions_CountAndEvents\",\"Count\",\"NUMBER\",\"TRUE\",,,\n,\"Events\",\"LIST\",\"TRUE\",\"EventID\",,\n\"Quest_TeamBattle\",\"Quest\",\"OBJECT\",\"TRUE\",\"QuestDefinitionType\",,\n,\"Condition\",\"OBJECT\",\"TRUE\",\"QuestConditions_JustCount\",,\n,\"Reward\",\"OBJECT\",\"TRUE\",\"QuestRewardsType\",,\n\"Quest_ChallengeWins\",\"Quest\",\"OBJECT\",\"TRUE\",\"QuestDefinitionType\",,\n,\"Condition\",\"OBJECT\",\"TRUE\",\"QuestConditions_CountAndEvents\",,\n,\"Reward\",\"OBJECT\",\"TRUE\",\"QuestRewardsType\",,\n\"LadderDefinitionType\",\"StartNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"EndNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"DraftDeck\",\"STRING\",\"FALSE\",,,\n,\"DraftCardTheme\",\"STRING\",\"FALSE\",,,\n,\"Target_MinXPLevel\",\"NUMBER\",\"FALSE\",,,\n,\"HideTimer\",\"BOOLEAN\",\"FALSE\",,,\n,\"HidePopupTimer\",\"BOOLEAN\",\"FALSE\",,,\n\"ClanChest\",\"StartTime\",\"DATETIME\",\"TRUE\",,,\n,\"ActiveDuration\",\"STRING\",\"TRUE\",,,\n,\"InactiveDuration\",\"STRING\",\"TRUE\",,,\n,\"ChestType\",\"LIST\",\"TRUE\",\"STRING\",,\n\"NotificationDefinitionType\",\"StartNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"EndNotification\",\"LIST\",\"FALSE\",\"LocalizedStringType\",,\n,\"StartNotificationPage\",\"ENUMERATION\",\"TRUE\",\"NotificationCategoryEnum\",,\n,\"EndNotificationPage\",\"ENUMERATION\",\"TRUE\",\"NotificationCategoryEnum\",,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/event_targeting_definitions.csv",
    "content": "Name,MetadataType,MetadataPath,EvaluationLocation,ParameterName,ParameterType,IsRequired,ObjectType,MatchingRuleType\nstring,string,string,string,string,string,boolean,string,string\nByTag,TargetingMetadata,Tags,SERVER,Tag,ENUMERATION,TRUE,Tags,IsInStringList\nByCountry,InGameMetadata,Country,SERVER,Country,LIST,TRUE,STRING,ContainsString\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/exp_levels.csv",
    "content": "\"Name\",\"ExpToNextLevel\",\"SummonerLevel\",\"TowerLevel\",\"TroopLevel\",\"Decks\",\"SummonerKillGold\",\"TowerKillGold\",\"DiamondReward\"\n\"String\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n1,20,1,1,1,1,0,0,\n2,50,2,2,2,1,0,0,\n3,100,3,3,3,1,0,0,\n4,200,4,4,4,1,0,0,\n5,400,5,5,5,1,0,0,\n6,1000,6,6,6,1,0,0,\n7,2000,7,7,7,1,0,0,\n8,5000,8,8,8,1,0,0,\n9,10000,9,9,9,1,0,0,\n10,30000,10,10,10,1,0,0,\n11,40000,11,11,11,1,0,0,\n12,80000,12,12,12,1,0,0,\n13,100000,13,13,13,1,0,0,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/gamble_chests.csv",
    "content": "\"Name\",\"GoldPrice\",\"Location\"\n\"String\",\"int\",\"String\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/game_modes.csv",
    "content": "\"Name\",\"TID\",\"RequestTID\",\"InProgressTID\",\"CardLevelAdjustment\",\"PlayerCount\",\"DeckSelection\",\"OvertimeSeconds\",\"PredefinedDecks\",\"ElixirProductionMultiplier\",\"ElixirProductionOvertimeMultiplier\",\"UseStartingElixir\",\"StartingElixir\",\"Heroes\",\"ForcedDeckCards\",\"Players\",\"EventDeckSetLimit\",\"ForcedDeckCardsUsingCardTheme\",\"PrincessSkin\",\"KingSkin\",\"GivesClanScore\"\n\"string\",\"string\",\"String\",\"String\",\"String\",\"int\",\"String\",\"int\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"boolean\",\"String\",\"String\",\"String\",\"boolean\",\"String\",\"String\",\"boolean\"\n\"BlindDeck\",\"TID_BLIND_DECK_CHALLENGE\",,,\"Friendly\",,\"Predefined\",180,\"BlindDeck1\",,,,,,,\"PvP\",,,,,\n,,,,,,,,\"BlindDeck2\",,,,,,,\"PvP\",,,,,\n\"DoubleElixir\",\"TID_DOUBLE_ELIXIR_CHALLENGE\",,,\"Tournament\",,\"Collection\",180,,200,,\"true\",0,,,\"PvP\",,,,,\n\"ThreeBridges\",\"TID_THREE_BRIDGES_CHALLENGE\",,,\"Tournament\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"HeroChallenge\",\"TID_HERO_CHALLENGE\",,,\"Tournament\",,\"Collection\",180,,,,,,\"true\",,\"PvP\",,,,,\n\"ElectroWiz\",\"TID_CHALLENGE_ELECTRO_WIZ\",,,\"Friendly\",,\"EventDeck\",180,,,,,,,\"ElectroWizard\",\"PvP\",,,,,\n\"DraftMode\",\"TID_DRAFT_CHALLENGE\",\"TID_REQUEST_DRAFT_1V1\",\"TID_DRAFT_1V1_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,,,,,,,\"PvP\",,,,,\n\"Ladder\",,,,\"Ladder\",,\"Collection\",60,,,,,,,,\"PvP\",,,,,\n\"Friendly\",,,,\"Friendly\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"Training\",,,,\"Ladder\",,\"Collection\",60,,,,,,,,\"PvP\",,,,,\n\"Tournament\",,,,\"Tournament\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"Challenge\",,,,\"Tournament\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"DoubleElixir_Friendly\",\"TID_DOUBLE_ELIXIR_CHALLENGE\",\"TID_REQUEST_DOUBLE_ELIXIR_1V1\",\"TID_DOUBLE_ELIXIR_1V1_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,200,,\"true\",0,,,\"PvP\",,,,,\n\"BattleRam\",\"TID_CHALLENGE_ELECTRO_WIZ\",,,\"Friendly\",,\"EventDeck\",180,,,,,,,,\"PvP\",,,,,\n\"DraftModeInsane\",\"TID_GAMEMODE_DRAFT_INSANE\",\"TID_REQUEST_DRAFTMODE_INSANE_1V1\",\"TID_DRAFTMODE_INSANE_1V1_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,200,,\"true\",0,,,\"PvP\",,,,,\n\"TeamVsTeam\",\"TID_TEAM_CHALLENGE\",,,\"Friendly\",,\"Collection\",180,,85,70,,,,,\"TvT\",,,,,\n\"RetroRoyale\",\"TID_RETRO_ROYALE_CHALLENGE\",,,\"Friendly\",,\"EventDeck\",180,,,,,,,,\"PvP\",\"Event_Retro\",,,,\n\"CardRelease\",,,,\"Friendly\",,\"EventDeck\",180,,,,,,,,\"PvP\",,\"TRUE\",,,\n\"CardReleaseDraft\",\"TID_DRAFT_CHALLENGE\",\"TID_REQUEST_DRAFT_1V1\",\"TID_DRAFT_1V1_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,,,,,,,\"PvP\",,\"TRUE\",,,\n\"PvE\",\"TID_PUZZLE_MODE\",,,\"Friendly\",,\"Collection\",60,,300,,\"true\",10,,,\"PvE\",,,,,\n\"TvE\",\"TID_TEAM_VS_ENEMY\",,,\"Friendly\",,\"Collection\",60,,85,70,\"true\",0,,,\"TvE\",,,,,\n\"PvE_Boss\",\"TID_PUZZLE_MODE\",,,\"Friendly\",,\"Collection\",60,,,,\"true\",10,,,\"PvE\",,,,,\n\"PvE_Tutorial\",\"TID_PUZZLE_MODE\",,,\"Ladder\",,\"Collection\",60,,,,,,,,\"PvE\",,,,,\n\"TeamVsTeamDraft\",\"TID_TEAM_CHALLENGE_DRAFT\",\"TID_REQUEST_DRAFT_2V2\",\"TID_DRAFT_2V2_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,85,70,,,,,\"TvT\",,,,,\n\"TeamVsTeamLadder\",\"TID_TEAM_CHALLENGE_LADDER\",,,\"Ladder\",,\"Collection\",60,,85,70,,,,,\"TvT\",,,,,\n\"Overtime_Tournament\",\"TID_GAMEMODE_OVERTIME\",,,\"Tournament\",,\"Collection\",180,,,,\"true\",0,,,\"PvP\",,,,,\n\"GoldRush\",\"TID_GOLDRUSH_CHALLENGE\",,,\"Tournament\",,\"Collection\",180,,,,,,,,\"PvP\",,,\"PrincessGold\",,\n\"TeamVsTeamChallenge\",\"TID_TEAM_CHALLENGE_SURVIVAL\",,,\"Tournament\",,\"Collection\",180,,85,70,,,,,\"TvT\",,,,,\n\"TripleElixir_Tournament\",\"TID_TRIPLE_ELIXIR\",,,\"Tournament\",,\"Collection\",180,,300,150,\"true\",0,,,\"PvP\",,,,,\n\"RampUpElixir_Tournament\",\"TID_RAMP_UP_ELIXIR\",,,\"Tournament\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"TeamVsTeamCrowns\",\"TID_TEAM_CHALLENGE\",,,\"Friendly\",,\"Collection\",180,,85,70,,,,,\"TvT\",,,,,\"TRUE\"\n\"TeamVsTeamDraftChallenge\",\"TID_TEAM_CHALLENGE_DRAFT\",\"TID_REQUEST_DRAFT_2V2\",\"TID_DRAFT_2V2_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,85,70,,,,,\"TvT\",,,,,\n\"Overtime_Friendly\",\"TID_GAMEMODE_OVERTIME\",\"TID_REQUEST_OVERTIME_1V1\",\"TID_OVERTIME_1V1_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,,,\"true\",0,,,\"PvP\",,,,,\n\"TripleElixir_Friendly\",\"TID_TRIPLE_ELIXIR\",\"TID_REQUEST_TRIPLE_ELIXIR_1V1\",\"TID_TRIPLE_ELIXIR_1V1_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,300,150,\"true\",0,,,\"PvP\",,,,,\n\"RampUpElixir_Friendly\",\"TID_RAMP_UP_ELIXIR\",\"TID_REQUEST_RAMPUP_1V1\",\"TID_RAMPUP_1V1_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n\"TeamVsTeam_DoubleElixir_Friendly\",\"TID_GAMEMODE_DOUBLE_ELIXIR_2v2\",\"TID_REQUEST_DOUBLE_ELIXIR_2V2\",\"TID_DOUBLE_ELIXIR_2V2_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,170,85,\"true\",0,,,\"TvT\",,,,,\n\"TeamVsTeam_DoubleElixir_Tournament\",\"TID_GAMEMODE_DOUBLE_ELIXIR_2v2\",,,\"Tournament\",,\"Collection\",180,,170,85,\"true\",0,,,\"TvT\",,,,,\n\"TeamVsTeam_Overtime_Friendly\",\"TID_GAMEMODE_OVERTIME_2v2\",\"TID_REQUEST_OVERTIME_2V2\",\"TID_OVERTIME_2V2_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,85,70,,,,,\"TvT\",,,,,\n\"TeamVsTeam_Overtime_Tournament\",\"TID_GAMEMODE_OVERTIME_2v2\",,,\"Tournament\",,\"Collection\",180,,85,70,,,,,\"TvT\",,,,,\n\"TeamVsTeam_RampUpElixir_Friendly\",\"TID_GAMEMODE_RAMPUP_ELIXIR_2v2\",\"TID_REQUEST_RAMPUP_2V2\",\"TID_RAMPUP_2V2_IN_PROGRESS\",\"Friendly\",,\"Collection\",180,,85,85,,,,,\"TvT\",,,,,\n\"TeamVsTeam_RampUpElixir_Tournament\",\"TID_GAMEMODE_RAMPUP_ELIXIR_2v2\",,,\"Tournament\",,\"Collection\",180,,85,85,,,,,\"TvT\",,,,,\n\"TeamVsTeam_DraftModeInsane_Friendly\",\"TID_GAMEMODE_DRAFT_INSANE_2v2\",\"TID_REQUEST_DRAFTMODE_INSANE_2V2\",\"TID_DRAFTMODE_INSANE_2V2_IN_PROGRESS\",\"Friendly\",,\"Draft\",180,,170,140,\"true\",0,,,\"TvT\",,,,,\n\"Invalid\",,,,\"Friendly\",,\"Collection\",180,,,,,,,,\"PvP\",,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/globals.csv",
    "content": "\"Name\",\"NumberValue\",\"BooleanValue\",\"TextValue\",\"StringArray\",\"NumberArray\"\n\"String\",\"int\",\"boolean\",\"string\",\"String\",\"int\"\n\"ALLIANCE_CREATE_COST\",1000,,,,\n\"STARTING_DIAMONDS\",100,,,,\n\"CLAN_TOURNAMENT_ENABLED\",,\"TRUE\",,,\n\"ACHIEVEMENTS_ENABLED\",,\"TRUE\",,,\n\"MAX_MANA\",10,,,,\n\"MANA_REGEN_MS\",28000,,,,\n\"MANA_REGEN_MS_END\",14000,,,,\n\"MANA_REGEN_MS_OVERTIME\",14000,,,,\n\"MANA_SPEED_UP_WHEN_REMAINING_SECONDS\",60,,,,\n\"MANA_REGEN_PENALTY_FROM_TOWER\",,,,,\n\"START_MANA\",5,,,,\n\"K_FACTOR\",,,,,60\n\"K_FACTOR_THRESHOLDS\",,,,,0\n\"K_FACTOR_GAMEROOM\",,,,,60\n\"K_FACTOR_GAMEROOM_THRESHOLDS\",,,,,0\n\"MINIMUM_CHANGE_FOR_REAL_BATTLE\",1,,,,\n\"TARGET_SCORE\",2000,,,,\n\"LOSE_SCORE_MILESTONES\",,,,,0\n,,,,,400\n,,,,,800\n,,,,,1200\n,,,,,1600\n,,,,,2000\n,,,,,2400\n,,,,,2800\n\"LOSE_SCORE_PERCENTAGES\",,,,,0\n,,,,,35\n,,,,,60\n,,,,,75\n,,,,,85\n,,,,,90\n,,,,,95\n,,,,,100\n\"MINIMUM_SCORE\",0,,,,\n\"DAMAGE_NOTICE_TIME\",2000,,,,\n\"PROTECTION_CAP_PERCENTAGE\",90,,,,\n\"PANIC_RUN_MIN_TIME\",1000,,,,\n\"PANIC_RUN_MAX_TIME\",1500,,,,\n\"PANIC_SPEED_MULTIPLIER\",175,,,,\n\"MAX_MESSAGE_LENGTH\",256,,,,\n\"MAX_ALLIANCE_MAIL_LENGTH\",256,,,,\n\"NEXT_SPELL_COOLDOWN_MILLISECONDS\",2000,,,,\n\"NEXT_SPELL_COOLDOWN_MILLISECONDS_BOOST\",1000,,,,\n\"NEXT_SPELL_COOLDOWN_MILLISECONDS_OVERTIME\",1000,,,,\n\"SPEED_UP_DIAMOND_COST_1_MIN\",1,,,,\n\"SPEED_UP_DIAMOND_COST_1_HOUR\",20,,,,\n\"SPEED_UP_DIAMOND_COST_24_HOURS\",360,,,,\n\"SPEED_UP_DIAMOND_COST_1_WEEK\",1800,,,,\n\"BATTLE_END_EXP_REWARD\",0,,,,\n\"GAMBLE_PRICE_COOLDOWN_MINUTES\",1380,,,,\n\"TUTORIAL_MAX_SPELL_CAST_DISTANCE_TILES\",6,,,,\n\"SPEED_UP_FREE_SECONDS\",0,,,,\n\"RESOURCE_DIAMOND_COST_1\",1,,,,\n\"RESOURCE_DIAMOND_COST_10\",1,,,,\n\"RESOURCE_DIAMOND_COST_100\",8,,,,\n\"RESOURCE_DIAMOND_COST_1000\",60,,,,\n\"RESOURCE_DIAMOND_COST_10000\",500,,,,\n\"RESOURCE_DIAMOND_COST_100000\",4500,,,,\n\"RESOURCE_DIAMOND_COST_1000000\",45000,,,,\n\"MAX_RESOURCE_PURCHASE_SIZE\",1000000,,,,\n\"ALLIANCE_SCORE_CONTRIBUTION_PERCENTAGE\",,,,,50\n,,,,,25\n,,,,,12\n,,,,,10\n,,,,,3\n\"STARTING_GOLD\",100,,,,\n\"ATTACK_FINISH_TIME_MS\",250,,,,\n\"BATTLE_PING_SAMPLE_SECONDS\",15,,,,\n\"FREE_CHEST_INTERVAL_HOURS\",4,,,,\n\"EXTRA_BUFF_RADIUS\",2000,,,,\n\"PVP_UNLOCKED_AT_LEVEL\",1,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_SPELL_LEVEL\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_SPELL_LEVEL\",10,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_KING_LEVEL\",7,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_KING_LEVEL\",7,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_TOWER_LEVEL\",8,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_TOWER_LEVEL\",8,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_KING_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_KING_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_TOWER_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_TOWER_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_KING_LEVEL_AT_TOURNAMENTCAP\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_KING_LEVEL_AT_TOURNAMENTCAP\",10,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_TOWER_LEVEL_AT_TOURNAMENTCAP\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_TOWER_LEVEL_AT_TOURNAMENTCAP\",10,,,,\n\"DAMAGE_INCREASE_PERCENT_PER_SPELL_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"HITPOINT_INCREASE_PERCENT_PER_SPELL_LEVEL_AFTER_TOURNAMENTCAP\",10,,,,\n\"END_TIMER_ANIM_MS\",12000,,,,\n\"MAX_CHEST_COUNT\",4,,,,\n\"MAX_CHESTS_OPENING\",1,,,,\n\"EXTRA_CHEST_ENABLED\",,\"FALSE\",,,\n\"CHEST_AUTO_OPENING\",,\"FALSE\",,,\n\"RECORD_TOUCH_EVENTS\",,\"TRUE\",,,\n\"RECORD_TOUCH_COORDINATES\",,\"FALSE\",,,\n\"CROWN_CHEST_COOLDOWN_HOURS\",24,,,,\n\"CROWN_CHEST_CROWN_COUNT\",10,,,,\n\"MELEE_RANGE_LIMIT\",1900,,,,\n\"REQUEST_SPELLS_COOLDOWN_MINUTES\",420,,,,\n\"EPIC_REQUEST_COUNT_ON_SUNDAY\",1,,,,\n\"STARTING_ARENA\",,,\"TrainingCamp\",,\n\"LEAVE_ALLIANCE_DONATION_COOLDOWN_MINUTES\",150,,,,\n\"ALLIANCE_UNLOCK_EXP_LEVEL\",1,,,,\n\"ALLIANCE_DONATION_UNLOCK_EXP_LEVEL\",3,,,,\n\"TUTORIAL_ARENA_MATCH_COUNT\",7,,,,\n\"TUTORIAL_UPGRADE_COUNT\",1,,,,\n\"PRICE_LEGENDARY\",40000,,,,\n\"PRICE_EPIC\",1000,,,,\n\"PRICE_RARE\",20,,,,\n\"PRICE_COMMON\",2,,,,\n\"PRICE_INCREASE_LEGENDARY\",40000,,,,\n\"PRICE_INCREASE_EPIC\",1000,,,,\n\"PRICE_INCREASE_RARE\",20,,,,\n\"PRICE_INCREASE_COMMON\",2,,,,\n\"BUY_LIMIT_LEGENDARY\",3,,,,\n\"BUY_LIMIT_EPIC\",10,,,,\n\"BUY_LIMIT_RARE\",50,,,,\n\"BUY_LIMIT_COMMON\",100,,,,\n\"BIG_LIMIT\",1000,,,,\n\"SUPER_LIMIT\",50000,,,,\n\"SHARE_REPLAY_COOLDOWN_SECS\",40,,,,\n\"SHARE_TV_REPLAY_ENABLED\",,\"TRUE\",,,\n\"TEAM_MAIL_COOLDOWN_SECS\",43200,,,,\n\"CHALLENGE_MATCHES_ENABLED\",,\"TRUE\",,,\n\"KING_ACTIVATE_TIME_MS\",3300,,,,\n\"TV_WEIGHT_TOP3_VS_TOP3\",200,,,,\n\"TV_WEIGHT_TOP10_VS_TOP10\",150,,,,\n\"TV_WEIGHT_TOP20_VS_TOP20\",120,,,,\n\"TV_WEIGHT_TOP50_VS_TOP50\",110,,,,\n\"TV_WEIGHT_OTHERS\",100,,,,\n\"TV_WEIGTH_NOT_UNDERDOG\",70,,,,\n\"TV_WEIGHT_WINNER_ONE_CROWN_BEHIND\",90,,,,\n\"TV_WEIGHT_DECREASE_WINNER_IN_HIGHER_LEVEL\",20,,,,\n\"ENABLE_TV_TROLL_CONSTRAINTS\",,\"TRUE\",,,\n\"TV_MAX_LEVEL_DIFFERENCE\",2,,,,\n\"TV_MAX_HIGH_TROPHY_DISTANCE_FROM_ARENA\",600,,,,\n\"DONATION_CAPACITY_LIMIT_COOLDOWN_HOURS\",24,,,,\n\"DEVICE_LINK_CODE_LENGTH\",12,,,,\n\"DEVICE_LINK_CODE_VALID_SECONDS\",120,,,,\n\"RESET_SPELL_USAGE_COUNTER_MATCHES\",10,,,,\n\"FREE_CHEST_DIAMONDS\",,,,,2\n,,,,,0\n,,,,,0\n,,,,,0\n,,,,,2\n,,,,,0\n,,,,,0\n,,,,,2\n,,,,,0\n,,,,,0\n,,,,,0\n,,,,,2\n,,,,,0\n,,,,,0\n,,,,,0\n,,,,,2\n,,,,,0\n,,,,,0\n,,,,,2\n,,,,,2\n,,,,,0\n,,,,,0\n,,,,,0\n,,,,,0\n\"CROWN_CHEST_DIAMONDS\",,,,,2\n,,,,,3\n,,,,,2\n,,,,,3\n,,,,,2\n,,,,,4\n,,,,,2\n,,,,,2\n,,,,,2\n,,,,,4\n,,,,,2\n,,,,,2\n,,,,,3\n,,,,,2\n,,,,,2\n,,,,,2\n,,,,,2\n,,,,,3\n,,,,,3\n,,,,,2\n,,,,,3\n,,,,,2\n,,,,,3\n,,,,,3\n\"DISABLE_COMBAT_COMPONENT_ON_DEATH\",,\"FALSE\",,,\n\"TOURNAMENT_MAX_EXP_LEVEL\",9,,,,\n\"TOURNAMENT_MAX_COMMON_LEVEL\",9,,,,\n\"TOURNAMENT_MAX_RARE_LEVEL\",7,,,,\n\"TOURNAMENT_MAX_EPIC_LEVEL\",4,,,,\n\"TOURNAMENT_MAX_LEGENDARY_LEVEL\",1,,,,\n\"TOURNAMENT_MATCH_LENGTH_SECONDS\",180,,,,\n\"TOURNAMENT_OVERTIME_LENGTH_SECONDS\",180,,,,\n\"DEVICE_LINK_MAX_LEVEL_FOR_ACCOUNT_OVERRIDE\",5,,,,\n\"SORT_REWARDS_BY_RARITY\",,\"FALSE\",,,\n\"DAMAGE_FROM_ENABLED\",,\"FALSE\",,,\n\"SUPER_CHEST_CHANCE\",500,,,,\n\"AVOID_WATER_ATTACK_POS\",,\"TRUE\",,,\n\"ALLOW_AOE_ATTACKS_WITHOUT_TARGET\",,\"TRUE\",,,\n\"EXTRA_SIGHT_RANGE_TO_BUILDING\",0,,,,\n\"REFRESH_ARENA_IN_LOADING_FINISHED\",,\"TRUE\",,,\n\"EXTRA_SIGHT_RANGE_TO_CROWN_TOWERS\",2000,,,,\n\"MULTIPLE_DECKS_ENABLED\",,\"TRUE\",,,\n\"BATTLE_LOG_SAVE_MINIMAL_DECK_DATA\",,\"TRUE\",,,\n\"MAX_BATTLE_REWARDS_PER_DAY\",20,,,,\n\"SPECTATE_ENABLED\",,\"TRUE\",,,\n\"ADD_CHARACTER_RANGE_TO_RADIUS\",,\"TRUE\",,,\n\"CHEERING_ENABLED\",,\"TRUE\",,,\n\"SHOP_NEW_CARD_CHANCE\",,,,,\n\"ELDER_KICK_COOLDOWN\",1200,,,,\n\"GAMEROOM_UNLOCK_EXP_LEVEL\",8,,,,\n\"MAX_GAME_ROOMS\",1,,,,\n\"GAME_ROOM_PREPARATION_TIMES\",,,,,7200\n\"GAME_ROOM_DURATIONS\",,,,,3600\n,,,,,7200\n,,,,,10800\n,,,,,14400\n,,,,,28800\n,,,,,86400\n,,,,,172800\n,,,,,259200\n\"GAMEROOM_JOIN_COOLDOWN_SECONDS\",86400,,,,\n\"GAME_ROOM_TROPHY_LIMIT_PER_DURATION\",,,,,100\n,,,,,150\n,,,,,200\n,,,,,250\n,,,,,300\n,,,,,400\n,,,,,500\n,,,,,600\n\"MIN_GAME_ROOM_CHEST_TIME\",3,,,,\n\"CARD_COUNT_FOR_MIN_GAME_ROOM_CHEST_TIME\",4,,,,\n\"MAX_GAME_ROOM_CHEST_TIME\",168,,,,\n\"CARD_COUNT_FOR_MAX_GAME_ROOM_CHEST_TIME\",15000,,,,\n\"CHEST_SPEED_UP_COST_PER_HOUR\",6,,,,\n\"GAME_ROOM_SPECTATE_ENABLED\",,\"TRUE\",,,\n\"GAME_ROOM_SPECTATE_NOT_JOINED_ENABLED\",,\"TRUE\",,,\n\"GAME_ROOM_CHEST_AVERAGE_STACK_SIZE\",50,,,,\n\"GAME_ROOM_CHEST_MIN_DIFFERENT_CARDS\",5,,,,\n\"GAME_ROOM_CHEST_MAX_DIFFERENT_CARDS\",20,,,,\n\"SURVIVAL_CHEST_AVERAGE_STACK_SIZE\",20,,,,\n\"SURVIVAL_CHEST_MIN_DIFFERENT_CARDS\",3,,,,\n\"SURVIVAL_CHEST_MAX_DIFFERENT_CARDS\",10,,,,\n\"SURVIVAL_GIVES_CROWNS\",,\"TRUE\",,,\n\"SPECIAL_CHEST_STACK_EQUATION_ENABLED\",,\"TRUE\",,,\n\"SPECIAL_CHEST_STACK_EQUATION_DIVIDER\",3,,,,\n\"SPECIAL_CHEST_STACK_EQUATION_MIN\",3,,,,\n\"SPECIAL_CHEST_STACK_EQUATION_MAX\",20,,,,\n\"CAP_SUMMONER_ACCURATE_MANA\",,\"TRUE\",,,\n\"MED_GAME_ROOM_CHEST_TIME\",48,,,,\n\"CARD_COUNT_FOR_MED_GAME_ROOM_CHEST_TIME\",2000,,,,\n\"ENABLE_STAGGERED_RELEASE_OF_CARDS\",,\"TRUE\",,,\n\"AUTO_RELEASE_STAGGERED_CARDS\",,\"TRUE\",,,\n\"LOGIC_SPAWN_PATHFIND_REACHED_RADIUS_FROM_SPEED\",,\"TRUE\",,,\n\"LOGIC_DEFAULT_TARGET_USE_LANE_ID\",,\"TRUE\",,,\n\"LOGIC_LANE_ID_BASED_DEPLOY_SEQUENCE\",,\"TRUE\",,,\n\"LOGIC_PATHFIND_BACKWARDS_TRY_KEEP_TARGET\",,\"TRUE\",,,\n\"LOGIC_CHARACTER_CONTINUOUS_DAMAGE_ATTACK_CLOSER\",500,,,,\n\"LOGIC_CANCEL_HIT_FROM_LONG_DISTANCE\",,\"TRUE\",,,\n\"LOGIC_CANCEL_HIT_FROM_LONG_DISTANCE_RANGE\",1500,,,,\n\"LOGIC_PRESERVE_TARGET_IF_HIT_STARTED\",,\"TRUE\",,,\n\"LOGIC_SYMMETRICAL_DEPLOY_SNAP\",,\"TRUE\",,,\n\"LOGIC_PENDING_DAMAGE_IGNORE_IF_DURATION_LESS\",600,,,,\n\"LOGIC_PRINCESS_TOWERS_ALWAYS_AS DEFAULT_TARGET\",,\"TRUE\",,,\n\"LOGIC_LOAD_FIRST_HIT_RESET_TIMER_AFTER_ATTACK\",,\"TRUE\",,,\n\"LOGIC_LOAD_FIRST_HIT_RESET_TIMER_WHEN_ZAPPED\",,\"TRUE\",,,\n\"CROWN_CHEST_OVERFILL\",,\"TRUE\",,,\n\"LEGENDARY_CARD_SHOP_TROPHY_LIMIT\",3000,,,,\n\"LEGENDARY_CHEST_TROPHY_THRESHOLD\",2000,,,,\n\"LEGENDARY_CHEST_CHANCE\",500,,,,\n\"SUPER_CHEST_LEVEL_LIMIT\",400,,,,\n\"MIRROR_LEVEL_OFFSET\",1,,,,\n\"CLONE_LEVEL_OFFSET\",0,,,,\n\"MIRROR_CAP_TO_MAX_LEVEL\",,\"FALSE\",,,\n\"STARTER_PACKS_ENABLED\",,\"TRUE\",,,\n\"SPECIAL_OFFER_CHESTS_ENABLED\",,\"TRUE\",,,\n\"STARTER_PACK_MAX_DELTA_FROM_CURRENT_ARENA\",2,,,,\n\"STARTER_PACK_MAX_DELTA_FROM_MAX_ARENA\",3,,,,\n\"STARTER_PACK_USE_DELTA_ARENA_LIMIT\",,\"FALSE\",,,\n\"SHOP_NOTIFICATIONS_ENABLED\",,\"TRUE\",,,\n\"STARTER_PACK_CHANCE_FOR_LOWER_OFFER\",4,,,,\n\"STAGGERED_SPELL_RELEASE_TIME_UTC_0\",,,\"07:00\",,\n\"EPIC_CHEST_TROPHY_THRESHOLD\",1000,,,,\n\"EPIC_CHEST_CHANCE\",500,,,,\n\"TOURNAMENT_ACHIEVEMENT_REFUND\",,\"FALSE\",,,\n\"CARD_STAGGERING_EFFECTS_CHEST_PROBABILITIES\",,\"TRUE\",,,\n\"STAGGERED_SPELL_NOTIFICATIONS_ENABLED\",,\"TRUE\",,,\n\"FRIENDLY_BATTLE_UPGRADE_CARDS_TO_TOURNEY_RULES\",,\"TRUE\",,,\n\"CLONE_DISTANCE_X\",300,,,,\n\"CLONE_DISTANCE_Y\",0,,,,\n\"CLONE_PRESERVE_SHIELD\",,\"TRUE\",,,\n\"CLONE_CLONED_UNITS\",,\"FALSE\",,,\n\"CLONE_MOVE_PARENT\",,\"TRUE\",,,\n\"CLONE_DEATH_SPAWN_UNITS\",,\"TRUE\",,,\n\"CLONE_DEATH_SPAWN_BUILDINGS\",,\"TRUE\",,,\n\"CLONE_RESET_TARGET\",,\"FALSE\",,,\n\"CLONE_RESET_CHARGE\",,\"FALSE\",,,\n\"CLONE_INHERIT_CHARGE\",,\"FALSE\",,,\n\"RUMBLE_ENABLED\",,\"TRUE\",,,\n\"EVENT_NOTIFICATIONS_ENABLED\",,\"TRUE\",,,\n\"SHOW_FRIEND_ELIXIR_BAR_ON_FRIENDLY_SPECTATE\",,\"TRUE\",,,\n\"SHOW_PLAYER_ELIXIR_BAR_ON_SPECTATE\",,\"TRUE\",,,\n\"SHOW_OPPONENT_ELIXIR_BAR_ON_SPECTATE\",,,,,\n\"SHOW_PLAYER_ELIXIR_BAR_ON_FRIEND_SPECTATE\",,\"TRUE\",,,\n\"SHOW_OPPONENT_ELIXIR_BAR_ON_FRIEND_SPECTATE\",,,,,\n\"ALLIANCE_TROPHY_LIMITS\",,,,,0\n,,,,,200\n,,,,,400\n,,,,,600\n,,,,,800\n,,,,,1000\n,,,,,1200\n,,,,,1400\n,,,,,1600\n,,,,,1800\n,,,,,2000\n,,,,,2200\n,,,,,2400\n,,,,,2600\n,,,,,2800\n,,,,,3000\n,,,,,3200\n,,,,,3400\n,,,,,3600\n,,,,,3800\n,,,,,4000\n,,,,,4300\n,,,,,4600\n\"BUFFER_TIME_FOR_EVENT_PURCHASES_IN_DAYS\",7,,,,\n\"SHOP_RERANDOMIZE_EXPIRED_STACK_OFFER\",,\"TRUE\",,,\n\"SPECIAL_OFFERS_DELAY_BASED_ON_EVENTS\",,\"TRUE\",,,\n\"SHOP_REFRESH_WITH_BILLING_INFO\",,\"TRUE\",,,\n\"USE_STAGGERED_ARENAS\",,\"TRUE\",,,\n\"CLAN_CROWN_CHEST_SHOW_HOURS_BEFORE_START\",48,,,,\n\"CLAN_CROWN_CHEST_THRESHOLDS\",,,,,70\n,,,,,160\n,,,,,270\n,,,,,400\n,,,,,550\n,,,,,720\n,,,,,910\n,,,,,1120\n,,,,,1350\n,,,,,1600\n\"CLAN_CROWN_CHESTS\",,,,\"ClanCrownChest_1\",\n,,,,\"ClanCrownChest_2\",\n,,,,\"ClanCrownChest_3\",\n,,,,\"ClanCrownChest_4\",\n,,,,\"ClanCrownChest_5\",\n,,,,\"ClanCrownChest_6\",\n,,,,\"ClanCrownChest_7\",\n,,,,\"ClanCrownChest_8\",\n,,,,\"ClanCrownChest_9\",\n,,,,\"ClanCrownChest_10\",\n\"CLAN_CROWN_CHEST_GOLD\",,,,,108\n,,,,,228\n,,,,,360\n,,,,,504\n,,,,,660\n,,,,,828\n,,,,,1008\n,,,,,1200\n,,,,,1404\n,,,,,1620\n\"CLAN_CROWN_CHEST_CARDS\",,,,,18\n,,,,,38\n,,,,,60\n,,,,,84\n,,,,,110\n,,,,,138\n,,,,,168\n,,,,,200\n,,,,,234\n,,,,,270\n\"CLAN_TEAM_VS_TEAM_CHEST_THRESHOLDS\",,,,,5\n,,,,,15\n,,,,,30\n,,,,,50\n,,,,,75\n,,,,,105\n,,,,,140\n,,,,,180\n,,,,,225\n,,,,,275\n\"CLAN_TEAM_VS_TEAM_CHEST_GOLD\",,,,,108\n,,,,,228\n,,,,,360\n,,,,,504\n,,,,,660\n,,,,,828\n,,,,,1008\n,,,,,1200\n,,,,,1404\n,,,,,1620\n\"CLAN_TEAM_VS_TEAM_CHEST_CARDS\",,,,,18\n,,,,,38\n,,,,,60\n,,,,,84\n,,,,,110\n,,,,,138\n,,,,,168\n,,,,,200\n,,,,,234\n,,,,,270\n\"CHEST_CATCHUP_CHANCE\",50,,,,\n\"CHEST_MAX_LEVEL_UNPRIORITIZE_CHANCE\",80,,,,\n\"CHEST_MAX_LEVEL_RERANDOMIZE_TIMES\",5,,,,\n\"MERGE_MULTIPLE_SUMMONER_HEALTHS\",,\"TRUE\",,,\n\"TEAM_VS_TEAM_SUMMONER_HP_INCREASE_PERCENTAGE\",20,,,,\n\"TEAM_VS_TEAM_PRINCESS_TOWER_HP_INCREASE_PERCENTAGE\",0,,,,\n\"FLY_FROM_GROUND_DURATION\",800,,,,\n\"FLY_TO_GROUND_DURATION\",250,,,,\n\"BLOCKING_ON_TRANSACTION_PENDING\",,\"TRUE\",,,\n\"GIVE_VICTORY_GOLD_FROM_TEAM_VS_TEAM\",,\"FALSE\",,,\n\"SHOW_OPPONENT_LEFT_MATCH_TEXT\",,\"FALSE\",,,\n\"SHOW_CO_MATE_LEFT_MATCH_TEXT\",,\"TRUE\",,,\n\"OPTIMIZE_AVATAR_COMMODITIES_IN_BATTLE\",,\"TRUE\",,,\n\"SEASON_STORE_SIZE\",24,,,,\n\"DRAFT_CHEST_COMBINE_NEW_SPELLS\",,\"TRUE\",,,\n\"POTENTIAL_COMBINES_CHECK_ENABLED\",,\"TRUE\",,,\n\"CHRONOS_MAX_GOLD_FROM_SHOP_OFFER\",100000,,,,\n\"CHRONOS_MAX_GEMS_FROM_SHOP_OFFER\",14000,,,,\n\"CHRONOS_MAX_VALUE_MULTIPLIER\",10,,,,\n\"CHRONOS_MAX_FREE_VALUE\",2500,,,,\n\"CHRONOS_MAX_VALUE_MULTIPLIER_FOR_REPEATABLE_OFFER\",3,,,,\n\"ADDITIONAL_DECK_SLOTS_UNLOCK_XP_LEVEL\",8,,,,\n\"SKINS_UNLOCK_XP_LEVEL\",3,,,,\n\"ENABLE_KING_TOWERS\",,\"FALSE\",,,\n\"QUESTS_ENABLED\",,\"FALSE\",,,\n\"COST_PER_EPIC_IN_EPIC_CHEST_WHEN_CHARGING_GEMS\",25,,,,\n\"ARENA_PACK_IS_STARTER_TROPHY_THRESHOLD\",500,,,,\n\"ARENA_PACK_STARTER_HIDE_ABOVE_TROPHY_THRESHOLD\",1500,,,,\n\"SPELL_SHOP_V2\",,\"TRUE\",,,\n\"DROP_RATE_CHEST_SUPER_RARE_MULTIPLIER_COMMON\",150,,,,\n\"DROP_RATE_CHEST_MAX_MULTIPLIER_COMMON\",100,,,,\n\"DROP_RATE_CHEST_MIN_MULTIPLIER_COMMON\",50,,,,\n\"DROP_RATE_CHEST_SUPER_RARE_MULTIPLIER_RARE\",150,,,,\n\"DROP_RATE_CHEST_MAX_MULTIPLIER_RARE\",100,,,,\n\"DROP_RATE_CHEST_MIN_MULTIPLIER_RARE\",50,,,,\n\"DROP_RATE_CHEST_SUPER_RARE_MULTIPLIER_EPIC\",150,,,,\n\"DROP_RATE_CHEST_MAX_MULTIPLIER_EPIC\",100,,,,\n\"DROP_RATE_CHEST_MIN_MULTIPLIER_EPIC\",50,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/heroes.csv",
    "content": "\"Name\",\"Rarity\",\"SightRange\",\"DeployTime\",\"ChargeRange\",\"Speed\",\"Hitpoints\",\"HitSpeed\",\"LoadTime\",\"Damage\",\"DamageSpecial\",\"CrownTowerDamagePercent\",\"LoadFirstHit\",\"StopTimeAfterAttack\",\"StopTimeAfterSpecialAttack\",\"Projectile\",\"CustomFirstProjectile\",\"MultipleProjectiles\",\"MultipleTargets\",\"AllTargetsHit\",\"Range\",\"MinimumRange\",\"AttacksGround\",\"AttacksAir\",\"DeathDamageRadius\",\"DeathDamage\",\"DeathPushBack\",\"AttackPushBack\",\"PushbackStaticDir\",\"ReloadAfterHits\",\"ReloadTime\",\"LifeTime\",\"ProjectileSpecial\",\"ProjectileEffect\",\"ProjectileEffectSpecial\",\"AreaDamageRadius\",\"TargetOnlyBuildings\",\"SpecialAttackInterval\",\"OpponentCardHealthReduction\",\"OwnCardHealthReduction\",\"BuffOnDamage\",\"BuffOnDamageTime\",\"IgnoreTargetIfImmuneToBuff\",\"StartingBuff\",\"StartingBuffTime\",\"FileName\",\"BlueExportName\",\"BlueTopExportName\",\"RedExportName\",\"RedTopExportName\",\"UseAnimator\",\"AttachedCharacter\",\"AttachedCharacterHeight\",\"DamageEffect\",\"DamageEffectSpecial\",\"DeathEffect\",\"MoveEffect\",\"SpawnEffect\",\"CrowdEffects\",\"ShadowScaleX\",\"ShadowScaleY\",\"ShadowX\",\"ShadowY\",\"ShadowSkew\",\"Pushback\",\"IgnorePushback\",\"Scale\",\"CollisionRadius\",\"Mass\",\"TileSizeOverride\",\"AreaBuff\",\"AreaBuffTime\",\"AreaBuffRadius\",\"AreaBuffOwnTroops\",\"AreaBuffEnemies\",\"Gold\",\"ManaOnDeath\",\"HealthBar\",\"HealthBarOffsetY\",\"ShowHealthNumber\",\"FlyingHeight\",\"FlyFromGround\",\"DamageExportName\",\"GrowTime\",\"GrowSize\",\"MorphCharacter\",\"MorphEffect\",\"HealOnMorph\",\"AreaEffectOnMorph\",\"AttackStartEffect\",\"AttackStartEffectSpecial\",\"DashStartEffect\",\"DashEffect\",\"DashCooldown\",\"JumpHeight\",\"DashPushBack\",\"DashRadius\",\"DashDamage\",\"LandingEffect\",\"DashMinRange\",\"DashMaxRange\",\"JumpSpeed\",\"ContinuousEffect\",\"OpponentCardSpawn\",\"OwnCardSpawn\",\"SpawnStartTime\",\"SpawnInterval\",\"SpawnNumber\",\"SpawnLimit\",\"SpawnPauseTime\",\"SpawnCharacterLevelIndex\",\"SpawnCharacter\",\"SpawnCharacterEffect\",\"SpawnDeployBaseAnim\",\"SpawnRadius\",\"DeathSpawnCount\",\"DeathSpawnCharacter\",\"DeathSpawnRadius\",\"DeathSpawnAngleShift\",\"DeathSpawnDeployTime\",\"DeathSpawnPushback\",\"DeathAreaEffect\",\"Kamikaze\",\"KamikazeEffect\",\"SpawnPathfindSpeed\",\"SpawnPathfindEffect\",\"SpawnPathfindMorph\",\"SpawnPushback\",\"SpawnPushbackRadius\",\"SpawnAreaObject\",\"SpawnAreaObjectLevelIndex\",\"ChargeEffect\",\"TakeDamageEffect\",\"ProjectileStartRadius\",\"ProjectileStartZ\",\"StopMovementAfterMS\",\"WaitMS\",\"DontStopMoveAnim\",\"IsSummonerTower\",\"NoDeploySizeW\",\"NoDeploySizeH\",\"TID\",\"VariableDamage2\",\"VariableDamageTime1\",\"VariableDamage3\",\"VariableDamageTime2\",\"TargettedDamageEffect1\",\"TargettedDamageEffect2\",\"TargettedDamageEffect3\",\"DamageLevelTransitionEffect12\",\"DamageLevelTransitionEffect23\",\"FlameEffect1\",\"FlameEffect2\",\"FlameEffect3\",\"TargetEffectY\",\"SelfAsAoeCenter\",\"HidesWhenNotAttacking\",\"HideTimeMs\",\"HideBeforeFirstHit\",\"SpecialAttackWhenHidden\",\"TargetedHitEffect\",\"TargetedHitEffectSpecial\",\"UpTimeMs\",\"HideEffect\",\"AppearEffect\",\"AppearPushbackRadius\",\"AppearPushback\",\"AppearAreaObject\",\"ManaCollectAmount\",\"ManaGenerateTimeMs\",\"ManaGenerateLimit\",\"HasRotationOnTimeline\",\"TurretMovement\",\"ProjectileYOffset\",\"ChargeSpeedMultiplier\",\"DeployDelay\",\"DeployBaseAnimExportName\",\"JumpEnabled\",\"SightClip\",\"AreaEffectOnDash\",\"SightClipSide\",\"WalkingSpeedTweakPercentage\",\"ShieldHitpoints\",\"ShieldDiePushback\",\"ShieldLostEffect\",\"BlueShieldExportName\",\"RedShieldExportName\",\"LoadAttackEffect1\",\"LoadAttackEffect2\",\"LoadAttackEffect3\",\"LoadAttackEffectReady\",\"RotateAngleSpeed\",\"EnableAttackOnDamage\",\"SecondaryHitDelay\",\"DeployTimerDelay\",\"RetargetAfterAttack\",\"AttackShakeTime\",\"VisualHitSpeed\",\"Ability\",\"Burst\",\"BurstDelay\",\"BurstKeepTarget\",\"ActivationTime\"\n\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"string\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"string\",\"int\",\"boolean\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"boolean\",\"int\",\"boolean\",\"string\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"string\",\"string\",\"string\",\"String\",\"String\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"string\",\"boolean\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"boolean\",\"string\",\"string\",\"int\",\"string\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"int\",\"boolean\",\"int\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/locales.csv",
    "content": "\"Name\",\"Enabled\",\"Description\",\"SortOrder\",\"HasEvenSpaceCharacters\",\"UsedSystemFont\",\"HelpshiftSDKLanguage\",\"HelpshiftSDKLanguageAndroid\",\"HelpshiftLanguageTag\",\"TermsAndServiceUrl\",\"ParentsGuideUrl\",\"PrivacyPolicyUrl\",\"TestLanguage\",\"TestExcludes\",\"RegionListFile\",\"MaintenanceRoyalBox\",\"RoyalBoxURL\",\"RoyalBoxStageURL\",\"RoyalBoxDevURL\",\"BoomBoxURL\",\"EventsURL\"\n\"String\",\"boolean\",\"string\",\"int\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"string\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"string\"\n\"EN\",\"TRUE\",,1,,,\"en\",,\"EN\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",,,,\"TRUE\",\"https://inbox.clashroyale.com/\",\"https://inbox-staging.clashroyale.com/\",\"https://ducn7cprpa5c7.cloudfront.net/\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"FR\",\"TRUE\",,5,,,\"fr\",,\"FR\",\"http://supercell.com/en/terms-of-service/fr\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/fr\",,,,,\"https://clashroyale.com/fr/blog\",\"https://inbox-staging.clashroyale.com/fr/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/fr/blog\",\"https://inbox.boombeach.com/fr/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"DE\",\"TRUE\",,6,,,\"de\",,\"DE\",\"http://supercell.com/en/terms-of-service/de\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/de\",,,,,\"https://clashroyale.com/de/blog\",\"https://inbox-staging.clashroyale.com/de/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/de/blog\",\"https://inbox.boombeach.com/de/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"ES\",\"TRUE\",,7,,,\"es\",,\"ES\",\"http://supercell.com/en/terms-of-service/es\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/es\",,,,,\"https://clashroyale.com/es/blog\",\"https://inbox-staging.clashroyale.com/es/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/es/blog\",\"https://inbox.boombeach.com/es/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"IT\",\"TRUE\",,8,,,\"it\",,\"IT\",\"http://supercell.com/en/terms-of-service/it\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/it\",,,,,\"https://clashroyale.com/it/blog\",\"https://inbox-staging.clashroyale.com/it/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/it/blog\",\"https://inbox.boombeach.com/it/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"NL\",\"TRUE\",,9,,,\"nl\",,\"NL\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/nl/blog\",\"https://inbox-staging.clashroyale.com/nl/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/nl/blog\",\"https://inbox.boombeach.com/nl/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"NO\",\"TRUE\",,10,,,,,\"NO\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/no/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/no/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/no/blog\",\"https://inbox.boombeach.com/no/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"PT\",\"TRUE\",,11,,,\"pt\",\"pt_Br\",\"PT\",\"http://supercell.com/en/terms-of-service/pt\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/pt\",,,,,\"https://inbox.clashroyale.com/pt/\",\"https://inbox-staging.clashroyale.com/pt/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/pt/blog\",\"https://inbox.boombeach.com/pt/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"TR\",\"TRUE\",,12,,,\"tr\",,\"TR\",\"http://supercell.com/en/terms-of-service/tr\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/tr\",,,,,\"https://clashroyale.com/tr/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/tr/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/tr/blog\",\"https://inbox.boombeach.com/tr/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"CN\",\"TRUE\",,2,\"TRUE\",\"STHeitiSC-Medium\",\"zh-Hans\",\"zh_CN\",\"ZH-HANS\",\"http://supercell.com/en/terms-of-service/cn\",\"http://www.supercell.com/en/parents/cn\",\"http://www.supercell.com/en/privacy-policy/cn\",,,\"csv_client/sorted_regions/CN_regions.csv\",\"TRUE\",\"https://cr-inbox.kunlun-cdn.com/\",\"https://test-cr-inbox.kunlun-cdn.com/\",\"https://ducn7cprpa5c7.cloudfront.net/zh_cn/\",\"https://bb-inbox.kunlun-cdn.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"JP\",\"TRUE\",,4,\"TRUE\",\"HiraKakuProN-W6\",\"ja\",,\"JP\",\"http://supercell.com/en/terms-of-service/jp\",\"http://www.supercell.com/en/parents/jp\",\"http://www.supercell.com/en/privacy-policy/jp\",,,\"csv_client/sorted_regions/JP_regions.csv\",\"TRUE\",\"https://inbox.clashroyale.com/ja/\",\"https://inbox-staging.clashroyale.com/ja/\",\"https://ducn7cprpa5c7.cloudfront.net/ja/\",\"https://inbox.boombeach.com/jp/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"KR\",\"TRUE\",,3,\"TRUE\",,\"ko\",,\"KR\",\"http://supercell.com/en/terms-of-service/ko\",\"http://www.supercell.com/en/parents/ko\",\"http://www.supercell.com/en/privacy-policy/ko\",,,\"csv_client/sorted_regions/KR_regions.csv\",\"TRUE\",\"https://inbox.clashroyale.com/ko/\",\"https://inbox-staging.clashroyale.com/ko/\",\"https://ducn7cprpa5c7.cloudfront.net/ko/\",\"https://inbox.boombeach.com/ko/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"RU\",\"TRUE\",,13,,,\"ru\",,\"RU\",\"http://supercell.com/en/terms-of-service/ru\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/ru\",,,,,\"https://clashroyale.com/ru/blog\",\"https://inbox-staging.clashroyale.com/ru/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/ru/blog\",\"https://inbox.boombeach.com/ru/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"TEXT\",\"FALSE\",\"Longest text\",100,,,\"zh-hans\",\"zh_CN\",\"EN\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",\"TRUE\",\"AR\",,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n,,,,,,,,,,,,,\"FA\",,,,,,,\n\"WORD\",\"FALSE\",\"Longest word\",101,,,\"cn\",\"zh_TW\",\"EN\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",\"TRUE\",\"AR\",,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n,,,,,,,,,,,,,\"FA\",,,,,,,\n\"DOUBLE\",\"FALSE\",\"Double String\",102,,,\"zh-Hans\",\"zh_CN\",\"EN\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",\"TRUE\",,,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"EMPTY\",\"FALSE\",\"Empty texts\",103,,,\"ko\",\"ko\",\"EN\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",\"TRUE\",,,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"CNT\",\"TRUE\",,14,\"TRUE\",\"STHeitiSC-Medium\",\"zh-Hant\",\"zh_TW\",\"ZH-HANT\",\"http://supercell.com/en/terms-of-service/cn\",\"http://www.supercell.com/en/parents/cn\",\"http://www.supercell.com/en/privacy-policy/cn\",,,\"csv_client/sorted_regions/CNT_regions.csv\",,\"https://clashroyale.com/zh/blog\",\"https://inbox-staging.clashroyale.com/zh/\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/zh/blog\",\"https://inbox.boombeach.com/zh/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"AR\",\"TRUE\",,15,,,\"ar\",,\"AR\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/ar/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/ar/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/ar/blog\",\"https://inbox.boombeach.com/ar/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"FA\",\"TRUE\",,16,,,,,\"fa\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"MS\",\"TRUE\",,17,,,\"ms\",,\"ms\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/ms\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/ms/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n\"ID\",\"TRUE\",,18,,,\"id\",,\"id\",\"http://supercell.com/en/terms-of-service/\",\"http://www.supercell.com/en/parents/id\",\"http://www.supercell.com/en/privacy-policy/\",,,,,\"https://clashroyale.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"http://scroll-staging.s3-website-us-east-1.amazonaws.com/blog\",\"https://inbox.boombeach.com/id/\",\"http://clashnights.s3-website.eu-central-1.amazonaws.com/\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/locations.csv",
    "content": "\"Name\",\"NpcOnly\",\"PvpOnly\",\"ShadowR\",\"ShadowG\",\"ShadowB\",\"ShadowA\",\"ShadowOffsetX\",\"ShadowOffsetY\",\"Sound\",\"ExtraTimeMusic\",\"MatchLength\",\"WinCondition\",\"OvertimeSeconds\",\"EndScreenDelay\",\"FileName\",\"TileDataFileName\",\"AmbientSound\",\"OverlaySC\",\"OverlayExportName\",\"CrowdEffects\",\"CloudFileName\",\"CloudExportName\",\"CloudMinScale\",\"CloudMaxScale\",\"CloudMinSpeed\",\"CloudMaxSpeed\",\"CloudMinAlpha\",\"CloudMaxAlpha\",\"CloudCount\",\"WalkEffect\",\"WalkEffectOvertime\",\"LoopingEffectRegularTime\",\"LoopingEffectOvertime\",\"LoopingEffect\",\"LoopingEffectOvertimeSide\",\"ReflectionRed\",\"ReflectionGreen\",\"ReflectionBlue\"\n\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"int\",\"string\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"string\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"string\",\"int\",\"int\",\"int\"\n\"FirstMatch\",\"true\",,,,100,60,100,100,\"Tut_jing_start\",\"60sec_training\",,\"Normal\",,4000,\"locations/training_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,,\"sc/effects.sc\",\"cloud_1\",54,114,25,154,7,10,4,,,,,,,,,\n\"TrainingCamp\",\"true\",,,,100,60,100,100,\"Tut_jing_start\",\"60sec_training\",180,\"Normal\",60,4000,\"locations/training_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,,\"sc/effects.sc\",\"cloud_1\",54,114,25,154,7,10,4,,,,,,,,,\n\"PvP_goblin\",,\"true\",,30,,55,100,200,\"Goblin_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/goblin_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_barbarian\",,\"true\",,,100,50,100,100,\"Barbarian_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/barbarian_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_bone\",,\"true\",50,10,,55,100,144,\"Bone_pit_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/bone_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_dark\",,\"true\",50,10,,55,100,100,\"Dark_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/dark_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",,,,,,,,,,,,,,,,,,\n\"PvP_royal\",,\"true\",,,100,50,100,100,\"match start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/royal_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_spell\",,\"true\",,,100,50,100,100,\"Spell_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/spell_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_legendary\",,\"true\",,,100,50,100,100,\"Legendary_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/legendary_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",114,177,397,112,5,10,,,,,,,,,,\n\"PvP_builder\",,\"true\",,,100,50,100,100,\"Builder_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/builder_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,4,9,5,,,,,,,,,\n\"PvP_ice\",,\"true\",122,132,224,60,100,200,\"Ice_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/ice_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,,,,,,\"ice_arena_snow\",,,,\n\"PvP_jungle\",,\"true\",122,132,224,60,100,200,\"Jungle_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/jungle_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,,,\"jungle_arena_walk_splash\",,\"jungle_arena_rain\",,,,,\n\"TeamVsTeam_royal\",,\"true\",,,100,50,100,100,\"match start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/royal_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"PvP_champion\",,\"true\",122,132,224,60,100,200,\"Hog_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/champion_arena.csv\",\"tilemaps/tilemap.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"asteroid_shadow_anim_01\",70,110,25,80,15,15,5,,,,,,\"legendary_arena_loop\",24,20,20\n\"PvE_training\",\"true\",,,,100,60,100,100,\"Tut_jing_start\",\"60sec_training\",180,\"Normal\",60,4000,\"locations/training_arena_pve.csv\",\"tilemaps/tilemap_pve.csv\",\"ScrollAmb01\",,,,\"sc/effects.sc\",\"cloud_1\",54,114,25,154,7,10,4,,,,,,,,,\n\"TvE_training\",\"true\",,,,100,60,100,100,\"Tut_jing_start\",\"60sec_training\",180,\"Normal\",60,4000,\"locations/training_arena_tve.csv\",\"tilemaps/tilemap_tve.csv\",\"ScrollAmb01\",,,,\"sc/effects.sc\",\"cloud_1\",54,114,25,154,7,10,4,,,,,,,,,\n\"PvE_training1\",\"true\",,,,100,60,100,100,\"Tut_jing_start\",\"60sec_training\",180,\"Normal\",60,4000,\"locations/training_arena_pve1.csv\",\"tilemaps/tilemap_pve1.csv\",\"ScrollAmb01\",,,,\"sc/effects.sc\",\"cloud_1\",54,114,25,154,7,10,4,,,,,,,,,\n\"TeamVsTeam_legendary\",,\"true\",,,100,50,100,100,\"Legendary_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/legendary_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",114,177,397,112,5,10,,,,,,,,,,\n\"TeamVsTeam_goblin\",,\"true\",,30,,55,100,200,\"Goblin_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/goblin_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"TeamVsTeam_barbarian\",,\"true\",,,100,50,100,100,\"Barbarian_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/barbarian_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"TeamVsTeam_bone\",,\"true\",50,10,,55,100,144,\"Bone_pit_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/bone_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"TeamVsTeam_dark\",,\"true\",50,10,,55,100,100,\"Dark_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/dark_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",,,,,,,,,,,,,,,,,,\n\"TeamVsTeam_spell\",,\"true\",,,100,50,100,100,\"Spell_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/spell_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,5,,,,,,,,,\n\"TeamVsTeam_builder\",,\"true\",,,100,50,100,100,\"Builder_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/builder_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,4,9,5,,,,,,,,,\n\"TeamVsTeam_ice\",,\"true\",122,132,224,60,100,200,\"Ice_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/ice_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,,,,,,\"ice_arena_snow\",,,,\n\"TeamVsTeam_jungle\",,\"true\",122,132,224,60,100,200,\"Jungle_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/jungle_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"cloud_1\",70,110,25,80,15,15,,,\"jungle_arena_walk_splash\",,\"jungle_arena_rain\",,,,,\n\"TeamVsTeam_champion\",,\"true\",122,132,224,60,100,200,\"Hog_arena_start\",\"Sudden_death\",180,\"Normal\",60,4000,\"locations/champion_arena_2v2.csv\",\"tilemaps/tilemap_2v2.csv\",\"ScrollAmb01\",,,\"true\",\"sc/effects.sc\",\"asteroid_shadow_anim_01\",70,110,25,80,15,15,5,,,,,,\"legendary_arena_loop\",24,20,20\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/npcs.csv",
    "content": "\"Name\",\"Location\",\"PredefinedDeck\",\"Trophies\",\"ManaRegenMs\",\"ManaRegenMsEnd\",\"ManaRegenMsOvertime\",\"ExpLevel\",\"CanReplay\",\"TID\",\"ExpReward\",\"Seed\",\"FullDeckNotNeeded\",\"ManaReserve\",\"StartingMana\",\"WizardHpMultiplier\",\"StartTaunt\",\"OwnTowerDestroyedTaunt\",\"HighlightTargetsOnManaFull\",\"TrainingMatchAllowed\"\n\"String\",\"String\",\"String\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"String\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"String\",\"String\",\"boolean\",\"boolean\"\n\"Npc1\",\"FirstMatch\",\"BasicDeck1\",0,120000,120000,120000,1,\"true\",\"TID_NPC_1\",0,2,\"true\",,1,40,,\"NPC1_Tower\",\"TRUE\",\n\"Npc2\",\"FirstMatch\",\"BasicDeck2\",0,120000,120000,120000,1,\"true\",\"TID_NPC_2\",0,,\"true\",,1,60,\"NPC2_Start\",\"NPC2_Tower\",,\n\"Npc3\",\"TrainingCamp\",\"BasicDeck3\",0,100000,100000,100000,1,\"true\",\"TID_NPC_3\",0,,\"true\",,1,60,\"NPC3_Start\",\"NPC3_Tower\",,\n\"Npc4\",\"TrainingCamp\",\"BasicDeck4\",0,80000,40000,40000,1,\"true\",\"TID_NPC_4\",0,,\"true\",,2,80,\"NPC4_Start\",\"NPC4_Tower\",,\n\"Npc5\",\"TrainingCamp\",\"BasicDeck5\",0,60000,30000,30000,1,\"true\",\"TID_NPC_5\",0,,\"true\",,3,80,\"NPC4_Start\",\"NPC4_Tower\",,\n\"Npc6\",\"TrainingCamp\",\"BasicDeck6\",0,60000,30000,30000,1,\"true\",\"TID_NPC_6\",0,,\"true\",,4,,\"NPC4_Start\",\"NPC4_Tower\",,\n\"Npc7\",\"TrainingCamp\",\"BasicDeck7\",0,50000,25000,25000,1,\"true\",\"TID_NPC_7\",0,,\"true\",,5,,\"NPC4_Start\",\"NPC4_Tower\",,\n\"Npc8\",\"TrainingCamp\",\"BasicDeck8\",50,50000,25000,25000,2,\"true\",\"TID_NPC_8\",0,,\"true\",,5,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc9\",\"TrainingCamp\",\"BasicDeck9\",150,40000,20000,20000,2,\"true\",\"TID_NPC_9\",0,,\"true\",,5,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc10\",\"TrainingCamp\",\"BasicDeck10\",300,30000,15000,15000,2,\"true\",\"TID_NPC_10\",0,,\"true\",,5,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc11\",\"TrainingCamp\",\"BasicDeck11\",450,30000,15000,15000,3,\"true\",\"TID_NPC_11\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc12\",\"TrainingCamp\",\"BasicDeck12\",600,30000,15000,15000,3,\"true\",\"TID_NPC_12\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc13\",\"TrainingCamp\",\"BasicDeck13\",700,30000,15000,15000,3,\"true\",\"TID_NPC_13\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc14\",\"TrainingCamp\",\"BasicDeck14\",800,30000,15000,15000,4,\"true\",\"TID_NPC_14\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc15\",\"TrainingCamp\",\"BasicDeck15\",900,30000,15000,15000,4,\"true\",\"TID_NPC_15\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc16\",\"TrainingCamp\",\"BasicDeck16\",1000,28000,14000,14000,5,\"true\",\"TID_NPC_16\",0,,\"true\",,,,\"NPC16_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc17\",\"TrainingCamp\",\"BasicDeck17\",1100,28000,14000,14000,5,\"true\",\"TID_NPC_17\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc18\",\"TrainingCamp\",\"BasicDeck18\",1200,28000,14000,14000,6,\"true\",\"TID_NPC_18\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc19\",\"TrainingCamp\",\"BasicDeck19\",1300,28000,14000,14000,6,\"true\",\"TID_NPC_19\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc20\",\"TrainingCamp\",\"BasicDeck20\",1400,28000,14000,14000,7,\"true\",\"TID_NPC_20\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc21\",\"TrainingCamp\",\"BasicDeck21\",1500,28000,14000,14000,6,\"true\",\"TID_NPC_21\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc22\",\"TrainingCamp\",\"BasicDeck22\",1600,28000,14000,14000,6,\"true\",\"TID_NPC_22\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc23\",\"TrainingCamp\",\"BasicDeck23\",1700,28000,14000,14000,7,\"true\",\"TID_NPC_23\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc24\",\"TrainingCamp\",\"BasicDeck24\",1800,28000,14000,14000,7,\"true\",\"TID_NPC_24\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc25\",\"TrainingCamp\",\"BasicDeck25\",1900,28000,14000,14000,7,\"true\",\"TID_NPC_25\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc26\",\"TrainingCamp\",\"BasicDeck26\",2000,28000,14000,14000,7,\"true\",\"TID_NPC_26\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc27\",\"TrainingCamp\",\"BasicDeck27\",2100,28000,14000,14000,7,\"true\",\"TID_NPC_27\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc28\",\"TrainingCamp\",\"BasicDeck28\",2200,28000,14000,14000,8,\"true\",\"TID_NPC_28\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc29\",\"TrainingCamp\",\"BasicDeck29\",2300,28000,14000,14000,8,\"true\",\"TID_NPC_29\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc30\",\"TrainingCamp\",\"BasicDeck30\",2400,28000,14000,14000,8,\"true\",\"TID_NPC_30\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc31\",\"TrainingCamp\",\"BasicDeck31\",2500,28000,14000,14000,8,\"true\",\"TID_NPC_31\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc32\",\"TrainingCamp\",\"BasicDeck32\",2600,28000,14000,14000,8,\"true\",\"TID_NPC_32\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc33\",\"TrainingCamp\",\"BasicDeck33\",2700,28000,14000,14000,9,\"true\",\"TID_NPC_33\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc34\",\"TrainingCamp\",\"BasicDeck34\",2800,28000,14000,14000,9,\"true\",\"TID_NPC_34\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc35\",\"TrainingCamp\",\"BasicDeck35\",2900,28000,14000,14000,9,\"true\",\"TID_NPC_35\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc36\",\"TrainingCamp\",\"BasicDeck36\",3000,28000,14000,14000,10,\"true\",\"TID_NPC_36\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc37\",\"TrainingCamp\",\"BasicDeck37\",3100,28000,14000,14000,10,\"true\",\"TID_NPC_37\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc38\",\"TrainingCamp\",\"BasicDeck38\",3200,28000,14000,14000,10,\"true\",\"TID_NPC_38\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc39\",\"TrainingCamp\",\"BasicDeck39\",3300,28000,14000,14000,10,\"true\",\"TID_NPC_39\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc40\",\"TrainingCamp\",\"BasicDeck40\",3400,28000,14000,14000,10,\"true\",\"TID_NPC_40\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc41\",\"TrainingCamp\",\"BasicDeck41\",3500,28000,14000,14000,10,\"true\",\"TID_NPC_41\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc42\",\"TrainingCamp\",\"BasicDeck42\",3600,28000,14000,14000,11,\"true\",\"TID_NPC_42\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc43\",\"TrainingCamp\",\"BasicDeck43\",3700,28000,14000,14000,11,\"true\",\"TID_NPC_43\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc44\",\"TrainingCamp\",\"BasicDeck44\",3800,28000,14000,14000,11,\"true\",\"TID_NPC_44\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc45\",\"TrainingCamp\",\"BasicDeck45\",3900,28000,14000,14000,12,\"true\",\"TID_NPC_45\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc46\",\"TrainingCamp\",\"BasicDeck46\",4000,28000,14000,14000,12,\"true\",\"TID_NPC_46\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc47\",\"TrainingCamp\",\"BasicDeck47\",6000,7000,7000,7000,13,\"true\",\"TID_NPC_47\",0,,\"true\",,,,\"NPC4_Start\",\"NPC4_Tower\",,\"TRUE\"\n\"Npc1_2\",\"FirstMatch\",\"BasicDeck1\",0,120000,120000,120000,1,\"true\",\"TID_NPC_1\",0,2,\"true\",,1,40,,\"NPC1_Tower\",\"TRUE\",\n\"Npc2_2\",\"FirstMatch\",\"BasicDeck2\",0,120000,120000,120000,1,\"true\",\"TID_NPC_2\",0,3,\"true\",,1,60,\"NPC2_Start\",\"NPC2_Tower\",,\n\"Npc3_2\",\"FirstMatch\",\"BasicDeck3\",0,100000,100000,100000,1,\"true\",\"TID_NPC_3\",0,1,\"true\",,1,60,\"NPC3_Start\",\"NPC3_Tower\",,\n\"Npc4_2\",\"TrainingCamp\",\"BasicDeck5\",0,60000,30000,30000,1,\"true\",\"TID_NPC_4\",0,,\"true\",,3,80,\"NPC4_Start\",\"NPC4_Tower\",,\n\"Npc5_2\",\"TrainingCamp\",\"BasicDeck7\",0,50000,25000,25000,1,\"true\",\"TID_NPC_5\",0,,\"true\",,5,,\"NPC4_Start\",\"NPC4_Tower\",,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/predefined_decks.csv",
    "content": "\"Name\",\"Spells\",\"SpellLevel\",\"RandomSpellSets\",\"Description\",\"TID\"\n\"String\",\"String\",\"int\",\"String\",\"String\",\"String\"\n\"BasicDeck1\",\"Goblins\",1,,,\n\"BasicDeck2\",\"Goblins\",1,,,\n,\"Knight\",1,,,\n\"BasicDeck3\",\"Knight\",1,,,\n,\"Goblins\",1,,,\n,\"Skeletons\",1,,,\n\"BasicDeck4\",\"Knight\",1,,,\n,\"Goblins\",1,,,\n,\"Skeletons\",1,,,\n,\"Archer\",1,,,\n\"BasicDeck5\",\"Knight\",1,,,\n,\"Goblins\",1,,,\n,\"Skeletons\",1,,,\n,\"Archer\",1,,,\n,\"Bomber\",1,,,\n\"BasicDeck6\",\"Knight\",1,,,\n,\"Goblins\",2,,,\n,\"Skeletons\",1,,,\n,\"Archer\",2,,,\n,\"Bomber\",1,,,\n,\"Arrows\",1,,,\n\"BasicDeck7\",\"Knight\",1,,,\n,\"Goblins\",2,,,\n,\"Skeletons\",1,,,\n,\"Archer\",2,,,\n,\"Bomber\",1,,,\n,\"Arrows\",1,,,\n,\"Fireball\",1,,,\n,\"Giant\",1,,,\n\"BasicDeck8\",\"Knight\",2,,,\n,\"Archer\",2,,,\n,\"Goblins\",2,,,\n,\"SpearGoblins\",2,,,\n,\"Giant\",1,,,\n,\"GoblinHut\",1,,,\n,\"Fireball\",2,,,\n,\"BabyDragon\",1,,,\n\"BasicDeck9\",\"Knight\",2,,,\n,\"Archer\",2,,,\n,\"Goblins\",2,,,\n,\"SpearGoblins\",3,,,\n,\"Giant\",1,,,\n,\"GoblinHut\",1,,,\n,\"Arrows\",3,,,\n,\"SkeletonArmy\",1,,,\n\"BasicDeck10\",\"Knight\",3,,,\n,\"Archer\",3,,,\n,\"Goblins\",2,,,\n,\"Skeletons\",2,,,\n,\"Prince\",1,,,\n,\"SpearGoblins\",3,,,\n,\"Arrows\",3,,,\n,\"Fireball\",1,,,\n\"BasicDeck11\",\"Valkyrie\",1,,,\n,\"Archer\",3,,,\n,\"Witch\",1,,,\n,\"Skeletons\",3,,,\n,\"Bomber\",3,,,\n,\"Minions\",3,,,\n,\"Knight\",3,,,\n,\"Fireball\",2,,,\n\"BasicDeck12\",\"Knight\",3,,,\n,\"Archer\",3,,,\n,\"Goblins\",3,,,\n,\"Skeletons\",4,,,\n,\"BombTower\",2,,,\n,\"Minions\",2,,,\n,\"Tombstone\",2,,,\n,\"Balloon\",1,,,\n\"BasicDeck13\",\"Barbarians\",3,,,\n,\"BarbarianHut\",1,,,\n,\"SkeletonArmy\",2,,,\n,\"Skeletons\",4,,,\n,\"Witch\",1,,,\n,\"Fireball\",2,,,\n,\"Cannon\",1,,,\n,\"Arrows\",4,,,\n\"BasicDeck14\",\"Musketeer\",2,,,\n,\"Bomber\",4,,,\n,\"BarbarianHut\",2,,,\n,\"Goblins\",4,,,\n,\"Giant\",2,,,\n,\"Balloon\",2,,,\n,\"Archer\",4,,,\n,\"Fireball\",2,,,\n\"BasicDeck15\",\"Musketeer\",2,,,\n,\"Bomber\",5,,,\n,\"MiniPekka\",3,,,\n,\"Goblins\",4,,,\n,\"Prince\",1,,,\n,\"Balloon\",1,,,\n,\"Archer\",4,,,\n,\"Fireball\",4,,,\n\"BasicDeck16\",\"Knight\",5,,,\n,\"Archer\",5,,,\n,\"SkeletonArmy\",2,,,\n,\"Goblins\",5,,,\n,\"Fireball\",3,,,\n,\"Giant\",2,,,\n,\"Valkyrie\",3,,,\n,\"MiniPekka\",3,,,\n\"BasicDeck17\",\"HogRider\",3,,,\n,\"InfernoTower\",2,,,\n,\"Cannon\",6,,,\n,\"Knight\",5,,,\n,\"SpearGoblins\",6,,,\n,\"Prince\",2,,,\n,\"Archer\",6,,,\n,\"Fireball\",3,,,\n\"BasicDeck18\",\"Witch\",2,,,\n,\"Pekka\",2,,,\n,\"Goblins\",6,,,\n,\"SpearGoblins\",6,,,\n,\"Zap\",6,,,\n,\"Wizard\",3,,,\n,\"Archer\",6,,,\n,\"Arrows\",6,,,\n\"BasicDeck19\",\"Musketeer\",4,,,\n,\"MinionHorde\",6,,,\n,\"Rocket\",4,,,\n,\"Goblins\",6,,,\n,\"Giant\",4,,,\n,\"Wizard\",3,,,\n,\"Archer\",7,,,\n,\"Arrows\",6,,,\n\"BasicDeck20\",\"BarbarianHut\",4,,,\n,\"Tombstone\",3,,,\n,\"BombTower\",4,,,\n,\"Goblins\",6,,,\n,\"Giant\",4,,,\n,\"SpearGoblins\",7,,,\n,\"Prince\",2,,,\n,\"Fireball\",4,,,\n\"BasicDeck21\",\"Goblins\",6,,,\n,\"SpearGoblins\",7,,,\n,\"SkeletonArmy\",2,,,\n,\"Skeletons\",7,,,\n,\"Knight\",6,,,\n,\"Witch\",2,,,\n,\"Fireball\",4,,,\n,\"Arrows\",6,,,\n\"BasicDeck22\",\"Witch\",2,,,\n,\"Wizard\",4,,,\n,\"Giant\",4,,,\n,\"Barbarians\",7,,,\n,\"Fireball\",4,,,\n,\"HogRider\",4,,,\n,\"GoblinBarrel\",2,,,\n,\"MinionHorde\",6,,,\n,\"Prince\",2,,,\n\"BasicDeck23\",\"Lightning\",2,,,\n,\"HogRider\",4,,,\n,\"MiniPekka\",4,,,\n,\"SpearGoblins\",7,,,\n,\"Arrows\",7,,,\n,\"BabyDragon\",2,,,\n,\"SkeletonArmy\",2,,,\n,\"Skeletons\",7,,,\n\"BasicDeck24\",\"Knight\",7,,,\n,\"Goblins\",7,,,\n,\"Bomber\",7,,,\n,\"SpearGoblins\",7,,,\n,\"Arrows\",7,,,\n,\"HogRider\",4,,,\n,\"MinionHorde\",7,,,\n,\"Prince\",2,,,\n\"BasicDeck25\",\"Minions\",7,,,\n,\"MinionHorde\",7,,,\n,\"Balloon\",2,,,\n,\"BabyDragon\",2,,,\n,\"Arrows\",7,,,\n,\"Fireball\",4,,,\n,\"Zap\",7,,,\n,\"GoblinBarrel\",2,,,\n\"BasicDeck26\",\"Giant\",5,,,\n,\"HogRider\",4,,,\n,\"Balloon\",2,,,\n,\"SpearGoblins\",7,,,\n,\"Goblins\",7,,,\n,\"BabyDragon\",2,,,\n,\"Fireball\",4,,,\n,\"Arrows\",7,,,\n\"BasicDeck27\",\"Lightning\",2,,,\n,\"Prince\",3,,,\n,\"Musketeer\",5,,,\n,\"MiniPekka\",4,,,\n,\"Knight\",7,,,\n,\"Archer\",7,,,\n,\"SpearGoblins\",7,,,\n,\"SkeletonArmy\",3,,,\n\"BasicDeck28\",\"Skeletons\",8,,,\n,\"Goblins\",7,,,\n,\"SpearGoblins\",8,,,\n,\"Archer\",7,,,\n,\"Knight\",8,,,\n,\"Minions\",7,,,\n,\"Bomber\",8,,,\n,\"Zap\",7,,,\n\"BasicDeck29\",\"HogRider\",5,,,\n,\"Balloon\",3,,,\n,\"Giant\",5,,,\n,\"Goblins\",8,,,\n,\"Fireball\",5,,,\n,\"SpearGoblins\",8,,,\n,\"IceSpirits\",8,,,\n,\"Rocket\",4,,,\n\"BasicDeck30\",\"Knight\",8,,,\n,\"Goblins\",8,,,\n,\"Bomber\",8,,,\n,\"SpearGoblins\",8,,,\n,\"Arrows\",8,,,\n,\"HogRider\",5,,,\n,\"MinionHorde\",8,,,\n,\"Prince\",3,,,\n\"BasicDeck31\",\"Goblins\",8,,,\n,\"SpearGoblins\",8,,,\n,\"Skeletons\",8,,,\n,\"BabyDragon\",3,,,\n,\"Giant\",5,,,\n,\"Witch\",3,,,\n,\"GoblinBarrel\",2,,,\n,\"Fireball\",5,,,\n\"BasicDeck32\",\"Pekka\",2,,,\n,\"SpearGoblins\",8,,,\n,\"SkeletonArmy\",3,,,\n,\"Goblins\",8,,,\n,\"GoblinBarrel\",2,,,\n,\"Minions\",8,,,\n,\"MinionHorde\",8,,,\n,\"BabyDragon\",3,,,\n\"BasicDeck33\",\"Lightning\",2,,,\n,\"MiniPekka\",5,,,\n,\"Barbarians\",8,,,\n,\"Wizard\",5,,,\n,\"Zap\",8,,,\n,\"BabyDragon\",3,,,\n,\"Pekka\",2,,,\n,\"Goblins\",8,,,\n\"BasicDeck34\",\"IceSpirits\",8,,,\n,\"IceGolemite\",5,,,\n,\"Freeze\",3,,,\n,\"IceWizard\",1,,,\n,\"Bowler\",3,,,\n,\"SpearGoblins\",8,,,\n,\"RageBarbarian\",1,,,\n,\"Mirror\",3,,,\n\"BasicDeck35\",\"SpearGoblins\",8,,,\n,\"Archer\",8,,,\n,\"MinionHorde\",8,,,\n,\"Arrows\",8,,,\n,\"Barbarians\",8,,,\n,\"Giant\",6,,,\n,\"HogRider\",6,,,\n,\"Elixir Collector\",6,,,\n\"BasicDeck36\",\"GiantSkeleton\",4,,,\n,\"Graveyard\",1,,,\n,\"Bowler\",4,,,\n,\"HogRider\",7,,,\n,\"SpearGoblins\",9,,,\n,\"Arrows\",9,,,\n,\"Fireball\",9,,,\n,\"Archer\",9,,,\n\"BasicDeck37\",\"Golem\",4,,,\n,\"Giant\",7,,,\n,\"Balloon\",4,,,\n,\"ThreeMusketeers\",7,,,\n,\"Wizard\",8,,,\n,\"FireSpirits\",9,,,\n,\"SkeletonWarriors\",4,,,\n,\"Valkyrie\",8,,,\n\"BasicDeck38\",\"Prince\",5,,,\n,\"Knight\",10,,,\n,\"Pekka\",5,,,\n,\"Goblins\",10,,,\n,\"Princess\",2,,,\n,\"MiniPekka\",8,,,\n,\"Arrows\",10,,,\n,\"DarkPrince\",5,,,\n\"BasicDeck39\",\"GoblinBarrel\",6,,,\n,\"Golem\",6,,,\n,\"ZapMachine\",3,,,\n,\"SpearGoblins\",11,,,\n,\"IceGolemite\",9,,,\n,\"Rocket\",9,,,\n,\"HogRider\",9,,,\n,\"Archer\",11,,,\n\"BasicDeck40\",\"Balloon\",7,,,\n,\"SkeletonWarriors\",6,,,\n,\"Minions\",12,,,\n,\"Bomber\",11,,,\n,\"Goblins\",12,,,\n,\"SpearGoblins\",12,,,\n,\"Archer\",11,,,\n,\"Wizard\",10,,,\n\"BasicDeck41\",\"RoyalGiant\",12,,,\n,\"Arrows\",12,,,\n,\"Barbarians\",12,,,\n,\"Miner\",3,,,\n,\"FireSpirits\",12,,,\n,\"SpearGoblins\",11,,,\n,\"BabyDragon\",6,,,\n,\"IceSpirits\",11,,,\n\"BasicDeck42\",\"AngryBarbarians\",12,,,\n,\"Clone\",6,,,\n,\"HogRider\",10,,,\n,\"Minions\",12,,,\n,\"BattleRam\",10,,,\n,\"BlowdartGoblin\",10,,,\n,\"GoblinGang\",11,,,\n,\"IceGolemite\",9,,,\n\"BasicDeck43\",\"ElectroWizard\",3,,,\n,\"MegaMinion\",10,,,\n,\"HogRider\",10,,,\n,\"Fireball\",10,,,\n,\"IceSpirits\",12,,,\n,\"Tornado\",7,,,\n,\"Wizard\",11,,,\n,\"Goblins\",12,,,\n\"BasicDeck44\",\"Rocket\",11,,,\n,\"GoblinGang\",12,,,\n,\"IceSpirits\",12,,,\n,\"RoyalGiant\",12,,,\n,\"BattleRam\",10,,,\n,\"Archer\",12,,,\n,\"Balloon\",8,,,\n,\"Minions\",12,,,\n\"BasicDeck45\",\"AxeMan\",7,,,\n,\"Tornado\",8,,,\n,\"Log\",4,,,\n,\"Princess\",4,,,\n,\"Wizard\",10,,,\n,\"Fireball\",11,,,\n,\"ZapMachine\",3,,,\n,\"IceGolemite\",11,,,\n\"BasicDeck46\",\"Graveyard\",4,,,\n,\"BlowdartGoblin\",11,,,\n,\"Knight\",13,,,\n,\"Musketeer\",11,,,\n,\"Archer\",12,,,\n,\"SpearGoblins\",12,,,\n,\"MegaMinion\",11,,,\n,\"Bowler\",8,,,\n\"BasicDeck47\",\"Princess\",5,,,\n,\"Miner\",5,,,\n,\"IceWizard\",5,,,\n,\"InfernoDragon\",5,,,\n,\"RageBarbarian\",5,,,\n,\"LavaHound\",5,,,\n,\"ZapMachine\",5,,,\n,\"Log\",5,,,\n\"BlindDeck1\",,,\"SetRandomRangedSupport\",,\"TID_BLIND_DECK_RANDOM\"\n,,,\"SetRandomDirectDamageSpell\",,\n,,,\"SetRandomCheapUnit\",,\n,,,\"SetRandomAttackCard1\",,\n,,,\"SetRandomAttackCard2\",,\n,,,\"SetRandom2to3Any\",,\n,,,\"SetRandom3to4Unit\",,\n,,,\"SetRandom3to5Any\",,\n\"BlindDeck2\",,,\"Draft_AntiAir\",,\"TID_BLIND_DECK_RANDOM\"\n,,,\"Draft_DamageSpell\",,\n,,,\"Draft_CheapDudes\",,\n,,,\"Draft_Aggressive\",,\n,,,\"Draft_3costUnit\",,\n,,,\"Draft_4costUnit\",,\n,,,\"Draft_5costUnit\",,\n,,,\"SetRandomAll\",,\n\"FixedDeck1\",\"Fireball\",1,\"SetFixedSpirit\",,\"TID_BLIND_DECK1\"\n,\"Bowler\",1,\"SetFixedSwarm\",,\n,\"Xbow\",1,,,\n,\"Zap\",1,,,\n,\"Princess\",1,,,\n,\"MiniPekka\",1,,,\n\"FixedDeck2\",\"HogRider\",1,\"SetFixedMidSupport\",,\"TID_BLIND_DECK2\"\n,\"Freeze\",1,\"SetFixedBuildingDefense\",,\n,\"IceWizard\",1,,,\n,\"Poison\",1,,,\n,\"Knight\",1,,,\n,\"SpearGoblins\",1,,,\n\"FixedDeck3\",\"Archer\",1,\"SetFixedTankUnit\",,\"TID_BLIND_DECK3\"\n,\"Witch\",1,\"SetFixedSpirit\",,\n,\"Rage\",1,,,\n,\"Balloon\",1,,,\n,\"Minions\",1,,,\n,\"Zap\",1,,,\n\"FixedDeck4\",\"Miner\",1,\"SetFixedFlyingSupport\",,\"TID_BLIND_DECK4\"\n,\"ThreeMusketeers\",1,\"SetFixedSpirit\",,\n,\"Knight\",1,,,\n,\"Zap\",1,,,\n,\"Elixir Collector\",1,,,\n,\"Mirror\",1,,,\n\"FixedDeck5\",\"Golem\",1,\"SetFixedSpirit\",,\"TID_BLIND_DECK5\"\n,\"Log\",1,\"SetFixedDamageSpellMid\",,\n,\"Elixir Collector\",1,,,\n,\"Archer\",1,,,\n,\"Musketeer\",1,,,\n,\"MinionHorde\",1,,,\n\"FixedDeck6\",\"RageBarbarian\",1,\"SetFixedBuildingHut\",,\"TID_BLIND_DECK6\"\n,\"DarkPrince\",1,\"SetFixedCheapFlying\",,\n,\"Lightning\",1,,,\n,\"SpearGoblins\",1,,,\n,\"Archer\",1,,,\n,\"SkeletonArmy\",1,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/projectiles.csv",
    "content": "\"Name\",\"Rarity\",\"Speed\",\"FileName\",\"ExportName\",\"RedExportName\",\"ShadowExportName\",\"RedShadowExportName\",\"ShadowDisableRotate\",\"Scale\",\"Homing\",\"HitEffect\",\"DeathEffect\",\"Damage\",\"CrownTowerDamagePercent\",\"Pushback\",\"PushbackAll\",\"Radius\",\"RadiusY\",\"AoeToAir\",\"AoeToGround\",\"OnlyEnemies\",\"OnlyOwnTroops\",\"MaximumTargets\",\"Gravity\",\"SpawnAreaEffectObject\",\"SpawnCharacterLevelIndex\",\"SpawnCharacterDeployTime\",\"SpawnCharacter\",\"SpawnConstPriority\",\"SpawnCharacterCount\",\"TargetBuff\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"TrailEffect\",\"ProjectileRadius\",\"ProjectileRadiusY\",\"ProjectileRange\",\"use360Frames\",\"HitSoundWhenParentAlive\",\"SpawnProjectile\",\"MinDistance\",\"MaxDistance\",\"ConstantHeight\",\"HeightFromTargetRadius\",\"Heal\",\"CrownTowerHealPercent\",\"TargetToEdge\",\"ChainedHitRadius\",\"ChainedHitEndEffect\",\"PingpongDeathEffect\",\"ShakesTargets\",\"PingpongVisualTime\",\"RandomAngle\",\"RandomDistance\",\"Scatter\",\"DragBackSpeed\",\"DragMargin\",\"TargettedEffect\"\n\"string\",\"String\",\"int\",\"string\",\"string\",\"string\",\"string\",\"string\",\"boolean\",\"int\",\"boolean\",\"string\",\"String\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"boolean\",\"String\",\"String\",\"int\",\"int\",\"int\",\"boolean\",\"int\",\"int\",\"boolean\",\"int\",\"String\",\"String\",\"boolean\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"String\"\n\"FireballSpell\",\"Rare\",600,\"sc/effects.sc\",\"fireball_projectile1\",,\"projectile_arrow_shadow\",,,,,\"Fireball_explosion\",,325,-60,1800,,2500,,\"true\",\"true\",\"true\",,,50,,,,,,,,,,\"FireballEmitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"KingProjectile\",\"Common\",1000,\"sc/effects.sc\",\"projectile_cannonball_small\",,,,,,\"true\",\"cannon_hit\",,50,,,,,,,,\"true\",,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ArcherArrow\",\"Common\",600,\"sc/effects.sc\",\"projectile_arrow_basic_enemy\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHit\",,41,,,,,,,,\"true\",,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerPrincessProjectile\",\"Common\",600,\"sc/effects.sc\",\"projectile_arrow_basic_enemy\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHit\",,50,,,,,,,,\"true\",,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ArrowsSpell\",\"Common\",800,\"sc/effects.sc\",\"projectile_arrow_basic_enemy\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHitGround\",,115,-60,,,4000,,\"true\",\"true\",\"true\",,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ArrowsSpellDeco\",\"Common\",800,\"sc/effects.sc\",\"projectile_arrow_basic_enemy\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHitGround\",,,,,,,,\"true\",\"true\",\"true\",,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TowerCannonball\",\"Common\",1000,\"sc/effects.sc\",\"projectile_cannonball_large\",,\"projectile_arrow_shadow\",,,,\"true\",\"cannon_hit\",,60,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MinionSpit\",\"Common\",1000,\"sc/effects.sc\",\"projectile_cannonball_small\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHit\",,40,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MortarProjectile\",\"Common\",300,\"sc/effects.sc\",\"catapult_projectile1\",,\"projectile_arrow_shadow\",,,,,\"mortar_hit\",,108,,,,2000,,,\"true\",\"true\",,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"WitchProjectile\",\"Epic\",600,\"sc/effects.sc\",\"Tower_projectile1\",,,,,,\"true\",\"WizardProjectileHit\",,52,,,,1100,,\"true\",\"true\",\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BombSkeletonProjectile\",\"Common\",400,\"sc/effects.sc\",\"projectile_bomb\",,\"projectile_arrow_shadow\",,,,,\"BombTower_projectile_hit\",,128,,,,1500,,,\"true\",\"true\",,,200,,,,,,,,,,\"BomberBomb_fire_emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"BombTowerProjectile\",\"Rare\",500,\"sc/effects.sc\",\"projectile_bomb\",,\"projectile_arrow_shadow\",,,,,\"BombTower_projectile_hit\",,100,,,,1500,,,\"true\",\"true\",,,200,,,,,,,,,,\"BomberBomb_fire_emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"RocketSpell\",\"Rare\",350,\"sc/effects.sc\",\"projectile_rocket\",,\"projectile_shadow_rocket\",,,,,\"Rocket_explosion\",,700,-60,1800,,2000,,\"true\",\"true\",\"true\",,,50,,,,,,,,,,\"Rocket_Emitter\",,,,\"true\",,,,,,,,,,,,,,,,,,,,\n\"GoblinBarrelSpell\",\"Epic\",400,\"sc/spell_goblin_barrel.sc\",\"spell_goblin_barrel_projectile\",,\"Barrel_shadow\",,,,,\"goblin_barrel_explosion\",,,,,,1500,,,\"true\",\"true\",,,40,,5,1200,\"Goblin\",\"TRUE\",3,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"MusketeerProjectile\",\"Rare\",1000,\"sc/effects.sc\",\"projectile_cannonball_small\",,\"projectile_arrow_shadow\",,,,\"true\",\"cannon_hit\",,100,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BabyDragonProjectile\",\"Epic\",500,\"sc/effects.sc\",\"dragon_projectile\",,\"projectile_arrow_shadow\",,,,\"true\",\"dragon_hit\",,100,,,,1200,,\"true\",\"true\",\"true\",,,250,,,,,,,,,,\"Dragon_Emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"chr_wizardProjectile\",\"Rare\",600,\"sc/effects.sc\",\"fireball_small\",,,,,,\"true\",\"chr_wizard_projectile_hit\",,130,,,,1200,,\"true\",\"true\",\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"xbow_projectile\",\"Epic\",1400,\"sc/effects.sc\",\"projectile_arrow_basic\",,\"projectile_arrow_shadow\",,,,\"true\",\"ArrowHit\",,20,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"LighningSpell\",\"Epic\",500,,,,,,,,,\"Spell_lightning_effect\",,650,-60,,,,,,,\"true\",,,,,,,,,,\"ZapFreeze\",500,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"SpearGoblinProjectile\",\"Common\",500,\"sc/effects.sc\",\"projectile_spear_360\",,\"projectile_arrow_shadow\",,,,\"true\",\"spear_goblin_projectile_hit\",,24,,,,,,,,\"true\",,,150,,,,,,,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,\n\"ice_wizardProjectile\",\"Legendary\",700,\"sc/effects.sc\",\"ice_wizard_projectile\",,,,,,\"true\",\"ice_wizard_hit\",,63,,,,1000,,\"true\",\"true\",\"true\",,,50,,,,,,,\"IceWizardSlowDown\",2000,,\"ice_wiz_emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"RoyalGiantProjectile\",\"Common\",1000,\"sc/effects.sc\",\"projectile_cannonball_large\",,\"projectile_arrow_shadow\",,,,\"true\",\"royal_giant_projectile_hit\",,75,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"PrincessProjectile\",\"Legendary\",450,\"sc/effects.sc\",\"projectile_princess\",,\"projectile_arrow_shadow\",,,,,\"PrincessArrowHitGround\",,140,,,,2000,,\"true\",\"true\",\"true\",,,90,,,,,,,,,,\"PrincessArrowProjectileEmitter\",,,,,\"sound_princess_hit_vo\",,,,,,,,,,,,,,,,,,,\n\"PrincessProjectileDeco\",\"Legendary\",450,\"sc/effects.sc\",\"projectile_princess\",,\"projectile_arrow_shadow\",,,,,\"PrincessArrowHitGround\",,,,,,,,,,\"true\",,,90,,,,,,,,,,\"PrincessArrowProjectileEmitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaHoundProjectile\",\"Legendary\",400,\"sc/effects.sc\",\"particle_coal1\",,\"projectile_arrow_shadow\",,,,\"true\",\"lava_hound_projectile_hit\",,45,,,,,,\"true\",\"true\",\"true\",,,250,,,,,,,,,,\"lava_hound_Emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"LavaPupProjectile\",\"Legendary\",500,\"sc/effects.sc\",\"particle_coal1\",,\"projectile_arrow_shadow\",,,,\"true\",\"lava_pups_projectile_hit\",,45,,,,,,\"true\",\"true\",\"true\",,,250,,,,,,,,,,\"lava_pups_emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"FireSpiritsProjectile\",\"Common\",400,\"sc/effects.sc\",\"projectile_firespirit\",,\"projectile_arrow_shadow\",,,,\"true\",\"firespirit_projectile_hit\",,80,,,,1500,,\"true\",\"true\",\"true\",,,400,,,,,,,,,,\"PrincessArrowProjectileEmitter\",,,,\"true\",,,,,,,,,,,,,,,,,,,,\n\"ZapMachineProjectile\",\"Legendary\",1400,\"sc/effects.sc\",\"zapMachine_projectile\",,,,,,\"true\",\"zapmachine_projectile_hit\",,1300,,,,1800,,,\"true\",\"true\",,,,,,,,,,,,,\"zapMachine_trail_emitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE4\",\"Legendary\",400,\"sc/effects.sc\",\"projectile_firespirit\",,\"projectile_arrow_shadow\",,,,\"true\",,,,,,,1500,,\"true\",\"true\",\"true\",,,400,,8,,\"FireSpirits\",,,,,,\"PrincessArrowProjectileEmitter\",,,,\"true\",,,,,,,,,,,,,,,,,,,,\n\"BowlerProjectile\",\"Epic\",170,\"sc/effects.sc\",\"bowler_projectile\",,\"bowler_projectile_shadow\",,\"true\",,,,\"bowler_projectile_die\",180,,1000,,1800,,,\"true\",\"true\",,,,,,,,,,,,,\"bowler_projectile_trail\",1000,,6000,,,,,,,,,,,,,,,,,,,,,\n\"IceSpiritsProjectile\",\"Common\",400,\"sc/effects.sc\",\"projectile_icespirit\",,\"projectile_arrow_shadow\",,,,\"true\",\"icespirit_projectile_hit\",,45,,,,1500,,\"true\",\"true\",\"true\",,,400,,,,,,,\"Freeze\",1500,,\"ice_wiz_emitter\",,,,\"true\",,,,,,,,,,,,,,,,,,,,\n\"LogProjectile\",\"Legendary\",360,\"sc/effects.sc\",\"log_projectile\",,\"log_projectile_shadow\",,,,,\"log_hit\",,,,,,1950,600,,\"true\",\"true\",,,30,,,,,,,,,,\"log_emitter\",,,,,,\"LogProjectileRolling\",3000,,,,,,,,,,,,,,,,,\n\"LogProjectileRolling\",\"Legendary\",200,\"sc/effects.sc\",\"log_roll_projectile\",\"log_roll_projectile_red\",\"log_projectile_shadow\",,,,,\"log_hit\",\"log_die\",240,-60,1000,\"true\",,,,\"true\",\"true\",,,,,,,,,,,,,\"log_emitter\",1950,600,11100,,,,2500,,,,,,,,,,,,,,,,,\n\"MegaMinionSpit\",\"Rare\",1000,\"sc/effects.sc\",\"projectile_cannonball_small\",,\"projectile_arrow_shadow\",,,,\"true\",\"mega_minion_hit\",,147,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"BlowdartGoblinProjectile\",\"Rare\",800,\"sc/effects.sc\",\"projectile_arrow_basic\",,\"projectile_arrow_shadow\",,,,\"true\",\"BlowdartArrowHit\",,53,,,,,,,,\"true\",,,120,,,,,,,,,,\"BlowdartProjectileEmitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"AxeManProjectile\",\"Epic\",550,\"sc/effects.sc\",\"executioner_projectile\",,\"bowler_projectile_shadow\",,,,,\"axe_man_projectile_hit\",,106,,,,1000,,\"true\",\"true\",\"true\",,,,,,,,,,,,,\"AxeProjectileEmitter\",900,,6500,,,,4500,,3000,,,,,,,\"axe_man_projectile_die\",\"true\",1500,,,,,,\n\"BatProjectile\",\"Common\",2000,\"sc/effects.sc\",\"projectile_cannonball_small\",,,,,,\"true\",\"ArrowHit\",,32,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NOTINUSE1\",\"Legendary\",360,\"sc/effects.sc\",\"log_projectile\",,\"log_projectile_shadow\",,,,,\"log_hit\",,,,,,1950,600,,\"true\",\"true\",,,30,,,,,,,,,,\"log_emitter\",,,,,,\"LogProjectileRolling\",3000,,,,,,,,,,,,,,,,,\n\"NOTINUSE2\",\"Legendary\",360,\"sc/effects.sc\",\"log_projectile\",,\"log_projectile_shadow\",,,,,\"log_hit\",,,,,,1950,600,,\"true\",\"true\",,,30,,,,,,,,,,\"log_emitter\",,,,,,\"LogProjectileRolling\",3000,,,,,,,,,,,,,,,,,\n\"MovingCannonProjectile\",\"Epic\",1000,\"sc/effects.sc\",\"projectile_cannonball_large\",,\"projectile_arrow_shadow\",,,,\"true\",\"cannon_hit\",,153,,,,,,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"DartBarrellProjectile\",\"Rare\",800,\"sc/effects.sc\",\"projectile_cannonball_small\",,\"projectile_arrow_shadow\",,,,\"true\",\"flying_machine_hit\",,81,,,,,,,,\"true\",,,120,,,,,,,,,,\"BlowdartProjectileEmitter\",,,,,,,,,,,,,,,,,,,,,,,,\n\"MegaKnightAppear\",\"Legendary\",1000,,,,,,,,,\"mega_knight_deploy_end\",,480,,1000,,2500,,,\"TRUE\",\"true\",,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/pve_boss.csv",
    "content": "Name,Waves,WaveDuration,Repeat\nString,String,int,boolean\nBoss1,Boss1Def,100,\n,Boss1Hogs,200,\n,Boss1FunkTown,300,\nTutorial1,Nothing,50,\n,TutorialDefendIntro,250,\n,TutorialDefendLeft,250,TRUE\n,TutorialDefendRight,300,TRUE\nTutorial2,Nothing,60,\n,TutorialGoblins,200,TRUE\n,Tutorial2WaveHard,300,TRUE\n,TutorialGoblins,200,TRUE\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/pve_gamemodes.csv",
    "content": "\"Name\",\"Waves\",\"VictoryCondition\",\"ForcedCards\",\"Location\",\"ComputerPlayerType\",\"TowerRules\"\n\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\"\n\"Puzzle1 – Sparky\",\"SparkyGiant\",\"DestroyAllUnits\",\"Cannon\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Barbarians\",,,\n,,,\"Zap\",,,\n\"Puzzle2 – Hogs\",\"Hogs\",\"DestroyAllUnits\",\"Tombstone\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Barbarians\",,,\n,,,\"IceSpirits\",,,\n\"Puzzle3 – Rocket Hogs\",\"DoubleHogs\",\"DestroyAllUnits\",\"Rocket\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Rocket\",,,\n,,,\"Rocket\",,,\n,,,\"Rocket\",,,\n\"Puzzle4 – Wat\",\"Lightning\",\"DestroyAllUnits\",\"Barbarians\",\"PvE_training\",\"Puzzle\",\"Survive\"\n\"Puzzle5 – Barmy Skarmy\",\"Skarmy\",\"DestroyAllUnits\",\"Zap\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Log\",,,\n,,,\"IceSpirits\",,,\n\"Puzzle6 – Ham Ice Cream\",\"HogFreeze\",\"DestroyAllUnits\",\"Barbarians\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"IceSpirits\",,,\n\"Puzzle7 – Floater\",\"RageBalloon\",\"DestroyAllUnits\",\"Cannon\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Cannon\",,,\n,,,\"Cannon\",,,\n,,,\"Cannon\",,,\n,,,\"Cannon\",,,\n\"Puzzle8 – Red Carpet\",\"AngryBarbarians\",\"DestroyAllUnits\",\"ZapMachine\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Tornado\",,,\n,,,\"IceGolemite\",,,\n\"Puzzle9 – Witchhunt\",\"NightW\",\"DestroyAllUnits\",\"DarkWitch\",\"PvE_training\",\"Puzzle\",\"Survive\"\n\"Puzzle10 – Minority Report\",\"Princess\",\"DestroyAllUnits\",\"Skeletons\",\"PvE_training\",\"Puzzle\",\"Survive\"\n\"Puzzle11 – Minority Report II\",\"Princesses\",\"DestroyAllUnits\",\"Skeletons\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Skeletons\",,,\n,,,\"Skeletons\",,,\n,,,\"Skeletons\",,,\n\"Puzzle12 – Shadowstep\",\"Archers\",\"DestroyAllUnits\",\"Assassin\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Clone\",,,\n\"Puzzle13 – Dance\",\"PEKKA\",\"DestroyAllUnits\",\"IceGolemite\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Musketeer\",,,\n\"Puzzle14 – Dance II\",\"PEKKASKELLY\",\"DestroyAllUnits\",\"IceGolemite\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Musketeer\",,,\n\"Puzzle15 – Is It A Bird-Plane?\",\"BirdPlane\",\"DestroyAllUnits\",\"Arrows\",\"PvE_training\",\"Puzzle\",\"Survive\"\n\"Puzzle16 – Hipster Barrel\",\"HipsterBarrel\",\"DestroyAllUnits\",\"Arrows\",\"PvE_training\",\"Puzzle\",\"Survive\"\n,,,\"Arrows\",,,\n\"Boss1\",\"Boss1\",\"DestroyAllUnits\",,\"PvE_training\",\"Boss\",\"Survive\"\n\"Tutorial1\",\"Tutorial1\",\"DestroyAllTowers\",,\"FirstMatch\",\"Tutorial\",\"Tutorial\"\n\"Tutorial2\",\"Tutorial2\",\"DestroyAllTowers\",,\"FirstMatch\",\"Tutorial\",\"Tutorial\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/pve_waves.csv",
    "content": "Name,Spells,PositionX,PositionY,Delay\nString,String,int,int,int\nSparkyGiant,Giant,5,12,100\n,ZapMachine,5,10,100\nHogs,HogRider,7,20,100\n,HogRider,28,10,100\nDoubleHogs,HogRider,7,15,100\n,HogRider,28,10,170\n,HogRider,15,13,290\n,HogRider,20,11,380\nLightning,Lightning,15,50,100\n,IceSpirits,5,5,100\nSkarmy,SkeletonArmy,7,10,100\n,SkeletonArmy,28,10,100\n,SkeletonArmy,14,15,100\n,SkeletonArmy,17,13,100\nHogFreeze,HogRider,6,26,100\n,Freeze,10,44,200\nRageBalloon,Balloon,28,28,100\nAngryBarbarians,AngryBarbarians,7,10,100\n,AngryBarbarians,28,10,100\n,AngryBarbarians,7,10,100\n,AngryBarbarians,28,10,100\n,AngryBarbarians,7,10,100\n,AngryBarbarians,28,10,100\n,Rage,7,10,100\n,Rage,28,10,100\n,Rage,7,24,140\n,Rage,28,24,140\n,Rage,7,40,190\n,Rage,28,40,190\n,Rage,17,50,240\nNightW,Goblins,7,10,100\n,Bats,7,14,150\n,Minions,28,18,200\nPrincess,Princess,18,36,140\nPrincesses,Princess,18,36,140\n,Princess,2,38,220\n,Princess,34,22,280\n,Princess,12,40,320\nArchers,Archer,16,18,100\n,Archer,18,34,200\nPEKKA,Pekka,6,28,100\nPEKKASKELLY,Pekka,6,28,100\n,Goblins,6,26,500\n,Skeletons,28,26,500\nBirdPlane,IceSpirits,5,5,100\n,Rocket,17,47,130\n,GoblinBarrel,17,62,130\nHipsterBarrel,IceSpirits,5,5,220\n,GoblinBarrel,17,62,120\n,GoblinBarrel,0,62,220\n,GoblinBarrel,17,62,270\nBoss1Def,Tombstone,16,18,0\nBoss1Hogs,HogRider,6,18,50\n,IceSpirits,8,16,60\nBoss1FunkTown,Barbarians,6,16,0\n,RoyalGiant,22,14,200\nNothing,,,,\nTutorialDefendIntro,Skeletons,7,15,0\n,Goblins,12,12,1\nTutorialDefendLeft,Skeletons,7,15,0\nTutorialDefendRight,Skeletons,20,15,0\nTutorialGoblins,Goblins,8,14,0\nTutorialKnight,Knight,12,14,0\nTutorial2WaveHard,Knight,12,16,0\n,Archer,12,16,60\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/quest_order.csv",
    "content": "\"Name\",\"Column\"\n\"string\",\"string\"\n\"Dummy\",\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/rarities.csv",
    "content": "\"Name\",\"LevelCount\",\"RelativeLevel\",\"MirrorRelativeLevel\",\"CloneRelativeLevel\",\"DonateCapacity\",\"SortCapacity\",\"DonateReward\",\"DonateXP\",\"GoldConversionValue\",\"ChanceWeight\",\"BalanceMultiplier\",\"UpgradeExp\",\"UpgradeMaterialCount\",\"UpgradeCost\",\"PowerLevelMultiplier\",\"RefundGems\",\"TID\",\"CardBaseFileName\",\"BigFrameExportName\",\"CardBaseExportName\",\"StackedCardExportName\",\"CardRewardExportName\",\"CastEffect\",\"InfoTitleExportName\",\"CardRarityBGExportName\",\"SortOrder\",\"Red\",\"Green\",\"Blue\",\"AppearEffect\",\"BuySound\",\"LoopEffect\",\"CardTxtBgFrameIdx\",\"CardGlowInstanceName\",\"SpellSelectedSound\",\"SpellAvailableSound\",\"RotateExportName\",\"IconSWF\",\"IconExportName\"\n\"String\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"int\",\"int\",\"int\",\"String\",\"String\",\"String\",\"int\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\"\n\"Common\",13,0,0,0,1,1,5,1,5,194,100,4,2,5,110,2,\"TID_RARITY_COMMON\",\"sc/ui.sc\",\"spell_card_big\",\"spell_card\",\"spell_stack\",\"spell_card_reward\",\"SpellCasting\",\"rarity_common\",\"common_order\",1,153,204,255,\"openChest_get_common\",\"sound_buy_card_common\",\"openChest_loop_common\",0,,,,\"card_rotate_common_short\",\"sc/ui.sc\",\"icon_btn_card_common\"\n,,,,,,,,,,,,5,4,20,121,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,6,10,50,133,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,10,20,150,146,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,25,50,400,160,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,50,100,1000,176,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,100,200,2000,193,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,200,400,4000,212,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,400,800,8000,233,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,600,1000,20000,256,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,800,2000,50000,281,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,1600,5000,100000,309,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,0,100,0,339,,,,,,,,,,,,,,,,,,,,,,,,\n\"Rare\",11,2,2,2,10,7,50,10,50,10,130,6,2,50,110,15,\"TID_RARITY_RARE\",\"sc/ui.sc\",\"spell_card_rare_big\",\"spell_card_rare\",\"spell_stack_rare\",\"spell_card_rare_reward\",\"SpellCasting\",\"rarity_rare\",\"rare_order\",2,255,204,102,\"openChest_get_rare\",\"sound_buy_card_rare\",\"openChest_loop_rare\",1,\"card_glow_rare\",,,\"card_rotate_epic_short\",\"sc/ui.sc\",\"icon_btn_card_rare\"\n,,,,,,,,,,,,10,4,150,121,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,25,10,400,133,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,50,20,1000,146,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,100,50,2000,160,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,200,100,4000,176,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,400,200,8000,193,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,600,400,20000,212,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,800,800,50000,233,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,1600,1000,100000,256,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,0,10,0,281,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic\",8,5,5,5,10,80,500,10,1000,1,180,25,2,400,110,300,\"TID_RARITY_EPIC\",\"sc/ui.sc\",\"spell_card_epic_big\",\"spell_card_epic\",\"spell_stack_epic\",\"spell_card_epic_reward\",\"SpellCasting\",\"rarity_epic\",\"epic_order\",3,255,153,255,\"openChest_get_epic\",\"sound_buy_card_epic\",\"openChest_loop_epic\",2,\"card_frame_glow_epic\",,,\"card_rotate_rare_short\",\"sc/ui.sc\",\"icon_btn_card_epic\"\n,,,,,,,,,,,,100,4,2000,121,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,200,10,4000,133,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,400,20,8000,146,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,600,50,20000,160,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,800,100,50000,176,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,1600,200,100000,193,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,0,5,0,212,,,,,,,,,,,,,,,,,,,,,,,,\n\"Legendary\",5,8,8,8,4000,2000,50,25,20000,1,250,250,2,5000,110,8000,\"TID_RARITY_LEGENDARY\",\"sc/ui.sc\",\"spell_card_legendary_big\",\"spell_card_legendary\",\"spell_stack_legendary\",\"spell_card_legendary_reward\",\"SpellCasting\",\"rarity_legendary\",\"legendary_order\",4,255,153,255,\"openChest_get_legendary\",\"sound_buy_card_legendary\",\"openChest_loop_legendary\",3,\"card_frame_glow_legendary\",\"Select legendary spell\",\"Legendary spell available\",\"card_rotate_legendary_short\",\"sc/ui.sc\",\"icon_btn_card_legendary\"\n,,,,,,,,,,,,600,4,20000,121,,,,,,,,,,,,255,153,255,,,,,,,,,,\n,,,,,,,,,,,,800,10,50000,133,,,,,,,,,,,,255,255,153,,,,,,,,,,\n,,,,,,,,,,,,1600,20,100000,146,,,,,,,,,,,,153,255,102,,,,,,,,,,\n,,,,,,,,,,,,0,1,0,157,,,,,,,,,,,,,,,,,,,,,,,,\n\"Hero\",13,0,0,0,1,1,5,1,5,194,100,4,2,5,110,2,\"TID_RARITY_COMMON\",\"sc/ui.sc\",\"spell_card_big\",\"spell_card\",\"spell_stack\",\"spell_card_reward\",\"SpellCasting\",\"rarity_common\",\"common_order\",1,153,204,255,\"openChest_get_common\",\"sound_buy_card_common\",\"openChest_loop_common\",0,,,,\"card_rotate_common_short\",,\n,,,,,,,,,,,,5,4,20,121,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,6,10,50,133,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,10,20,150,146,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,25,50,400,160,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,50,100,1000,176,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,100,200,2000,193,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,200,400,4000,212,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,400,800,8000,233,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,600,1000,20000,256,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,800,2000,50000,281,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,1600,5000,100000,309,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,0,100,0,339,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/regions.csv",
    "content": "\"Name\",\"TID\",\"DisplayName\",\"IsCountry\",\"RegionPopup\"\n\"String\",\"String\",\"String\",\"boolean\",\"boolean\"\n\"_EU\",\"TID_EUROPE\",\"Europe\",\"FALSE\",\"TRUE\"\n\"_NA\",\"TID_NORTH_AMERICA\",\"North America\",\"FALSE\",\"TRUE\"\n\"_SA\",\"TID_SOUTH_AMERICA\",\"South America\",\"FALSE\",\"TRUE\"\n\"_AS\",\"TID_ASIA\",\"Asia\",\"FALSE\",\"TRUE\"\n\"_AU\",\"TID_AUSTRALIA\",\"Australia\",\"FALSE\",\"TRUE\"\n\"_AF\",\"TID_AFRICA\",\"Africa\",\"FALSE\",\"TRUE\"\n\"_INT\",\"TID_INTERNATIONAL\",\"International\",\"FALSE\",\"TRUE\"\n\"AF\",\"TID_AFGHANISTAN\",\"Afghanistan\",\"TRUE\",\"TRUE\"\n\"AX\",\"TID_ALAND_ISLANDS\",\"Åland Islands\",\"TRUE\",\"TRUE\"\n\"AL\",\"TID_ALBANIA\",\"Albania\",\"TRUE\",\"TRUE\"\n\"DZ\",\"TID_ALGERIA\",\"Algeria\",\"TRUE\",\"TRUE\"\n\"AS\",\"TID_AMERICAN_SAMOA\",\"American Samoa\",\"TRUE\",\"TRUE\"\n\"AD\",\"TID_ANDORRA\",\"Andorra\",\"TRUE\",\"TRUE\"\n\"AO\",\"TID_ANGOLA\",\"Angola\",\"TRUE\",\"TRUE\"\n\"AI\",\"TID_ANGUILLA\",\"Anguilla\",\"TRUE\",\"TRUE\"\n\"AQ\",\"TID_ANTARCTICA\",\"Antarctica\",\"TRUE\",\"TRUE\"\n\"AG\",\"TID_ANTIGUA_AND_BARBUDA\",\"Antigua and Barbuda\",\"TRUE\",\"TRUE\"\n\"AR\",\"TID_ARGENTINA\",\"Argentina\",\"TRUE\",\"TRUE\"\n\"AM\",\"TID_ARMENIA\",\"Armenia\",\"TRUE\",\"TRUE\"\n\"AW\",\"TID_ARUBA\",\"Aruba\",\"TRUE\",\"TRUE\"\n\"AC\",\"TID_ASCENSION_ISLAND\",\"Ascension Island\",\"TRUE\",\"TRUE\"\n\"AU\",\"TID_AUSTRALIA\",\"Australia\",\"TRUE\",\"TRUE\"\n\"AT\",\"TID_AUSTRIA\",\"Austria\",\"TRUE\",\"TRUE\"\n\"AZ\",\"TID_AZERBAIJAN\",\"Azerbaijan\",\"TRUE\",\"TRUE\"\n\"BS\",\"TID_BAHAMAS\",\"Bahamas\",\"TRUE\",\"TRUE\"\n\"BH\",\"TID_BAHRAIN\",\"Bahrain\",\"TRUE\",\"TRUE\"\n\"BD\",\"TID_BANGLADESH\",\"Bangladesh\",\"TRUE\",\"TRUE\"\n\"BB\",\"TID_BARBADOS\",\"Barbados\",\"TRUE\",\"TRUE\"\n\"BY\",\"TID_BELARUS\",\"Belarus\",\"TRUE\",\"TRUE\"\n\"BE\",\"TID_BELGIUM\",\"Belgium\",\"TRUE\",\"TRUE\"\n\"BZ\",\"TID_BELIZE\",\"Belize\",\"TRUE\",\"TRUE\"\n\"BJ\",\"TID_BENIN\",\"Benin\",\"TRUE\",\"TRUE\"\n\"BM\",\"TID_BERMUDA\",\"Bermuda\",\"TRUE\",\"TRUE\"\n\"BT\",\"TID_BHUTAN\",\"Bhutan\",\"TRUE\",\"TRUE\"\n\"BO\",\"TID_BOLIVIA\",\"Bolivia\",\"TRUE\",\"TRUE\"\n\"BA\",\"TID_BOSNIA_AND_HERZEGOVINA\",\"Bosnia and Herzegovina\",\"TRUE\",\"TRUE\"\n\"BW\",\"TID_BOTSWANA\",\"Botswana\",\"TRUE\",\"TRUE\"\n\"BV\",\"TID_BOUVET_ISLAND\",\"Bouvet Island\",\"TRUE\",\"TRUE\"\n\"BR\",\"TID_BRAZIL\",\"Brazil\",\"TRUE\",\"TRUE\"\n\"IO\",\"TID_BRITISH_INDIAN_OCEAN_TERRITORY\",\"British Indian Ocean Territory\",\"TRUE\",\"TRUE\"\n\"VG\",\"TID_BRITISH_VIRGIN_ISLANDS\",\"British Virgin Islands\",\"TRUE\",\"TRUE\"\n\"BN\",\"TID_BRUNEI\",\"Brunei\",\"TRUE\",\"TRUE\"\n\"BG\",\"TID_BULGARIA\",\"Bulgaria\",\"TRUE\",\"TRUE\"\n\"BF\",\"TID_BURKINA_FASO\",\"Burkina Faso\",\"TRUE\",\"TRUE\"\n\"BI\",\"TID_BURUNDI\",\"Burundi\",\"TRUE\",\"TRUE\"\n\"KH\",\"TID_CAMBODIA\",\"Cambodia\",\"TRUE\",\"TRUE\"\n\"CM\",\"TID_CAMEROON\",\"Cameroon\",\"TRUE\",\"TRUE\"\n\"CA\",\"TID_CANADA\",\"Canada\",\"TRUE\",\"TRUE\"\n\"IC\",\"TID_CANARY_ISLANDS\",\"Canary Islands\",\"TRUE\",\"TRUE\"\n\"CV\",\"TID_CAPE_VERDE\",\"Cape Verde\",\"TRUE\",\"TRUE\"\n\"BQ\",\"TID_CARIBBEAN_NETHERLANDS\",\"Caribbean Netherlands\",\"TRUE\",\"TRUE\"\n\"KY\",\"TID_CAYMAN_ISLANDS\",\"Cayman Islands\",\"TRUE\",\"TRUE\"\n\"CF\",\"TID_CENTRAL_AFRICAN_REPUBLIC\",\"Central African Republic\",\"TRUE\",\"TRUE\"\n\"EA\",\"TID_CEUTA_AND_MELILLA\",\"Ceuta and Melilla\",\"TRUE\",\"TRUE\"\n\"TD\",\"TID_CHAD\",\"Chad\",\"TRUE\",\"TRUE\"\n\"CL\",\"TID_CHILE\",\"Chile\",\"TRUE\",\"TRUE\"\n\"CN\",\"TID_CHINA\",\"China\",\"TRUE\",\"TRUE\"\n\"CX\",\"TID_CHRISTMAS_ISLAND\",\"Christmas Island\",\"TRUE\",\"TRUE\"\n\"CC\",\"TID_COCOS_KEELING_ISLANDS\",\"Cocos (Keeling) Islands\",\"TRUE\",\"TRUE\"\n\"CO\",\"TID_COLOMBIA\",\"Colombia\",\"TRUE\",\"TRUE\"\n\"KM\",\"TID_COMOROS\",\"Comoros\",\"TRUE\",\"TRUE\"\n\"CG\",\"TID_CONGO_DRC\",\"Congo (DRC)\",\"TRUE\",\"TRUE\"\n\"CD\",\"TID_CONGO_REPUBLIC\",\"Congo (Republic)\",\"TRUE\",\"TRUE\"\n\"CK\",\"TID_COOK_ISLANDS\",\"Cook Islands\",\"TRUE\",\"TRUE\"\n\"CR\",\"TID_COSTA_RICA\",\"Costa Rica\",\"TRUE\",\"TRUE\"\n\"CI\",\"TID_COTE_DIVOIRE\",\"Côte d’Ivoire\",\"TRUE\",\"TRUE\"\n\"HR\",\"TID_CROATIA\",\"Croatia\",\"TRUE\",\"TRUE\"\n\"CU\",\"TID_CUBA\",\"Cuba\",\"TRUE\",\"TRUE\"\n\"CW\",\"TID_CURACAO\",\"Curaçao\",\"TRUE\",\"TRUE\"\n\"CY\",\"TID_CYPRUS\",\"Cyprus\",\"TRUE\",\"TRUE\"\n\"CZ\",\"TID_CZECH_REPUBLIC\",\"Czech Republic\",\"TRUE\",\"TRUE\"\n\"DK\",\"TID_DENMARK\",\"Denmark\",\"TRUE\",\"TRUE\"\n\"DG\",\"TID_DIEGO_GARCIA\",\"Diego Garcia\",\"TRUE\",\"TRUE\"\n\"DJ\",\"TID_DJIBOUTI\",\"Djibouti\",\"TRUE\",\"TRUE\"\n\"DM\",\"TID_DOMINICA\",\"Dominica\",\"TRUE\",\"TRUE\"\n\"DO\",\"TID_DOMINICAN_REPUBLIC\",\"Dominican Republic\",\"TRUE\",\"TRUE\"\n\"EC\",\"TID_ECUADOR\",\"Ecuador\",\"TRUE\",\"TRUE\"\n\"EG\",\"TID_EGYPT\",\"Egypt\",\"TRUE\",\"TRUE\"\n\"SV\",\"TID_EL_SALVADOR\",\"El Salvador\",\"TRUE\",\"TRUE\"\n\"GQ\",\"TID_EQUATORIAL_GUINEA\",\"Equatorial Guinea\",\"TRUE\",\"TRUE\"\n\"ER\",\"TID_ERITREA\",\"Eritrea\",\"TRUE\",\"TRUE\"\n\"EE\",\"TID_ESTONIA\",\"Estonia\",\"TRUE\",\"TRUE\"\n\"ET\",\"TID_ETHIOPIA\",\"Ethiopia\",\"TRUE\",\"TRUE\"\n\"FK\",\"TID_FALKLAND_ISLANDS\",\"Falkland Islands\",\"TRUE\",\"TRUE\"\n\"FO\",\"TID_FAROE_ISLANDS\",\"Faroe Islands\",\"TRUE\",\"TRUE\"\n\"FJ\",\"TID_FIJI\",\"Fiji\",\"TRUE\",\"TRUE\"\n\"FI\",\"TID_FINLAND\",\"Finland\",\"TRUE\",\"TRUE\"\n\"FR\",\"TID_FRANCE\",\"France\",\"TRUE\",\"TRUE\"\n\"GF\",\"TID_FRENCH_GUIANA\",\"French Guiana\",\"TRUE\",\"TRUE\"\n\"PF\",\"TID_FRENCH_POLYNESIA\",\"French Polynesia\",\"TRUE\",\"TRUE\"\n\"TF\",\"TID_FRENCH_SOUTHERN_TERRITORIES\",\"French Southern Territories\",\"TRUE\",\"TRUE\"\n\"GA\",\"TID_GABON\",\"Gabon\",\"TRUE\",\"TRUE\"\n\"GM\",\"TID_GAMBIA\",\"Gambia\",\"TRUE\",\"TRUE\"\n\"GE\",\"TID_GEORGIA\",\"Georgia\",\"TRUE\",\"TRUE\"\n\"DE\",\"TID_GERMANY\",\"Germany\",\"TRUE\",\"TRUE\"\n\"GH\",\"TID_GHANA\",\"Ghana\",\"TRUE\",\"TRUE\"\n\"GI\",\"TID_GIBRALTAR\",\"Gibraltar\",\"TRUE\",\"TRUE\"\n\"GR\",\"TID_GREECE\",\"Greece\",\"TRUE\",\"TRUE\"\n\"GL\",\"TID_GREENLAND\",\"Greenland\",\"TRUE\",\"TRUE\"\n\"GD\",\"TID_GRENADA\",\"Grenada\",\"TRUE\",\"TRUE\"\n\"GP\",\"TID_GUADELOUPE\",\"Guadeloupe\",\"TRUE\",\"TRUE\"\n\"GU\",\"TID_GUAM\",\"Guam\",\"TRUE\",\"TRUE\"\n\"GT\",\"TID_GUATEMALA\",\"Guatemala\",\"TRUE\",\"TRUE\"\n\"GG\",\"TID_GUERNSEY\",\"Guernsey\",\"TRUE\",\"TRUE\"\n\"GN\",\"TID_GUINEA\",\"Guinea\",\"TRUE\",\"TRUE\"\n\"GW\",\"TID_GUINEA-BISSAU\",\"Guinea-Bissau\",\"TRUE\",\"TRUE\"\n\"GY\",\"TID_GUYANA\",\"Guyana\",\"TRUE\",\"TRUE\"\n\"HT\",\"TID_HAITI\",\"Haiti\",\"TRUE\",\"TRUE\"\n\"HM\",\"TID_HEARD_MCDONALD_ISLANDS\",\"Heard & McDonald Islands\",\"TRUE\",\"TRUE\"\n\"HN\",\"TID_HONDURAS\",\"Honduras\",\"TRUE\",\"TRUE\"\n\"HK\",\"TID_HONG_KONG\",\"Hong Kong\",\"TRUE\",\"TRUE\"\n\"HU\",\"TID_HUNGARY\",\"Hungary\",\"TRUE\",\"TRUE\"\n\"IS\",\"TID_ICELAND\",\"Iceland\",\"TRUE\",\"TRUE\"\n\"IN\",\"TID_INDIA\",\"India\",\"TRUE\",\"TRUE\"\n\"ID\",\"TID_INDONESIA\",\"Indonesia\",\"TRUE\",\"TRUE\"\n\"IR\",\"TID_IRAN\",\"Iran\",\"TRUE\",\"TRUE\"\n\"IQ\",\"TID_IRAQ\",\"Iraq\",\"TRUE\",\"TRUE\"\n\"IE\",\"TID_IRELAND\",\"Ireland\",\"TRUE\",\"TRUE\"\n\"IM\",\"TID_ISLE_OF_MAN\",\"Isle of Man\",\"TRUE\",\"TRUE\"\n\"IL\",\"TID_ISRAEL\",\"Israel\",\"TRUE\",\"TRUE\"\n\"IT\",\"TID_ITALY\",\"Italy\",\"TRUE\",\"TRUE\"\n\"JM\",\"TID_JAMAICA\",\"Jamaica\",\"TRUE\",\"TRUE\"\n\"JP\",\"TID_JAPAN\",\"Japan\",\"TRUE\",\"TRUE\"\n\"JE\",\"TID_JERSEY\",\"Jersey\",\"TRUE\",\"TRUE\"\n\"JO\",\"TID_JORDAN\",\"Jordan\",\"TRUE\",\"TRUE\"\n\"KZ\",\"TID_KAZAKHSTAN\",\"Kazakhstan\",\"TRUE\",\"TRUE\"\n\"KE\",\"TID_KENYA\",\"Kenya\",\"TRUE\",\"TRUE\"\n\"KI\",\"TID_KIRIBATI\",\"Kiribati\",\"TRUE\",\"TRUE\"\n\"XK\",\"TID_KOSOVO\",\"Kosovo\",\"TRUE\",\"TRUE\"\n\"KW\",\"TID_KUWAIT\",\"Kuwait\",\"TRUE\",\"TRUE\"\n\"KG\",\"TID_KYRGYZSTAN\",\"Kyrgyzstan\",\"TRUE\",\"TRUE\"\n\"LA\",\"TID_LAOS\",\"Laos\",\"TRUE\",\"TRUE\"\n\"LV\",\"TID_LATVIA\",\"Latvia\",\"TRUE\",\"TRUE\"\n\"LB\",\"TID_LEBANON\",\"Lebanon\",\"TRUE\",\"TRUE\"\n\"LS\",\"TID_LESOTHO\",\"Lesotho\",\"TRUE\",\"TRUE\"\n\"LR\",\"TID_LIBERIA\",\"Liberia\",\"TRUE\",\"TRUE\"\n\"LY\",\"TID_LIBYA\",\"Libya\",\"TRUE\",\"TRUE\"\n\"LI\",\"TID_LIECHTENSTEIN\",\"Liechtenstein\",\"TRUE\",\"TRUE\"\n\"LT\",\"TID_LITHUANIA\",\"Lithuania\",\"TRUE\",\"TRUE\"\n\"LU\",\"TID_LUXEMBOURG\",\"Luxembourg\",\"TRUE\",\"TRUE\"\n\"MO\",\"TID_MACAU\",\"Macau\",\"TRUE\",\"TRUE\"\n\"MK\",\"TID_MACEDONIA_FYROM\",\"Macedonia (FYROM)\",\"TRUE\",\"TRUE\"\n\"MG\",\"TID_MADAGASCAR\",\"Madagascar\",\"TRUE\",\"TRUE\"\n\"MW\",\"TID_MALAWI\",\"Malawi\",\"TRUE\",\"TRUE\"\n\"MY\",\"TID_MALAYSIA\",\"Malaysia\",\"TRUE\",\"TRUE\"\n\"MV\",\"TID_MALDIVES\",\"Maldives\",\"TRUE\",\"TRUE\"\n\"ML\",\"TID_MALI\",\"Mali\",\"TRUE\",\"TRUE\"\n\"MT\",\"TID_MALTA\",\"Malta\",\"TRUE\",\"TRUE\"\n\"MH\",\"TID_MARSHALL_ISLANDS\",\"Marshall Islands\",\"TRUE\",\"TRUE\"\n\"MQ\",\"TID_MARTINIQUE\",\"Martinique\",\"TRUE\",\"TRUE\"\n\"MR\",\"TID_MAURITANIA\",\"Mauritania\",\"TRUE\",\"TRUE\"\n\"MU\",\"TID_MAURITIUS\",\"Mauritius\",\"TRUE\",\"TRUE\"\n\"YT\",\"TID_MAYOTTE\",\"Mayotte\",\"TRUE\",\"TRUE\"\n\"MX\",\"TID_MEXICO\",\"Mexico\",\"TRUE\",\"TRUE\"\n\"FM\",\"TID_MICRONESIA\",\"Micronesia\",\"TRUE\",\"TRUE\"\n\"MD\",\"TID_MOLDOVA\",\"Moldova\",\"TRUE\",\"TRUE\"\n\"MC\",\"TID_MONACO\",\"Monaco\",\"TRUE\",\"TRUE\"\n\"MN\",\"TID_MONGOLIA\",\"Mongolia\",\"TRUE\",\"TRUE\"\n\"ME\",\"TID_MONTENEGRO\",\"Montenegro\",\"TRUE\",\"TRUE\"\n\"MS\",\"TID_MONTSERRAT\",\"Montserrat\",\"TRUE\",\"TRUE\"\n\"MA\",\"TID_MOROCCO\",\"Morocco\",\"TRUE\",\"TRUE\"\n\"MZ\",\"TID_MOZAMBIQUE\",\"Mozambique\",\"TRUE\",\"TRUE\"\n\"MM\",\"TID_MYANMAR_BURMA\",\"Myanmar (Burma)\",\"TRUE\",\"TRUE\"\n\"NA\",\"TID_NAMIBIA\",\"Namibia\",\"TRUE\",\"TRUE\"\n\"NR\",\"TID_NAURU\",\"Nauru\",\"TRUE\",\"TRUE\"\n\"NP\",\"TID_NEPAL\",\"Nepal\",\"TRUE\",\"TRUE\"\n\"NL\",\"TID_NETHERLANDS\",\"Netherlands\",\"TRUE\",\"TRUE\"\n\"NC\",\"TID_NEW_CALEDONIA\",\"New Caledonia\",\"TRUE\",\"TRUE\"\n\"NZ\",\"TID_NEW_ZEALAND\",\"New Zealand\",\"TRUE\",\"TRUE\"\n\"NI\",\"TID_NICARAGUA\",\"Nicaragua\",\"TRUE\",\"TRUE\"\n\"NE\",\"TID_NIGER\",\"Niger\",\"TRUE\",\"TRUE\"\n\"NG\",\"TID_NIGERIA\",\"Nigeria\",\"TRUE\",\"TRUE\"\n\"NU\",\"TID_NIUE\",\"Niue\",\"TRUE\",\"TRUE\"\n\"NF\",\"TID_NORFOLK_ISLAND\",\"Norfolk Island\",\"TRUE\",\"TRUE\"\n\"KP\",\"TID_NORTH_KOREA\",\"North Korea\",\"TRUE\",\"TRUE\"\n\"MP\",\"TID_NORTHERN_MARIANA_ISLANDS\",\"Northern Mariana Islands\",\"TRUE\",\"TRUE\"\n\"NO\",\"TID_NORWAY\",\"Norway\",\"TRUE\",\"TRUE\"\n\"OM\",\"TID_OMAN\",\"Oman\",\"TRUE\",\"TRUE\"\n\"PK\",\"TID_PAKISTAN\",\"Pakistan\",\"TRUE\",\"TRUE\"\n\"PW\",\"TID_PALAU\",\"Palau\",\"TRUE\",\"TRUE\"\n\"PS\",\"TID_PALESTINE\",\"Palestine\",\"TRUE\",\"TRUE\"\n\"PA\",\"TID_PANAMA\",\"Panama\",\"TRUE\",\"TRUE\"\n\"PG\",\"TID_PAPUA_NEW_GUINEA\",\"Papua New Guinea\",\"TRUE\",\"TRUE\"\n\"PY\",\"TID_PARAGUAY\",\"Paraguay\",\"TRUE\",\"TRUE\"\n\"PE\",\"TID_PERU\",\"Peru\",\"TRUE\",\"TRUE\"\n\"PH\",\"TID_PHILIPPINES\",\"Philippines\",\"TRUE\",\"TRUE\"\n\"PN\",\"TID_PITCAIRN_ISLANDS\",\"Pitcairn Islands\",\"TRUE\",\"TRUE\"\n\"PL\",\"TID_POLAND\",\"Poland\",\"TRUE\",\"TRUE\"\n\"PT\",\"TID_PORTUGAL\",\"Portugal\",\"TRUE\",\"TRUE\"\n\"PR\",\"TID_PUERTO_RICO\",\"Puerto Rico\",\"TRUE\",\"TRUE\"\n\"QA\",\"TID_QATAR\",\"Qatar\",\"TRUE\",\"TRUE\"\n\"RE\",\"TID_REUNION\",\"Réunion\",\"TRUE\",\"TRUE\"\n\"RO\",\"TID_ROMANIA\",\"Romania\",\"TRUE\",\"TRUE\"\n\"RU\",\"TID_RUSSIA\",\"Russia\",\"TRUE\",\"TRUE\"\n\"RW\",\"TID_RWANDA\",\"Rwanda\",\"TRUE\",\"TRUE\"\n\"BL\",\"TID_SAINT_BARTHELEMY\",\"Saint Barthélemy\",\"TRUE\",\"TRUE\"\n\"SH\",\"TID_SAINT_HELENA\",\"Saint Helena\",\"TRUE\",\"TRUE\"\n\"KN\",\"TID_SAINT_KITTS_AND_NEVIS\",\"Saint Kitts and Nevis\",\"TRUE\",\"TRUE\"\n\"LC\",\"TID_SAINT_LUCIA\",\"Saint Lucia\",\"TRUE\",\"TRUE\"\n\"MF\",\"TID_SAINT_MARTIN\",\"Saint Martin\",\"TRUE\",\"TRUE\"\n\"PM\",\"TID_SAINT_PIERRE_AND_MIQUELON\",\"Saint Pierre and Miquelon\",\"TRUE\",\"TRUE\"\n\"WS\",\"TID_SAMOA\",\"Samoa\",\"TRUE\",\"TRUE\"\n\"SM\",\"TID_SAN_MARINO\",\"San Marino\",\"TRUE\",\"TRUE\"\n\"ST\",\"TID_SAO_TOME_AND_PRINCIPE\",\"São Tomé and Príncipe\",\"TRUE\",\"TRUE\"\n\"SA\",\"TID_SAUDI_ARABIA\",\"Saudi Arabia\",\"TRUE\",\"TRUE\"\n\"SN\",\"TID_SENEGAL\",\"Senegal\",\"TRUE\",\"TRUE\"\n\"RS\",\"TID_SERBIA\",\"Serbia\",\"TRUE\",\"TRUE\"\n\"SC\",\"TID_SEYCHELLES\",\"Seychelles\",\"TRUE\",\"TRUE\"\n\"SL\",\"TID_SIERRA_LEONE\",\"Sierra Leone\",\"TRUE\",\"TRUE\"\n\"SG\",\"TID_SINGAPORE\",\"Singapore\",\"TRUE\",\"TRUE\"\n\"SX\",\"TID_SINT_MAARTEN\",\"Sint Maarten\",\"TRUE\",\"TRUE\"\n\"SK\",\"TID_SLOVAKIA\",\"Slovakia\",\"TRUE\",\"TRUE\"\n\"SI\",\"TID_SLOVENIA\",\"Slovenia\",\"TRUE\",\"TRUE\"\n\"SB\",\"TID_SOLOMON_ISLANDS\",\"Solomon Islands\",\"TRUE\",\"TRUE\"\n\"SO\",\"TID_SOMALIA\",\"Somalia\",\"TRUE\",\"TRUE\"\n\"ZA\",\"TID_SOUTH_AFRICA\",\"South Africa\",\"TRUE\",\"TRUE\"\n\"KR\",\"TID_SOUTH_KOREA\",\"South Korea\",\"TRUE\",\"TRUE\"\n\"SS\",\"TID_SOUTH_SUDAN\",\"South Sudan\",\"TRUE\",\"TRUE\"\n\"ES\",\"TID_SPAIN\",\"Spain\",\"TRUE\",\"TRUE\"\n\"LK\",\"TID_SRI_LANKA\",\"Sri Lanka\",\"TRUE\",\"TRUE\"\n\"VC\",\"TID_ST_VINCENT_GRENADINES\",\"St. Vincent & Grenadines\",\"TRUE\",\"TRUE\"\n\"SD\",\"TID_SUDAN\",\"Sudan\",\"TRUE\",\"TRUE\"\n\"SR\",\"TID_SURINAME\",\"Suriname\",\"TRUE\",\"TRUE\"\n\"SJ\",\"TID_SVALBARD_AND_JAN_MAYEN\",\"Svalbard and Jan Mayen\",\"TRUE\",\"TRUE\"\n\"SZ\",\"TID_SWAZILAND\",\"Swaziland\",\"TRUE\",\"TRUE\"\n\"SE\",\"TID_SWEDEN\",\"Sweden\",\"TRUE\",\"TRUE\"\n\"CH\",\"TID_SWITZERLAND\",\"Switzerland\",\"TRUE\",\"TRUE\"\n\"SY\",\"TID_SYRIA\",\"Syria\",\"TRUE\",\"TRUE\"\n\"TW\",\"TID_TAIWAN\",\"Taiwan\",\"TRUE\",\"TRUE\"\n\"TJ\",\"TID_TAJIKISTAN\",\"Tajikistan\",\"TRUE\",\"TRUE\"\n\"TZ\",\"TID_TANZANIA\",\"Tanzania\",\"TRUE\",\"TRUE\"\n\"TH\",\"TID_THAILAND\",\"Thailand\",\"TRUE\",\"TRUE\"\n\"TL\",\"TID_TIMOR-LESTE\",\"Timor-Leste\",\"TRUE\",\"TRUE\"\n\"TG\",\"TID_TOGO\",\"Togo\",\"TRUE\",\"TRUE\"\n\"TK\",\"TID_TOKELAU\",\"Tokelau\",\"TRUE\",\"TRUE\"\n\"TO\",\"TID_TONGA\",\"Tonga\",\"TRUE\",\"TRUE\"\n\"TT\",\"TID_TRINIDAD_AND_TOBAGO\",\"Trinidad and Tobago\",\"TRUE\",\"TRUE\"\n\"TA\",\"TID_TRISTAN_DA_CUNHA\",\"Tristan da Cunha\",\"TRUE\",\"TRUE\"\n\"TN\",\"TID_TUNISIA\",\"Tunisia\",\"TRUE\",\"TRUE\"\n\"TR\",\"TID_TURKEY\",\"Turkey\",\"TRUE\",\"TRUE\"\n\"TM\",\"TID_TURKMENISTAN\",\"Turkmenistan\",\"TRUE\",\"TRUE\"\n\"TC\",\"TID_TURKS_AND_CAICOS_ISLANDS\",\"Turks and Caicos Islands\",\"TRUE\",\"TRUE\"\n\"TV\",\"TID_TUVALU\",\"Tuvalu\",\"TRUE\",\"TRUE\"\n\"UM\",\"TID_US_OUTLYING_ISLANDS\",\"U.S. Outlying Islands\",\"TRUE\",\"TRUE\"\n\"VI\",\"TID_US_VIRGIN_ISLANDS\",\"U.S. Virgin Islands\",\"TRUE\",\"TRUE\"\n\"UG\",\"TID_UGANDA\",\"Uganda\",\"TRUE\",\"TRUE\"\n\"UA\",\"TID_UKRAINE\",\"Ukraine\",\"TRUE\",\"TRUE\"\n\"AE\",\"TID_UNITED_ARAB_EMIRATES\",\"United Arab Emirates\",\"TRUE\",\"TRUE\"\n\"GB\",\"TID_UNITED_KINGDOM\",\"United Kingdom\",\"TRUE\",\"TRUE\"\n\"US\",\"TID_UNITED_STATES\",\"United States\",\"TRUE\",\"TRUE\"\n\"UY\",\"TID_URUGUAY\",\"Uruguay\",\"TRUE\",\"TRUE\"\n\"UZ\",\"TID_UZBEKISTAN\",\"Uzbekistan\",\"TRUE\",\"TRUE\"\n\"VU\",\"TID_VANUATU\",\"Vanuatu\",\"TRUE\",\"TRUE\"\n\"VA\",\"TID_VATICAN_CITY\",\"Vatican City\",\"TRUE\",\"TRUE\"\n\"VE\",\"TID_VENEZUELA\",\"Venezuela\",\"TRUE\",\"TRUE\"\n\"VN\",\"TID_VIETNAM\",\"Vietnam\",\"TRUE\",\"TRUE\"\n\"WF\",\"TID_WALLIS_AND_FUTUNA\",\"Wallis and Futuna\",\"TRUE\",\"TRUE\"\n\"EH\",\"TID_WESTERN_SAHARA\",\"Western Sahara\",\"TRUE\",\"TRUE\"\n\"YE\",\"TID_YEMEN\",\"Yemen\",\"TRUE\",\"TRUE\"\n\"ZM\",\"TID_ZAMBIA\",\"Zambia\",\"TRUE\",\"TRUE\"\n\"ZW\",\"TID_ZIMBABWE\",\"Zimbabwe\",\"TRUE\",\"TRUE\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/resource_packs.csv",
    "content": "\"Name\",\"TID\",\"Resource\",\"Amount\",\"IconFile\"\n\"String\",\"String\",\"String\",\"int\",\"string\"\n\"Gold1\",\"TID_RESOURCE_PACK_GOLD_SMALL\",\"Gold\",1000,\"shop_gold01\"\n\"Gold2\",\"TID_RESOURCE_PACK_GOLD_MEDIUM\",\"Gold\",10000,\"shop_gold02\"\n\"Gold3\",\"TID_RESOURCE_PACK_GOLD_BIG\",\"Gold\",100000,\"shop_gold03\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/resources.csv",
    "content": "\"Name\",\"TID\",\"IconSWF\",\"UsedInBattle\",\"CollectEffect\",\"IconExportName\",\"PremiumCurrency\",\"CapFullTID\",\"TextRed\",\"TextGreen\",\"TextBlue\",\"Cap\",\"IconFile\",\"ShopIcon\"\n\"String\",\"String\",\"String\",\"boolean\",\"String\",\"String\",\"Boolean\",\"String\",\"int\",\"int\",\"int\",\"int\",\"string\",\"string\"\n\"Diamonds\",\"TID_DIAMONDS\",\"sc/ui.sc\",\"FALSE\",,\"icon_gems\",\"TRUE\",,102,255,102,,\"gems\",\"icon_gems\"\n\"Gold\",\"TID_GOLD\",\"sc/ui.sc\",\"TRUE\",\"Collect Gold\",\"icon_gold\",,\"TID_GOLD_CAP_FULL\",255,240,72,1000000,\"gold\",\"icon_gold\"\n\"ChestOrderIndex\",,,\"TRUE\",,,,,,,,,,\n\"ChestCount\",,,\"TRUE\",,,,,,,,,,\n\"StarCount\",,,\"TRUE\",,,,,,,,,,\n\"FreeGold\",\"TID_GOLD\",\"sc/ui.sc\",\"FALSE\",\"Collect Gold\",\"icon_gold\",,,255,240,72,1000000,\"gold\",\"icon_gold\"\n\"MaxScore\",,,\"TRUE\",,,,,,,,,,\n\"ThreeCrownWins\",,,\"TRUE\",,,,,,,,,,\n\"CardCount\",,,\"FALSE\",,,,,,,,,,\n\"FavouriteSpell\",,,\"FALSE\",,,,,,,,,,\n\"DonationsTotal\",,,\"FALSE\",,,,,,,,,,\n\"LastTournamentId\",,,\"TRUE\",,,,,,,,,,\n\"SuperChestIndex\",,,\"TRUE\",,,,,,,,,,\n\"BattleRewardGold\",,,\"TRUE\",,,,,,,,,,\n\"BattleRewardCount\",,,\"TRUE\",,,,,,,,,,\n\"LegendaryChestIndex\",,,\"TRUE\",,,,,,,,,,\n\"ShopDayCount\",,,\"FALSE\",,,,,,,,,,\n\"SpecialOfferLegendaryIndex\",,,\"FALSE\",,,,,,,,,,\n\"SpecialOfferEpicIndex\",,,\"FALSE\",,,,,,,,,,\n\"SpecialOfferStarterPackIndex\",,,\"FALSE\",,,,,,,,,,\n\"SurvivalMaxWins\",,,\"TRUE\",,,,,,,,,,\n\"SurvivalCardsWon\",,,\"FALSE\",,,,,,,,,,\n\"EpicChestIndex\",,,\"TRUE\",,,,,,,,,,\n\"RefundAchievementCreateGameroom\",,,\"FALSE\",,,,,,,,,,\n\"ProductRedPurchaseCount\",,,\"TRUE\",,,,,,,,,,\n\"BlindDeckSeed\",,,\"TRUE\",,,,,,,,,,\n\"BlindDeckIndex\",,,\"TRUE\",,,,,,,,,,\n\"MaxArena\",,,\"TRUE\",,,,,,,,,,\n\"ClanStarCount\",,,\"TRUE\",,,,,,,,,,\n\"LastBattleGameMode\",,,\"TRUE\",,,,,,,,,,\n\"CurrentKingSkin\",,,\"TRUE\",,,,,,,,,,\n\"QuestPoints\",,,\"FALSE\",,,,,,,,,,\n\"CurrentPrincessSkin\",,,\"TRUE\",,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/shop.csv",
    "content": "\"Name\",\"Category\",\"TID\",\"Rarity\",\"Disabled\",\"Resource\",\"Cost\",\"Count\",\"CycleDuration\",\"CycleDeadzoneStart\",\"CycleDeadzoneEnd\",\"TopSection\",\"SpecialOffer\",\"DurationSecs\",\"AvailabilitySecs\",\"SyncToShopCycle\",\"Chest\",\"TrophyLimit\",\"IAP\",\"StarterPack_Item0_Type\",\"StarterPack_Item0_ID\",\"StarterPack_Item0_Param1\",\"StarterPack_Item1_Type\",\"StarterPack_Item1_ID\",\"StarterPack_Item1_Param1\",\"StarterPack_Item2_Type\",\"StarterPack_Item2_ID\",\"StarterPack_Item2_Param1\",\"ValueMultiplier\",\"AppendArenaToChestName\",\"TiedToArenaUnlock\",\"RepeatPurchaseGemPackOverride\",\"EventName\",\"CostAdjustBasedOnChestContents\",\"IsChronosOffer\"\n\"String\",\"String\",\"String\",\"String\",\"boolean\",\"String\",\"int\",\"int\",\"int\",\"int\",\"int\",\"boolean\",\"boolean\",\"int\",\"int\",\"boolean\",\"String\",\"int\",\"String\",\"String\",\"String\",\"int\",\"String\",\"String\",\"int\",\"String\",\"String\",\"int\",\"int\",\"boolean\",\"String\",\"String\",\"String\",\"boolean\",\"boolean\"\n\"SecretLegendary\",\"SecretLegendary\",\"TID_SHOP_SECRET_LEGENDARY\",,,\"Diamonds\",500,,21,7,,,\"TRUE\",,,,\"Legendary\",1400,,,,,,,,,,,,,,,,,\n\"SecretEpic\",\"SecretEpic\",\"TID_SHOP_SECRET_EPIC\",,,\"Gold\",10000,,14,,3,,\"TRUE\",,,,\"Epic\",1000,,,,,,,,,,,,\"TRUE\",,,,\"TRUE\",\n\"Spell\",\"Spell\",,,,,,,,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,\n\"Chest\",\"Chest\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ResourceGold\",\"Gold\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ResourceDiamond\",\"Diamond\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED9\",\"NOTINUSE\",,\"Common\",,\"Diamonds\",100,400,,,,\"TRUE\",,259200,86400,\"TRUE\",,,,,,,,,,,,,,,,,,,\n\"REMOVED10\",\"NOTINUSE\",,\"Rare\",,\"Diamonds\",150,100,,,,\"TRUE\",,259200,86400,\"TRUE\",,,,,,,,,,,,,,,,,,,\n\"REMOVED11\",\"NOTINUSE\",,\"Epic\",,\"Diamonds\",400,10,,,,\"TRUE\",,259200,86400,\"TRUE\",,,,,,,,,,,,,,,,,,,\n\"StarterPackArena3\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_3\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,800,\"com.supercell.scroll.consumablestarterpack0\",\"Chest\",\"Giant_Arena3\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"ResourceGold\",\"Gold1\",,5,,,,,,\n\"StarterPackArena4\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_4\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,1100,\"com.supercell.scroll.consumablestarterpack1\",\"Chest\",\"Magic_Arena4\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"ResourceGold\",\"Gold1\",,8,,,,,,\n\"StarterPackArena5\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_5\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,1400,\"com.supercell.scroll.consumablestarterpack2\",\"Chest\",\"Super_Arena5\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack0\",,\"ResourceGold\",\"Gold1\",,7,,,,,,\n\"StarterPackArena6\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_6\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,1700,\"com.supercell.scroll.consumablestarterpack3\",\"Chest\",\"Magic_Arena6\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack0\",,\"ResourceGold\",\"Gold2\",,3,,,,,,\n\"StarterPackArena7\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_7\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,2000,\"com.supercell.scroll.consumablestarterpack4\",\"Chest\",\"Super_Arena7\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"ResourceGold\",\"Gold2\",,4,,,,,,\n\"StarterPackArena8\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_8\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,2300,\"com.supercell.scroll.consumablestarterpack5\",\"Chest\",\"Magic_Arena8\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"ResourceGold\",\"Gold3\",,5,,,,,,\n\"StarterPackArenaL\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_L\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,3000,\"com.supercell.scroll.consumablestarterpack6\",\"Chest\",\"Legendary\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"ResourceGold\",\"Gold3\",,5,,,,,,\n\"Red\",\"Red\",,,,,,,,,,,,,,,,,\"com.supercell.scroll.red\",\"ResourceDiamond\",\"com.supercell.scroll.gempack0\",,,,,,,,,,,,,,\n\"RumbleBundle0\",\"Rumble\",\"TID_SHOP_RUMBLE_0\",,,,,,,,,,,,,,,,\"com.supercell.scroll.rumblebundle0\",\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"Chest\",\"Magic_\",,,,,,,,,\"RumbleShop\",,\n\"RumbleBundle1\",\"Rumble\",\"TID_SHOP_RUMBLE_1\",,,,,,,,,,,,,,,,\"com.supercell.scroll.rumblebundle1\",\"ResourceDiamond\",\"com.supercell.scroll.gempack0\",,\"ResourceGold\",\"Gold2\",,,,,,,,,\"RumbleShop\",,\n\"RumbleBundle2\",\"Rumble\",\"TID_SHOP_RUMBLE_2\",,,,,,,,,,,,,,,,\"com.supercell.scroll.rumblebundle2\",\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"Chest\",\"Super_\",,,,,,,,,\"RumbleShop\",,\n\"REMOVED1\",\"NOTINUSE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED2\",\"NOTINUSE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED3\",\"NOTINUSE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED4\",\"NOTINUSE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED5\",\"NOTINUSE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"REMOVED6\",\"NOTINUSE\",,\"Common\",,\"Gold\",1000,100,,,,\"TRUE\",,86400,86400,\"TRUE\",,1100,,,,,,,,,,,,,,,,,\n\"REMOVED7\",\"NOTINUSE\",,\"Rare\",,\"Gold\",3000,30,,,,\"TRUE\",,86400,86400,\"TRUE\",,1100,,,,,,,,,,,,,,,,,\n\"REMOVED8\",\"NOTINUSE\",,\"Epic\",,\"Gold\",5000,5,,,,\"TRUE\",,86400,86400,\"TRUE\",,1100,,,,,,,,,,,,,,,,,\n\"StarterPackArena9\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_9\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,2600,\"com.supercell.scroll.consumablestarterpack7\",\"Chest\",\"Super_Arena9\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"ResourceGold\",\"Gold2\",,4,,\"Arena9\",,,,\n\"HolidayBundle0\",\"Rumble\",\"TID_SHOP_HOLIDAY_0\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumableholidaypack0\",\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"Chest\",\"Giant_\",,,,,2,,,\"com.supercell.scroll.gempack0\",\"HolidayBundle\",,\n\"HolidayBundle1\",\"Rumble\",\"TID_SHOP_HOLIDAY_1\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumableholidaypack1\",\"ResourceDiamond\",\"com.supercell.scroll.gempack2\",,\"Chest\",\"Magic_\",,,,,3,,,\"com.supercell.scroll.gempack1\",\"HolidayBundle\",,\n\"HolidayBundle2\",\"Rumble\",\"TID_SHOP_HOLIDAY_2\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumableholidaypack2\",\"ResourceDiamond\",\"com.supercell.scroll.gempack3\",,\"Chest\",\"Super_\",,,,,4,,,\"com.supercell.scroll.gempack2\",\"HolidayBundle\",,\n\"ChineseNewYearBundle0\",\"Rumble\",\"TID_SHOP_RUMBLE_1\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumablechinesenewyear0\",\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"ResourceGold\",\"Gold2\",,,,,,,,\"com.supercell.scroll.gempack5\",\"ChineseNewYearBundle\",,\n\"ChineseNewYearBundle1\",\"Rumble\",\"TID_SHOP_RUMBLE_0\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumablechinesenewyear1\",\"ResourceDiamond\",\"com.supercell.scroll.gempack0\",,\"Chest\",\"Magic_\",,,,,,,,\"com.supercell.scroll.gempack0\",\"ChineseNewYearBundle\",,\n\"ChineseNewYearBundle2\",\"Rumble\",\"TID_SHOP_RUMBLE_2\",,,,,,,,,,,,,,,,\"com.supercell.scroll.consumablechinesenewyear2\",\"ResourceDiamond\",\"com.supercell.scroll.gempack1\",,\"Chest\",\"Super_\",,,,,,,,\"com.supercell.scroll.gempack1\",\"ChineseNewYearBundle\",,\n\"ChronosOffer_1\",\"Chronos\",\"TID_SPECIAL_OFFER_1\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier1\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_2\",\"Chronos\",\"TID_SPECIAL_OFFER_2\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier2\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_3\",\"Chronos\",\"TID_SPECIAL_OFFER_3\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier3\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_4\",\"Chronos\",\"TID_SPECIAL_OFFER_4\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier4\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_5\",\"Chronos\",\"TID_SPECIAL_OFFER_5\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier5\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_6\",\"Chronos\",\"TID_SPECIAL_OFFER_6\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier6\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_7\",\"Chronos\",\"TID_SPECIAL_OFFER_7\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier7\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_8\",\"Chronos\",\"TID_SPECIAL_OFFER_8\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier8\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_9\",\"Chronos\",\"TID_SPECIAL_OFFER_9\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier9\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_10\",\"Chronos\",\"TID_SPECIAL_OFFER_10\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier10\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_15\",\"Chronos\",\"TID_SPECIAL_OFFER_15\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier15\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_20\",\"Chronos\",\"TID_SPECIAL_OFFER_20\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier20\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_50\",\"Chronos\",\"TID_SPECIAL_OFFER_50\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier50\",,,,,,,,,,,,,,,,\"TRUE\"\n\"ChronosOffer_60\",\"Chronos\",\"TID_SPECIAL_OFFER_60\",,,,,,,,,,,,,,,,\"com.supercell.scroll.specialoffertier60\",,,,,,,,,,,,,,,,\"TRUE\"\n\"StarterPackArenaT\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_T\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,3800,\"com.supercell.scroll.consumablestarterpack8\",\"Chest\",\"Draft_StarterPack_T\",,\"ResourceGold\",\"Gold3\",,,,,4,,,\"com.supercell.scroll.gempack2\",,,\n\"StarterPackArena1\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_1\",,TRUE,\"IAP\",,,10,3,2,,\"TRUE\",,,,,100,\"com.supercell.scroll.consumablestarterpack9\",\"Chest\",\"Magic_Arena1\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"ResourceGold\",\"Gold1\",,5,,,,,,\n\"StarterPackArena2\",\"StarterPack\",\"TID_SHOP_STARTER_PACK_ARENA_2\",,,\"IAP\",,,10,3,2,,\"TRUE\",,,,,400,\"com.supercell.scroll.consumablestarterpack10\",\"Chest\",\"Magic_Arena2\",,\"ResourceDiamond\",\"com.supercell.scroll.gempack5\",,\"ResourceGold\",\"Gold1\",,6,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/skins.csv",
    "content": "\"Name\",\"FileName\",\"ExportName\",\"ExportNameRed\",\"TopExportName\",\"TopExportNameRed\",\"Category\",\"ValueGems\",\"TID\",\"IconSWF\",\"IconExportName\",\"IsInUse\",\"Type\"\n\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"String\",\"String\",\"String\",\"boolean\",\"String\"\n\"KingDefault\",\"sc/building_tower.sc\",\"KingTower_blue\",\"KingTower_red\",,,,0,\"TID_SKIN_DEFAULT\",\"sc/ui.sc\",\"tower_asset_anim\",\"TRUE\",\"King\"\n\"PrincessDefault\",\"sc/building_tower.sc\",\"StarTower_base_blue\",\"StarTower_base_red\",\"StarTower_top_blue\",\"StarTower_top_red\",,0,\"TID_SKIN_DEFAULT\",\"sc/ui.sc\",\"tower_asset_anim\",\"TRUE\",\"Princess\"\n\"PrincessGold\",\"sc/building_tower.sc\",\"princesstower_goldrush_01\",\"princesstower_goldrush_02\",\"princesstower_goldrush_01_top\",\"princesstower_goldrush_02_top\",,0,\"TID_SKIN_DEFAULT\",\"sc/ui.sc\",\"tower_asset_anim\",\"TRUE\",\"Princess\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/spell_sets.csv",
    "content": "\"Name\",\"Spells\"\n\"String\",\"String\"\n\"SetRandomRangedSupport\",\"Princess\"\n,\"IceWizard\"\n,\"Archer\"\n,\"Musketeer\"\n\"SetRandomDirectDamageSpell\",\"Arrows\"\n,\"Zap\"\n,\"Poison\"\n,\"Fireball\"\n\"SetRandomCheapUnit\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"IceGolemite\"\n\"SetRandomAttackCard1\",\"Xbow\"\n,\"Golem\"\n,\"RoyalGiant\"\n,\"HogRider\"\n,\"Prince\"\n,\"LavaHound\"\n,\"Pekka\"\n,\"Giant\"\n\"SetRandomAttackCard2\",\"HogRider\"\n,\"Miner\"\n,\"GoblinBarrel\"\n,\"RageBarbarian\"\n,\"MiniPekka\"\n,\"Bowler\"\n,\"Valkyrie\"\n\"SetRandom2to3Any\",\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"Zap\"\n,\"Rage\"\n,\"Log\"\n,\"IceGolemite\"\n,\"Archer\"\n,\"Minions\"\n,\"Knight\"\n,\"Arrows\"\n,\"Bomber\"\n,\"Cannon\"\n,\"SkeletonWarriors\"\n,\"GoblinBarrel\"\n,\"Tornado\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"MegaMinion\"\n,\"Tombstone\"\n\"SetRandom3to4Unit\",\"Archer\"\n,\"Minions\"\n,\"Knight\"\n,\"Arrows\"\n,\"Bomber\"\n,\"SkeletonWarriors\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"MegaMinion\"\n,\"BabyDragon\"\n,\"DarkPrince\"\n,\"SkeletonArmy\"\n,\"InfernoDragon\"\n,\"RageBarbarian\"\n,\"Musketeer\"\n,\"MiniPekka\"\n,\"Valkyrie\"\n,\"HogRider\"\n\"SetRandom3to5Any\",\"Mirror\"\n,\"Archer\"\n,\"Minions\"\n,\"Knight\"\n,\"Arrows\"\n,\"Bomber\"\n,\"Cannon\"\n,\"SkeletonWarriors\"\n,\"GoblinBarrel\"\n,\"Tornado\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"MegaMinion\"\n,\"Mortar\"\n,\"Tombstone\"\n,\"Tesla\"\n,\"BabyDragon\"\n,\"Poison\"\n,\"DarkPrince\"\n,\"Freeze\"\n,\"SkeletonArmy\"\n,\"InfernoDragon\"\n,\"RageBarbarian\"\n,\"Musketeer\"\n,\"MiniPekka\"\n,\"Fireball\"\n,\"Valkyrie\"\n,\"HogRider\"\n,\"FirespiritHut\"\n,\"MinionHorde\"\n,\"Barbarians\"\n,\"Witch\"\n,\"Balloon\"\n,\"Bowler\"\n,\"Prince\"\n,\"Graveyard\"\n,\"Wizard\"\n,\"Giant\"\n,\"BombTower\"\n,\"InfernoTower\"\n,\"GoblinHut\"\n\"SetRandomAll\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Mirror\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"Zap\"\n,\"Rage\"\n,\"Log\"\n,\"IceGolemite\"\n,\"Archer\"\n,\"Minions\"\n,\"Knight\"\n,\"Arrows\"\n,\"Bomber\"\n,\"Cannon\"\n,\"SkeletonWarriors\"\n,\"GoblinBarrel\"\n,\"Tornado\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"MegaMinion\"\n,\"Tombstone\"\n,\"Tesla\"\n,\"Mortar\"\n,\"AngryBarbarians\"\n,\"BabyDragon\"\n,\"Poison\"\n,\"DarkPrince\"\n,\"Freeze\"\n,\"SkeletonArmy\"\n,\"InfernoDragon\"\n,\"RageBarbarian\"\n,\"Musketeer\"\n,\"MiniPekka\"\n,\"Fireball\"\n,\"Valkyrie\"\n,\"HogRider\"\n,\"FirespiritHut\"\n,\"MinionHorde\"\n,\"Barbarians\"\n,\"Witch\"\n,\"Balloon\"\n,\"Bowler\"\n,\"Prince\"\n,\"Graveyard\"\n,\"Wizard\"\n,\"Giant\"\n,\"BombTower\"\n,\"InfernoTower\"\n,\"GoblinHut\"\n,\"RoyalGiant\"\n,\"GiantSkeleton\"\n,\"Lightning\"\n,\"Xbow\"\n,\"ZapMachine\"\n,\"Rocket\"\n,\"Elixir Collector\"\n,\"Pekka\"\n,\"LavaHound\"\n,\"BarbarianHut\"\n,\"Golem\"\n,\"ThreeMusketeers\"\n\"SetFixedBuildingDefense\",\"Cannon\"\n,\"InfernoTower\"\n,\"Tesla\"\n,\"Tombstone\"\n\"SetFixedBuildingHut\",\"GoblinHut\"\n,\"FirespiritHut\"\n\"SetFixedCheapUnit\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n\"SetFixedSpirit\",\"FireSpirits\"\n,\"IceSpirits\"\n\"SetFixedTankUnit\",\"BabyDragon\"\n,\"Giant\"\n,\"Valkyrie\"\n\"SetFixedHeavyAttack\",\"RoyalGiant\"\n,\"HogRider\"\n\"SetFixedHeavySupport\",\"ZapMachine\"\n,\"Bowler\"\n,\"ThreeMusketeers\"\n\"SetFixedFlyingHeavy\",\"InfernoDragon\"\n,\"LavaHound\"\n\"SetFixedFlyingSupport\",\"BabyDragon\"\n,\"MegaMinion\"\n,\"MinionHorde\"\n\"SetFixedRangedSupport\",\"Princess\"\n,\"IceWizard\"\n,\"Archer\"\n,\"Musketeer\"\n,\"Wizard\"\n,\"Witch\"\n\"SetFixedDamageSpellLow\",\"Arrows\"\n,\"Zap\"\n,\"Log\"\n\"SetFixedDamageSpellMid\",\"Poison\"\n,\"Fireball\"\n\"SetFixedDamageSpellBig\",\"Rocket\"\n,\"Lightning\"\n\"SetFixedMidSupport\",\"Barbarians\"\n,\"Valkyrie\"\n,\"Bowler\"\n,\"DarkPrince\"\n,\"MiniPekka\"\n\"SetFixedSwarm\",\"SkeletonArmy\"\n,\"SkeletonWarriors\"\n\"SetFixedCheapFlying\",\"Minions\"\n,\"MegaMinion\"\n\"Draft_TankUnit\",\"IceGolemite\"\n,\"Giant\"\n,\"GiantSkeleton\"\n,\"Knight\"\n,\"RoyalGiant\"\n,\"Pekka\"\n,\"Golem\"\n,\"Valkyrie\"\n,\"BabyDragon\"\n\"Draft_Legendary\",\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"InfernoDragon\"\n,\"RageBarbarian\"\n,\"ElectroWizard\"\n,\"Graveyard\"\n,\"ZapMachine\"\n,\"LavaHound\"\n,\"Assassin\"\n,\"DarkWitch\"\n\"Draft_AntiAir\",\"Musketeer\"\n,\"Archer\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Wizard\"\n,\"Witch\"\n,\"ElectroWizard\"\n,\"AxeMan\"\n,\"BlowdartGoblin\"\n\"Draft_DamageSpell\",\"Arrows\"\n,\"Zap\"\n,\"Log\"\n,\"Poison\"\n,\"Fireball\"\n,\"Rocket\"\n,\"Lightning\"\n\"Draft_CheapDudes\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"IceGolemite\"\n,\"SkeletonArmy\"\n,\"SkeletonWarriors\"\n,\"Minions\"\n,\"GoblinGang\"\n\"Draft_Buildings\",\"Cannon\"\n,\"InfernoTower\"\n,\"BombTower\"\n,\"Tesla\"\n,\"Tombstone\"\n,\"Mortar\"\n,\"Xbow\"\n,\"GoblinHut\"\n,\"BarbarianHut\"\n,\"FirespiritHut\"\n\"Draft_Aggressive\",\"Miner\"\n,\"Balloon\"\n,\"RoyalGiant\"\n,\"HogRider\"\n,\"Prince\"\n,\"RageBarbarian\"\n,\"MiniPekka\"\n,\"GoblinBarrel\"\n,\"BattleRam\"\n,\"Assassin\"\n,\"AngryBarbarians\"\n\"Draft_CoolStuff\",\"Bowler\"\n,\"Freeze\"\n,\"Graveyard\"\n,\"RageBarbarian\"\n,\"Rage\"\n,\"Tornado\"\n,\"Clone\"\n,\"GoblinBarrel\"\n,\"Miner\"\n,\"ThreeMusketeers\"\n,\"Elixir Collector\"\n,\"Mirror\"\n,\"Assassin\"\n,\"Heal\"\n\"Draft_3costUnit\",\"MegaMinion\"\n,\"Archer\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Minions\"\n,\"Knight\"\n,\"Miner\"\n,\"Arrows\"\n,\"SkeletonWarriors\"\n,\"Bomber\"\n,\"GoblinBarrel\"\n,\"SkeletonArmy\"\n,\"Assassin\"\n,\"GoblinGang\"\n,\"BlowdartGoblin\"\n\"Draft_4costUnit\",\"InfernoDragon\"\n,\"Musketeer\"\n,\"RageBarbarian\"\n,\"MiniPekka\"\n,\"BabyDragon\"\n,\"DarkPrince\"\n,\"Valkyrie\"\n,\"HogRider\"\n,\"AngryBarbarians\"\n,\"ElectroWizard\"\n,\"BattleRam\"\n,\"DarkWitch\"\n\"Draft_5costUnit\",\"Witch\"\n,\"Wizard\"\n,\"MinionHorde\"\n,\"Barbarians\"\n,\"Balloon\"\n,\"Bowler\"\n,\"Prince\"\n,\"Giant\"\n,\"AxeMan\"\n\"Draft_AllRandom\",\"*\"\n\"Draft_CheapCards\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"IceGolemite\"\n,\"Zap\"\n,\"Log\"\n\"Event_Retro\",\"Knight\"\n,\"Archer\"\n,\"Goblins\"\n,\"Giant\"\n,\"Pekka\"\n,\"Minions\"\n,\"Balloon\"\n,\"Witch\"\n,\"Barbarians\"\n,\"Golem\"\n,\"Skeletons\"\n,\"Valkyrie\"\n,\"SkeletonArmy\"\n,\"Bomber\"\n,\"Musketeer\"\n,\"BabyDragon\"\n,\"Prince\"\n,\"Wizard\"\n,\"MiniPekka\"\n,\"SpearGoblins\"\n,\"GiantSkeleton\"\n,\"HogRider\"\n,\"MinionHorde\"\n,\"Cannon\"\n,\"GoblinHut\"\n,\"Mortar\"\n,\"InfernoTower\"\n,\"BombTower\"\n,\"BarbarianHut\"\n,\"Tesla\"\n,\"Elixir Collector\"\n,\"Xbow\"\n,\"Tombstone\"\n,\"Fireball\"\n,\"Arrows\"\n,\"Rage\"\n,\"Rocket\"\n,\"GoblinBarrel\"\n,\"Freeze\"\n,\"Mirror\"\n,\"Lightning\"\n,\"Zap\"\n\"Draft_AntiAir2\",\"IceSpirits\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"Archer\"\n,\"BlowdartGoblin\"\n,\"Princess\"\n\"Draft_MainAttack\",\"Miner\"\n,\"RoyalGiant\"\n,\"HogRider\"\n,\"Giant\"\n,\"LavaHound\"\n,\"Balloon\"\n,\"Graveyard\"\n,\"GoblinBarrel\"\n,\"Golem\"\n\"TEST_Draft_All_live_cards\",\"Skeletons\"\n,\"IceSpirits\"\n,\"Mirror\"\n,\"Goblins\"\n,\"SpearGoblins\"\n,\"FireSpirits\"\n,\"Zap\"\n,\"Rage\"\n,\"Log\"\n,\"IceGolemite\"\n,\"Archer\"\n,\"Minions\"\n,\"Knight\"\n,\"Arrows\"\n,\"Bomber\"\n,\"Cannon\"\n,\"SkeletonWarriors\"\n,\"GoblinBarrel\"\n,\"BlowdartGoblin\"\n,\"Tornado\"\n,\"Clone\"\n,\"Princess\"\n,\"IceWizard\"\n,\"Miner\"\n,\"MegaMinion\"\n,\"Tombstone\"\n,\"GoblinGang\"\n,\"Tesla\"\n,\"Mortar\"\n,\"AngryBarbarians\"\n,\"BabyDragon\"\n,\"Poison\"\n,\"DarkPrince\"\n,\"Freeze\"\n,\"SkeletonArmy\"\n,\"InfernoDragon\"\n,\"RageBarbarian\"\n,\"ElectroWizard\"\n,\"Musketeer\"\n,\"MiniPekka\"\n,\"Fireball\"\n,\"Valkyrie\"\n,\"HogRider\"\n,\"FirespiritHut\"\n,\"MinionHorde\"\n,\"Barbarians\"\n,\"Witch\"\n,\"Balloon\"\n,\"Bowler\"\n,\"Prince\"\n,\"Graveyard\"\n,\"Wizard\"\n,\"Giant\"\n,\"BombTower\"\n,\"InfernoTower\"\n,\"GoblinHut\"\n,\"RoyalGiant\"\n,\"GiantSkeleton\"\n,\"Lightning\"\n,\"Xbow\"\n,\"ZapMachine\"\n,\"Rocket\"\n,\"Elixir Collector\"\n,\"Pekka\"\n,\"LavaHound\"\n,\"BarbarianHut\"\n,\"Golem\"\n,\"ThreeMusketeers\"\n,\"AxeMan\"\n,\"Assassin\"\n,\"BattleRam\"\n,\"Heal\"\n,\"DarkWitch\"\n\"TEST_Draft_New_cards\",\"MovingCannon\"\n,\"MegaKnight\"\n,\"SkeletonBalloon\"\n,\"DartBarrell\"\n\"TEST_Draft_New_cards_daily\",\"MovingCannon\"\n,\"MegaKnight\"\n,\"SkeletonBalloon\"\n,\"DartBarrell\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/spells_buildings.csv",
    "content": "\"Name\",\"IconFile\",\"UnlockArena\",\"Rarity\",\"ManaCost\",\"ManaCostFromSummonerMana\",\"NotInUse\",\"Mirror\",\"CustomDeployTime\",\"SummonCharacter\",\"SummonNumber\",\"SummonCharacterLevelIndex\",\"SummonCharacterSecond\",\"SummonCharacterSecondCount\",\"SummonRadius\",\"Radius\",\"Height\",\"Projectile\",\"SpellAsDeploy\",\"CanPlaceOnBuildings\",\"InstantDamage\",\"DurationSeconds\",\"InstantHeal\",\"HealPerSecond\",\"Effect\",\"Pushback\",\"MultipleProjectiles\",\"CustomFirstProjectile\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"BuffNumber\",\"BuffType\",\"BuffOnDamage\",\"OnlyOwnTroops\",\"OnlyEnemies\",\"CanDeployOnEnemySide\",\"CastSound\",\"AreaEffectObject\",\"TID\",\"TID_INFO\",\"IndicatorEffect\",\"HideRadiusIndicator\",\"DestIndicatorEffect\",\"ReleaseDate\",\"ElixirProductionStopTime\",\"DarkMirror\",\"StatsUnderInfo\"\n\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"boolean\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"String\",\"boolean\",\"String\",\"String\",\"int\",\"boolean\",\"boolean\"\n\"Cannon\",\"chaos_cannon\",\"Arena3\",\"Common\",3,,,,,\"Cannon\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_CANNON\",\"TID_SPELL_INFO_CANNON\",,,,,,,\n\"GoblinHut\",\"fire_furnace\",\"Arena1\",\"Rare\",5,,,,,\"GoblinHut\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_GOBLIN_HUT\",\"TID_SPELL_INFO_GOBLIN_HUT\",,,,,,,\n\"Mortar\",\"building_mortar\",\"Arena6\",\"Common\",4,,,,,\"Mortar\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_MORTAR\",\"TID_SPELL_INFO_MORTAR\",,,,,,,\n\"InfernoTower\",\"building_inferno\",\"Arena4\",\"Rare\",5,,,,,\"InfernoTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_INFERNO\",\"TID_SPELL_INFO_INFERNO\",,,,,,,\n\"BombTower\",\"bomb_tower\",\"Arena2\",\"Rare\",5,,,,,\"BombTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_BOMB_TOWER\",\"TID_SPELL_INFO_BOMB_TOWER\",,,,,,,\n\"BarbarianHut\",\"barbarian_hut\",\"Arena3\",\"Rare\",7,,,,,\"BarbarianHut\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_BARBARIAN_HUT\",\"TID_SPELL_INFO_BARBARIAN_HUT\",,,,,,,\n\"Tesla\",\"building_tesla\",\"Arena4\",\"Common\",4,,,,,\"Tesla\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_TESLA\",\"TID_SPELL_INFO_TESLA\",,,,,,,\n\"Elixir Collector\",\"building_elixir_collector\",\"Arena6\",\"Rare\",6,,,,,\"ElixirCollector\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_ELIXIR_COLLECTOR\",\"TID_SPELL_INFO_ELIXIR_COLLECTOR\",,,,,,,\n\"Xbow\",\"building_xbow\",\"Arena3\",\"Epic\",6,,,,,\"Xbow\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_XBOW\",\"TID_SPELL_INFO_XBOW\",,,,,,,\n\"Tombstone\",\"tombstone\",\"Arena2\",\"Rare\",3,,,,,\"Tombstone\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_TOMBSTONE\",\"TID_SPELL_INFO_TOMBSTONE\",,,,,,,\n\"FirespiritHut\",\"firespirit_hut\",\"Arena5\",\"Rare\",4,,,,,\"FirespiritHut\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_FIRE_SPIRIT_HUT\",\"TID_SPELL_INFO_FIRE_SPIRIT_HUT\",,,,,,,\n\"NOT_IN_USE_7\",\"not_in_use\",\"Arena3\",\"Common\",3,,\"TRUE\",,,\"Cannon\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_CANNON\",\"TID_SPELL_INFO_CANNON\",,,,,,,\n\"NOT_IN_USE_8\",\"not_in_use\",\"Arena3\",\"Common\",3,,\"TRUE\",,,\"Cannon\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_CANNON\",\"TID_SPELL_INFO_CANNON\",,,,,,,\n\"NOT_IN_USE_6\",\"not_in_use\",\"Arena3\",\"Common\",3,,\"TRUE\",,,\"Cannon\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_CANNON\",\"TID_SPELL_INFO_CANNON\",,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/spells_characters.csv",
    "content": "\"Name\",\"IconFile\",\"UnlockArena\",\"Rarity\",\"ManaCost\",\"ManaCostFromSummonerMana\",\"NotInUse\",\"Mirror\",\"CustomDeployTime\",\"SummonCharacter\",\"SummonNumber\",\"SummonCharacterLevelIndex\",\"SummonCharacterSecond\",\"SummonCharacterSecondCount\",\"SummonRadius\",\"Radius\",\"Height\",\"Projectile\",\"SpellAsDeploy\",\"CanPlaceOnBuildings\",\"InstantDamage\",\"DurationSeconds\",\"InstantHeal\",\"HealPerSecond\",\"Effect\",\"Pushback\",\"MultipleProjectiles\",\"CustomFirstProjectile\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"BuffNumber\",\"BuffType\",\"BuffOnDamage\",\"OnlyOwnTroops\",\"OnlyEnemies\",\"CanDeployOnEnemySide\",\"CastSound\",\"AreaEffectObject\",\"TID\",\"TID_INFO\",\"IndicatorEffect\",\"HideRadiusIndicator\",\"DestIndicatorEffect\",\"ReleaseDate\",\"ElixirProductionStopTime\",\"DarkMirror\",\"StatsUnderInfo\"\n\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"boolean\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"String\",\"boolean\",\"String\",\"String\",\"int\",\"boolean\",\"boolean\"\n\"Knight\",\"knight\",\"TrainingCamp\",\"Common\",3,,,,,\"Knight\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_KNIGHT\",\"TID_SPELL_INFO_KNIGHT\",,,,,,,\n\"Archer\",\"archers\",\"TrainingCamp\",\"Common\",3,,,,,\"Archer\",2,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ARCHERS\",\"TID_SPELL_INFO_ARCHERS\",,,,,,,\n\"Goblins\",\"goblins\",\"Arena1\",\"Common\",2,,,,,\"Goblin\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_GOBLINS\",\"TID_SPELL_INFO_GOBLINS\",,,,,,,\n\"Giant\",\"giant\",\"TrainingCamp\",\"Rare\",5,,,,,\"Giant\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_GIANT\",\"TID_SPELL_INFO_GIANT\",,,,,,,\n\"Pekka\",\"pekka\",\"Arena4\",\"Epic\",7,,,,,\"Pekka\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_PEKKA\",\"TID_SPELL_INFO_PEKKA\",,,,,,,\n\"Minions\",\"minion\",\"Arena2\",\"Common\",3,,,,,\"Minion\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MINIONS\",\"TID_SPELL_INFO_MINIONS\",,,,,,,\n\"Balloon\",\"chr_balloon\",\"Arena2\",\"Epic\",5,,,,,\"Balloon\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BALLOON\",\"TID_SPELL_INFO_BALLOON\",,,,,,,\n\"Witch\",\"chr_witch\",\"TrainingCamp\",\"Epic\",5,,,,,\"Witch\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_WITCH\",\"TID_SPELL_INFO_WITCH\",,,,,,,\n\"Barbarians\",\"barbarians\",\"Arena3\",\"Common\",5,,,,,\"Barbarian\",4,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BARBARIANS\",\"TID_SPELL_INFO_BARBARIANS\",,,,,,,\n\"Golem\",\"chr_golem\",\"Arena6\",\"Epic\",8,,,,,\"Golem\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_GOLEM\",\"TID_SPELL_INFO_GOLEM\",,,,,,,\n\"Skeletons\",\"skeletons\",\"Arena2\",\"Common\",1,,,,,\"Skeleton\",3,,,,700,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_SKELETONS\",\"TID_SPELL_INFO_SKELETONS\",,,,,,,\n\"Valkyrie\",\"valkyrie\",\"Arena1\",\"Rare\",4,,,,,\"Valkyrie\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_VALKYRIE\",\"TID_SPELL_INFO_VALKYRIE\",,,,,,,\n\"SkeletonArmy\",\"skeleton_horde\",\"TrainingCamp\",\"Epic\",3,,,,,\"Skeleton\",14,5,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_SKELETON_HORDE\",\"TID_SPELL_INFO_SKELETON_HORDE\",,,,,,,\"true\"\n\"Bomber\",\"bomber\",\"TrainingCamp\",\"Common\",3,,,,,\"Bomber\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BOMBER\",\"TID_SPELL_INFO_BOMBER\",,,,,,,\n\"Musketeer\",\"musketeer\",\"TrainingCamp\",\"Rare\",4,,,,,\"Musketeer\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MUSKETEER\",\"TID_SPELL_INFO_MUSKETEER\",,,,,,,\n\"BabyDragon\",\"baby_dragon\",\"TrainingCamp\",\"Epic\",4,,,,,\"BabyDragon\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BABY_DRAGON\",\"TID_SPELL_INFO_BABY_DRAGON\",,,,,,,\n\"Prince\",\"prince\",\"TrainingCamp\",\"Epic\",5,,,,,\"Prince\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_PRINCE\",\"TID_SPELL_INFO_PRINCE\",,,,,,,\n\"Wizard\",\"wizard\",\"Arena5\",\"Rare\",5,,,,,\"Wizard\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_WIZARD\",\"TID_SPELL_INFO_WIZARD\",,,,,,,\n\"MiniPekka\",\"mini_pekka\",\"TrainingCamp\",\"Rare\",4,,,,,\"MiniPekka\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_MINIPEKKA\",\"TID_SPELL_INFO_MINIPEKKA\",,,,,,,\n\"SpearGoblins\",\"goblin_archer\",\"Arena1\",\"Common\",2,,,,,\"SpearGoblin\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_SPEAR_GOBLINS\",\"TID_SPELL_INFO_SPEAR_GOBLINS\",,,,,,,\n\"GiantSkeleton\",\"giant_skeleton\",\"Arena2\",\"Epic\",6,,,,,\"GiantSkeleton\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_GIANT_SKELETON\",\"TID_SPELL_INFO_GIANT_SKELETON\",,,,,,,\n\"HogRider\",\"hog_rider\",\"Arena4\",\"Rare\",4,,,,,\"HogRider\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_HOG_RIDER\",\"TID_SPELL_INFO_HOG_RIDER\",,,,,,,\n\"MinionHorde\",\"minion_horde\",\"Arena4\",\"Common\",5,,,,,\"Minion\",6,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MINION_HORDE\",\"TID_SPELL_INFO_MINION_HORDE\",,,,,,,\n\"IceWizard\",\"ice_wizard\",\"Arena5\",\"Legendary\",3,,,,,\"IceWizard\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ICE_WIZARD\",\"TID_SPELL_INFO_ICE_WIZARD\",,,,,,,\n\"RoyalGiant\",\"royal_giant\",\"Arena7\",\"Common\",6,,,,,\"RoyalGiant\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ROYAL_GIANT\",\"TID_SPELL_INFO_ROYAL_GIANT\",,,,,,,\n\"SkeletonWarriors\",\"skeleton_warriors\",\"Arena7\",\"Epic\",3,,,,,\"SkeletonWarrior\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_SKELETON_WARRIORS\",\"TID_SPELL_INFO_SKELETON_WARRIORS\",,,,,,,\n\"Princess\",\"princess\",\"Arena7\",\"Legendary\",3,,,,,\"Princess\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_PRINCESS\",\"TID_SPELL_INFO_PRINCESS\",,,,,,,\n\"DarkPrince\",\"dark_prince\",\"Arena7\",\"Epic\",4,,,,,\"DarkPrince\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_DARK_PRINCE\",\"TID_SPELL_INFO_DARK_PRINCE\",,,,,,,\n\"ThreeMusketeers\",\"three_musketeers\",\"Arena7\",\"Rare\",9,,,,,\"Musketeer\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_THREE_MUSKETEERS\",\"TID_SPELL_INFO_THREE_MUSKETEERS\",,,,,,,\n\"LavaHound\",\"lava_hound\",\"Arena4\",\"Legendary\",7,,,,,\"LavaHound\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_LAVA_HOUND\",\"TID_SPELL_INFO_LAVA_HOUND\",,,,,,,\n\"IceSpirits\",\"snow_spirits\",\"Arena8\",\"Common\",1,,,,,\"IceSpirits\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ICE_SPIRITS\",\"TID_SPELL_INFO_ICE_SPIRITS\",,,,,,,\n\"FireSpirits\",\"fire_spirits\",\"Arena5\",\"Common\",2,,,,,\"FireSpirits\",3,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_FIRE_SPIRITS\",\"TID_SPELL_INFO_FIRE_SPIRITS\",,,,,,,\n\"Miner\",\"miner\",\"Arena6\",\"Legendary\",3,,,,,\"Miner\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,\"true\",,,\"TID_SPELL_MINER\",\"TID_SPELL_INFO_MINER\",,,,,,,\n\"ZapMachine\",\"zapMachine\",\"Arena6\",\"Legendary\",6,,,,,\"ZapMachine\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,\"true\",,,,,\"TID_SPELL_ZAPMACHINE\",\"TID_SPELL_INFO_ZAPMACHINE\",,,,,,,\n\"Bowler\",\"bowler\",\"Arena8\",\"Epic\",5,,,,,\"Bowler\",,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BOWLER\",\"TID_SPELL_INFO_BOWLER\",,,,,,,\n\"RageBarbarian\",\"rage_barbarian\",\"Arena8\",\"Legendary\",4,,,,,\"RageBarbarian\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_RAGE_BARBARIAN\",\"TID_SPELL_INFO_RAGE_BARBARIAN\",,,,,,,\n\"BattleRam\",\"battle_ram\",\"Arena6\",\"Rare\",4,,,,,\"BattleRam\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BATTLE_RAM\",\"TID_SPELL_INFO_BATTLE_RAM\",,,,,,,\n\"InfernoDragon\",\"inferno_dragon\",\"Arena4\",\"Legendary\",4,,,,,\"InfernoDragon\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_INFERNO_DRAGON\",\"TID_SPELL_INFO_INFERNO_DRAGON\",,,,,,,\n\"IceGolemite\",\"ice_golem\",\"Arena8\",\"Rare\",2,,,,,\"IceGolemite\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ICEGOLEMITE\",\"TID_SPELL_INFO_ICEGOLEMITE\",,,,,,,\n\"MegaMinion\",\"mega_minion\",\"Arena7\",\"Rare\",3,,,,,\"MegaMinion\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MEGAMINION\",\"TID_SPELL_INFO_MEGAMINION\",,,,,,,\n\"BlowdartGoblin\",\"blowdart_goblin\",\"Arena9\",\"Rare\",3,,,,,\"BlowdartGoblin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BLOWDART_GOBLIN\",\"TID_SPELL_INFO_BLOWDART_GOBLIN\",,,,,,,\n\"GoblinGang\",\"goblin_gang\",\"Arena9\",\"Common\",3,,,,,\"Goblin\",3,,\"SpearGoblin\",2,1000,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_GOBLIN_GANG\",\"TID_SPELL_INFO_GOBLIN_GANG\",,,,,,,\n\"ElectroWizard\",\"electro_wizard\",\"Arena7\",\"Legendary\",4,,,,,\"ElectroWizard\",1,,,,,2500,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ELECTRO_WIZARD\",\"TID_SPELL_INFO_ELECTRO_WIZARD\",,,,,,,\n\"AngryBarbarians\",\"angry_barbarian\",\"Arena7\",\"Common\",6,,,,,\"AngryBarbarian\",2,,,,700,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ANGRY_BARBARIANS\",\"TID_SPELL_INFO_ANGRY_BARBARIANS\",,,,,,,\n\"NOTINUSE1\",\"not_in_use\",\"Arena9\",\"Legendary\",3,,\"TRUE\",,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"AxeMan\",\"executioner\",\"Arena9\",\"Epic\",5,,,,,\"AxeMan\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_AXEMAN\",\"TID_SPELL_INFO_AXEMAN\",,,,,,,\n\"Assassin\",\"bandit\",\"Arena9\",\"Legendary\",3,,,,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"NOTINUSE2\",\"not_in_use\",\"Arena9\",\"Legendary\",3,,\"TRUE\",,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"DarkWitch\",\"dark_witch\",\"Arena8\",\"Legendary\",4,,,,,\"DarkWitch\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_DARK_WITCH\",\"TID_SPELL_INFO_DARK_WITCH\",,,,,,,\n\"Bats\",\"bats\",\"Arena8\",\"Common\",2,,,,,\"Bat\",4,,,,750,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_BATS\",\"TID_SPELL_INFO_BATS\",,,,\"Soon\",,,\n\"NOTINUSE6\",\"not_in_use\",\"Arena_L\",\"Legendary\",5,,\"TRUE\",,,\"Assassin\",7,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_KNIGHT\",\"TID_SPELL_KNIGHT\",,,,,,,\n\"NOTINUSE3\",\"not_in_use\",\"Arena9\",\"Legendary\",3,,\"TRUE\",,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"NOTINUSE9\",\"not_in_use\",\"Arena9\",\"Legendary\",3,,\"TRUE\",,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"NOTINUSE4\",\"not_in_use\",\"Arena9\",\"Legendary\",3,,\"TRUE\",,,\"Assassin\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_ASSASSIN\",\"TID_SPELL_INFO_ASSASSIN\",,,,,,,\n\"MovingCannon\",\"cannon_cart\",\"Arena_L\",\"Epic\",5,,,,,\"MovingCannon\",1,,,,,,,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MOVING_CANNON\",\"TID_SPELL_INFO_MOVING_CANNON\",,,,\"Soon\",,,\n\"MegaKnight\",\"mega_knight\",\"Arena_L\",\"Legendary\",7,,,,,\"MegaKnight\",1,,,,,,,\"MegaKnightAppear\",,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_MEGAKNIGHT\",\"TID_SPELL_INFO_MEGAKNIGHT\",,,,\"Soon\",,,\n\"SkeletonBalloon\",\"skeleton_balloon\",\"Arena6\",\"Common\",3,,,,,\"SkeletonBalloon\",1,,,,,,3000,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_SKELETON_BALLOON\",\"TID_SPELL_INFO_SKELETON_BALLOON\",,,,\"Soon\",,,\n\"DartBarrell\",\"flying_machine\",\"Arena9\",\"Rare\",4,,,,,\"DartBarrell\",1,,,,,,3000,,,,,,,,\"CharacterDeploy\",,,,,,,,,,,,,,\"TID_SPELL_DART_BARRELL\",\"TID_SPELL_INFO_DART_BARRELL\",,,,\"Soon\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/spells_heroes.csv",
    "content": "\"Name\",\"IconFile\",\"UnlockArena\",\"Rarity\",\"ManaCost\",\"ManaCostFromSummonerMana\",\"NotInUse\",\"Mirror\",\"CustomDeployTime\",\"SummonCharacter\",\"SummonNumber\",\"SummonCharacterLevelIndex\",\"SummonCharacterSecond\",\"SummonRadius\",\"Radius\",\"Projectile\",\"ProjectileAsDeploy\",\"CanPlaceOnBuildings\",\"InstantDamage\",\"DurationSeconds\",\"InstantHeal\",\"HealPerSecond\",\"Effect\",\"Pushback\",\"MultipleProjectiles\",\"CustomFirstProjectile\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"BuffNumber\",\"BuffType\",\"BuffOnDamage\",\"OnlyOwnTroops\",\"OnlyEnemies\",\"CanDeployOnEnemySide\",\"CastSound\",\"AreaEffectObject\",\"TID\",\"TID_INFO\",\"IndicatorEffect\",\"HideRadiusIndicator\",\"DestIndicatorEffect\",\"ReleaseDate\",\"ElixirProductionStopTime\",\"DarkMirror\",\"StatsUnderInfo\"\n\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"String\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"boolean\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"String\",\"boolean\",\"String\",\"String\",\"int\",\"boolean\",\"boolean\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/spells_other.csv",
    "content": "\"Name\",\"IconFile\",\"UnlockArena\",\"Rarity\",\"ManaCost\",\"ManaCostFromSummonerMana\",\"NotInUse\",\"Mirror\",\"CustomDeployTime\",\"SummonCharacter\",\"SummonNumber\",\"SummonCharacterLevelIndex\",\"SummonCharacterSecond\",\"SummonCharacterSecondCount\",\"SummonRadius\",\"Radius\",\"Height\",\"Projectile\",\"SpellAsDeploy\",\"CanPlaceOnBuildings\",\"InstantDamage\",\"DurationSeconds\",\"InstantHeal\",\"HealPerSecond\",\"Effect\",\"Pushback\",\"MultipleProjectiles\",\"CustomFirstProjectile\",\"BuffTime\",\"BuffTimeIncreasePerLevel\",\"BuffNumber\",\"BuffType\",\"BuffOnDamage\",\"OnlyOwnTroops\",\"OnlyEnemies\",\"CanDeployOnEnemySide\",\"CastSound\",\"AreaEffectObject\",\"TID\",\"TID_INFO\",\"IndicatorEffect\",\"HideRadiusIndicator\",\"DestIndicatorEffect\",\"ReleaseDate\",\"ElixirProductionStopTime\",\"DarkMirror\",\"StatsUnderInfo\"\n\"string\",\"string\",\"string\",\"string\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"String\",\"int\",\"int\",\"int\",\"int\",\"string\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"string\",\"int\",\"int\",\"string\",\"int\",\"int\",\"int\",\"string\",\"string\",\"boolean\",\"boolean\",\"boolean\",\"string\",\"string\",\"string\",\"string\",\"String\",\"boolean\",\"String\",\"String\",\"int\",\"boolean\",\"boolean\"\n\"Fireball\",\"fire_fireball\",\"TrainingCamp\",\"Rare\",4,,,,,,,,,,,,,\"FireballSpell\",,,,,,,,,,,,,,,,,\"true\",,\"Fire ball\",,\"TID_SPELL_FIREBALL\",\"TID_SPELL_INFO_FIREBALL\",,,,,,,\n\"Arrows\",\"order_volley\",\"TrainingCamp\",\"Common\",3,,,,,,,,,,,4000,,\"ArrowsSpellDeco\",,,,,,,\"Cast_RainOfArrows\",,15,\"ArrowsSpell\",,,,,,,\"true\",,\"SpellCasting\",,\"TID_SPELL_ARROWS\",\"TID_SPELL_INFO_ARROWS\",,,,,,,\n\"Rage\",\"rage\",\"Arena3\",\"Epic\",2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",,,\"SpellCasting\",\"Rage\",\"TID_SPELL_RAGE\",\"TID_SPELL_INFO_RAGE\",,,,,,,\n\"Rocket\",\"rocket\",\"Arena3\",\"Rare\",6,,,,,,,,,,,,,\"RocketSpell\",,,,,,,,,,,,,,,,,\"true\",,\"sound_rocket_spawn\",,\"TID_SPELL_ROCKET\",\"TID_SPELL_INFO_ROCKET\",,,,,,,\n\"GoblinBarrel\",\"goblin_barrel\",\"Arena1\",\"Epic\",3,,,,,,,,,,,,,\"GoblinBarrelSpell\",,,,,,,\"goblin_barrel_spawn\",,,,,,,,,,\"true\",,\"sound_goblin_barrel_spawn\",,\"TID_SPELL_GOBLIN_BARREL\",\"TID_SPELL_INFO_GOBLIN_BARREL\",,,,,,,\n\"Freeze\",\"freeze\",\"Arena4\",\"Epic\",4,,,,,,,,,,,,,,,,,,,,\"Spell_freeze_cast\",,,,,,,,,,\"true\",,\"SpellCasting\",\"Freeze\",\"TID_SPELL_FREEZE\",\"TID_SPELL_INFO_FREEZE\",,,,,,,\n\"Mirror\",\"mirror\",\"Arena5\",\"Epic\",1,,,\"true\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"SpellCasting\",,\"TID_SPELL_MIRROR\",\"TID_SPELL_INFO_MIRROR\",,,,,,,\n\"Lightning\",\"lightning\",\"Arena1\",\"Epic\",6,,,,,,,,,,,3500,,,,,,,,,,,,,,,,,,,\"true\",,\"SpellCasting\",\"Lightning\",\"TID_SPELL_LIGHTNING\",\"TID_SPELL_INFO_LIGHTNING\",,,,,,,\n\"Zap\",\"zap\",\"Arena5\",\"Common\",2,,,,,,,,,,,2500,,,,,,,,,,,,,,,,,,,\"true\",,\"SpellCasting\",\"Zap\",\"TID_SPELL_ZAP\",\"TID_SPELL_INFO_ZAP\",,,,,,,\n\"Poison\",\"poison\",\"Arena5\",\"Epic\",4,,,,,,,,,,,3500,,,,,,,,,,,,,,,,,,,\"true\",,\"SpellCasting\",\"Poison\",\"TID_SPELL_POISON\",\"TID_SPELL_INFO_POISON\",,,,,,,\n\"Graveyard\",\"graveyard\",\"Arena5\",\"Legendary\",5,,,,,,,,,,,5000,,,,,,,,,\"Spell_graveyard_cast\",,,,,,,,,,,,\"sound_graveyard_deploy\",\"Graveyard\",\"TID_SPELL_GRAVEYARD\",\"TID_SPELL_INFO_GRAVEYARD\",,,,,,,\n\"Log\",\"the_log\",\"Arena6\",\"Legendary\",2,,,,,,,,,,,,,\"LogProjectile\",\"true\",\"TRUE\",,,,,\"log_deploy\",,,,,,,,,,\"true\",,\"SpellCasting\",,\"TID_SPELL_LOG\",\"TID_SPELL_INFO_LOG\",\"log_deploy_indicator\",\"true\",,,,,\n\"Tornado\",\"tornado\",\"Arena6\",\"Epic\",3,,,,,,,,,,,5500,,,\"true\",\"TRUE\",,,,,,,,,,,,,,,\"true\",\"true\",\"SpellCasting\",\"Tornado\",\"TID_SPELL_TORNADO\",\"TID_SPELL_INFO_TORNADO\",,,,,,,\n\"Clone\",\"copy\",\"Arena8\",\"Epic\",3,,,,,,,,,,,3000,,,,,,,,,,,,,,,,,,\"true\",,,\"SpellCasting\",\"Clone\",\"TID_SPELL_CLONE\",\"TID_SPELL_INFO_CLONE\",,,,,,,\n\"NotInUseS3\",\"not_in_use\",\"TrainingCamp\",\"Common\",10,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",,\"SpellCasting\",,\"TID_NOT_IN_USE\",\"TID_NOT_IN_USE\",,,,,,,\n\"NotInUseS2\",\"not_in_use\",\"TrainingCamp\",\"Common\",10,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,\"true\",,\"SpellCasting\",,\"TID_NOT_IN_USE\",\"TID_NOT_IN_USE\",,,,,,,\n\"Heal\",\"heal\",\"Arena_L\",\"Rare\",3,,,,,,,,,,,3000,,,,,,,,,,,,,,,,,,\"TRUE\",,,\"SpellCasting\",\"Heal\",\"TID_SPELL_HEAL\",\"TID_SPELL_INFO_HEAL\",,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/survival_modes.csv",
    "content": "\"Name\",\"IconSWF\",\"IconExportName\",\"GameMode\",\"WinsIconExportName\",\"Enabled\",\"EventOnly\",\"JoinCost\",\"JoinCostResource\",\"FreePass\",\"MaxWins\",\"MaxLoss\",\"RewardCards\",\"RewardGold\",\"RewardSpellCount\",\"RewardSpell\",\"RewardSpellMaxCount\",\"ItemExportName\",\"ConfirmExportName\",\"TID\",\"CardTheme\"\n\"string\",\"String\",\"String\",\"String\",\"String\",\"boolean\",\"boolean\",\"int\",\"string\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"String\",\"int\",\"String\",\"String\",\"string\",\"String\"\n\"Gold\",\"sc/ui.sc\",\"icon_tournament_gold\",\"Challenge\",\"tournament_open_wins_badge_gold\",\"TRUE\",,100,\"Diamonds\",,12,3,20,1400,,,,\"tournament_item_open\",\"popup_tournament_open_confirm\",\"TID_PUBLIC_TOURNAMENT_GOLD\",\n,,,,,,,,,,,,30,1900,,,,,,,\n,,,,,,,,,,,,50,2500,,,,,,,\n,,,,,,,,,,,,85,3200,,,,,,,\n,,,,,,,,,,,,130,4000,,,,,,,\n,,,,,,,,,,,,185,5000,,,,,,,\n,,,,,,,,,,,,250,6200,,,,,,,\n,,,,,,,,,,,,330,7600,,,,,,,\n,,,,,,,,,,,,420,9300,,,,,,,\n,,,,,,,,,,,,530,11500,,,,,,,\n,,,,,,,,,,,,670,14200,,,,,,,\n,,,,,,,,,,,,860,17500,,,,,,,\n,,,,,,,,,,,,1100,22000,,,,,,,\n\"Bronze\",\"sc/ui.sc\",\"icon_tournament_bronze\",\"Challenge\",\"tournament_open_wins_badge_bronze\",\"TRUE\",,10,\"Diamonds\",,12,3,2,130,,,,\"tournament_item_open\",\"popup_tournament_open_confirm\",\"TID_PUBLIC_TOURNAMENT_BRONZE\",\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"KingsCup\",\"sc/ui.sc\",\"icon_tournament_blind_deck\",\"BlindDeck\",\"tournament_open_wins_badge_blind\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_blind_challenge_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"DoubleElixir\",\"sc/ui.sc\",\"icon_tournament_2x_elixir\",\"DoubleElixir\",\"tournament_open_wins_badge_bronze\",\"FALSE\",\"TRUE\",50,\"Diamonds\",,12,3,10,700,,,,\"tournament_item_kings_cup\",\"popup_tournament_2x_elixir_challenge_confirm\",,\n,,,,,,,,,,,,15,950,,,,,,,\n,,,,,,,,,,,,25,1250,,,,,,,\n,,,,,,,,,,,,42,1600,,,,,,,\n,,,,,,,,,,,,65,2000,,,,,,,\n,,,,,,,,,,,,92,2500,,,,,,,\n,,,,,,,,,,,,125,3100,,,,,,,\n,,,,,,,,,,,,165,3800,,,,,,,\n,,,,,,,,,,,,210,4500,,,,,,,\n,,,,,,,,,,,,265,5600,,,,,,,\n,,,,,,,,,,,,335,6900,,,,,,,\n,,,,,,,,,,,,430,8500,,,,,,,\n,,,,,,,,,,,,550,11000,,,,,,,\n\"BlindDeck\",\"sc/ui.sc\",\"icon_tournament_blind_deck\",\"BlindDeck\",\"tournament_open_wins_badge_blind\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_blind_challenge_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"DraftMode\",\"sc/ui.sc\",\"icon_tournament_draft\",\"DraftMode\",\"tournament_open_wins_badge_draft\",\"FALSE\",\"TRUE\",50,\"Diamonds\",,12,3,10,700,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,15,950,,,,,,,\n,,,,,,,,,,,,25,1250,,,,,,,\n,,,,,,,,,,,,42,1600,,,,,,,\n,,,,,,,,,,,,65,2000,,,,,,,\n,,,,,,,,,,,,92,2500,,,,,,,\n,,,,,,,,,,,,125,3100,,,,,,,\n,,,,,,,,,,,,165,3800,,,,,,,\n,,,,,,,,,,,,210,4500,,,,,,,\n,,,,,,,,,,,,265,5600,,,,,,,\n,,,,,,,,,,,,335,6900,,,,,,,\n,,,,,,,,,,,,430,8500,,,,,,,\n,,,,,,,,,,,,550,11000,,,,,,,\n\"ThreeBridges\",\"sc/ui.sc\",\"icon_tournament_blind_deck\",\"ThreeBridges\",\"tournament_open_wins_badge_blind\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"HeroChallenge\",\"sc/ui.sc\",\"icon_tournament_blind_deck\",\"HeroChallenge\",\"tournament_open_wins_badge_blind\",\"FALSE\",\"TRUE\",100,\"Diamonds\",,12,3,20,1400,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,30,1900,,,,,,,\n,,,,,,,,,,,,50,2500,,,,,,,\n,,,,,,,,,,,,85,3200,,,,,,,\n,,,,,,,,,,,,130,4000,,,,,,,\n,,,,,,,,,,,,185,5000,,,,,,,\n,,,,,,,,,,,,250,6200,,,,,,,\n,,,,,,,,,,,,330,7600,,,,,,,\n,,,,,,,,,,,,420,9300,,,,,,,\n,,,,,,,,,,,,530,11500,,,,,,,\n,,,,,,,,,,,,670,14200,,,,,,,\n,,,,,,,,,,,,860,17500,,,,,,,\n,,,,,,,,,,,,1100,22000,,,,,,,\n\"ElectroWiz\",\"sc/ui.sc\",\"icon_tournament_card_release\",\"ElectroWiz\",\"tournament_open_wins_badge_legendary\",\"FALSE\",\"TRUE\",100,\"Diamonds\",1,12,3,20,1400,0,\"ElectroWizard\",1,\"tournament_item_open_card_release\",\"popup_tournament_legendary_challenge_confirm\",,\"ElectroWizard\"\n,,,,,,,,,,,,30,1900,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,50,2500,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,85,3200,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,130,4000,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,185,5000,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,250,6200,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,330,7600,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,420,9300,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,530,11500,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,670,14200,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,860,17500,0,\"ElectroWizard\",,,,,\n,,,,,,,,,,,,1100,22000,1,\"ElectroWizard\",,,,,\n\"DraftMode2\",\"sc/ui.sc\",\"icon_tournament_draft\",\"DraftMode\",\"tournament_open_wins_badge_draft\",\"FALSE\",\"TRUE\",10,\"Diamonds\",,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"BattleRamClassic\",\"sc/ui.sc\",\"icon_tournament_card_release\",\"BattleRam\",\"tournament_open_wins_badge_legendary\",\"FALSE\",\"TRUE\",10,\"Diamonds\",1,12,3,2,130,0,\"BattleRam\",,\"tournament_item_open_card_release\",\"popup_tournament_legendary_challenge_confirm\",,\n,,,,,,,,,,,,3,180,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,5,240,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,8,310,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,12,390,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,17,480,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,23,590,1,\"BattleRam\",,,,,\n,,,,,,,,,,,,30,720,2,\"BattleRam\",,,,,\n,,,,,,,,,,,,38,880,2,\"BattleRam\",,,,,\n,,,,,,,,,,,,48,1080,3,\"BattleRam\",,,,,\n,,,,,,,,,,,,61,1330,3,\"BattleRam\",,,,,\n,,,,,,,,,,,,78,1630,4,\"BattleRam\",,,,,\n,,,,,,,,,,,,100,2000,5,\"BattleRam\",,,,,\n\"BattleRamGrand\",\"sc/ui.sc\",\"icon_tournament_card_release\",\"BattleRam\",\"tournament_open_wins_badge_legendary\",\"FALSE\",\"TRUE\",100,\"Diamonds\",0,12,3,20,1400,0,\"BattleRam\",,\"tournament_item_open_card_release\",\"popup_tournament_legendary_challenge_confirm\",,\n,,,,,,,,,,,,30,1900,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,50,2500,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,85,3200,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,130,4000,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,185,5000,0,\"BattleRam\",,,,,\n,,,,,,,,,,,,250,6200,10,\"BattleRam\",,,,,\n,,,,,,,,,,,,330,7600,20,\"BattleRam\",,,,,\n,,,,,,,,,,,,420,9300,20,\"BattleRam\",,,,,\n,,,,,,,,,,,,530,11500,30,\"BattleRam\",,,,,\n,,,,,,,,,,,,670,14200,30,\"BattleRam\",,,,,\n,,,,,,,,,,,,860,17500,40,\"BattleRam\",,,,,\n,,,,,,,,,,,,1100,22000,50,\"BattleRam\",,,,,\n\"DraftModeInsane\",\"sc/ui.sc\",\"icon_tournament_draft\",\"DraftModeInsane\",\"tournament_open_wins_badge_draft\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"Team\",\"sc/ui.sc\",\"icon_tournament_draft\",\"TeamVsTeam\",\"tournament_open_wins_badge_draft\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n\"RetroRoyale\",\"sc/ui.sc\",\"icon_tournament_gold\",\"RetroRoyale\",\"tournament_open_wins_badge_gold\",\"FALSE\",\"TRUE\",0,\"Diamonds\",1,12,3,20,1400,,,,\"tournament_item_open\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,30,1900,,,,,,,\n,,,,,,,,,,,,50,2500,,,,,,,\n,,,,,,,,,,,,85,3200,,,,,,,\n,,,,,,,,,,,,130,4000,,,,,,,\n,,,,,,,,,,,,185,5000,,,,,,,\n,,,,,,,,,,,,250,6200,,,,,,,\n,,,,,,,,,,,,330,7600,,,,,,,\n,,,,,,,,,,,,420,9300,,,,,,,\n,,,,,,,,,,,,530,11500,,,,,,,\n,,,,,,,,,,,,670,14200,,,,,,,\n,,,,,,,,,,,,860,17500,,,,,,,\n,,,,,,,,,,,,1100,22000,,,,,,,\n\"TeamVsEnemy\",\"sc/ui.sc\",\"icon_tournament_draft\",\"TvE\",\"tournament_open_wins_badge_draft\",\"FALSE\",\"TRUE\",5,\"Diamonds\",1,12,3,2,130,,,,\"tournament_item_kings_cup\",\"popup_tournament_open_confirm\",,\n,,,,,,,,,,,,3,180,,,,,,,\n,,,,,,,,,,,,5,240,,,,,,,\n,,,,,,,,,,,,8,310,,,,,,,\n,,,,,,,,,,,,12,390,,,,,,,\n,,,,,,,,,,,,17,480,,,,,,,\n,,,,,,,,,,,,23,590,,,,,,,\n,,,,,,,,,,,,30,720,,,,,,,\n,,,,,,,,,,,,38,880,,,,,,,\n,,,,,,,,,,,,48,1080,,,,,,,\n,,,,,,,,,,,,61,1330,,,,,,,\n,,,,,,,,,,,,78,1630,,,,,,,\n,,,,,,,,,,,,100,2000,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/taunts.csv",
    "content": "\"Name\",\"TID\",\"TauntMenu\",\"FileName\",\"ExportName\",\"IconExportName\",\"BtnExportName\",\"Sound\"\n\"String\",\"String\",\"Boolean\",\"string\",\"string\",\"string\",\"string\",\"string\"\n\"Taunt1\",\"TID_EMOTE1\",\"TRUE\",,,,\"taunt_btn_01\",\n\"Taunt2\",\"TID_EMOTE2\",\"TRUE\",,,,\"taunt_btn_02\",\n\"Taunt3\",\"TID_EMOTE3\",\"TRUE\",,,,\"taunt_btn_03\",\n\"Taunt4\",\"TID_EMOTE4\",\"TRUE\",,,,\"taunt_btn_04\",\n\"Taunt5\",\"TID_EMOTE5\",\"TRUE\",,,,\"taunt_btn_05\",\n\"Taunt6\",\"TID_EMOTE6\",\"TRUE\",,,,\"taunt_btn_06\",\n\"NPC1_Start\",\"TID_NPC1_TAUNT_START\",,,,,,\n\"NPC1_Tower\",\"TID_NPC1_TAUNT_TOWER\",,,,,,\n\"NPC1_Deploy\",\"TID_NPC1_TAUNT_DEPLOY\",,,,,,\n\"NPC1_Attack\",\"TID_NPC1_TAUNT_ATTACK\",,,,,,\n\"NPC2_Start\",\"TID_NPC2_TAUNT_START\",,,,,,\n\"NPC2_Tower\",\"TID_NPC2_TAUNT_TOWER\",,,,,,\n\"NPC3_Start\",\"TID_NPC3_TAUNT_START\",,,,,,\n\"NPC3_Tower\",\"TID_NPC3_TAUNT_TOWER\",,,,,,\n\"NPC4_Start\",\"TID_NPC4_TAUNT_START\",,,,,,\n\"NPC4_Tower\",\"TID_NPC4_TAUNT_TOWER\",,,,,,\n\"NPC16_Start\",\"TID_NPC16_TAUNT_START\",,,,,,\n\"TauntGfx1\",,\"TRUE\",\"sc/ui.sc\",\"sticker_thumbs_anim\",\"sticker_thumbs_icon\",\"emoji_btn_01\",\"sound_king_congratulate\"\n\"TauntGfx2\",,\"TRUE\",\"sc/ui.sc\",\"sticker_angry_anim\",\"sticker_angry_icon\",\"emoji_btn_02\",\"sound_king_mad\"\n\"TauntGfx3\",,\"TRUE\",\"sc/ui.sc\",\"sticker_cry_anim\",\"sticker_cry_icon\",\"emoji_btn_03\",\"sound_king_crying\"\n\"TauntGfx4\",,\"TRUE\",\"sc/ui.sc\",\"sticker_lol_anim\",\"sticker_lol_icon\",\"emoji_btn_04\",\"sound_king_happy\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/tournament_tiers.csv",
    "content": "\"Name\",\"Version\",\"Disabled\",\"CreateCost\",\"MaxPlayers\",\"Prize1\",\"Prize2\",\"Prize3\",\"Prize10\",\"Prize20\",\"Prize30\",\"Prize40\",\"Prize50\",\"Prize60\",\"Prize70\",\"Prize80\",\"Prize90\",\"Prize100\",\"Prize150\",\"Prize200\",\"Prize250\",\"Prize300\",\"Prize350\",\"Prize400\",\"Prize450\",\"Prize500\",\"OpenChestVariation\"\n\"string\",\"int\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n\"tier1\",0,\"TRUE\",500,100,30,20,15,8,4,4,4,,,,,,,,,,,,,,,\n\"tier2\",0,\"TRUE\",1000,150,60,40,30,12,10,8,8,4,4,4,,,,,,,,,,,,\n\"tier3\",0,\"TRUE\",2000,200,120,80,60,30,20,15,10,8,8,4,4,4,,,,,,,,,,\n\"tier4\",0,\"TRUE\",5000,250,300,200,150,60,45,35,30,25,20,15,12,10,8,,,,,,,,,\n\"tier5\",0,\"TRUE\",10000,300,600,400,300,140,100,70,55,40,30,20,15,12,10,8,,,,,,,,\n\"tier6\",0,\"TRUE\",20000,500,1200,800,600,270,200,140,100,75,50,35,25,20,15,12,10,8,,,,,,\n\"tier7\",0,\"TRUE\",50000,600,3000,2000,1500,700,550,400,270,180,130,90,60,45,30,20,14,10,8,,,,,\n\"tier8\",0,\"TRUE\",100000,800,6000,4000,3000,1400,1100,800,550,390,270,180,130,90,65,45,30,20,15,10,8,,,\n\"tier9\",0,\"TRUE\",250000,1000,15000,10000,7500,3600,2800,2100,1600,1100,800,500,360,240,180,120,90,60,40,30,20,14,10,\n\"tier1_2\",1,,100,50,25,15,10,4,,,,,,,,,,,,,,,,,,\n\"tier2_2\",1,,500,100,100,60,40,15,10,,,,,,,,,,,,,,,,,\n\"tier3_2\",1,,2000,200,400,240,160,50,25,15,10,,,,,,,,,,,,,,,\n\"tier4_2\",1,,10000,1000,2000,1200,800,150,80,50,35,30,25,20,18,15,12,10,5,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/treasure_chests.csv",
    "content": "\"Name\",\"BaseChest\",\"Arena\",\"InShop\",\"InArenaInfo\",\"TournamentChest\",\"SurvivalChest\",\"ShopPriceWithoutSpeedUp\",\"TimeTakenDays\",\"TimeTakenHours\",\"TimeTakenMinutes\",\"TimeTakenSeconds\",\"RandomSpells\",\"DifferentSpells\",\"ChestCountInChestCycle\",\"RareChance\",\"EpicChance\",\"LegendaryChance\",\"SkinChance\",\"GuaranteedSpells\",\"MinGoldPerCard\",\"MaxGoldPerCard\",\"FileName\",\"ExportName\",\"ShopExportName\",\"GainedExportName\",\"AnimExportName\",\"OpenInstanceName\",\"SlotLandEffect\",\"OpenEffect\",\"TapSound\",\"TapSoundShop\",\"DescriptionTID\",\"TID\",\"NotificationTID\",\"SpellSet\",\"Exp\",\"SortValue\",\"SpecialOffer\",\"DraftChest\",\"IconSWF\",\"IconExportName\"\n\"String\",\"String\",\"String\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"String\",\"int\",\"int\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"int\",\"boolean\",\"boolean\",\"String\",\"String\"\n\"Newbie1\",,\"TrainingCamp\",,,,,0,,,,15,2,2,,,,,,\"Knight\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n,,,,,,,,,,,,,,,,,,,\"Arrows\",,,,,,,,,,,,,,,,,,,,,,\n\"Newbie2\",,\"TrainingCamp\",,,,,0,,,,15,2,2,,10,200,,,\"Musketeer\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"NewbieFixedEpic\",,\"TrainingCamp\",,,,,0,,,,15,2,2,,10,2,,,,5,7,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"NewbieRandom\",,\"TrainingCamp\",,,,,0,,,,15,2,2,,10,200,,,,5,7,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Silver\",,\"TrainingCamp\",,\"TRUE\",,,7,,3,,,3,3,60,12,500,10000,,,5,7,\"sc/ui_chest.sc\",\"Chest_iron\",\"chest_iron_open\",\"get_metal_chest\",\"chest_open_iron\",\"chest_iron\",\"chest_landing_iron\",\"openChest_iron\",\"tap_iron_chest\",\"sound_openChest_iron\",,\"TID_CHEST_SILVER\",\"TID_CHEST_SILVER_NOTIFICATION\",,,2,,,\"sc/ui_chest.sc\",\"Chest_iron\"\n\"Gold\",,\"TrainingCamp\",,\"TRUE\",,,25,,8,,,10,5,19,10,285,5700,,,5,7,\"sc/ui_chest.sc\",\"Chest_gold\",\"chest_gold_open\",\"get_gold_chest\",\"chest_open_gold\",\"chest_gold\",\"chest_landing_gold\",\"openChest_gold\",\"tap_gold_chest\",\"sound_openChest_gold\",,\"TID_CHEST_GOLD\",\"TID_CHEST_GOLD_NOTIFICATION\",,,3,,,\"sc/ui_chest.sc\",\"Chest_gold\"\n\"Magic\",,\"TrainingCamp\",\"TRUE\",\"TRUE\",,,250,,12,,,30,8,1,5,30,600,1000,,10,10,\"sc/ui_chest.sc\",\"Chest_magical\",\"chest_magical_open\",\"get_magic_chest\",\"chest_open_magical\",\"chest_magical\",\"chest_landing_magic\",\"openChest_magical\",\"tap_magic_chest\",\"sound_openChest_magical\",,\"TID_CHEST_MAGICAL\",\"TID_CHEST_MAGICAL_NOTIFICATION\",,,5,,,\"sc/ui_chest.sc\",\"Chest_magical\"\n\"Free\",,\"TrainingCamp\",,\"TRUE\",,,0,,,,,3,3,,10,200,4000,,\"Goblins\",7,8,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,1,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Star\",,\"TrainingCamp\",,\"TRUE\",,,0,,,,,20,5,,10,200,4000,,,7,8,\"sc/ui_chest.sc\",\"chest_star_closed\",,\"get_gold_chest\",\"chest_open_gold\",\"chest_star\",\"chest_landing_magic\",\"openChest_star\",\"tap_magic_chest\",\"sound_openChest_magical\",,\"TID_CHEST_GOLD\",\"TID_CHEST_GOLD_NOTIFICATION\",,,4,,,\"sc/ui_chest.sc\",\"chest_star_closed\"\n\"Silver_Arena1\",\"Silver\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena1\",\"Gold\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena1\",\"Magic\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena1\",\"Free\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena1\",\"Star\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena2\",\"Silver\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena2\",\"Gold\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena2\",\"Magic\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena2\",\"Free\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena2\",\"Star\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena3\",\"Silver\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena3\",\"Gold\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena3\",\"Magic\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena3\",\"Free\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena3\",\"Star\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena4\",\"Silver\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena4\",\"Gold\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena4\",\"Magic\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena4\",\"Free\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena4\",\"Star\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena5\",\"Silver\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena5\",\"Gold\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena5\",\"Magic\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena5\",\"Free\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena5\",\"Star\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena6\",\"Silver\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena6\",\"Gold\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena6\",\"Magic\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena6\",\"Free\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena6\",\"Star\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena_L\",\"Silver\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena_L\",\"Gold\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena_L\",\"Magic\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena_L\",\"Free\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena_L\",\"Star\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant\",,\"TrainingCamp\",\"TRUE\",\"TRUE\",,,140,,12,,,70,5,1,5,500,10000,10000,,3,3,\"sc/ui_chest.sc\",\"chest_giant_closed\",\"chest_giant_open\",\"get_giant_chest\",\"chest_open_giant\",\"chest_giant\",\"chest_landing_giant\",\"openChest_giant\",\"tap_giant_chest\",\"sound_openChest_giant\",,\"TID_CHEST_GIANT\",\"TID_CHEST_GIANT_NOTIFICATION\",,,6,,,\"sc/ui_chest.sc\",\"chest_giant_closed\"\n\"Super\",,\"TrainingCamp\",\"TRUE\",\"TRUE\",,,1500,,24,,,180,8,1,5,30,600,1,,9,9,\"sc/ui_chest.sc\",\"chest_mega_closed\",\"chest_mega_open\",\"get_mega_chest\",\"chest_open_mega\",\"chest_mega\",\"chest_landing_mega\",\"openChest_mega\",\"tap_mega_chest\",\"sound_openChest_bigmagical\",,\"TID_CHEST_SUPER\",\"TID_CHEST_SUPER_NOTIFICATION\",,,7,,,\"sc/ui_chest.sc\",\"chest_mega_closed\"\n\"Giant_Arena1\",\"Giant\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena1\",\"Super\",\"Arena1\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena2\",\"Giant\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena2\",\"Super\",\"Arena2\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena3\",\"Giant\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena3\",\"Super\",\"Arena3\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena4\",\"Giant\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena4\",\"Super\",\"Arena4\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena5\",\"Giant\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena5\",\"Super\",\"Arena5\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena6\",\"Giant\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena6\",\"Super\",\"Arena6\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena7\",\"Giant\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena7\",\"Super\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena_L\",\"Giant\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena_L\",\"Super\",\"Arena_L\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena7\",\"Silver\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena7\",\"Gold\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena7\",\"Magic\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena7\",\"Free\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena7\",\"Star\",\"Arena7\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena8\",\"Giant\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena8\",\"Super\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena8\",\"Silver\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena8\",\"Gold\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena8\",\"Magic\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena8\",\"Free\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena8\",\"Star\",\"Arena8\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,0,,5,30,600,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_1_c_closed\",,\"get_magic_chest\",\"chest_open_tournament_1_c\",\"chest_tournament_1_c\",\"chest_landing_magic\",\"openChest_magical\",\"tap_magic_chest\",\"sound_openChest_magical\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_1_c_closed\"\n\"Tournament2nd\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,0,,5,30,600,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_2_c_closed\",,\"get_gold_chest\",\"chest_open_tournament_2_c\",\"chest_tournament_2_c\",\"chest_landing_gold\",\"openChest_gold\",\"tap_gold_chest\",\"sound_openChest_gold\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_2_c_closed\"\n\"Tournament3rd\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,0,,5,30,600,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_3_c_closed\",,\"get_metal_chest\",\"chest_open_tournament_3_c\",\"chest_tournament_3_c\",\"chest_landing_iron\",\"openChest_iron\",\"tap_iron_chest\",\"sound_openChest_iron\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_3_c_closed\"\n\"TournamentOther\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,0,,5,30,600,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_other_closed\",,\"get_wood_chest\",\"chest_open_tournament_other\",\"chest_tournament_other\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_other_closed\"\n\"Tournament1st_Arena1\",\"Tournament1st\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena1\",\"Tournament2nd\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena1\",\"Tournament3rd\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena1\",\"TournamentOther\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena2\",\"Tournament1st\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena2\",\"Tournament2nd\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena2\",\"Tournament3rd\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena2\",\"TournamentOther\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena3\",\"Tournament1st\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena3\",\"Tournament2nd\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena3\",\"Tournament3rd\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena3\",\"TournamentOther\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena4\",\"Tournament1st\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena4\",\"Tournament2nd\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena4\",\"Tournament3rd\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena4\",\"TournamentOther\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena5\",\"Tournament1st\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena5\",\"Tournament2nd\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena5\",\"Tournament3rd\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena5\",\"TournamentOther\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena6\",\"Tournament1st\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena6\",\"Tournament2nd\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena6\",\"Tournament3rd\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena6\",\"TournamentOther\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena7\",\"Tournament1st\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena7\",\"Tournament2nd\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena7\",\"Tournament3rd\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena7\",\"TournamentOther\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena8\",\"Tournament1st\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena8\",\"Tournament2nd\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena8\",\"Tournament3rd\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena8\",\"TournamentOther\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena_L\",\"Tournament1st\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena_L\",\"Tournament2nd\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena_L\",\"Tournament3rd\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena_L\",\"TournamentOther\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Legendary\",,\"Arena_L\",,\"FALSE\",,,500,,24,,,1,1,1,0,0,1,,,0,0,\"sc/ui_chest.sc\",\"chest_legendary_closed\",\"chest_legendary_open\",\"get_legendary_chest\",\"chest_open_legendary\",\"chest_legendary\",\"chest_landing_legendary\",\"openChest_mega\",\"tap_mega_chest\",\"sound_openChest_bigmagical\",,\"TID_CHEST_LEGENDARY\",\"TID_CHEST_LEGENDARY_NOTIFICATION\",,,,\"TRUE\",,\"sc/ui_chest.sc\",\"chest_legendary_closed\"\n\"Epic\",,\"Arena_L\",,\"FALSE\",,,500,,12,,,20,5,,0,1,0,,,0,0,\"sc/ui_chest.sc\",\"chest_epic_closed\",\"chest_epic_open\",\"get_epic_chest\",\"chest_open_epic\",\"chest_epic\",\"chest_landing_mega\",\"openChest_mega\",\"tap_mega_chest\",\"sound_openChest_bigmagical\",,\"TID_CHEST_EPIC\",\"TID_CHEST_EPIC_NOTIFICATION\",,,,\"TRUE\",,\"sc/ui_chest.sc\",\"chest_epic_closed\"\n\"Epic_Arena1\",\"Epic\",\"Arena1\",,,,,,,,,,6,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena2\",\"Epic\",\"Arena2\",,,,,,,,,,8,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena3\",\"Epic\",\"Arena3\",,,,,,,,,,10,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena4\",\"Epic\",\"Arena4\",,,,,,,,,,12,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena5\",\"Epic\",\"Arena5\",,,,,,,,,,13,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena6\",\"Epic\",\"Arena6\",,,,,,,,,,15,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena7\",\"Epic\",\"Arena7\",,,,,,,,,,17,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena8\",\"Epic\",\"Arena8\",,,,,,,,,,19,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena_L\",\"Epic\",\"Arena_L\",,,,,,,,,,20,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze\",,\"TrainingCamp\",,,,\"TRUE\",,,,,,,,,10,100,2000,,,15,15,\"sc/ui_chest.sc\",\"chest_tournament_2_a_closed\",,\"get_wood_chest\",\"chest_open_tournament_2_a\",\"chest_tournament_2_a\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_2_a_closed\"\n\"Survival_Gold\",,\"TrainingCamp\",,,,\"TRUE\",,,,,,,,,10,100,2000,,,15,15,\"sc/ui_chest.sc\",\"chest_tournament_1_a_closed\",,\"get_wood_chest\",\"chest_open_tournament_1_a\",\"chest_tournament_1_a\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_1_a_closed\"\n\"Survival_Bronze_Arena1\",\"Survival_Bronze\",\"Arena1\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena1\",\"Survival_Gold\",\"Arena1\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena2\",\"Survival_Bronze\",\"Arena2\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena2\",\"Survival_Gold\",\"Arena2\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena3\",\"Survival_Bronze\",\"Arena3\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena3\",\"Survival_Gold\",\"Arena3\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena4\",\"Survival_Bronze\",\"Arena4\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena4\",\"Survival_Gold\",\"Arena4\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena5\",\"Survival_Bronze\",\"Arena5\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena5\",\"Survival_Gold\",\"Arena5\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena6\",\"Survival_Bronze\",\"Arena6\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena6\",\"Survival_Gold\",\"Arena6\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena7\",\"Survival_Bronze\",\"Arena7\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena7\",\"Survival_Gold\",\"Arena7\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena8\",\"Survival_Bronze\",\"Arena8\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena8\",\"Survival_Gold\",\"Arena8\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena_L\",\"Survival_Bronze\",\"Arena_L\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena_L\",\"Survival_Gold\",\"Arena_L\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_2\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,,,10,200,4000,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_1_c_closed\",,\"get_magic_chest\",\"chest_open_tournament_1_c\",\"chest_tournament_1_c\",\"chest_landing_magic\",\"openChest_magical\",\"tap_magic_chest\",\"sound_openChest_magical\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_1_c_closed\"\n\"Tournament2nd_2\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,,,10,200,4000,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_2_c_closed\",,\"get_gold_chest\",\"chest_open_tournament_2_c\",\"chest_tournament_2_c\",\"chest_landing_gold\",\"openChest_gold\",\"tap_gold_chest\",\"sound_openChest_gold\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_2_c_closed\"\n\"Tournament3rd_2\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,,,10,200,4000,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_3_c_closed\",,\"get_metal_chest\",\"chest_open_tournament_3_c\",\"chest_tournament_3_c\",\"chest_landing_iron\",\"openChest_iron\",\"tap_iron_chest\",\"sound_openChest_iron\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_3_c_closed\"\n\"TournamentOther_2\",,\"TrainingCamp\",,,\"TRUE\",,0,,,,,,,,10,200,4000,,,7,7,\"sc/ui_chest.sc\",\"chest_tournament_other_closed\",,\"get_wood_chest\",\"chest_open_tournament_other\",\"chest_tournament_other\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,,,,,,,,\"sc/ui_chest.sc\",\"chest_tournament_other_closed\"\n\"Tournament1st_Arena1_2\",\"Tournament1st_2\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena1_2\",\"Tournament2nd_2\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena1_2\",\"Tournament3rd_2\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena1_2\",\"TournamentOther_2\",\"Arena1\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena2_2\",\"Tournament1st_2\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena2_2\",\"Tournament2nd_2\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena2_2\",\"Tournament3rd_2\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena2_2\",\"TournamentOther_2\",\"Arena2\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena3_2\",\"Tournament1st_2\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena3_2\",\"Tournament2nd_2\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena3_2\",\"Tournament3rd_2\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena3_2\",\"TournamentOther_2\",\"Arena3\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena4_2\",\"Tournament1st_2\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena4_2\",\"Tournament2nd_2\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena4_2\",\"Tournament3rd_2\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena4_2\",\"TournamentOther_2\",\"Arena4\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena5_2\",\"Tournament1st_2\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena5_2\",\"Tournament2nd_2\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena5_2\",\"Tournament3rd_2\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena5_2\",\"TournamentOther_2\",\"Arena5\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena6_2\",\"Tournament1st_2\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena6_2\",\"Tournament2nd_2\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena6_2\",\"Tournament3rd_2\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena6_2\",\"TournamentOther_2\",\"Arena6\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena7_2\",\"Tournament1st_2\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena7_2\",\"Tournament2nd_2\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena7_2\",\"Tournament3rd_2\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena7_2\",\"TournamentOther_2\",\"Arena7\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena8_2\",\"Tournament1st_2\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena8_2\",\"Tournament2nd_2\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena8_2\",\"Tournament3rd_2\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena8_2\",\"TournamentOther_2\",\"Arena8\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena_L_2\",\"Tournament1st_2\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena_L_2\",\"Tournament2nd_2\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena_L_2\",\"Tournament3rd_2\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena_L_2\",\"TournamentOther_2\",\"Arena_L\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena9\",\"Giant\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena9\",\"Super\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena9\",\"Silver\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena9\",\"Gold\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena9\",\"Magic\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena9\",\"Epic\",\"Arena9\",,,,,,,,,,20,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena9\",\"Free\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena9\",\"Star\",\"Arena9\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena9\",\"Tournament1st\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena9\",\"Tournament2nd\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena9\",\"Tournament3rd\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena9\",\"TournamentOther\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena9_2\",\"Tournament1st_2\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena9_2\",\"Tournament2nd_2\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena9_2\",\"Tournament3rd_2\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena9_2\",\"TournamentOther_2\",\"Arena9\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena9\",\"Survival_Bronze\",\"Arena9\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena9\",\"Survival_Gold\",\"Arena9\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_1_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_2_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_3_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_4_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_5_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_6_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_7_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_8_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_9_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_10_old\",\"ClanCrownChest\",\"TrainingCamp\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest\",,\"TrainingCamp\",,,,,,,,,,,,,10,100,2000,,,6,6,\"sc/ui_chest.sc\",\"chest_star_closed\",,\"get_gold_chest\",\"chest_open_gold\",\"chest_clan\",\"chest_landing_magic\",\"openChest_star\",\"tap_magic_chest\",\"sound_openChest_magical\",,\"TID_CLAN_CROWN_CHEST\",,,,,,,\"sc/ui_chest.sc\",\"chest_star_closed\"\n\"ClanCrownChest_Arena1\",\"ClanCrownChest\",\"Arena1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena2\",\"ClanCrownChest\",\"Arena2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena3\",\"ClanCrownChest\",\"Arena3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena4\",\"ClanCrownChest\",\"Arena4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena5\",\"ClanCrownChest\",\"Arena5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena6\",\"ClanCrownChest\",\"Arena6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena7\",\"ClanCrownChest\",\"Arena7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena8\",\"ClanCrownChest\",\"Arena8\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena9\",\"ClanCrownChest\",\"Arena9\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena_L\",\"ClanCrownChest\",\"Arena_L\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Giant_Arena_T\",\"Giant\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Super_Arena_T\",\"Super\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Silver_Arena_T\",\"Silver\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Gold_Arena_T\",\"Gold\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Magic_Arena_T\",\"Magic\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Epic_Arena_T\",\"Epic\",\"Arena_T\",,,,,,,,,,20,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Free_Arena_T\",\"Free\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Star_Arena_T\",\"Star\",\"Arena_T\",,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena_T\",\"Tournament1st\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena_T\",\"Tournament2nd\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena_T\",\"Tournament3rd\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena_T\",\"TournamentOther\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament1st_Arena_T_2\",\"Tournament1st_2\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament2nd_Arena_T_2\",\"Tournament2nd_2\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Tournament3rd_Arena_T_2\",\"Tournament3rd_2\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"TournamentOther_Arena_T_2\",\"TournamentOther_2\",\"Arena_T\",,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Bronze_Arena_T\",\"Survival_Bronze\",\"Arena_T\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Survival_Gold_Arena_T\",\"Survival_Gold\",\"Arena_T\",,,,\"TRUE\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"ClanCrownChest_Arena_T\",\"ClanCrownChest\",\"Arena_T\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"SeasonReward_L1\",,\"Arena_L1\",,\"TRUE\",,,,,,,,101,5,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_1\",,,,100,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L2\",,\"Arena_L2\",,\"TRUE\",,,,,,,,151,5,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_2\",,,,101,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L3\",,\"Arena_L3\",,\"TRUE\",,,,,,,,201,6,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_3\",,,,102,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L4\",,\"Arena_L4\",,\"TRUE\",,,,,,,,251,6,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_4\",,,,103,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L5\",,\"Arena_L5\",,\"TRUE\",,,,,,,,301,7,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_5\",,,,104,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L6\",,\"Arena_L6\",,\"TRUE\",,,,,,,,351,7,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_6\",,,,105,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L7\",,\"Arena_L7\",,\"TRUE\",,,,,,,,401,8,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_7\",,,,106,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L8\",,\"Arena_L8\",,\"TRUE\",,,,,,,,451,8,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_8\",,,,107,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"SeasonReward_L9\",,\"Arena_L9\",,\"TRUE\",,,,,,,,501,9,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_9\",,,,108,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft\",,\"TrainingCamp\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,200,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena1\",,\"Arena1\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,201,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena2\",,\"Arena2\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,202,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena3\",,\"Arena3\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,203,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena4\",,\"Arena4\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,204,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena5\",,\"Arena5\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,205,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena6\",,\"Arena6\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,206,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena7\",,\"Arena7\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,207,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena8\",,\"Arena8\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,208,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena9\",,\"Arena9\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,209,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena_L\",,\"Arena_L\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,210,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_Arena_T\",,\"Arena_T\",,\"TRUE\",,,,,,,,170,5,,5,30,600,,,7,8,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_DRAFT\",,,,211,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Draft_StarterPack_T\",,\"Arena_T\",,\"TRUE\",,,,,,,,501,9,,2,10,200,,,19,21,\"sc/ui_chest.sc\",\"chest_draft_closed\",\"chest_draft_open\",\"get_magic_chest\",\"chest_open_draft\",\"chest_draft\",\"chest_landing_magic\",\"openChest_draft\",\"tap_champions_chest\",\"sound_openChest_champion\",,\"TID_CHEST_SEASON_9\",,,,300,,\"TRUE\",\"sc/ui_chest.sc\",\"chest_draft_closed\"\n\"Newbie3_1\",,\"TrainingCamp\",,,,,0,,,,5,5,5,,,,,,\"Knight\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n,,,,,,,,,,,,,,,,,,,\"Arrows\",,,,,,,,,,,,,,,,,,,,,,\n\"Newbie3_2\",,\"TrainingCamp\",,,,,0,,,,5,9,6,,,8,,,\"Musketeer\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Newbie5_1\",,\"TrainingCamp\",,,,,0,,,,5,3,3,,,,,,\"Knight\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n,,,,,,,,,,,,,,,,,,,\"Arrows\",,,,,,,,,,,,,,,,,,,,,,\n\"Newbie5_2\",,\"TrainingCamp\",,,,,0,,,,5,3,3,,,,,,\"Musketeer\",6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Newbie5_3\",,\"TrainingCamp\",,,,,0,,,,5,3,3,,,3,,,,6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Newbie5_Random\",,\"TrainingCamp\",,,,,0,,,,5,3,3,,8,,,,,6,6,\"sc/ui_chest.sc\",\"Chest_wood\",,\"get_wood_chest\",\"chest_open_wooden\",\"chest_wood\",\"chest_landing_wood\",\"openChest_wood\",\"tap_wooden_chest\",\"sound_openChest_wood\",,\"TID_CHEST_WOOD\",\"TID_CHEST_WOOD_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"Chest_wood\"\n\"Skin\",,\"Arena1\",,\"FALSE\",,,2500,,24,,,0,0,,,,,1,,0,0,\"sc/ui_chest.sc\",\"chest_legendary_closed\",\"chest_legendary_open\",\"get_legendary_chest\",\"chest_open_legendary\",\"chest_legendary\",\"chest_landing_legendary\",\"openChest_mega\",\"tap_mega_chest\",\"sound_openChest_bigmagical\",,\"TID_CHEST_SKIN\",\"TID_CHEST_SKIN_NOTIFICATION\",,,,,,\"sc/ui_chest.sc\",\"chest_legendary_closed\"\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/tutorial_chest_order.csv",
    "content": "Name,Chest,NPC,PvE_Tutorial\nString,String,String,String\nWins7,Newbie1,Npc1,\n,Newbie2,Npc2,\n,NewbieRandom,Npc3,\n,NewbieFixedEpic,Npc4,\n,NewbieRandom,Npc5,\n,NewbieRandom,Npc6,\n,Silver,Npc7,\nWins5,Newbie5_1,Npc1_2,\n,Newbie5_2,Npc2_2,Tutorial1\n,Newbie5_3,Npc3_2,Tutorial2\n,Newbie5_Random,Npc4_2,\n,Silver,Npc5_2,\nWins3,Newbie3_1,Npc1,\n,Newbie3_2,Npc2,\n,Silver,Npc7,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/tutorials_home.csv",
    "content": "Name,Location,NPC,TID,ButtonTID,FinishRequirement,Chest,WaitTimeMS,FileName,PopupCorner,PopupExportName,BubbleExportName,Sound,Darkening,BubbleObject,OverlayExportName,SpellDragExportName,SpellToCast,ForceSpellTile,DisableOtherSpells,SpellTileX,SpellTileY,DisableSpells,HideCombatUI,DisableTroopMovement,DisableLeaderMovement,DisableSpawnPoints,DisableOpponentSpells,PauseCombat,Dependency,Priority,Taunt,HighlightTargetsOnManaFull,DisableBattleStartScreen,NpcMatchesPlayed,DisableBattleMenu,CloseAutomaticallyAfterSeconds,GroupMod,GroupValue\nString,String,String,String,String,String,String,int,String,int,String,String,String,boolean,String,String,String,String,boolean,boolean,int,int,boolean,boolean,boolean,boolean,boolean,boolean,boolean,String,int,String,boolean,boolean,int,boolean,int,int,int\nUpgradeSpell,,,,,FuseSpell,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,true,,,\nAskName,,Npc6,,,EnterName,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,6,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\nOpenFirstChest,,,,,OpenChest,Newbie1,,,,,,,,,,,,,,,,,,,,,,,,3,,,,1,,,,\nClaimFirstChest,,,,,ClaimChest,Newbie1,,,,,,,,,,,,,,,,,,,,,,,OpenFirstChest,2,,,,1,,,,\nStartSecondNPC,,Npc2,,,StartNPC,,,,,,,,,,,,,,,,,,,,,,,,UpgradeSpell,1,,,,1,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\nDISABLED1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,999,-1\nDISABLED2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,999,-1\nDISABLED3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,999,-1\nOpenFirstChest2,,,,,OpenChest,Newbie5_1,,,,,,,,,,,,,,,,,,,,,,,,3,,,,1,,,,\nClaimFirstChest2,,,,,ClaimChest,Newbie5_1,,,,,,,,,,,,,,,,,,,,,,,OpenFirstChest2,2,,,,1,,,,\nStartSecondNPC2,,Npc2_2,,,StartNPC,,,,,,,,,,,,,,,,,,,,,,,,UpgradeSpell,1,,,,1,,,,\nAskName2,,Npc4_2,,,EnterName,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,4,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/tutorials_npc.csv",
    "content": "\"Name\",\"Location\",\"NPC\",\"TID\",\"ButtonTID\",\"FinishRequirement\",\"Chest\",\"WaitTimeMS\",\"FileName\",\"PopupCorner\",\"PopupExportName\",\"BubbleExportName\",\"Sound\",\"Darkening\",\"BubbleObject\",\"OverlayExportName\",\"SpellDragExportName\",\"SpellToCast\",\"ForceSpellTile\",\"DisableOtherSpells\",\"SpellTileX\",\"SpellTileY\",\"DisableSpells\",\"HideCombatUI\",\"DisableTroopMovement\",\"DisableLeaderMovement\",\"DisableSpawnPoints\",\"DisableOpponentSpells\",\"PauseCombat\",\"Dependency\",\"Priority\",\"Taunt\",\"HighlightTargetsOnManaFull\",\"DisableBattleStartScreen\",\"NpcMatchesPlayed\",\"DisableBattleMenu\",\"CloseAutomaticallyAfterSeconds\",\"GroupMod\",\"GroupValue\"\n\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"String\",\"int\",\"String\",\"int\",\"String\",\"String\",\"String\",\"boolean\",\"String\",\"String\",\"String\",\"String\",\"boolean\",\"boolean\",\"int\",\"int\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"boolean\",\"String\",\"int\",\"String\",\"boolean\",\"boolean\",\"int\",\"boolean\",\"int\",\"int\",\"int\"\n\"NPC1_Start_Delay\",\"FirstMatch\",\"Npc1\",,,,,1000,,,,,,,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,\"true\",,,,,\n\"NPC1_King_Speaks\",\"FirstMatch\",\"Npc1\",\"TID_TUTORIAL_KING_WELCOME\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,\"true\",,,,,\n,,,\"TID_TUTORIAL_KING_WELCOME2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC1_Start_Taunt\",\"FirstMatch\",\"Npc1\",,,,,1000,,,,,,,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,\"NPC1_King_Speaks\",,,,,,,,,\n\"NPC1_Attack_HighlightArea\",\"FirstMatch\",\"Npc1\",\"TID_TUTORIAL_ENEMY_AREA\",,,,1000,,,,,\"sound_tutorial_first_plink\",,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_Attack_HighlightUnits\",\"FirstMatch\",\"Npc1\",,,,,3000,,,,,\"sound_tutorial_second_plink\",,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_Attack_ShowSpells\",\"FirstMatch\",\"Npc1\",,,,,3000,,,,,\"sound_tutorial_second_vo\",,,,,,,,,,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_Attack_DragSpell\",\"FirstMatch\",\"Npc1\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Knight\",,,10,38,,,,,,\"TRUE\",,,,\"NPC1_Deploy\",,,,,,,\n\"NPC1_Attack_DragSpell2\",\"FirstMatch\",\"Npc1\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Archer\",,,10,38,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_Attack_Tower\",\"FirstMatch\",\"Npc1\",,,\"StarGained\",,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_Defend_Delay\",\"FirstMatch\",\"Npc1\",,,,,5000,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,\n\"NPC1_Defend_EnemyDeploy\",\"FirstMatch\",\"Npc1\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,\n\"NPC1_Defend2_Delay\",\"FirstMatch\",\"Npc1\",,,,,10000,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,\n\"NPC1_Attack_Last\",\"FirstMatch\",\"Npc1\",,,,,120000,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,\n\"NPC2_Mana_Popup_Delay\",\"FirstMatch\",\"Npc2\",,,,,1200,,,,,,,,,,,,,,,\"TRUE\",,,,,\"TRUE\",\"TRUE\",,,,,\"true\",,,,,\n\"NPC2_Mana_Popup\",\"FirstMatch\",\"Npc2\",,,\"PressOK\",,,\"sc/ui.sc\",,\"popup_elixir_tip\",,,\"true\",,,,,,,,,\"TRUE\",,,,,,\"TRUE\",\"NPC2_Mana_Popup_Delay\",,,,\"true\",,,,,\n\"NPC3_start\",\"TrainingCamp\",\"Npc3\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC4_start\",\"TrainingCamp\",\"Npc4\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC5_start\",\"TrainingCamp\",\"Npc5\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC6_start\",\"TrainingCamp\",\"Npc6\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC7_start\",\"TrainingCamp\",\"Npc7\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC1_2_Start_Delay\",\"FirstMatch\",\"Npc1_2\",,,,,1000,,,,,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",,,,,,\"true\",,,,,\n\"NPC1_2_King_Speaks\",\"FirstMatch\",\"Npc1_2\",\"TID_TUTORIAL_1_KING_TEXT1\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",,,,,,\"true\",,,,,\n\"NPC1_2_Start_Taunt\",\"FirstMatch\",\"Npc1_2\",,,,,1000,,,,,,,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",,\"NPC1_King_Speaks\",,,,,,,,,\n\"NPC1_2_Attack_HighlightArea\",\"FirstMatch\",\"Npc1_2\",\"TID_TUTORIAL_ENEMY_AREA\",,,,1000,,,,,\"sound_tutorial_first_plink\",,,,,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_HighlightUnits\",\"FirstMatch\",\"Npc1_2\",,,,,500,,,,,\"sound_tutorial_second_plink\",,,,,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_ShowSpells\",\"FirstMatch\",\"Npc1_2\",,,,,500,,,,,\"sound_tutorial_second_vo\",,,,,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_DragSpell\",\"FirstMatch\",\"Npc1_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Knight\",,,10,38,,,,,,\"TRUE\",,,,\"NPC1_Deploy\",,,,,,,\n\"NPC1_2_Attack_Taunt\",\"FirstMatch\",\"Npc1_2\",,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,\"NPC2_Tower\",,,,,,,\n\"NPC1_2_Attack_DragSpell2\",\"FirstMatch\",\"Npc1_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Archer\",,,10,38,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_DragSpell3\",\"FirstMatch\",\"Npc1_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Giant\",,,10,38,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_Tower\",\"FirstMatch\",\"Npc1_2\",,,\"StarGained\",,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,,,,,,\n\"NPC1_2_Attack_DragSpell4\",\"FirstMatch\",\"Npc1_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Fireball\",,,17,8,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,\n\"NPC1_2_Attack_BattleEnd\",\"FirstMatch\",\"Npc1_2\",,,\"EnemyLeaderDead\",,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,\"TRUE\",,,,,,\n\"NPC2_2_King_Speaks\",\"FirstMatch\",\"Npc2_2\",\"TID_TUTORIAL_1_KING_TEXT2\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",,,,,\"TRUE\",\"TRUE\",,,,,\n\"NPC2_2_Start\",\"FirstMatch\",\"Npc2_2\",,,,,5000,,,,,,,,,,,,,,,\"TRUE\",,,,,,,,,,,,,,,,\n\"NPC2_2_Defend_Dragspell\",\"FirstMatch\",\"Npc2_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Knight\",\"TRUE\",\"TRUE\",13,40,,,\"TRUE\",\"TRUE\",,\"TRUE\",,,,,,,,,,,\n\"NPC2_2_Defend_Dragspell2\",\"FirstMatch\",\"Npc2_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Archer\",\"TRUE\",\"TRUE\",13,44,,,\"TRUE\",\"TRUE\",,\"TRUE\",,,,,,,,,,,\n\"NPC2_2_HighlightArea_Condition\",\"FirstMatch\",\"Npc2_2\",,,\"EnemyTroopsDead\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC2_2_HighlightArea_Delay\",\"FirstMatch\",\"Npc2_2\",,,,,2000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC2_2_HighlightArea\",\"FirstMatch\",\"Npc2_2\",\"TID_TUTORIAL_ENEMY_AREA\",,,,1000,,,,,\"sound_tutorial_first_plink\",,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC2_2_HighlightReminder_Condition\",\"FirstMatch\",\"Npc2_2\",,,\"StarGained\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC2_2_HighlightReminder\",\"FirstMatch\",\"Npc2_2\",,,\"EnemyLeaderDead\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,\n\"NPC3_2_King_Speaks\",\"FirstMatch\",\"Npc3_2\",\"TID_TUTORIAL_1_KING_TEXT3\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,\"TRUE\",\"TRUE\",,,,\"TRUE\",\"TRUE\",,,,,\"TRUE\",,,,,\n\"NPC3_2_Start\",\"FirstMatch\",\"Npc3_2\",,,,,2000,,,,,,,,,,,,,,,\"TRUE\",,,,,\"TRUE\",\"TRUE\",,,,,,,,,,\n\"NPC3_2_Attack_Dragspell\",\"FirstMatch\",\"Npc3_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Giant\",\"TRUE\",\"TRUE\",7,40,,,\"TRUE\",\"TRUE\",,\"TRUE\",,,,,,,,,,,\n\"NPC3_2_Attack_Dragspell2\",\"FirstMatch\",\"Npc3_2\",,,\"CastSpell\",,,,,,,,,,,\"Tutorial_Hand1\",\"Archer\",\"TRUE\",\"TRUE\",7,44,,,\"TRUE\",\"TRUE\",,\"TRUE\",,,,,,,,,,,\n\"NPC3_2_HighlightReminder_Condition\",\"FirstMatch\",\"Npc3_2\",,,\"StarGained\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC3_2_HighlightReminder\",\"FirstMatch\",\"Npc3_2\",,,\"EnemyLeaderDead\",,,,,,,,,,,,,,,,,,,,,,,,,,,\"TRUE\",,,,,,\n\"NPC4_2_King_Speaks\",\"TrainingCamp\",\"Npc4_2\",\"TID_TUTORIAL_1_KING_TEXT4\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,\"TRUE\",,,,,\n\"NPC4_2_Start\",\"TrainingCamp\",\"Npc4_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"NPC5_2_King_Speaks\",\"TrainingCamp\",\"Npc5_2\",\"TID_TUTORIAL_1_KING_TEXT5\",,,,,\"sc/tutorial.sc\",4,\"tutorial_character1_left\",\"bubble_tutorial_anim\",\"sound_tutorial_first_vo\",,,,,,,,,,,\"TRUE\",,,,\"TRUE\",,,,,,\"TRUE\",,,,,\n\"NPC5_2_Start\",\"TrainingCamp\",\"Npc5_2\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/csv_logic/tve_gamemodes.csv",
    "content": "\"Name\",\"PrimarySpells\",\"SecondarySpells\",\"CastSpells\",\"RandomWaves\",\"ElixirPerWave\",\"WaveCount\",\"TimePerWave\",\"TimeToFirstWave\",\"ForcedCards1\",\"ForcedCards2\",\"RotateDecks\"\n\"String\",\"String\",\"String\",\"String\",\"boolean\",\"int\",\"int\",\"int\",\"int\",\"String\",\"String\",\"boolean\"\n\"Puzzle1\",\"Giant\",\"Balloon\",\"Fireball\",FALSE,10,4,16000,6000,\"Goblins\",\"Poison\",FALSE\n,\"Prince\",\"GoblinGang\",\"Arrows\",,,,,,\"BabyDragon\",\"Tombstone\",\n,\"Pekka\",\"Minions\",,,,,,,\"MiniPekka\",\"Tesla\",\n,\"DarkPrince\",\"Goblins\",,,,,,,\"Knight\",\"Log\",\n\"Puzzle2\",\"BabyDragon\",\"Minions\",,FALSE,,4,16000,7000,\"Skeletons\",\"Skeletons\",FALSE\n,\"DarkPrince\",\"Minions\",,,,,,,\"Skeletons\",\"Skeletons\",\n,\"HogRider\",\"Minions\",,,,,,,\"Skeletons\",\"Skeletons\",\n,\"AngryBarbarians\",\"Minions\",,,,,,,\"Wizard\",\"SkeletonArmy\",\n\"Puzzle3\",\"HogRider\",\"Barbarians\",,FALSE,,3,16000,8000,\"Mirror\",\"Bowler\",FALSE\n,\"MinionHorde\",\"Goblins\",,,,,,,\"Zap\",\"Zap\",\n,\"HogRider\",\"AngryBarbarians\",,,,,,,\"Cannon\",\"Mirror\",\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/database.sql",
    "content": "SET SQL_MODE = \"NO_AUTO_VALUE_ON_ZERO\";\nSET time_zone = \"+00:00\";\n\nCREATE TABLE IF NOT EXISTS `player` (\n  `Id` bigint(20) NOT NULL,\n  `Trophies` bigint(20) NOT NULL,\n  `Language` text CHARACTER SET utf8mb4 NOT NULL,\n  `FacebookId` text CHARACTER SET utf8mb4,\n  `Home` text CHARACTER SET utf8mb4 NOT NULL,\n  `Sessions` text CHARACTER SET utf8mb4 NOT NULL,\n  PRIMARY KEY (`Id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;\n\nCREATE TABLE IF NOT EXISTS `clan` (\n  `Id` bigint(20) NOT NULL,\n  `Trophies` bigint(20) NOT NULL,\n  `RequiredTrophies` bigint(20) NOT NULL,\n  `Type` bigint(20) NOT NULL,\n  `Region` text CHARACTER SET utf8mb4 NOT NULL,\n  `Data` text CHARACTER SET utf8mb4 NOT NULL,\n  PRIMARY KEY (`Id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
  },
  {
    "path": "src/ClashRoyale/GameAssets/fingerprint.json",
    "content": "{\n  \"files\": [\n    { \"file\": \"csv_client\\/background_decos.csv\", \"sha\": \"98e2e6b7c103a125c841a67fe38c8292ef0cd4bc\" },\n    { \"file\": \"csv_client\\/billing_packages.csv\", \"sha\": \"49c996b96dd55d1fa89f92ab3fa7414d4c8de431\" },\n    { \"file\": \"csv_client\\/client_globals.csv\", \"sha\": \"efbf10eed00828c1716439e75327ff07fe5ebdad\" },\n    { \"file\": \"csv_client\\/credits.csv\", \"sha\": \"0de5fd934651c18f1cdce6c96cba26d4e6737ff8\" },\n    { \"file\": \"csv_client\\/effects.csv\", \"sha\": \"5c35fb12fe95a4f8eb0ccc33155c607d0e11a8d1\" },\n    { \"file\": \"csv_client\\/event_output.csv\", \"sha\": \"1d1fe8917665d413f7ccf1e942accfc0272aa239\" },\n    { \"file\": \"csv_client\\/health_bars.csv\", \"sha\": \"320a08ddd4f64ce30e80492f5aaf4d6e022e0f65\" },\n    { \"file\": \"csv_client\\/helpshift.csv\", \"sha\": \"9ca8b013bf91219f34b29814cd6f8790a3776074\" },\n    { \"file\": \"csv_client\\/hints.csv\", \"sha\": \"8dfacff2da4fb56941baf0180cacb43148516eac\" },\n    { \"file\": \"csv_client\\/music.csv\", \"sha\": \"eda489dc7bc4e7be5107616c056bf357433cd0c7\" },\n    { \"file\": \"csv_client\\/news.csv\", \"sha\": \"d1d03196fefc30adedb3777a448d23cd3a189fa8\" },\n    { \"file\": \"csv_client\\/particle_emitters.csv\", \"sha\": \"3c3017cf80b3d9727c2b6f935501878739e7011b\" },\n    { \"file\": \"csv_client\\/sounds.csv\", \"sha\": \"ab1f8f7ba3db459e6a8169b0ac9b0137559164cd\" },\n    { \"file\": \"csv_client\\/texts.csv\", \"sha\": \"d01631549b660e3bd4f42b2c8e4bdc58dab08ba9\" },\n    { \"file\": \"csv_client\\/texts_patch.csv\", \"sha\": \"9103e487c226c846038f8acf007448b9b19d3d4f\" },\n    { \"file\": \"csv_logic\\/abilities.csv\", \"sha\": \"045c525ad402a4634f4c02da57953e04c3deab42\" },\n    { \"file\": \"csv_logic\\/achievements.csv\", \"sha\": \"102caf37790d5d00a7396ddc4a85315d22df05a0\" },\n    { \"file\": \"csv_logic\\/alliance_badges.csv\", \"sha\": \"60d1da32b25fdf2c87666cb4bdacf97f2042ee5a\" },\n    { \"file\": \"csv_logic\\/alliance_roles.csv\", \"sha\": \"4f5f1f4156286f92bba15a3442ac090822c8f3a0\" },\n    { \"file\": \"csv_logic\\/area_effect_objects.csv\", \"sha\": \"330300b17a1314c770457fa70e1c40d92be8af46\" },\n    { \"file\": \"csv_logic\\/arenas.csv\", \"sha\": \"27d07f79a7cb6275ca94ac0cf981d6ba25baf026\" },\n    { \"file\": \"csv_logic\\/buildings.csv\", \"sha\": \"39114b9aa89805102590a87fe7c89785e7ec9df8\" },\n    { \"file\": \"csv_logic\\/character_buffs.csv\", \"sha\": \"b0da90bd694ae5e816e1b4a8b007078e14809016\" },\n    { \"file\": \"csv_logic\\/characters.csv\", \"sha\": \"3282a925094abb4cf95e256faf019568a2dec1d7\" },\n    { \"file\": \"csv_logic\\/chest_order.csv\", \"sha\": \"1f67fbe4c1f51061a5d490f8b6279aa3d5c13625\" },\n    { \"file\": \"csv_logic\\/configuration_definitions.csv\", \"sha\": \"f32c3ccf0449f79adce2f31365bb6c80f8b9ac88\" },\n    { \"file\": \"csv_logic\\/content_tests.csv\", \"sha\": \"82dc0e8596a5e12e27821aadf9346786b4995b05\" },\n    { \"file\": \"csv_logic\\/decos.csv\", \"sha\": \"44d4f70067a4803d392a0a3738f65d58663ea0ee\" },\n    { \"file\": \"csv_logic\\/draft_deck.csv\", \"sha\": \"5fe2f6e75abb22b59f2df9cc58c93aaf70c0ea40\" },\n    { \"file\": \"csv_logic\\/event_categories.csv\", \"sha\": \"cfd6471d4ae994d810b4e3545c116fd7e04f8207\" },\n    { \"file\": \"csv_logic\\/event_category_definitions.csv\", \"sha\": \"1d4176dda6ef0b9e592ca60b3080eae3a8543b65\" },\n    { \"file\": \"csv_logic\\/event_category_enums.csv\", \"sha\": \"f11efe942d7d02b73878d8bd44c9c5b2e2d58dba\" },\n    { \"file\": \"csv_logic\\/event_category_object_definitions.csv\", \"sha\": \"b292165f5051b2b0c0ca94c8f803d804338b9154\" },\n    { \"file\": \"csv_logic\\/event_targeting_definitions.csv\", \"sha\": \"151310f2fc6e048ac3a5ee0430f385c52fb80b83\" },\n    { \"file\": \"csv_logic\\/exp_levels.csv\", \"sha\": \"74160dbab485b9dc06199fcc859c71a63275e534\" },\n    { \"file\": \"csv_logic\\/gamble_chests.csv\", \"sha\": \"784b5d6119af9f8227c310267fe869305d1f0d45\" },\n    { \"file\": \"csv_logic\\/game_modes.csv\", \"sha\": \"221686dc046193818c5ca60b21bb69f8db939a3b\" },\n    { \"file\": \"csv_logic\\/globals.csv\", \"sha\": \"ed5fb6a5fd8ba76e98e0d32653bbd826a0e55ce6\" },\n    { \"file\": \"csv_logic\\/heroes.csv\", \"sha\": \"50872f74f6765d6f787ef12ff722ad9f7d7e0b9a\" },\n    { \"file\": \"csv_logic\\/locales.csv\", \"sha\": \"75dc153628d9370b924da21b4ef3e0d255147668\" },\n    { \"file\": \"csv_logic\\/locations.csv\", \"sha\": \"978902d43a55918c5256c2a1f47e4cc557d8827f\" },\n    { \"file\": \"csv_logic\\/npcs.csv\", \"sha\": \"8030888d1b9ce81407cf04daf9ba450f8728d13d\" },\n    { \"file\": \"csv_logic\\/predefined_decks.csv\", \"sha\": \"682aff470627bc184fcf0427335f9df239e8d5bf\" },\n    { \"file\": \"csv_logic\\/projectiles.csv\", \"sha\": \"cd15587120e4caa3d7cbc1f7a1fdd106e1dbc1d2\" },\n    { \"file\": \"csv_logic\\/pve_boss.csv\", \"sha\": \"765d81af69b9a4b04e970d34e90918e4886e8035\" },\n    { \"file\": \"csv_logic\\/pve_gamemodes.csv\", \"sha\": \"83dd904828cf029ce643b58678c46cc6ef1bf229\" },\n    { \"file\": \"csv_logic\\/pve_waves.csv\", \"sha\": \"68ba8a46ef5a4ed2fa4e09be49a98805e7b9c1ae\" },\n    { \"file\": \"csv_logic\\/quest_order.csv\", \"sha\": \"2a5b6338f27367efbdd454db2c23b0e99002b365\" },\n    { \"file\": \"csv_logic\\/rarities.csv\", \"sha\": \"d2d651509b7d187d2eff499c9b511858ec9f3fbf\" },\n    { \"file\": \"csv_logic\\/regions.csv\", \"sha\": \"0d1d0fa23d623e48e1ae1ffe0fc8f081b6d7dc38\" },\n    { \"file\": \"csv_logic\\/resource_packs.csv\", \"sha\": \"9778fda8ea2fe1fcb18c0d4951241e0b235c8c7f\" },\n    { \"file\": \"csv_logic\\/resources.csv\", \"sha\": \"9b11c5ed412f3806f4803e9f609985c3db4cb2af\" },\n    { \"file\": \"csv_logic\\/shop.csv\", \"sha\": \"26b86090c77293691dafc0ffe52ab94b704b4734\" },\n    { \"file\": \"csv_logic\\/skins.csv\", \"sha\": \"84b5c61834807b21ea1ae298916e0c0acbc635dd\" },\n    { \"file\": \"csv_logic\\/spell_sets.csv\", \"sha\": \"b7edef85c1f5fddd1e80b9adb7788f6ebfb4a615\" },\n    { \"file\": \"csv_logic\\/spells_buildings.csv\", \"sha\": \"c2946aabd9dbf67d15640072df3535baa1dc4fa5\" },\n    { \"file\": \"csv_logic\\/spells_characters.csv\", \"sha\": \"13005946305cff442b9a1ba1bcdfff74da42ed98\" },\n    { \"file\": \"csv_logic\\/spells_heroes.csv\", \"sha\": \"c845e9208ab6396f3836058da9af45b8659f6b8c\" },\n    { \"file\": \"csv_logic\\/spells_other.csv\", \"sha\": \"26f46521658a57beab7f4b83f14645c2f6db9076\" },\n    { \"file\": \"csv_logic\\/survival_modes.csv\", \"sha\": \"574aaef9c16438c55a2a6bc2c78612b5ec137981\" },\n    { \"file\": \"csv_logic\\/taunts.csv\", \"sha\": \"05f205a6e5ec155615fd3f03f4d72c63f8e4ab61\" },\n    { \"file\": \"csv_logic\\/tournament_tiers.csv\", \"sha\": \"d70dc4ad26717f8d951976497903435abdee7e97\" },\n    { \"file\": \"csv_logic\\/treasure_chests.csv\", \"sha\": \"81952afe7daeff6c461c956c93c36cd8d369f013\" },\n    { \"file\": \"csv_logic\\/tutorial_chest_order.csv\", \"sha\": \"6e057939dd69ccf4e1a7f721de20752a60280efb\" },\n    { \"file\": \"csv_logic\\/tutorials_home.csv\", \"sha\": \"c4e6932f425c48847c4b28731681d350bf987a0a\" },\n    { \"file\": \"csv_logic\\/tutorials_npc.csv\", \"sha\": \"1f1d90e7bac7c9916c3ed44943622b769e0d5c1b\" },\n    { \"file\": \"csv_logic\\/tve_gamemodes.csv\", \"sha\": \"b3e209a61668f0974cd8c2aea51b8838c58a8e55\" },\n    { \"file\": \"locations\\/barbarian_arena.csv\", \"sha\": \"3517c96ce1f9ddb758d327e6b0a8375a183bd965\" },\n    { \"file\": \"locations\\/barbarian_arena_2v2.csv\", \"sha\": \"73fd9e561d6fa7cd1dec4aef9e5997268f0e85b9\" },\n    { \"file\": \"locations\\/bone_arena.csv\", \"sha\": \"9c1cd9fef49ce6c5eddf7d500c1a836b29e6b0fe\" },\n    { \"file\": \"locations\\/bone_arena_2v2.csv\", \"sha\": \"192ccad9b589a48b9900f7105bebcc5d780ab8f3\" },\n    { \"file\": \"locations\\/builder_arena.csv\", \"sha\": \"1b53d92bba38c2947a76be5acb657baf25e66319\" },\n    { \"file\": \"locations\\/builder_arena_2v2.csv\", \"sha\": \"7650de1de4dc072eaa6e1db87dd05b7d7f64f022\" },\n    { \"file\": \"locations\\/champion_arena.csv\", \"sha\": \"b8426071143a3714c1a2d0f5346094621d00c545\" },\n    { \"file\": \"locations\\/champion_arena_2v2.csv\", \"sha\": \"7b5d5417ef13eeb4c5a0f0551273c9aa80506f39\" },\n    { \"file\": \"locations\\/dark_arena.csv\", \"sha\": \"7f0678c3ebc9219cc3c9aafd4f6953a446b35051\" },\n    { \"file\": \"locations\\/dark_arena_2v2.csv\", \"sha\": \"619582af2d78b1ce483de3a92d8b878f1305b057\" },\n    { \"file\": \"locations\\/goblin_arena.csv\", \"sha\": \"b728d94e905f732ade527c55be8b46b2181f5655\" },\n    { \"file\": \"locations\\/goblin_arena_2v2.csv\", \"sha\": \"7bf737af72f6bf6b36ceedf86012ad3472dcd925\" },\n    { \"file\": \"locations\\/ice_arena.csv\", \"sha\": \"6500638606337afa483e8dda836ac5cc4d298434\" },\n    { \"file\": \"locations\\/ice_arena_2v2.csv\", \"sha\": \"273be0d9d612954670df1da43116d95b5e543768\" },\n    { \"file\": \"locations\\/jungle_arena.csv\", \"sha\": \"cd08bc08acac8f8b033b9a0b613ddcbb8a9506d0\" },\n    { \"file\": \"locations\\/jungle_arena_2v2.csv\", \"sha\": \"b73d406fa160d84ab274dd619ec90550a652a072\" },\n    { \"file\": \"locations\\/legendary_arena.csv\", \"sha\": \"33d1089cd91fbaec8cb5609c57030877f3b2af2a\" },\n    { \"file\": \"locations\\/legendary_arena_2v2.csv\", \"sha\": \"a41592b44cf1d1216c70f48f5762fb60bfd79625\" },\n    { \"file\": \"locations\\/royal_arena.csv\", \"sha\": \"e7a20edb7d77f6078de4d123dfa53efb006143ac\" },\n    { \"file\": \"locations\\/royal_arena_2v2.csv\", \"sha\": \"7f889bd5f74a8f2321e594322d6d43f876d2d55d\" },\n    { \"file\": \"locations\\/spell_arena.csv\", \"sha\": \"b6b636d373ad8537ceb77858e787ae89177b9dc3\" },\n    { \"file\": \"locations\\/spell_arena_2v2.csv\", \"sha\": \"33364bb79565cc390b4b301837c4eb6061f00a60\" },\n    { \"file\": \"locations\\/tilemap_pve.csv\", \"sha\": \"86aa06b6427124f62f3f8eab3b131120adbad0ae\" },\n    { \"file\": \"locations\\/titan_arena.csv\", \"sha\": \"9dffc153a1c9b8761ef135d3ffff940198b4f5a5\" },\n    { \"file\": \"locations\\/training_arena.csv\", \"sha\": \"f75292b4cae42b7af2ddfbf8cdf25407ba49fbef\" },\n    { \"file\": \"locations\\/training_arena_pve.csv\", \"sha\": \"f95cf90dc4d2d98f9b825d80460caa53128d5b0a\" },\n    { \"file\": \"locations\\/training_arena_pve1.csv\", \"sha\": \"c255bc977f996e8c1a5c7a9f7ff0e4b0b60803c9\" },\n    { \"file\": \"locations\\/training_arena_tve.csv\", \"sha\": \"f95cf90dc4d2d98f9b825d80460caa53128d5b0a\" },\n    { \"file\": \"sc\\/arena_training.sc\", \"sha\": \"d50a1737feb2a18a527e2ffce641793af54c5560\" },\n    { \"file\": \"sc\\/arena_training_tex.sc\", \"sha\": \"6145f920e0b7498b68747729c849e783581271d0\" },\n    { \"file\": \"sc\\/building_barbarian_hut.sc\", \"sha\": \"1ece30c8dd6adbdc47cab2e6dd09cb159c574f34\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_barbarian_hut_highres_tex.sc\",\n      \"sha\": \"af09a08c00d97c6fb18d5ca5eed945d5dae72d71\"\n    }, { \"file\": \"sc\\/building_barbarian_hut_lowres_tex.sc\", \"sha\": \"afccf9037e2cc6cad8299e18f9e5e64535243a0d\" },\n    { \"file\": \"sc\\/building_basic_cannon.sc\", \"sha\": \"92f4099fd856431736616592907ae4525b032fae\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_basic_cannon_highres_tex.sc\",\n      \"sha\": \"464bb2a9fec7353d608afe77832764f85d6060b7\"\n    }, { \"file\": \"sc\\/building_basic_cannon_lowres_tex.sc\", \"sha\": \"f98b23351f4034359956464c42f8a17ac0034104\" },\n    { \"file\": \"sc\\/building_bomb_tower.sc\", \"sha\": \"0d99fa516f205607eeb1eccec4af622fd59c4f95\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_bomb_tower_highres_tex.sc\",\n      \"sha\": \"e2e250256efc71da1a340455d3f4411d8bb1040a\"\n    }, { \"file\": \"sc\\/building_bomb_tower_lowres_tex.sc\", \"sha\": \"3f31e8d2bcda303f200ee908f323092354d466a0\" },\n    { \"file\": \"sc\\/building_elixir_collector.sc\", \"sha\": \"69f408820b7be6156f310f1ae067364df59cce2f\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_elixir_collector_highres_tex.sc\",\n      \"sha\": \"eac63229912c5c1089ebd51fbff55aa2f170c71f\"\n    }, { \"file\": \"sc\\/building_elixir_collector_lowres_tex.sc\", \"sha\": \"79aa7fe02d013520a2ce1ae2e9377212b148b2e9\" },\n    { \"file\": \"sc\\/building_firespirit_hut.sc\", \"sha\": \"710ca8504cf78b719e5b1bca2e7bb19ab487e948\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_firespirit_hut_highres_tex.sc\",\n      \"sha\": \"c5870c37410c80c59c3b2b07b41069e2d135fcb0\"\n    }, { \"file\": \"sc\\/building_firespirit_hut_lowres_tex.sc\", \"sha\": \"9b1aeccf22674507379f36504eb50570879aa3f3\" },\n    { \"file\": \"sc\\/building_goblin_hut.sc\", \"sha\": \"0b53eadb2260613636a40ff673ef6cbe6f035eb1\" },\n    { \"file\": \"sc\\/building_goblin_hut_tex.sc\", \"sha\": \"69f674f12df077571b95f05debb652cf6ceafaeb\" },\n    { \"file\": \"sc\\/building_inferno_tower.sc\", \"sha\": \"c54c40ad94fc1a0a22b868fbaa19c7aba0feea3d\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_inferno_tower_highres_tex.sc\",\n      \"sha\": \"d511d52bf5a40ecd834f68594900c727185a92df\"\n    }, { \"file\": \"sc\\/building_inferno_tower_lowres_tex.sc\", \"sha\": \"dc7a690fee673ea0d1edf4cec581a44f6187b2ae\" },\n    { \"file\": \"sc\\/building_mega_bomb.sc\", \"sha\": \"83e2001c338f947a909472dabf651cfb78746bd5\" },\n    { \"file\": \"sc\\/building_mega_bomb_tex.sc\", \"sha\": \"dbd1a33f320bfd9a743691c3d79a93250100903e\" },\n    { \"file\": \"sc\\/building_mortar.sc\", \"sha\": \"5aee7e2a5f4c20b870d2311242fd8ef87c1d32bf\" },\n    { \"defer\": true, \"file\": \"sc\\/building_mortar_highres_tex.sc\", \"sha\": \"7cb207320113171019d4e87cbe9de982088df7b2\" },\n    { \"file\": \"sc\\/building_mortar_lowres_tex.sc\", \"sha\": \"9595130c5b8fc59a69ae86a152c10dcc0c1e0137\" },\n    { \"file\": \"sc\\/building_rage_bottle.sc\", \"sha\": \"2ad10255b0a5c38df27863e03c16186c5ff2f148\" },\n    { \"file\": \"sc\\/building_rage_bottle_tex.sc\", \"sha\": \"66d8f66007577b58b7c25ffca17c23826981ae67\" },\n    { \"file\": \"sc\\/building_tesla.sc\", \"sha\": \"811e7e2ac86d9cf7ddddd8fa749efab679f589b8\" },\n    { \"defer\": true, \"file\": \"sc\\/building_tesla_highres_tex.sc\", \"sha\": \"1780a311774b0e2cdd6ccf67afa90bdea2628330\" },\n    { \"file\": \"sc\\/building_tesla_lowres_tex.sc\", \"sha\": \"2aed92a80bcfac5c47230c82f58b434dc24dc310\" },\n    { \"file\": \"sc\\/building_tombstone.sc\", \"sha\": \"4ce2fd0eb2c988443fe132027a6d52f407778120\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/building_tombstone_highres_tex.sc\",\n      \"sha\": \"2869188540555aaf4a5b50bd87480675d7da6391\"\n    }, { \"file\": \"sc\\/building_tombstone_lowres_tex.sc\", \"sha\": \"464117bc6ed072e652468d8160a87eec0ea915c2\" },\n    { \"file\": \"sc\\/building_tower.sc\", \"sha\": \"2d3a92050c37d8d882d623cdce5baf425192bc76\" },\n    { \"file\": \"sc\\/building_tower_tex.sc\", \"sha\": \"3e7181bd15ca4eeffa4e519ceebb5f45612ef435\" },\n    { \"file\": \"sc\\/building_xbow.sc\", \"sha\": \"f6ad9798c229aa792dfdee687f08dd921f3e9ea6\" },\n    { \"defer\": true, \"file\": \"sc\\/building_xbow_highres_tex.sc\", \"sha\": \"5aa73df8ff167cdb25757e21d74c6bf72e5cbb98\" },\n    { \"file\": \"sc\\/building_xbow_lowres_tex.sc\", \"sha\": \"0691060f27124200acd3fe6f513504a68822d14f\" },\n    { \"file\": \"sc\\/chr_archer.sc\", \"sha\": \"eb09ef119ed615076fcbec9cbf9dd76e7dc6e471\" },\n    { \"file\": \"sc\\/chr_archer_tex.sc\", \"sha\": \"9f596265bcc6049fc4133fcd2249d53823e32cbb\" },\n    { \"file\": \"sc\\/chr_axe_man.sc\", \"sha\": \"a8f4690db5902167672908d7884f867b2110799e\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_axe_man_highres_tex.sc\", \"sha\": \"84bd2b58f8309a50d99acbcb2aa634ea95bfbd5b\" },\n    { \"file\": \"sc\\/chr_axe_man_lowres_tex.sc\", \"sha\": \"7580ba01b4fa0374bccc630490afa7ed60e0bae7\" },\n    { \"file\": \"sc\\/chr_baby_dragon.sc\", \"sha\": \"2102f0e86f6c69f2ceaf6909d3c1a26d89fcdf30\" },\n    { \"file\": \"sc\\/chr_baby_dragon_tex.sc\", \"sha\": \"fe8d3a35b6fb48960e9f0f762da9f0bf4a1a94d8\" },\n    { \"file\": \"sc\\/chr_balloon.sc\", \"sha\": \"5f51ad9b4c1ebbd09bf3ade16f60a83e655ca3c7\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_balloon_highres_tex.sc\", \"sha\": \"8df3b1030fbb299690c838ef0aba75d0200f65b9\" },\n    { \"file\": \"sc\\/chr_balloon_lowres_tex.sc\", \"sha\": \"109bb68197829bb087290f8e69c5be03b3f04e8a\" },\n    { \"file\": \"sc\\/chr_bandit.sc\", \"sha\": \"66fd0b3d041f852a73e49d8f1c662157b86bb408\" },\n    { \"file\": \"sc\\/chr_bandit_tex.sc\", \"sha\": \"07df546a083f53e9efa16da5c25cbd2f7380c11a\" },\n    { \"file\": \"sc\\/chr_barbarian.sc\", \"sha\": \"955813f5a8a5988429dd1b43c67d11726f22d4b3\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_barbarian_highres_tex.sc\", \"sha\": \"99bf3c30bfa55194a7cf1938e3b013b86b394eaf\" },\n    { \"file\": \"sc\\/chr_barbarian_lowres_tex.sc\", \"sha\": \"1f05bdf5cf622015e2a7b309f61b426f7739018b\" },\n    { \"file\": \"sc\\/chr_bats.sc\", \"sha\": \"1b5432bb3843aa15f1071776aea3433a14b4ba87\" },\n    { \"file\": \"sc\\/chr_bats_tex.sc\", \"sha\": \"785a5d6bf7d98a92a840516e49da8448c5bffb5c\" },\n    { \"file\": \"sc\\/chr_battle_ram.sc\", \"sha\": \"131bca84a2e25f7e4779a21e3a0eeaaf3889df77\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_battle_ram_highres_tex.sc\", \"sha\": \"78984bff02bfeeecfe512a5cc7f32e842295cda2\" },\n    { \"file\": \"sc\\/chr_battle_ram_lowres_tex.sc\", \"sha\": \"90b6787ec74e0fb50c55064f63103713feb70ced\" },\n    { \"file\": \"sc\\/chr_black_knight.sc\", \"sha\": \"67d6ecc57d873d73b5a0a0a2c7a5b333abe5c78b\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_black_knight_highres_tex.sc\", \"sha\": \"90434b4933301afca1e04dfc82bf0137e4cacbfe\" },\n    { \"file\": \"sc\\/chr_black_knight_lowres_tex.sc\", \"sha\": \"8f0103fce05da0f75fb0e442ba6f153f329bbf53\" },\n    { \"file\": \"sc\\/chr_bomber.sc\", \"sha\": \"f7cea18514d499fbb3a686e352471a6c8aa3ef61\" },\n    { \"file\": \"sc\\/chr_bomber_tex.sc\", \"sha\": \"ce9cc6d1288b4289066b7cdd9f10c1a5b4fdc0d2\" },\n    { \"file\": \"sc\\/chr_bowler.sc\", \"sha\": \"dff7d5b592c7d533fa4ed0f88d8a02b599468eee\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_bowler_highres_tex.sc\", \"sha\": \"03a8ff19054fc366941cd93675168d1cf5d6d436\" },\n    { \"file\": \"sc\\/chr_bowler_lowres_tex.sc\", \"sha\": \"82dfb71c650fbcf6e1544954210b4fa3eb715ee0\" },\n    { \"file\": \"sc\\/chr_dark_witch.sc\", \"sha\": \"8f6c52246ff160003600fa509cf350de6494d307\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_dark_witch_highres_tex.sc\", \"sha\": \"ea50bbe9bf349ac320201a2a4a0a3adc9e482c89\" },\n    { \"file\": \"sc\\/chr_dark_witch_lowres_tex.sc\", \"sha\": \"8c00f6b8406ce5578d5214f0abc365e138d24013\" },\n    { \"file\": \"sc\\/chr_electro_wizard.sc\", \"sha\": \"0566b0b55b5b2418acccc509bd95544bfa744b66\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_electro_wizard_highres_tex.sc\",\n      \"sha\": \"21105aac0e1236ba85fe8a794ee536e0780ed5b7\"\n    }, { \"file\": \"sc\\/chr_electro_wizard_lowres_tex.sc\", \"sha\": \"c17d02673bf13fe1256cc5205b9ce5909ed53668\" },\n    { \"file\": \"sc\\/chr_fire_firespirit.sc\", \"sha\": \"2647a58a09be0706188544f71520a5af2bb773c9\" },\n    { \"file\": \"sc\\/chr_fire_firespirit_tex.sc\", \"sha\": \"86245eae3000b93ce6c0ad44c903ad7f3f718e43\" },\n    { \"file\": \"sc\\/chr_flying_machine.sc\", \"sha\": \"a9b5e91bf2209dc85bd0f39dd8735268edddc3a7\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_flying_machine_highres_tex.sc\",\n      \"sha\": \"fb8f21394f6372e8445af6c848a0b77d9c3ae89d\"\n    }, { \"file\": \"sc\\/chr_flying_machine_lowres_tex.sc\", \"sha\": \"1f62d070cec46571934af414cf6c4f3d5014d93d\" },\n    { \"file\": \"sc\\/chr_giant.sc\", \"sha\": \"eecfbf09ddfacefbe997aec1ff8b285b21579cea\" },\n    { \"file\": \"sc\\/chr_giant_skeleton.sc\", \"sha\": \"34af2e262a4c8fe684586b05b2c66039726ea058\" },\n    { \"file\": \"sc\\/chr_giant_skeleton_tex.sc\", \"sha\": \"0558069170869f87171612c48a54808fd42664cf\" },\n    { \"file\": \"sc\\/chr_giant_tex.sc\", \"sha\": \"a3794f826cd3cfc868fd75bd34a4992a0f6472ef\" },\n    { \"file\": \"sc\\/chr_goblin.sc\", \"sha\": \"4ba6be0a75db198b270f206edf896dd14c4d9b08\" },\n    { \"file\": \"sc\\/chr_goblin_archer.sc\", \"sha\": \"ce51ff3a04f9370344233c942f58b11cd0af384d\" },\n    { \"file\": \"sc\\/chr_goblin_archer_tex.sc\", \"sha\": \"2ba27d0577f218940c2e6faca6c473650007bc23\" },\n    { \"file\": \"sc\\/chr_goblin_blowdart.sc\", \"sha\": \"0675d3da00353a6d6ea667c3795ff8066c2a407e\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_goblin_blowdart_highres_tex.sc\",\n      \"sha\": \"d14d9a9777488fbf831be6a22d60585717b414d1\"\n    }, { \"file\": \"sc\\/chr_goblin_blowdart_lowres_tex.sc\", \"sha\": \"fa89f03c1367d02cfa20b183f0171971e05572cb\" },\n    { \"file\": \"sc\\/chr_goblin_tex.sc\", \"sha\": \"8b20ee6de3e6837fe369e5ba21ed7a03242b82e4\" },\n    { \"file\": \"sc\\/chr_golem.sc\", \"sha\": \"91979d5f62108b84c1ca700ef401d24e4bb335a9\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_golem_highres_tex.sc\", \"sha\": \"735a9e792e1d37896bc9b7321bdc18aa51b19ee3\" },\n    { \"file\": \"sc\\/chr_golem_lowres_tex.sc\", \"sha\": \"adf1d43f72bacfc97296e04b140b69ad209f82fa\" },\n    { \"file\": \"sc\\/chr_golemite.sc\", \"sha\": \"eaa4b597ef18008a5bd195c64da65635b856085f\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_golemite_highres_tex.sc\", \"sha\": \"542cd90549b7eae5dccbca9a0be3db17c256180b\" },\n    { \"file\": \"sc\\/chr_golemite_lowres_tex.sc\", \"sha\": \"d5e96d6d6e790d34724a64b46a15a1f166bdc467\" },\n    { \"file\": \"sc\\/chr_hog_rider.sc\", \"sha\": \"be055fd87744ba02190b09e7562d5d50c1623855\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_hog_rider_highres_tex.sc\", \"sha\": \"e73a95a838c0b590cc30a53cb448ad94d3ff3c15\" },\n    { \"file\": \"sc\\/chr_hog_rider_lowres_tex.sc\", \"sha\": \"cb151343f7a388ca1f6af52dcb72575f0950ca53\" },\n    { \"file\": \"sc\\/chr_ice_spirits.sc\", \"sha\": \"233b2a5778ef3908444528e6b6d4339db917b89c\" },\n    { \"file\": \"sc\\/chr_ice_spirits_tex.sc\", \"sha\": \"0d6ee0c9d98e5e849d8b8a0a7796bd08b284a28c\" },\n    { \"file\": \"sc\\/chr_ice_wizard.sc\", \"sha\": \"b78a0a3157e4985687c51b09436be8144f9b93a8\" },\n    { \"file\": \"sc\\/chr_ice_wizard_tex.sc\", \"sha\": \"c3c293b23349f0c495f02e9046bf423d0f2016fd\" },\n    { \"file\": \"sc\\/chr_knight.sc\", \"sha\": \"f8300b9210b23e860f5566ccb94f4bece50c8dc9\" },\n    { \"file\": \"sc\\/chr_knight_tex.sc\", \"sha\": \"a7cdac061ca48224c018f2d158d43dc048d3791e\" },\n    { \"file\": \"sc\\/chr_lava_hound.sc\", \"sha\": \"0dd9b153e18dea9768b093a3fc81a95e46b746d7\" },\n    { \"file\": \"sc\\/chr_lava_hound_tex.sc\", \"sha\": \"573afd6de95b3d0509774d0d0ce36fa763bcd14a\" },\n    { \"file\": \"sc\\/chr_lava_pups.sc\", \"sha\": \"dcc4af92246e14194bafe25029b04daf2010f2aa\" },\n    { \"file\": \"sc\\/chr_lava_pups_tex.sc\", \"sha\": \"de0f62f9caa62e36e2b7bfe8ffcb855a3b210275\" },\n    { \"file\": \"sc\\/chr_mega_knight.sc\", \"sha\": \"35029ccec2313ea6e1ede1425eacea3c3470606d\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_mega_knight_highres_tex.sc\", \"sha\": \"05cde01c02b43e9be0e3c545bf86b20f9a87bfe9\" },\n    { \"file\": \"sc\\/chr_mega_knight_lowres_tex.sc\", \"sha\": \"8a1f0f58f5607ae9b65c68a90616c0a1c2000936\" },\n    { \"file\": \"sc\\/chr_mega_minion.sc\", \"sha\": \"4f2b4260c178e45f5d75bc4e4a685014454a26f1\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_mega_minion_highres_tex.sc\", \"sha\": \"5559d627b11c43d322d5db076fbeb36f3d71d3f8\" },\n    { \"file\": \"sc\\/chr_mega_minion_lowres_tex.sc\", \"sha\": \"e8f339928fa8ff79cb660b58fdf41ded38ad8604\" },\n    { \"file\": \"sc\\/chr_miner.sc\", \"sha\": \"e81c6e7daa0ceb9df8fa39181c5614844570d697\" },\n    { \"file\": \"sc\\/chr_miner_tex.sc\", \"sha\": \"015b53e3d996426f38d666aaf7d5eeee82f5c8dc\" },\n    { \"file\": \"sc\\/chr_mini_pekka.sc\", \"sha\": \"b5e1e22daafc483bf940a2ebf1d66bd8e4d0bbc9\" },\n    { \"file\": \"sc\\/chr_mini_pekka_tex.sc\", \"sha\": \"89c2baeb0312cd3db2e4839793c7f6db9bf0f2cf\" },\n    { \"file\": \"sc\\/chr_minion.sc\", \"sha\": \"00a218211f2cc42cd2906e4acf8eccbcbb69ec0b\" },\n    { \"file\": \"sc\\/chr_minion_tex.sc\", \"sha\": \"f96421c482befdb1099a675c5b2bec1dde3406b6\" },\n    { \"file\": \"sc\\/chr_movingcannon.sc\", \"sha\": \"7dcaf5c96cb106bcf9f7b7e728dea48d0568e1e4\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_movingcannon_highres_tex.sc\", \"sha\": \"096e1a2483e446aa8f9cd5d25322cff3103d0696\" },\n    { \"file\": \"sc\\/chr_movingcannon_lowres_tex.sc\", \"sha\": \"b72ecec36bb13224f320078e238dac6bcb946751\" },\n    { \"file\": \"sc\\/chr_musketeer.sc\", \"sha\": \"7356005785b3e12c37d3f62c4f26da2344f50b3d\" },\n    { \"file\": \"sc\\/chr_musketeer_tex.sc\", \"sha\": \"8daa1e8afdb571e8a8694cfdfe1dd681e8c1f29b\" },\n    { \"file\": \"sc\\/chr_pekka.sc\", \"sha\": \"64bc7d3e77b92f58c3e63f7456a7159fe893d6b2\" },\n    { \"file\": \"sc\\/chr_pekka_tex.sc\", \"sha\": \"bd178670bd9f1a140cd4ae6b1a740faa302f1f9a\" },\n    { \"file\": \"sc\\/chr_prince.sc\", \"sha\": \"fdfffab58ac21bf5245f54b664e3704d72eaafd7\" },\n    { \"file\": \"sc\\/chr_prince_tex.sc\", \"sha\": \"50c3ea4e799e6b0a727eb890a4f96423d0ec0329\" },\n    { \"file\": \"sc\\/chr_princess.sc\", \"sha\": \"63b316ae7a7496cb48c7aebfbdfd0fc54bd6ce55\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_princess_highres_tex.sc\", \"sha\": \"6ba51c0505b4c94f1e6e96d9273cc3fbf24eec6c\" },\n    { \"file\": \"sc\\/chr_princess_lowres_tex.sc\", \"sha\": \"2c4d49be72430c9dd8a8fb99a4e937beaf8b1124\" },\n    { \"file\": \"sc\\/chr_rage_barbarian.sc\", \"sha\": \"132a2e10fdb7cba9a3e785c554aa2561c341acae\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_rage_barbarian_highres_tex.sc\",\n      \"sha\": \"d22557accb2d91167132b19b810964ffb68cade8\"\n    }, { \"file\": \"sc\\/chr_rage_barbarian_lowres_tex.sc\", \"sha\": \"74a1f51500ed0cc00b7654f8449faa771799e8c1\" },\n    { \"file\": \"sc\\/chr_royal_giant.sc\", \"sha\": \"608a270eb18ec39035fe796df977a02ae20c28cf\" },\n    { \"defer\": true, \"file\": \"sc\\/chr_royal_giant_highres_tex.sc\", \"sha\": \"064d49c6d85c022e06569c25843b74fddca2997e\" },\n    { \"file\": \"sc\\/chr_royal_giant_lowres_tex.sc\", \"sha\": \"9cb9bc2e945c5bed7447418584f769d5ac99ada1\" },\n    { \"file\": \"sc\\/chr_skeleton.sc\", \"sha\": \"dd917f7b517d277f216337b654250d9355bfbed0\" },\n    { \"file\": \"sc\\/chr_skeleton_balloon.sc\", \"sha\": \"c9b5b44a3d99b54ac6a99ec7ff51d89f39137d64\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_skeleton_balloon_highres_tex.sc\",\n      \"sha\": \"b4bf3402753b5967cb5efbd73926a1b4da26e53b\"\n    }, { \"file\": \"sc\\/chr_skeleton_balloon_lowres_tex.sc\", \"sha\": \"3f8cddae997d1626eeb460f92859145899a313f0\" },\n    { \"file\": \"sc\\/chr_skeleton_tex.sc\", \"sha\": \"6dbd6fe30948b572807b40d6755e1674807824ef\" },\n    { \"file\": \"sc\\/chr_skeleton_warrior.sc\", \"sha\": \"fc7669462f501a296361199ab819d2e6b7dd0478\" },\n    {\n      \"defer\": true,\n      \"file\": \"sc\\/chr_skeleton_warrior_highres_tex.sc\",\n      \"sha\": \"184b0ba77984ae5f79e34b13500d16f68d1cdc16\"\n    }, { \"file\": \"sc\\/chr_skeleton_warrior_lowres_tex.sc\", \"sha\": \"e3d664d7417b86c89b6cdc249db05c91d7d8f4ac\" },\n    { \"file\": \"sc\\/chr_snowman.sc\", \"sha\": \"f8448b6a23554d8c8aa14af80f765039903d2995\" },\n    { \"file\": \"sc\\/chr_snowman_tex.sc\", \"sha\": \"c17430f856308f838df8efa42a85dc274b1587f7\" },\n    { \"file\": \"sc\\/chr_valkyrie.sc\", \"sha\": \"a9cbe5e0eed269ef0f6c0b954d24a1f0b029d752\" },\n    { \"file\": \"sc\\/chr_valkyrie_tex.sc\", \"sha\": \"0b9e407c1ff063f899f090aa51de729c361c8936\" },\n    { \"file\": \"sc\\/chr_witch.sc\", \"sha\": \"fb5a21b31ee720c5a9a319768304829d0aefcea5\" },\n    { \"file\": \"sc\\/chr_witch_tex.sc\", \"sha\": \"de2d05093447774f8a1f10ad9b3d53a893eb4db9\" },\n    { \"file\": \"sc\\/chr_wizard.sc\", \"sha\": \"483c9ce01947c88b5e4e02e7fc232f5b22ef9927\" },\n    { \"file\": \"sc\\/chr_wizard_tex.sc\", \"sha\": \"8ffd4dd7826100662ca9af521b7d03f73cac447e\" },\n    { \"file\": \"sc\\/chr_zap_machine.sc\", \"sha\": \"4ef1a8057d96ca1bcb91e2107fcfba0e0097d6cb\" },\n    { \"file\": \"sc\\/chr_zap_machine_tex.sc\", \"sha\": \"d80aa5c9ae53392c8717a5f22d59031a37ddf675\" },\n    { \"file\": \"sc\\/debug.sc\", \"sha\": \"0bb2d88651bc00c1ddd9fb0a4eeee03c0a9878b4\" },\n    { \"file\": \"sc\\/debug_tex.sc\", \"sha\": \"0f5a87c9beedcedf01b6cb5d49f9a45178e71847\" },\n    { \"file\": \"sc\\/effects.sc\", \"sha\": \"cc4d45b48a62a24d19bd34c080df68631b627a57\" },\n    { \"file\": \"sc\\/effects_tex.sc\", \"sha\": \"48661e8172c579ab0f3bc4d9a447bcae8182e2c0\" },\n    { \"file\": \"sc\\/level_barbarian_arena.sc\", \"sha\": \"a90f679d3d22fd381c06622224867860f1920d53\" },\n    { \"file\": \"sc\\/level_barbarian_arena_tex.sc\", \"sha\": \"3d710a9d701c87321e3a38718e3632338a97c84a\" },\n    { \"file\": \"sc\\/level_bone_arena.sc\", \"sha\": \"4e64ac4e8951cfaece75727f51e6287b27bbb24b\" },\n    { \"file\": \"sc\\/level_bone_arena_tex.sc\", \"sha\": \"4f346633a7adaebc72f424097053594d21e3a8fd\" },\n    { \"file\": \"sc\\/level_builder_arena.sc\", \"sha\": \"5f78db7ce9cbc968aa9e54a61348cd0f1e8eaab9\" },\n    { \"file\": \"sc\\/level_builder_arena_tex.sc\", \"sha\": \"6d161de8d516831e51418a6130bc9f443a9806bb\" },\n    { \"file\": \"sc\\/level_champion_arena.sc\", \"sha\": \"5bc3e2fd887eb3e57d647ed4dd994750911d6993\" },\n    { \"file\": \"sc\\/level_champion_arena_tex.sc\", \"sha\": \"f5edfcff7f50d7a8f68f54eda720f4edcf4e396d\" },\n    { \"file\": \"sc\\/level_dark_arena.sc\", \"sha\": \"1a0dcbd98932d2710ffb07abaa8762c65a64cca7\" },\n    { \"file\": \"sc\\/level_dark_arena_tex.sc\", \"sha\": \"c7cee52a6448a1786d456d1b83d94e8361e10f53\" },\n    { \"file\": \"sc\\/level_decos.sc\", \"sha\": \"4301fd7e30d129f771bcf4efdfe8fb5901b083be\" },\n    { \"file\": \"sc\\/level_decos_tex.sc\", \"sha\": \"4ba67d621033785a7024f0f4b147a90c8d73a3d2\" },\n    { \"file\": \"sc\\/level_goblin_arena.sc\", \"sha\": \"0ba5c1e3fddb873f6ccec2136376b209475e4e23\" },\n    { \"file\": \"sc\\/level_goblin_arena_tex.sc\", \"sha\": \"415a8233376b2585bb01700c89600ed79c39b5da\" },\n    { \"file\": \"sc\\/level_ice_arena.sc\", \"sha\": \"2967d110a800b022d5f7258e401c9d76d92a9886\" },\n    { \"file\": \"sc\\/level_ice_arena_tex.sc\", \"sha\": \"801d1a852559a9a88c2673fff9284a810899292b\" },\n    { \"file\": \"sc\\/level_jungle_arena.sc\", \"sha\": \"b422a13bb3d72ef087829e2122dc808a4d4ae758\" },\n    { \"file\": \"sc\\/level_jungle_arena_tex.sc\", \"sha\": \"7b7bc8b4682381240d417e7bda246098fc5e5969\" },\n    { \"file\": \"sc\\/level_legendary_arena.sc\", \"sha\": \"499f0d7be438996dea3b023af469e67adf7b3164\" },\n    { \"file\": \"sc\\/level_legendary_arena_tex.sc\", \"sha\": \"77b9413de7a20c7d80c8461868b4dfadf0e98ea2\" },\n    { \"file\": \"sc\\/level_royal_arena.sc\", \"sha\": \"f883ad87a096e510be24843b1ac4d3b586a97b88\" },\n    { \"file\": \"sc\\/level_royal_arena_tex.sc\", \"sha\": \"1a0372bc50009d289db397c4b621b320f77e2062\" },\n    { \"file\": \"sc\\/level_spell_arena.sc\", \"sha\": \"0e3e4b997bfa5759005da4c07d6745a29ce6300c\" },\n    { \"file\": \"sc\\/level_spell_arena_tex.sc\", \"sha\": \"d1f1f63129da391cb741465e59b737a725e8f621\" },\n    { \"file\": \"sc\\/loading.sc\", \"sha\": \"cfae330222400cc076034a12c84830bff3ec38af\" },\n    { \"file\": \"sc\\/loading_tex.sc\", \"sha\": \"d39e5ef26206416f9784f05a7f5e40de5243e8ab\" },\n    { \"file\": \"sc\\/spell_goblin_barrel.sc\", \"sha\": \"272503bb76509dbfdcfebea7a3526a8daae1c0aa\" },\n    { \"file\": \"sc\\/spell_goblin_barrel_tex.sc\", \"sha\": \"3b0be08d38a5673583d6935bd1dbe7f2b70225ec\" },\n    { \"file\": \"sc\\/tutorial.sc\", \"sha\": \"bc458ab16d951492139f9ac2a197e8e8f1d25b64\" },\n    { \"file\": \"sc\\/tutorial_tex.sc\", \"sha\": \"6a740bdc8f93e445eefb9da886665add0add1826\" },\n    { \"file\": \"sc\\/ui.sc\", \"sha\": \"222a0b8387bc3c7c2b3bb46648789638f6ff1a4e\" },\n    { \"file\": \"sc\\/ui_arena.sc\", \"sha\": \"c0a5e3f4f8748092ceb5d7d707ca693177ff0458\" },\n    { \"file\": \"sc\\/ui_arena_tex.sc\", \"sha\": \"da0af4a658063d90063b3def450e480edd481cc5\" },\n    { \"file\": \"sc\\/ui_battle_end.sc\", \"sha\": \"aef41981a85f0ef4f5f56992b179eb74dd387ff8\" },\n    { \"file\": \"sc\\/ui_battle_end_tex.sc\", \"sha\": \"fedd9acd3063d5de85da7daf146dd085af856f73\" },\n    { \"file\": \"sc\\/ui_chest.sc\", \"sha\": \"20cadf70723a47e2632107743e14d891cd87a0e4\" },\n    { \"file\": \"sc\\/ui_chest_tex.sc\", \"sha\": \"da272e7a11724dbe8f94100e10aab8f2d07b7d08\" },\n    { \"file\": \"sc\\/ui_spells.sc\", \"sha\": \"2f307312e9d99a8c405d7d411771435e726802b6\" },\n    { \"file\": \"sc\\/ui_spells_tex.sc\", \"sha\": \"773302a60ba81177552e458d5adda6cca532036c\" },\n    { \"file\": \"sc\\/ui_tex.sc\", \"sha\": \"296db1dc511dcb21bc0953522f0fb6584f45cd44\" },\n    { \"file\": \"tilemaps\\/tilemap.csv\", \"sha\": \"b8400d6f48361bb0e3062af74a7cf133843b5c8e\" },\n    { \"file\": \"tilemaps\\/tilemap_2v2.csv\", \"sha\": \"92c8e2a1aa2e603f979ce39759fe504c5ba256bd\" },\n    { \"file\": \"tilemaps\\/tilemap_pve.csv\", \"sha\": \"86aa06b6427124f62f3f8eab3b131120adbad0ae\" },\n    { \"file\": \"tilemaps\\/tilemap_pve1.csv\", \"sha\": \"bed853f14ccaaa51d2e4df25e960b432b64654bc\" },\n    { \"file\": \"tilemaps\\/tilemap_tve.csv\", \"sha\": \"9d967a14c90bab2e21a344ea0685abcdceecd243\" }\n  ],\n  \"sha\": \"62e9d186487cc657aad6466c05d081e6b49e4023\",\n  \"version\": \"3.377.1\"\n}"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/barbarian_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_barbarian_arena.sc\",\"barbarian_arena_bgr\",\n\"Objects\",,,\n,\"barbarian_red_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,11500\n,,-2500,4500\n,\"barbarian_red_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,12000\n,,20500,4000\n,\"barbarian_blue_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,20500\n,,-2500,28500\n,\"barbarian_blue_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,20500\n,,20500,28000\n,\"barbarian_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,-3000\n,,20500,7500\n,\"barbarian_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16500,-2500\n,\"barbarian_red_barracks\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-4000\n,\"barbarian_blue_barracks\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,37000\n,\"barbarian_blocktree\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24000,6000\n,,21000,24500\n,,28000,30000\n,,21000,\n,,-9000,-4500\n,,-4500,7500\n,,-7500,34000\n,,-3000,33000\n,,-5500,2500\n,,24500,40500\n,,-6000,19000\n,,-7000,14000\n,,24000,31000\n,,31000,29000\n,,23500,22000\n,,23500,14500\n,,21500,-4000\n,,-9000,17000\n,,-10000,21000\n,,26000,11500\n,,-8500,8500\n,,-8500,29500\n,,31500,18500\n,,30000,13500\n,,-12500,27500\n,,-2500,-10000\n,,24000,-9500\n,,27000,2000\n,,29000,26000\n,,27500,42500\n,,-11500,43500\n,,16000,-10500\n,,-500,39000\n,,-2000,45000\n,,19500,44500\n,,24000,44500\n,,25500,38000\n,,5500,45000\n,\"barbarian_barrell\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2864,15831\n,\"barbarian_fence1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,33000\n,,16000,33000\n,,1500,-1000\n,,16500,-1000\n,,9000,34000\n,,9000,-1500\n,\"barbarian_bush1x\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,40000\n,,-4500,34500\n,,24000,17500\n,,-3500,-5500\n,,11000,-7000\n,,29000,18000\n,,28000,35000\n,,-10000,1000\n,,4000,-9000\n,,7000,-7000\n,,-7500,-8000\n,,27500,20000\n,,20500,38000\n,,-8500,44500\n,,500,44500\n,\"barbarian_mushrooms\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,29000,22000\n,,500,-8000\n,,15000,42000\n,,22500,33000\n,,4000,36000\n,,7000,40500\n,,23500,-2500\n,,-2000,36000\n,,11000,40500\n,,18000,-11000\n,,25500,-6000\n,,-11000,8500\n,,-10500,-10000\n,,28000,6500\n,,-10500,33500\n,,2500,-11500\n,,30000,32000\n,,11500,43000\n,,6500,46500\n,,12500,46500\n,,26500,31000\n,,-7500,-2500\n,\"barbarian_tower3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16500,35000\n,,-2500,24000\n,\"barbarian_tower4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,35000\n,\"barbarian_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,432,14750\n,,17500,17416\n,\"barbarian_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17375\n,,17500,14666\n,,-3000,39000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19500,34500\n,,-2500,-2000\n,,3500,44000\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,-2500\n,,26000,18000\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,7500\n,,-11000,13500\n,,25500,25500\n,,2000,46000\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,-10500\n,,29000,3500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,42000\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26500,45500\n,,29000,37000\n,,-8000,5000\n,,25500,-1000\n,,17500,46000\n,,-5500,38500\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9000,41500\n,,14500,-6500\n,,-6500,24500\n,,15000,40500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/barbarian_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_barbarian_arena.sc\",\"barbarian_arena_bgr\",\n\"Objects\",,,\n,\"barbarian_red_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,11500\n,,-2500,4500\n,\"barbarian_red_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,12000\n,,20500,4000\n,\"barbarian_blue_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,20500\n,,-2500,28500\n,\"barbarian_blue_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,20500\n,,20500,28000\n,\"barbarian_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,-3000\n,,20500,7500\n,\"barbarian_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16500,-2500\n,\"barbarian_red_barracks\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-4000\n,\"barbarian_blue_barracks\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,37000\n,\"barbarian_blocktree\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24000,6000\n,,21000,24500\n,,28000,30000\n,,21000,\n,,-9000,-4500\n,,-4500,7500\n,,-7500,34000\n,,-3000,33000\n,,-5500,2500\n,,24500,40500\n,,-6000,19000\n,,-7000,14000\n,,24000,31000\n,,31000,29000\n,,23500,22000\n,,23500,14500\n,,21500,-4000\n,,-9000,17000\n,,-10000,21000\n,,26000,11500\n,,-8500,8500\n,,-8500,29500\n,,31500,18500\n,,30000,13500\n,,-12500,27500\n,,-2500,-10000\n,,24000,-9500\n,,27000,2000\n,,29000,26000\n,,27500,42500\n,,-11500,43500\n,,16000,-10500\n,,-500,39000\n,,-2000,45000\n,,19500,44500\n,,24000,44500\n,,25500,38000\n,,5500,45000\n,\"barbarian_barrell\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2864,15831\n,\"barbarian_fence1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,33500\n,,16000,33500\n,,1500,-1000\n,,16500,-1000\n,,9000,34000\n,,9000,-1500\n,\"barbarian_bush1x\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,40000\n,,-4500,34500\n,,24000,17500\n,,-3500,-5500\n,,11000,-7000\n,,29000,18000\n,,28000,35000\n,,-10000,1000\n,,4000,-9000\n,,7000,-7000\n,,-7500,-8000\n,,27500,20000\n,,20500,38000\n,,-8500,44500\n,,500,44500\n,\"barbarian_mushrooms\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,29000,22000\n,,500,-8000\n,,15000,42000\n,,22500,33000\n,,4000,36000\n,,7000,40500\n,,23500,-2500\n,,-2000,36000\n,,11000,40500\n,,18000,-11000\n,,25500,-6000\n,,-11000,8500\n,,-10500,-10000\n,,28000,6500\n,,-10500,33500\n,,2500,-11500\n,,30000,32000\n,,11500,43000\n,,6500,46500\n,,12500,46500\n,,26500,31000\n,,-7500,-2500\n,\"barbarian_tower3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16500,35000\n,,-2500,24000\n,\"barbarian_tower4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,35000\n,\"barbarian_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,432,14750\n,,17500,17416\n,\"barbarian_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17375\n,,17500,14666\n,,-3000,39000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19500,34500\n,,-2500,-2000\n,,3500,44000\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,-2500\n,,26000,18000\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,7500\n,,-11000,13500\n,,25500,25500\n,,2000,46000\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,-10500\n,,29000,3500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,42000\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26500,45500\n,,29000,37000\n,,-8000,5000\n,,25500,-1000\n,,17500,46000\n,,-5500,38500\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9000,41500\n,,14500,-6500\n,,-6500,24500\n,,15000,40500\n,\"barbarian_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/bone_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_bone_arena.sc\",\"bone_arena_bgr\",\n\"Objects\",,,\n,\"bone_1_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,-2500\n,,42500,37000\n,\"bone_1_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,-2000\n,,-31500,41500\n,\"bone_2_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1000,34000\n,\"bone_2_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,34500\n,\"bone_endstones_bottom\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8932,36250\n,,34000,44000\n,,-26000,25000\n,,-22500,27000\n,\"bone_endstones_top\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8866,-1000\n,,32000,-6500\n,,9000,-12000\n,,-21500,-6500\n,,-28000,-9000\n,,-28200,-3875\n,\"bone_sidestands_botleft\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,22500\n,,28500,24500\n,\"bone_sidestands_botright\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,22000\n,,-12000,24000\n,\"bone_sidestands_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5800,4414\n,,-11000,2000\n,\"bone_sidestands_topleft\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22166,4583\n,,28500,1500\n,\"bone_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2500,-4000\n,,1000,-7000\n,\"bone_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,39500\n,,39000,52000\n,\"bone_deco_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,500,14666\n,,1500,41500\n,,-20000,-9500\n,,29000,13000\n,,12000,-10500\n,\"bone_deco_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17500,17500\n,,17500,14625\n,,29500,47000\n,,-6500,32500\n,,-10500,35000\n,\"bone_decostone1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11500,41500\n,,25500,-4000\n,,-22000,7500\n,,-6500,41000\n,,-15000,20500\n,,27000,37500\n,,32000,14500\n,,36000,28000\n,,29500,45500\n,,36000,-9000\n,,10500,-8000\n,,-18000,-10000\n,,-20000,35000\n,,-20000,-4000\n,,10500,47500\n,,-27000,20000\n,\"bone_decostone2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,41500\n,,16000,-1500\n,,-12500,35500\n,,18500,39000\n,,7500,-5500\n,,16000,-6500\n,,-14500,23000\n,,-4500,43000\n,,19000,46500\n,,37500,4000\n,,25000,39000\n,,31000,35500\n,,30500,17500\n,,27500,16000\n,,38000,39500\n,,-29500,21000\n,,-19000,37500\n,,-22000,48500\n,,-25000,29500\n,,-31000,4000\n,,-21000,-2500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/bone_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_bone_arena.sc\",\"bone_arena_bgr\",\n\"Objects\",,,\n,\"bone_1_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,-2500\n,,42500,37000\n,\"bone_1_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,-2000\n,,-31500,41500\n,\"bone_2_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1000,34000\n,\"bone_2_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,34500\n,\"bone_endstones_bottom\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8932,36250\n,,34000,44000\n,,-26000,25000\n,,-22500,27000\n,\"bone_endstones_top\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8866,-1334\n,,32000,-6500\n,,9000,-12000\n,,-21500,-6500\n,,-28000,-9000\n,,-28200,-3875\n,\"bone_sidestands_botleft\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,22500\n,,28500,24500\n,\"bone_sidestands_botright\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,22000\n,,-12000,24000\n,\"bone_sidestands_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5800,4414\n,,-11000,2000\n,\"bone_sidestands_topleft\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22166,4583\n,,28500,1500\n,\"bone_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2500,-4000\n,,1000,-7000\n,\"bone_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,39500\n,,39000,52000\n,\"bone_deco_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,500,14666\n,,1500,41500\n,,-20000,-9500\n,,29000,13000\n,,12000,-10500\n,\"bone_deco_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17500,17500\n,,17500,14625\n,,29500,47000\n,,-6500,32500\n,,-10500,35000\n,\"bone_decostone1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11500,41500\n,,25500,-4000\n,,-22000,7500\n,,-6500,41000\n,,-15000,20500\n,,27000,37500\n,,32000,14500\n,,36000,28000\n,,29500,45500\n,,36000,-9000\n,,10500,-8000\n,,-18000,-10000\n,,-20000,35000\n,,-20000,-4000\n,,10500,47500\n,,-27000,20000\n,\"bone_decostone2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,41500\n,,16000,-1500\n,,-12500,35500\n,,18500,39000\n,,7500,-5500\n,,16000,-6500\n,,-14500,23000\n,,-4500,43000\n,,19000,46500\n,,37500,4000\n,,25000,39000\n,,31000,35500\n,,30500,17500\n,,27500,16000\n,,38000,39500\n,,-29500,21000\n,,-19000,37500\n,,-22000,48500\n,,-25000,29500\n,,-31000,4000\n,,-21000,-2500\n,\"bone_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/builder_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_builder_arena.sc\",\"builder_arena_bgr\",\n\"Objects\",,,\n,\"builder_blue_sidestand1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1966,26208\n,\"builder_blue_sidestand2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19962,25708\n,\"builder_red_sidestand1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2131,6041\n,\"builder_red_sidestand2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19963,5708\n,\"builder_left_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2565,15917\n,\"builder_right_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20668,15999\n,\"builder_blocktree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,-4500\n,,-1500,49000\n,,38000,8000\n,,26500,-9500\n,,37000,13000\n,,19000,46000\n,,-12500,24500\n,,-15500,11000\n,,23500,34000\n,,-15500,46500\n,,-21000,27000\n,,-18500,-9000\n,,-18500,2000\n,,33500,18500\n,,-20500,41000\n,,32000,1000\n,,34000,-5000\n,,3000,-10500\n,,14000,-5500\n,,23000,-10500\n,,-2500,-10000\n,,-18000,37500\n,,-11000,42000\n,,-13000,500\n,,-15500,17500\n,,-10000,-8500\n,,-6000,39000\n,,-9500,-3000\n,,-5500,-8000\n,,-16000,31000\n,,30000,-5000\n,,34000,8500\n,,30500,15500\n,,1565,35125\n,,31500,33000\n,,-19000,48500\n,,33000,45000\n,,-20500,-2000\n,,-15500,5500\n,,21000,36500\n,,-19000,22000\n,,-18500,10000\n,,15000,51000\n,,11500,43000\n,,9000,50000\n,,-14000,-8000\n,,-17500,-3500\n,,4000,40500\n,,18000,-2000\n,,34000,-9500\n,,37000,-10500\n,,38000,-6000\n,,38000,\n,,36500,4500\n,,36000,27500\n,,37000,23500\n,,37000,37000\n,,35000,40500\n,,37500,46000\n,,26000,47000\n,,-20500,14500\n,,-21500,5000\n,,-21000,34500\n,,-4000,53500\n,,1500,49500\n,,6000,54500\n,,11000,55500\n,,16500,56000\n,,20000,53000\n,,25500,54500\n,,30500,51500\n,,38000,53000\n,,-9500,55500\n,,-13500,51000\n,\"builder_treestump1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,33500,35500\n,,14465,-2663\n,,-3500,-6000\n,,-16500,21000\n,,31500,20000\n,,30364,7414\n,,-11500,27500\n,,29000,34000\n,,23500,-4000\n,,-9500,24500\n,,-8500,38000\n,,-8500,49500\n,,7531,43499\n,,-14366,38375\n,,23500,44000\n,\"builder_treestump2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1399,37875\n,,-10500,9500\n,,25399,39416\n,,29298,12333\n,,28399,17375\n,,-13500,7500\n,,22000,-7500\n,,18500,-8625\n,,-7564,15416\n,,-18333,42249\n,,-10500,45000\n,\"builder_treetrunks1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,10031,-10291\n,,25500,5000\n,,7000,-10500\n,,-7899,4875\n,,4005,44791\n,,25200,29958\n,,-5092,34124\n,,29367,26416\n,\"builder_treetrunks2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8000,1000\n,,26497,8211\n,,-10732,14625\n,,25500,21500\n,,25500,25500\n,,29500,39500\n,,732,43041\n,,-8564,34208\n,,-8000,30500\n,\"builder_red_gate\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9229,33755\n,\"builder_blue_gate\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8998,-2416\n,\"builder_blue_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17000,38250\n,,-3833,43958\n,\"builder_red_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,-2000\n,\"builder_upgradefence1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24000,-1000\n,,-5567,17958\n,,-5767,20333\n,,30500,-1037\n,,24500,12500\n,,24465,17667\n,\"builder_upgradefence2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26432,13500\n,,26432,15500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/builder_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_builder_arena.sc\",\"builder_arena_bgr\",\n\"Objects\",,,\n,\"builder_blue_sidestand1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1966,26208\n,\"builder_blue_sidestand2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19962,25708\n,\"builder_red_sidestand1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2131,6041\n,\"builder_red_sidestand2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19963,5708\n,\"builder_left_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2565,15917\n,\"builder_right_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20668,15999\n,\"builder_blocktree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,-4500\n,,-1500,49000\n,,38000,8000\n,,26500,-9500\n,,37000,13000\n,,19000,46000\n,,-12500,24500\n,,-15500,11000\n,,23500,34000\n,,-15500,46500\n,,-21000,27000\n,,-18500,-9000\n,,-18500,2000\n,,33500,18500\n,,-20500,41000\n,,32000,1000\n,,34000,-5000\n,,3000,-10500\n,,14000,-5500\n,,23000,-10500\n,,-2500,-10000\n,,-18000,37500\n,,-11000,42000\n,,-13000,500\n,,-15500,17500\n,,-10000,-8500\n,,-6000,39000\n,,-9500,-3000\n,,-5500,-8000\n,,-16000,31000\n,,30000,-5000\n,,34000,8500\n,,30500,15500\n,,1565,35125\n,,31500,33000\n,,-19000,48500\n,,33000,45000\n,,-20500,-2000\n,,-15500,5500\n,,21000,36500\n,,-19000,22000\n,,-18500,10000\n,,15000,51000\n,,11500,43000\n,,9000,50000\n,,-14000,-8000\n,,-17500,-3500\n,,4000,40500\n,,18000,-2000\n,,34000,-9500\n,,37000,-10500\n,,38000,-6000\n,,38000,\n,,36500,4500\n,,36000,27500\n,,37000,23500\n,,37000,37000\n,,35000,40500\n,,37500,46000\n,,26000,47000\n,,-20500,14500\n,,-21500,5000\n,,-21000,34500\n,,-4000,53500\n,,1500,49500\n,,6000,54500\n,,11000,55500\n,,16500,56000\n,,20000,53000\n,,25500,54500\n,,30500,51500\n,,38000,53000\n,,-9500,55500\n,,-13500,51000\n,\"builder_treestump1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,33500,35500\n,,14465,-2663\n,,-3500,-6000\n,,-16500,21000\n,,31500,20000\n,,30364,7414\n,,-11500,27500\n,,29000,34000\n,,23500,-4000\n,,-9500,24500\n,,-8500,38000\n,,-8500,49500\n,,7531,43499\n,,-14366,38375\n,,23500,44000\n,\"builder_treestump2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1399,37875\n,,-10500,9500\n,,25399,39416\n,,29298,12333\n,,28399,17375\n,,-13500,7500\n,,22000,-7500\n,,18500,-8625\n,,-7564,15416\n,,-18333,42249\n,,-10500,45000\n,\"builder_treetrunks1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,10031,-10291\n,,25500,5000\n,,7000,-10500\n,,-7899,4875\n,,4005,44791\n,,25200,29958\n,,-5092,34124\n,,29367,26416\n,\"builder_treetrunks2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8000,1000\n,,26497,8211\n,,-10732,14625\n,,25500,21500\n,,25500,25500\n,,29500,39500\n,,732,43041\n,,-8564,34208\n,,-8000,30500\n,\"builder_red_gate\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9229,33755\n,\"builder_blue_gate\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8998,-2416\n,\"builder_blue_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17000,38250\n,,-3833,43958\n,\"builder_red_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,-2000\n,\"builder_upgradefence1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24000,-1000\n,,-5567,17958\n,,-5767,20333\n,,30500,-1037\n,,24500,12500\n,,24465,17667\n,\"builder_upgradefence2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26432,13500\n,,26432,15500\n,\"builder_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/champion_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_champion_arena.sc\",\"champion_base_01\",\n\"Objects\",,,\n,\"champion_drawbridge_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-903,15299\n,\"champion_floating_rock_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-19000,-500\n,,24750,-14687\n,\"champion_floating_rock_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11000,38500\n,,-457,-7937\n,\"champion_floating_rock_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,35000,35000\n,\"champion_floating_rock_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2500,40000\n,,12393,-4719\n,\"champion_floating_rock_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,40500\n,,10641,33186\n,,12300,-5724\n,\"champion_king_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3292,-2833\n,\"champion_king_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14596,-2841\n,\"champion_stands_blue_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3636,21371\n,\"champion_stands_blue_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21844,20932\n,\"champion_stands_blue_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-12700,23250\n,\"champion_stands_red_01_stage_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21695,2683\n,\"champion_stands_red_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5098,2221\n,\"champion_stands_red_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,30810,1356\n,\"champion_trophy_big_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22786,11264\n,\"champion_wall_01_stage_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3000,33000\n,\"champion_wall_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,13500,33000\n,\"champion_floating_rock_06\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13166,33375\n,\"champion_waterfall_dummy\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8000,-1000\n,,10000,-1000\n,\"champion_floating_rock_07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,49000\n,,27500,41000\n,,-14500,5500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/champion_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_champion_arena.sc\",\"champion_2v2_base_01\",\n\"Objects\",,,\n,\"champion_drawbridge_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-903,15299\n,\"champion_floating_rock_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-19000,-500\n,,24750,-14687\n,\"champion_floating_rock_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11000,38500\n,,-457,-7937\n,\"champion_floating_rock_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,35000,35000\n,\"champion_floating_rock_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2500,40000\n,,12393,-4719\n,\"champion_floating_rock_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,40500\n,,10641,33186\n,,12300,-5724\n,\"champion_king_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1792,-2833\n,\"champion_king_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16096,-2841\n,\"champion_stands_blue_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3636,21371\n,\"champion_stands_blue_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21844,20932\n,\"champion_stands_blue_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-12700,23250\n,\"champion_stands_red_01_stage_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21695,2683\n,\"champion_stands_red_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5098,2221\n,\"champion_stands_red_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,30810,1356\n,\"champion_trophy_big_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22786,11264\n,\"champion_floating_rock_06\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13166,33375\n,\"champion_waterfall_dummy\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8000,-1000\n,,10000,-1000\n,\"champion_floating_rock_07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,49000\n,,27500,41000\n,,-14500,5500\n,\"champion_2v2_wall_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3133,32833\n,\"champion_2v2_wall_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,13598,32874\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/dark_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_dark_arena.sc\",\"dark_game_area\",\n\"Objects\",,,\n,\"dark_pekka_top_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1000,-3500\n,\"dark_pekka_top_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17000,-3500\n,\"dark_pekka_bottom_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,36500\n,\"dark_pekka_bottom_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,36500\n,\"dark_gate_bottom\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,35500\n,\"dark_gate_top\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8500,-3000\n,\"dark_fire_pot\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,15500\n,,21000,15500\n,\"dark_stand_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,23500\n,,-4000,31000\n,\"dark_stand_left_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,10000\n,,-4000,3000\n,\"dark_stand_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,10000\n,,22000,3000\n,\"dark_stand_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,30500\n,,22000,23000\n,\"dark_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,500,14500\n,,17500,14500\n,,17500,17500\n,\"spiked_fence_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,14000\n,,-6500,19500\n,\"spiked_fence_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24500,14000\n,,24500,19500\n,\"lava_crack01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22500,39000\n,,-11500,16500\n,\"lava_crack02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,39000\n,,23000,-6000\n,,-6000,-7000\n,\"lava_crack03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5000,36500\n,,27500,15500\n,\"stone_deco01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3000,41500\n,,26000,33000\n,,-8000,21500\n,,30000,12500\n,\"stone_deco03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5000,-7000\n,,25000,8500\n,,-5500,39500\n,,-7500,7000\n,,-12500,18000\n,,-3000,-3500\n,,11500,45500\n,\"stone_deco02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,-5000\n,,27000,3000\n,,22000,41000\n,,-8000,30000\n,\"stone_deco04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,1500\n,,26500,23500\n,,21000,-4000\n,,12500,-7500\n,,14000,39500\n,\"stone_deco05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8500,-4000\n,,23500,35000\n,,-9500,29500\n,,-1000,40000\n,,2000,-9500\n,,26000,-2500\n,\"stone_deco07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,43500\n,,-2500,44500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/dark_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_dark_arena.sc\",\"dark_2v2_base_01\",\n\"Objects\",,,\n,\"dark_pekka_top_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1000,-3500\n,\"dark_pekka_top_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17000,-3500\n,\"dark_pekka_bottom_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,36500\n,\"dark_pekka_bottom_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,36500\n,\"dark_gate_bottom\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,35500\n,\"dark_gate_top\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8500,-3000\n,\"dark_fire_pot\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,15500\n,,21000,15500\n,\"dark_stand_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,23500\n,,-4000,31000\n,\"dark_stand_left_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,10000\n,,-4000,3000\n,\"dark_stand_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,10000\n,,22000,3000\n,\"dark_stand_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,30500\n,,22000,23000\n,\"dark_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,500,14500\n,,17500,14500\n,,17500,17500\n,\"spiked_fence_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,14000\n,,-6500,19500\n,\"spiked_fence_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24500,14000\n,,24500,19500\n,\"lava_crack01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22500,39000\n,,-11500,16500\n,\"lava_crack02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,39000\n,,23000,-6000\n,,-6000,-7000\n,\"lava_crack03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5000,36500\n,,27500,15500\n,\"stone_deco01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3000,41500\n,,26000,33000\n,,-8000,21500\n,,30000,12500\n,\"stone_deco03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5000,-7000\n,,25000,8500\n,,-5500,39500\n,,-7500,7000\n,,-12500,18000\n,,-3000,-3500\n,,11500,45500\n,\"stone_deco02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,-5000\n,,27000,3000\n,,22000,41000\n,,-8000,30000\n,\"stone_deco04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,1500\n,,26500,23500\n,,21000,-4000\n,,12500,-7500\n,,14000,39500\n,\"stone_deco05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8500,-4000\n,,23500,35000\n,,-9500,29500\n,,-1000,40000\n,,2000,-9500\n,,26000,-2500\n,\"stone_deco07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,43500\n,,-2500,44500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/goblin_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_goblin_arena.sc\",\"goblin_bgr\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6466,-1875\n,,11000,-1707\n,,7000,36000\n,,4500,34458\n,,18000,32500\n,,11500,36500\n,\"Grassland_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,14500\n,,500,17500\n,,17500,17500\n,,17500,14500\n,\"goblin_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,21500\n,,-4000,28000\n,,-4000,11500\n,,-4000,5000\n,,-19500,7500\n,\"goblin_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,5000\n,,22000,11500\n,,22000,21500\n,,22000,28000\n,\"goblin_roofshade_left_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,12000\n,\"goblin_roofshade_left_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,30000\n,\"goblin_roofshade_right_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,30000\n,\"goblin_roofshade_right_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,13000\n,\"goblin_stone1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,37000\n,,-27000,-9500\n,,-17500,38500\n,,38000,40000\n,\"goblin_stone2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9064,-3121\n,,33000,-5000\n,,18500,43000\n,,-27000,21000\n,\"goblin_woodtower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,-1500\n,,-17500,25000\n,\"goblin_woodpole1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,12500,-3500\n,,15500,-3500\n,,5000,-4000\n,,2000,-4000\n,,5500,39500\n,,2500,40000\n,,12500,40000\n,,15500,40500\n,,19500,15000\n,,20000,17500\n,,28500,15500\n,,29000,17500\n,,-5500,31500\n,,-8500,31500\n,,22000,32000\n,,25000,32000\n,,22500,15000\n,,25500,15000\n,,23000,17500\n,,26000,18000\n,,-16000,19500\n,,-13000,19500\n,,-10000,19500\n,,-17000,17500\n,,-14000,17000\n,,-11000,16500\n,,30500,41500\n,,37500,17500\n,,34500,17000\n,,32000,17500\n,,31500,15000\n,,34500,15000\n,,37500,15500\n,,-20000,17500\n,,-23000,17500\n,,-26000,18000\n,,-29000,17500\n,,-19000,19500\n,,-22000,19500\n,,-25000,19500\n,,-28000,20000\n,,-31000,20000\n,\"goblin_sharp1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,1500\n,,-6000,35000\n,,24000,1500\n,,24000,34500\n,,30500,-4000\n,,1000,-10500\n,,15000,-11500\n,,5500,-6500\n,,4500,48000\n,,25000,49000\n,,22500,45500\n,,-20500,4500\n,,-14500,-7000\n,\"goblin_waterwheel\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,18500\n,\"goblin_woodwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,19000\n,,-3000,15500\n,,-7500,19000\n,,32500,-11000\n,,28500,-11000\n,,-10500,16000\n,,-15000,24500\n,\"goblin_blue_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,38500\n,\"goblin_red_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,-2500\n,\"goblin_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,44000\n,,-11000,38500\n,,-11500,24000\n,,6000,42000\n,,28500,19000\n,,-11500,7500\n,,13000,42000\n,,26000,22500\n,,16000,44500\n,,21500,42500\n,,24500,39500\n,,-5000,-6500\n,,15500,-5500\n,,11500,-6000\n,,-8500,-5000\n,,24000,-4000\n,,22500,500\n,,-8500,6000\n,,-9000,11500\n,,-13500,-4000\n,,-22500,21500\n,,30000,26500\n,,-19000,30000\n,,-15500,36000\n,,-21000,43000\n,,-19000,12500\n,,-22500,2500\n,,-18500,-500\n,,-27500,-5000\n,,-22500,-9500\n,,35500,-7500\n,,31000,500\n,,37000,10000\n,,33000,19500\n,,36000,34000\n,,31000,38500\n,,37000,44500\n,\"goblin_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,34500\n,,26500,34000\n,,27500,42500\n,,25000,36000\n,,7000,-6500\n,,13500,-6500\n,,25000,13500\n,,27500,10500\n,,27000,5500\n,,26500,19500\n,,-7000,-2500\n,,-9500,10000\n,,-9000,3500\n,,-11500,21000\n,,-9000,-500\n,,-13500,15000\n,,-9500,21500\n,,-11500,36500\n,,15500,42500\n,,-8500,25500\n,,-14000,22000\n,,35500,26500\n,,31000,33000\n,,36000,38000\n,,32000,44500\n,,38000,21500\n,,32000,11000\n,,29000,7000\n,,37000,2000\n,,30500,-7000\n,,25000,-10500\n,,19500,-11500\n,,28000,-8500\n,,-14500,44000\n,,-22500,36500\n,,-20000,23000\n,,-23000,13000\n,,-16500,-8500\n,,-12000,-11000\n,,-25500,-2500\n,\"goblin_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,37000\n,,30000,20500\n,,16500,35000\n,,-10500,29000\n,,12000,37000\n,,4500,-2500\n,,-12000,1500\n,,12500,-2000\n,,26500,500\n,,33000,-7500\n,,27000,-6000\n,,34500,7000\n,,33000,9000\n,,36000,18500\n,,32500,24000\n,,38000,30000\n,,34000,41000\n,,29000,46500\n,,-19500,33500\n,,-15000,30500\n,,-25000,25500\n,,-19500,1500\n,,-9000,-11000\n,\"goblin_tree4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-12500,31000\n,,1000,36000\n,,24000,43500\n,,27500,38000\n,,28000,28000\n,,-8500,28500\n,,27000,-1500\n,,-500,-8500\n,,1500,-7000\n,,4000,-6000\n,,-4000,\n,,-1500,44500\n,,-4500,42500\n,,31500,30500\n,,38000,36000\n,,31000,4500\n,,28500,1500\n,,37000,-4500\n,,32500,-9500\n,,36500,-11000\n,,38000,-7500\n,,30000,35000\n,,35500,45000\n,,32000,46500\n,,37000,47500\n,,38000,47000\n,,-22500,26500\n,,-14000,27500\n,,-26500,30000\n,,-15500,5000\n,,-16000,11000\n,,-8000,41000\n,,-11000,46500\n,,-11500,43000\n,,-23000,45000\n,\"goblin_sharp3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,42000\n,,1000,41000\n,,18000,41000\n,,19000,41500\n,,-500,-2000\n,,500,-3000\n,,17000,-5000\n,,18000,-4000\n,,29000,41500\n,,33000,42000\n,,34500,17500\n,,30600,15125\n,,-20566,11875\n,,35000,-10500\n,,-22800,17625\n,\"goblin_woodtower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,38500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/goblin_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_goblin_arena.sc\",\"goblin_bgr\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6466,-1875\n,,11000,-1707\n,,7000,36000\n,,4500,34458\n,,18000,32500\n,,11500,36500\n,\"Grassland_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,14500\n,,500,17500\n,,17500,17500\n,,17500,14500\n,\"goblin_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,21500\n,,-4000,28000\n,,-4000,11500\n,,-4000,5000\n,,-19500,7500\n,\"goblin_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,5000\n,,22000,11500\n,,22000,21500\n,,22000,28000\n,\"goblin_roofshade_left_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,12000\n,\"goblin_roofshade_left_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,30000\n,\"goblin_roofshade_right_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,30000\n,\"goblin_roofshade_right_red\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,13000\n,\"goblin_stone1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,37000\n,,-27000,-9500\n,,-17500,38500\n,,38000,40000\n,\"goblin_stone2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9064,-3121\n,,33000,-5000\n,,18500,43000\n,,-27000,21000\n,\"goblin_woodtower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,-1500\n,,-17500,25000\n,\"goblin_woodpole1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,12500,-3500\n,,15500,-3500\n,,5000,-4000\n,,2000,-4000\n,,5500,39500\n,,2500,40000\n,,12500,40000\n,,15500,40500\n,,19500,15000\n,,20000,17500\n,,28500,15500\n,,29000,17500\n,,-5500,31500\n,,-8500,31500\n,,22000,32000\n,,25000,32000\n,,22500,15000\n,,25500,15000\n,,23000,17500\n,,26000,18000\n,,-16000,19500\n,,-13000,19500\n,,-10000,19500\n,,-17000,17500\n,,-14000,17000\n,,-11000,16500\n,,30500,41500\n,,37500,17500\n,,34500,17000\n,,32000,17500\n,,31500,15000\n,,34500,15000\n,,37500,15500\n,,-20000,17500\n,,-23000,17500\n,,-26000,18000\n,,-29000,17500\n,,-19000,19500\n,,-22000,19500\n,,-25000,19500\n,,-28000,20000\n,,-31000,20000\n,\"goblin_sharp1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,1500\n,,-6000,35000\n,,24000,1500\n,,24000,34500\n,,30500,-4000\n,,1000,-10500\n,,15000,-11500\n,,5500,-6500\n,,4500,48000\n,,25000,49000\n,,22500,45500\n,,-20500,4500\n,,-14500,-7000\n,\"goblin_waterwheel\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6000,18500\n,\"goblin_woodwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,19000\n,,-3000,15500\n,,-7500,19000\n,,32500,-11000\n,,28500,-11000\n,,-10500,16000\n,,-15000,24500\n,\"goblin_blue_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,38500\n,\"goblin_red_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,-2500\n,\"goblin_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,44000\n,,-11000,38500\n,,-11500,24000\n,,6000,42000\n,,28500,19000\n,,-11500,7500\n,,13000,42000\n,,26000,22500\n,,16000,44500\n,,21500,42500\n,,24500,39500\n,,-5000,-6500\n,,15500,-5500\n,,11500,-6000\n,,-8500,-5000\n,,24000,-4000\n,,22500,500\n,,-8500,6000\n,,-9000,11500\n,,-13500,-4000\n,,-22500,21500\n,,30000,26500\n,,-19000,30000\n,,-15500,36000\n,,-21000,43000\n,,-19000,12500\n,,-22500,2500\n,,-18500,-500\n,,-27500,-5000\n,,-22500,-9500\n,,35500,-7500\n,,31000,500\n,,37000,10000\n,,33000,19500\n,,36000,34000\n,,31000,38500\n,,37000,44500\n,\"goblin_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,34500\n,,26500,34000\n,,27500,42500\n,,25000,36000\n,,7000,-6500\n,,13500,-6500\n,,25000,13500\n,,27500,10500\n,,27000,5500\n,,26500,19500\n,,-7000,-2500\n,,-9500,10000\n,,-9000,3500\n,,-11500,21000\n,,-9000,-500\n,,-13500,15000\n,,-9500,21500\n,,-11500,36500\n,,15500,42500\n,,-8500,25500\n,,-14000,22000\n,,35500,26500\n,,31000,33000\n,,36000,38000\n,,32000,44500\n,,38000,21500\n,,32000,11000\n,,29000,7000\n,,37000,2000\n,,30500,-7000\n,,25000,-10500\n,,19500,-11500\n,,28000,-8500\n,,-14500,44000\n,,-22500,36500\n,,-20000,23000\n,,-23000,13000\n,,-16500,-8500\n,,-12000,-11000\n,,-25500,-2500\n,\"goblin_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,37000\n,,30000,20500\n,,16500,35000\n,,-10500,29000\n,,12000,37000\n,,4500,-2500\n,,-12000,1500\n,,12500,-2000\n,,26500,500\n,,33000,-7500\n,,27000,-6000\n,,34500,7000\n,,33000,9000\n,,36000,18500\n,,32500,24000\n,,38000,30000\n,,34000,41000\n,,29000,46500\n,,-19500,33500\n,,-15000,30500\n,,-25000,25500\n,,-19500,1500\n,,-9000,-11000\n,\"goblin_tree4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-12500,31000\n,,1000,36000\n,,24000,43500\n,,27500,38000\n,,28000,28000\n,,-8500,28500\n,,27000,-1500\n,,-500,-8500\n,,1500,-7000\n,,4000,-6000\n,,-4000,\n,,-1500,44500\n,,-4500,42500\n,,31500,30500\n,,38000,36000\n,,31000,4500\n,,28500,1500\n,,37000,-4500\n,,32500,-9500\n,,36500,-11000\n,,38000,-7500\n,,30000,35000\n,,35500,45000\n,,32000,46500\n,,37000,47500\n,,38000,47000\n,,-22500,26500\n,,-14000,27500\n,,-26500,30000\n,,-15500,5000\n,,-16000,11000\n,,-8000,41000\n,,-11000,46500\n,,-11500,43000\n,,-23000,45000\n,\"goblin_sharp3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,42000\n,,1000,41000\n,,18000,41000\n,,19000,41500\n,,-500,-2000\n,,500,-3000\n,,17000,-5000\n,,18000,-4000\n,,29000,41500\n,,33000,42000\n,,34500,17500\n,,30600,15125\n,,-20566,11875\n,,35000,-10500\n,,-22800,17625\n,\"goblin_woodtower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,38500\n,\"goblin_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/ice_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_ice_arena.sc\",\"ice_base_01\",\n\"Objects\",,,\n,\"ice_cauldron_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,13000\n,,-2500,18500\n,\"ice_stand_red_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2901,7958\n,,-2866,1954\n,\"ice_stand_blue_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2900,23500\n,,-2866,29500\n,\"ice_stand_red_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20934,2500\n,,20900,8541\n,\"ice_stand_blue_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20833,22500\n,,20899,28500\n,\"ice_mountain_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,40000\n,,19500,39500\n,,19500,-8000\n,,-1000,-9000\n,,-22500,16500\n,,-21500,-8000\n,,40000,38500\n,\"ice_mountain_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,32000\n,,26000,34000\n,,27500,-3000\n,,-10000,-1500\n,,39000,13500\n,,-23500,40000\n,\"ice_rockgroup_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,40000\n,,6500,-8500\n,\"ice_rockgroup_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11766,39666\n,,12000,-8000\n,\"ice_cauldron_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,-1500\n,,17500,-1500\n,,-334,32292\n,,18433,32291\n,\"ice_tree_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,-8000\n,,-7000,40000\n,,26500,38000\n,,18500,-7500\n,,22000,45500\n,,-4000,46000\n,,19500,46500\n,,30500,14000\n,,-16500,25500\n,,33000,28000\n,,-14000,14000\n,,-19500,6000\n,\"ice_tree_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25000,-7500\n,,0,-8000\n,,25000,44000\n,,32500,12500\n,,-21500,\n,,-14500,23000\n,\"ice_tree_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,-9000\n,,23500,-6500\n,,-10500,-3500\n,,20000,40500\n,,25500,18000\n,,-15000,17500\n,,33000,18500\n,,-25000,-500\n,,-18000,3500\n,\"ice_cube_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16299,11000\n,\"ice_stand_snow_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,10500\n,\"ice_stand_snow_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4799,31041\n,\"ice_stand_snow_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22500,29000\n,\"ice_stand_snow_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,9000\n,\"ice_rock_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,29000\n,,-9500,2000\n,,15500,34000\n,,29500,1500\n,\"ice_rock_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25500,-2500\n,,15000,-8500\n,\"ice_rock_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2000,37500\n,,-8000,-7000\n,,26500,24000\n,\"ice_rock_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10000,21500\n,,-1000,-8000\n,,21500,-6500\n,\"ice_rock_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25500,23500\n,\"ice_rock_06\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3000,-8500\n,,-3500,33500\n,\"ice_rock_07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,3000\n,\"ice_chain_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-664,5166\n,,-733,11165\n,,-664,27417\n,,-700,21459\n,\"ice_chain_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18667,6166\n,,18632,20416\n,,18700,26375\n,\"ice_vfx_sparkle_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,16000\n,,5500,16000\n,,8000,16000\n,,9800,16500\n,,12233,16250\n,,1000,16500\n,,3899,334\n,,14134,32125\n,,3500,32000\n,,15200,333\n,\"ice_vfx_ripple_01_dummy\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9800,16208\n,,13099,16166\n,,1600,16125\n,,6700,16208\n,,17066,16208\n,\"ice_cubegroup_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8632,13916\n,\"ice_vfx_shine_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n,\"ice_tree_01_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,37000\n,,-9000,18000\n,,-9000,3500\n,,24000,-10500\n,,-7500,36500\n,,28000,-1500\n,,-6500,33500\n,,27500,19500\n,,-19500,11500\n,,-7500,-12000\n,\"ice_tree_02_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24500,35500\n,,2500,39500\n,,18000,35500\n,,28500,34500\n,,-1500,-11000\n,,15500,-11000\n,,-5000,-11000\n,,-9500,35000\n,,-4500,36500\n,,-8500,28000\n,,7500,45500\n,\"ice_tree_03_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,-9500\n,,27500,29500\n,,15500,36500\n,,0,35500\n,,-7000,2000\n,,-10000,24500\n,,3500,-11000\n,,-9500,-10000\n,,29000,-4000\n,,-7500,-6500\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/ice_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_ice_arena.sc\",\"ice_base_01\",\n\"Objects\",,,\n,\"ice_cauldron_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,13000\n,,-2500,18500\n,\"ice_stand_red_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2901,7958\n,,-2866,1954\n,\"ice_stand_blue_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2900,23500\n,,-2866,29500\n,\"ice_stand_red_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20934,2500\n,,20900,8541\n,\"ice_stand_blue_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20833,22500\n,,20899,28500\n,\"ice_mountain_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,40000\n,,19500,39500\n,,19500,-8000\n,,-1000,-9000\n,,-22500,16500\n,,-21500,-8000\n,,40000,38500\n,\"ice_mountain_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,32000\n,,26000,34000\n,,27500,-3000\n,,-10000,-1500\n,,39000,13500\n,,-23500,40000\n,\"ice_rockgroup_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6500,40000\n,,6500,-8500\n,\"ice_rockgroup_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11766,39666\n,,12000,-8000\n,\"ice_cauldron_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,-1500\n,,17500,-1500\n,,-334,32292\n,,18433,32291\n,\"ice_tree_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,-8000\n,,-7000,40000\n,,26500,38000\n,,18500,-7500\n,,22000,45500\n,,-4000,46000\n,,19500,46500\n,,30500,14000\n,,-16500,25500\n,,33000,28000\n,,-14000,14000\n,,-19500,6000\n,\"ice_tree_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25000,-7500\n,,0,-8000\n,,25000,44000\n,,32500,12500\n,,-21500,\n,,-14500,23000\n,\"ice_tree_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,-9000\n,,23500,-6500\n,,-10500,-3500\n,,20000,40500\n,,25500,18000\n,,-15000,17500\n,,33000,18500\n,,-25000,-500\n,,-18000,3500\n,\"ice_cube_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16299,11000\n,\"ice_stand_snow_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,10500\n,\"ice_stand_snow_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4799,31041\n,\"ice_stand_snow_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22500,29000\n,\"ice_stand_snow_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,9000\n,\"ice_rock_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,29000\n,,-9500,2000\n,,15500,34000\n,,29500,1500\n,\"ice_rock_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25500,-2500\n,,15000,-8500\n,\"ice_rock_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2000,37500\n,,-8000,-7000\n,,26500,24000\n,\"ice_rock_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10000,21500\n,,-1000,-8000\n,,21500,-6500\n,\"ice_rock_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,25500,23500\n,\"ice_rock_06\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3000,-8500\n,,-3500,33500\n,\"ice_rock_07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-10500,3000\n,\"ice_chain_01_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-664,5166\n,,-733,11165\n,,-664,27417\n,,-700,21459\n,\"ice_chain_01_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18667,6166\n,,18632,20416\n,,18700,26375\n,\"ice_vfx_sparkle_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,16000\n,,5500,16000\n,,8000,16000\n,,9800,16500\n,,12233,16250\n,,1000,16500\n,,3899,334\n,,14134,32125\n,,3500,32000\n,,15200,333\n,\"ice_vfx_ripple_01_dummy\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9800,16208\n,,13099,16166\n,,1600,16125\n,,6700,16208\n,,17066,16208\n,\"ice_cubegroup_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-8632,13916\n,\"ice_vfx_shine_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n,\"ice_tree_01_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,37000\n,,-9000,18000\n,,-9000,3500\n,,24000,-10500\n,,-7500,36500\n,,28000,-1500\n,,-6500,33500\n,,27500,19500\n,,-19500,11500\n,,-7500,-12000\n,\"ice_tree_02_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,24500,35500\n,,2500,39500\n,,18000,35500\n,,28500,34500\n,,-1500,-11000\n,,15500,-11000\n,,-5000,-11000\n,,-9500,35000\n,,-4500,36500\n,,-8500,28000\n,,7500,45500\n,\"ice_tree_03_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,-9500\n,,27500,29500\n,,15500,36500\n,,0,35500\n,,-7000,2000\n,,-10000,24500\n,,3500,-11000\n,,-9500,-10000\n,,29000,-4000\n,,-7500,-6500\n,\"ice_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/jungle_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_jungle_arena.sc\",\"jungle_base_01\",\n\"Objects\",,,\n,\"jungle_firefly_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,16000\n,,17000,500\n,,0,12500\n,,13500,31500\n,\"jungle_firefly_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5500,32000\n,,15500,16000\n,,11500,-500\n,\"jungle_firefly_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,31500\n,,11000,15500\n,,10000,-500\n,,1000,\n,\"jungle_goldstorage_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3066,14333\n,\"jungle_throne_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21033,13208\n,\"jungle_stand_01_red_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3099,4583\n,\"jungle_stand_01_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,23041\n,\"jungle_stand_01_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21067,4708\n,\"jungle_stand_01_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,23000\n,\"jungle_statue_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4766,-2416\n,\"jungle_statue_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14133,-2750\n,\"jungle_bamboo_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,10666,-4583\n,,8066,-5999\n,,18066,-3874\n,,33000,12000\n,,-15000,-500\n,,-10500,33500\n,,-9500,41500\n,,-12500,4500\n,,31500,17500\n,,27000,-1500\n,\"jungle_bamboo_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11500,-5500\n,,733,-5583\n,,9133,-7875\n,,6900,-6666\n,,30500,19500\n,,14500,43000\n,,25000,-5000\n,,-11500,5500\n,,-14000,10000\n,,-8000,35000\n,\"jungle_leaves_01_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23000\n,,-4000,32000\n,,3500,36000\n,,12500,35500\n,,28000,13500\n,,24500,20000\n,,20000,-4500\n,,25000,6500\n,,8000,-5500\n,,-2500,-5500\n,,-7000,4000\n,,-6500,12500\n,,21000,33000\n,\"jungle_leaves_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,9000\n,\"jungle_leaves_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,22500\n,\"jungle_leaves_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,2000\n,\"jungle_leaves_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,26500\n,\"jungle_leaves_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-7000,21000\n,,-5000,30500\n,,3000,36000\n,,12000,36500\n,,20500,33500\n,,25500,27000\n,,25500,18500\n,,25400,2541\n,,21533,-5500\n,,14333,-9958\n,,-3500,-5500\n,,-7233,2166\n,,28500,11000\n,,4800,-10000\n,,-8000,11000\n,,20500,44000\n,,8000,44500\n,,-14000,39500\n,,30500,37000\n,,31000,-5500\n,,-16500,3500\n,,-15500,17000\n,,-12000,-6000\n,,-3500,43000\n,,-13500,28500\n,,36500,17500\n,,35000,4500\n,,34000,27500\n,\"jungle_tree_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,36000\n,,3000,41000\n,,12000,41500\n,,21000,38000\n,,26000,32000\n,,29000,16000\n,,26000,6500\n,,-7000,7500\n,,-8000,15500\n,,-7000,24500\n,,-12000,-1000\n,,37000,21500\n,,35500,9500\n,,-3500,47500\n,,30500,42500\n,,-14000,44000\n,,-13500,33000\n,,-16500,8000\n,,31000,-1000\n,,-15500,21500\n,,20500,48000\n,\"jungle_vine_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2366,5083\n,,20000,26500\n,\"jungle_bridge_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3533,16000\n,,14433,16000\n,\"jungle_vine_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,26500\n,\"jungle_leaves_02_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,13500\n,\"jungle_leaves_03_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,26500\n,,-2000,2000\n,\"jungle_leaves_04_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,7000\n,\"jungle_leaves_05_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,29000\n,,19000,3000\n,\"jungle_vfx_water_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/jungle_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_jungle_arena.sc\",\"jungle_base_01\",\n\"Objects\",,,\n,\"jungle_firefly_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,16000\n,,17000,500\n,,0,12500\n,,13500,31500\n,\"jungle_firefly_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5500,32000\n,,15500,16000\n,,11500,-500\n,\"jungle_firefly_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,0,31500\n,,11000,15500\n,,10000,-500\n,,1000,\n,\"jungle_goldstorage_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3066,14333\n,\"jungle_throne_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21033,13208\n,\"jungle_stand_01_red_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3099,4583\n,\"jungle_stand_01_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,23041\n,\"jungle_stand_01_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21067,4708\n,\"jungle_stand_01_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,23000\n,\"jungle_statue_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2265,-2416\n,\"jungle_statue_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16633,-2750\n,\"jungle_bamboo_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,12666,-5083\n,,8066,-5999\n,,18066,-3874\n,,33000,12000\n,,-15000,-500\n,,-10500,33500\n,,-9500,41500\n,,-12500,4500\n,,31500,17500\n,,27000,-1500\n,\"jungle_bamboo_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,10000,-5500\n,,733,-5583\n,,9133,-7875\n,,6900,-6666\n,,30500,19500\n,,14500,43000\n,,25000,-5000\n,,-11500,5500\n,,-14000,10000\n,,-8000,35000\n,,13500,-6000\n,,5000,-7000\n,\"jungle_leaves_01_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23000\n,,-4000,32000\n,,3500,36000\n,,12500,36000\n,,28000,13500\n,,24500,20000\n,,20000,-4500\n,,25000,6500\n,,6000,-4500\n,,-2500,-5500\n,,-7000,4000\n,,-6500,12500\n,,21000,33000\n,,12500,-7500\n,\"jungle_leaves_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,9000\n,\"jungle_leaves_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3000,22500\n,\"jungle_leaves_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21000,2000\n,\"jungle_leaves_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,26500\n,\"jungle_leaves_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-7000,21000\n,,-5000,30500\n,,3000,36000\n,,12000,37000\n,,20500,33500\n,,25500,27000\n,,25500,18500\n,,25400,2541\n,,21533,-5500\n,,14333,-9958\n,,-3500,-5500\n,,-7233,2166\n,,28500,11000\n,,4800,-10000\n,,-8000,11000\n,,20500,44000\n,,8000,44500\n,,-14000,39500\n,,30500,37000\n,,31000,-5500\n,,-16500,3500\n,,-15500,17000\n,,-12000,-6000\n,,-3500,43000\n,,-13500,28500\n,,36500,17500\n,,35000,4500\n,,34000,27500\n,\"jungle_tree_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,36000\n,,3000,41000\n,,12000,41500\n,,21000,38000\n,,26000,32000\n,,29000,16000\n,,26000,6500\n,,-7000,7500\n,,-8000,15500\n,,-7000,24500\n,,-12000,-1000\n,,37000,21500\n,,35500,9500\n,,-3500,47500\n,,30500,42500\n,,-14000,44000\n,,-13500,33000\n,,-16500,8000\n,,31000,-1000\n,,-15500,21500\n,,20500,48000\n,\"jungle_vine_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3366,3083\n,,20000,26500\n,\"jungle_bridge_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3533,16000\n,,14433,16000\n,\"jungle_vine_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,26500\n,\"jungle_leaves_02_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,13500\n,\"jungle_leaves_03_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2500,26500\n,,-2000,2000\n,\"jungle_leaves_04_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,7000\n,\"jungle_leaves_05_shadow\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20000,29000\n,,19000,3000\n,\"jungle_vfx_water_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n,\"jungle_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/legendary_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_legendary_arena.sc\",\"LegendaryArena_ground_layer\",\n\"Objects\",,,\n,\"legendary_statue1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4833,-248\n,\"legendary_statue2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,13097,-165\n,\"legendary_statue3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4964,31541\n,\"legendary_statue4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,13199,31375\n,\"legendary_torch2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20631,18458\n,,23068,18082\n,\"smoke_glow1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6197,15625\n,,11699,15625\n,\"smoke_glow2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8899,15625\n,\"smoke_glow3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,15750\n,,16500,15750\n,\"LegendaryArena_Crystal1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,432,14166\n,,3266,31625\n,,3197,-579\n,\"LegendaryArena_Crystal2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17766,13958\n,,24135,20166\n,\"LegendaryArena_Crystal3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,497,17207\n,,20099,19666\n,,11765,-749\n,,14364,-209\n,\"LegendaryArena_Crystal4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17700,17041\n,\"LegendaryArena_Island1_float\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,6500\n,,-17500,-5000\n,\"LegendaryArena_Island2_float\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,7333\n,,-37000,31000\n,\"LegendaryArena_Island2_float_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,24000\n,,39500,34500\n,\"LegendaryArena_Island1_float_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,28000\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/legendary_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_legendary_arena.sc\",\"LegendaryArena_ground_layer\",\n\"Objects\",,,\n,\"legendary_statue1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2833,-248\n,\"legendary_statue2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,15097,-165\n,\"legendary_statue3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3097,31541\n,\"legendary_statue4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14766,31416\n,\"legendary_torch2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20631,18458\n,,23068,18082\n,\"smoke_glow1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6197,15625\n,,11699,15625\n,\"smoke_glow2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,8899,15625\n,\"smoke_glow3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,1500,15750\n,,16500,15750\n,\"LegendaryArena_Crystal1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,432,14166\n,,1599,31584\n,,3197,-579\n,\"LegendaryArena_Crystal2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17766,13958\n,,24135,20166\n,\"LegendaryArena_Crystal3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,497,17207\n,,20099,19666\n,,16498,-208\n,,14364,-209\n,\"LegendaryArena_Crystal4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17700,17041\n,\"LegendaryArena_Island1_float\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,6500\n,,-17500,-5000\n,\"LegendaryArena_Island2_float\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,7333\n,,-37000,31000\n,\"LegendaryArena_Island2_float_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,24000\n,,39500,34500\n,\"LegendaryArena_Island1_float_blue\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,28000\n,\"legendary_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/royal_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_royal_arena.sc\",\"royal_base_bgr\",\n\"Objects\",,,\n,\"royal_bucket\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17763,14373\n,\"royal_red_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,536\n,\"royal_red_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,500\n,\"royal_red_endwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2532,-2414\n,\"royal_red_wall_middle\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-3000\n,\"royal_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,501,14458\n,\"royal_red_endwall2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,15300,-2500\n,\"royal_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19700,22625\n,,19697,5000\n,\"royal_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1866,5000\n,,-1866,22500\n,\"royal_red_roof_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3598,7500\n,\"royal_red_roof_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,7500\n,\"royal_blue_roof_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,25000\n,\"royal_blue_roof_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,25500\n,\"royal_blue_wall_middle\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,39500\n,\"royal_blue_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,31500\n,\"royal_blue_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21864,34124\n,\"royal_blue_endwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2000,36500\n,\"royal_blue_endwall2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16000,36500\n,\"royal_red_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,29000,-6500\n,,-12500,-5500\n,\"royal_blue_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6000,44500\n,,12000,44500\n,\"royal_blocktree\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14000,-9000\n,,36500,16500\n,,-19000,16500\n,,-6000,40500\n,,33000,30500\n,,-14000,33500\n,,31000,41500\n,,20500,44500\n,,1000,48500\n,,-16000,24500\n,,23500,39000\n,,-15000,3500\n,,-16000,11500\n,,33500,11500\n,,-9000,35500\n,,27500,32500\n,,30500,15500\n,,32500,18500\n,,-13500,15500\n,,-13000,9500\n,,-12000,17500\n,,29500,5000\n,,-9500,-500\n,,-7500,-7000\n,,0,-8500\n,,27500,-2000\n,,26500,-7000\n,,13000,46500\n,,13000,52500\n,,2500,45500\n,,-3000,47500\n,,4500,55500\n,,14000,56000\n,,15000,59000\n,,3500,59000\n,,17000,52500\n,,500,52500\n,,-3500,56000\n,,20500,57000\n,,23500,51500\n,,25500,44500\n,,29000,56000\n,,31500,49000\n,,-13000,42000\n,,-13500,54000\n,,-8000,46500\n,\"royal_bush1x\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,46000\n,,-14000,-9000\n,,-11500,2500\n,,28000,17500\n,,18500,-10500\n,,-9500,-4500\n,,-16000,15500\n,,28000,15000\n,,-14500,20000\n,,30000,8500\n,,30500,-3500\n,,33000,-9000\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/royal_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_royal_arena.sc\",\"royal_base_bgr\",\n\"Objects\",,,\n,\"royal_bucket\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17763,14373\n,\"royal_red_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,536\n,\"royal_red_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18500,500\n,\"royal_red_endwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2532,-2414\n,\"royal_red_wall_middle\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-3000\n,\"royal_mid_tower\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,501,14458\n,\"royal_red_endwall2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,15300,-2500\n,\"royal_sidestand_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19700,22625\n,,19697,5000\n,\"royal_sidestand_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1866,5000\n,,-1866,22500\n,\"royal_red_roof_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3598,7500\n,\"royal_red_roof_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,7500\n,\"royal_blue_roof_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,25000\n,\"royal_blue_roof_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,25500\n,\"royal_blue_wall_middle\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,39500\n,\"royal_blue_tower1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,31500\n,\"royal_blue_tower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21864,34124\n,\"royal_blue_endwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,2000,36500\n,\"royal_blue_endwall2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,16000,36500\n,\"royal_red_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,29000,-6500\n,,-12500,-5500\n,\"royal_blue_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6000,44500\n,,12000,44500\n,\"royal_blocktree\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14000,-9000\n,,36500,16500\n,,-19000,16500\n,,-6000,40500\n,,33000,30500\n,,-14000,33500\n,,31000,41500\n,,20500,44500\n,,1000,48500\n,,-16000,24500\n,,23500,39000\n,,-15000,3500\n,,-16000,11500\n,,33500,11500\n,,-9000,35500\n,,27500,32500\n,,30500,15500\n,,32500,18500\n,,-13500,15500\n,,-13000,9500\n,,-12000,17500\n,,29500,5000\n,,-9500,-500\n,,-7500,-7000\n,,0,-8500\n,,27500,-2000\n,,26500,-7000\n,,13000,46500\n,,13000,52500\n,,2500,45500\n,,-3000,47500\n,,4500,55500\n,,14000,56000\n,,15000,59000\n,,3500,59000\n,,17000,52500\n,,500,52500\n,,-3500,56000\n,,20500,57000\n,,23500,51500\n,,25500,44500\n,,29000,56000\n,,31500,49000\n,,-13000,42000\n,,-13500,54000\n,,-8000,46500\n,\"royal_bush1x\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,46000\n,,-14000,-9000\n,,-11500,2500\n,,28000,17500\n,,18500,-10500\n,,-9500,-4500\n,,-16000,15500\n,,28000,15000\n,,-14500,20000\n,,30000,8500\n,,30500,-3500\n,,33000,-9000\n,\"royal_base_bottom_2v2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,32500\n,\"royal_base_top_2v2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/spell_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_spell_arena.sc\",\"game_area\",\n\"Objects\",,,\n,\"spell_crystal_rock_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2064,14707\n,,4000,37000\n,,-10500,31500\n,,32000,7000\n,\"spell_crystal_rock_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20366,18791\n,,24500,-3500\n,\"spell_pot_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2067,19291\n,\"spell_pot_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20866,13958\n,\"spell_stand_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2265,24248\n,,-2266,30375\n,,-7000,24000\n,,-7000,30500\n,\"spell_stand_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20565,24207\n,,20565,30375\n,,25000,26000\n,\"spell_stand_red_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2232,10125\n,,-2166,4000\n,\"spell_stand_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20567,9916\n,,20567,3750\n,\"spell_arena_edge_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3667,34000\n,,665,33916\n,,14633,33958\n,,17663,33916\n,,30500,31500\n,,33500,31500\n,\"spell_arena_edge_pole\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1866,34916\n,,20198,34625\n,,-1464,-498\n,,19597,-245\n,,12000,37000\n,,6000,37000\n,,11500,39000\n,,6500,39000\n,,11500,-2500\n,,6500,-2500\n,,7000,-4500\n,,11000,-4500\n,,30000,34000\n,,34000,34000\n,\"spell_entry_pole_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11593,-912\n,,11901,35208\n,\"spell_arena_edge_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,930,-416\n,,3867,-413\n,,17160,-411\n,,14262,-411\n,\"spell_entry_pole_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,6497,-995\n,,6322,35125\n,\"goblin_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,39000\n,,21500,36000\n,,26000,29000\n,,5500,40500\n,,12500,40000\n,,1000,43000\n,,18500,42500\n,,2000,-5500\n,,-3500,-6500\n,,6000,-9500\n,,16000,-5500\n,,22000,-6500\n,,12500,-6500\n,,26000,-500\n,,25500,9500\n,,-5000,13500\n,,-10500,24000\n,,-9500,11500\n,,30000,36500\n,,37500,34500\n,,32500,29000\n,,34000,16000\n,,36500,10500\n,,35500,4500\n,,32500,\n,,26500,-6500\n,,37000,41500\n,,7000,46000\n,,-15500,22000\n,,-17500,27500\n,,-14500,8500\n,,-19500,34000\n,,-15500,37000\n,,13500,48000\n,,-9500,39500\n,,-15500,44000\n,,-22000,19500\n,,-19000,23000\n,,-22500,30500\n,,-25500,16000\n,,-21500,3500\n,,-24500,-8000\n,,500,-11000\n,,22000,-11500\n,,18000,-9500\n,\"goblin_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,-5500\n,,-500,39500\n,,-7500,43500\n,,-11500,-7500\n,,22500,41000\n,,29000,25500\n,,23000,21000\n,,-11500,26500\n,,24000,11000\n,,27500,2500\n,,23500,2500\n,,-6500,3000\n,,5500,45500\n,,-10000,\n,,16500,45500\n,,19500,-6500\n,,11500,42000\n,,36000,43500\n,,31000,41500\n,,33000,36500\n,,38000,26500\n,,37500,21500\n,,32000,19000\n,,32500,11000\n,,29000,9500\n,,37000,6500\n,,30500,2000\n,,37500,-6500\n,,31500,-9000\n,,30000,-6500\n,,25500,-10500\n,,-14500,17500\n,,-13500,4000\n,,-14500,32000\n,,-18000,21500\n,,11500,48000\n,,-12500,11000\n,\"goblin_tree4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,15500,40000\n,,27000,35500\n,,23500,14500\n,,14000,-3500\n,,-7000,-6000\n,,-13500,20000\n,,-9000,35000\n,,14500,-9000\n,,3500,-4500\n,,2000,39000\n,,-2500,39500\n,,-14000,24500\n,,27500,-3000\n,,25000,43500\n,,35000,47000\n,,26500,47500\n,,37000,30000\n,,36500,18500\n,,30500,13000\n,,34000,8000\n,,37500,2500\n,,38000,-8500\n,,26500,3500\n,,-20500,38500\n,,-17500,16000\n,,-14500,-2500\n,,2500,48000\n,,2500,48000\n,\"spell_blue_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,17500,17500\n,,25000,14000\n,,-4000,17000\n,,-500,35000\n,\"spell_red_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,14500\n,,17500,14500\n,,5000,-2500\n,\"goblin_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,36500\n,,24000,34500\n,,24000,6500\n,,-3000,-4000\n,,20500,-4000\n,,24500,19000\n,,-5000,34500\n,,-10500,18000\n,,-2500,37000\n,,28500,13500\n,,21000,42500\n,,-6500,9500\n,,-8000,4500\n,,27000,41500\n,,24000,40000\n,,14000,44000\n,,-12000,22000\n,,-12000,34500\n,,3500,43500\n,,29000,20000\n,,35500,25500\n,,29000,27000\n,,34000,22000\n,,32500,23000\n,,35000,39500\n,,30500,41500\n,,30500,44500\n,,36500,15000\n,,29500,7500\n,,32000,-2500\n,,35000,-5000\n,,32500,-9000\n,,29500,-10000\n,,35500,500\n,,-2500,46500\n,,-14000,41000\n,,-15500,11000\n,,-17000,32500\n,,-15500,29000\n,,-11500,8000\n,,-17000,2500\n,,-12500,500\n,,-18000,7000\n,,-10500,-3500\n,,-16000,-5500\n,,22000,47500\n,,-10500,44500\n,,-6500,48500\n,,-21000,46500\n,,-20500,-3000\n,,-22500,11000\n,,-24500,27000\n,,-23500,35500\n,,-26500,42500\n,,-9500,-11000\n,,-5500,-9000\n,\"goblin_woodwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,33000\n,,-17000,-10500\n,,-13000,-10000\n,\"goblin_woodtower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-20500,-11000\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/spell_arena_2v2.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_spell_arena.sc\",\"game_area\",\n\"Objects\",,,\n,\"spell_crystal_rock_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2064,14707\n,,4000,37000\n,,-10500,31500\n,,32000,7000\n,\"spell_crystal_rock_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20366,18791\n,,24500,-3500\n,\"spell_pot_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2067,19291\n,\"spell_pot_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20866,13958\n,\"spell_stand_blue_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2265,24248\n,,-2266,30375\n,,-7000,24000\n,,-7000,30500\n,\"spell_stand_blue_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20565,24207\n,,20565,30375\n,,25000,26000\n,\"spell_stand_red_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2232,10125\n,,-2166,4000\n,\"spell_stand_red_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20567,9916\n,,20567,3750\n,\"spell_arena_edge_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,665,33916\n,,17663,33916\n,,30500,31500\n,,33500,31500\n,\"spell_arena_edge_pole\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-1866,34916\n,,20198,34625\n,,-1464,-498\n,,19597,-245\n,,12000,37000\n,,6000,37000\n,,11500,39000\n,,6500,39000\n,,11500,-2500\n,,6500,-2500\n,,7000,-4500\n,,11000,-4500\n,,30000,34000\n,,34000,34000\n,\"spell_entry_pole_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14593,-411\n,,14901,35208\n,\"spell_arena_edge_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,930,-416\n,,17160,-411\n,\"spell_entry_pole_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3497,-495\n,,3322,35125\n,\"goblin_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,39000\n,,21500,36000\n,,26000,29000\n,,5500,40500\n,,12500,40000\n,,1000,43000\n,,18500,42500\n,,2000,-5500\n,,-3500,-6500\n,,6000,-9500\n,,16000,-5500\n,,22000,-6500\n,,12500,-6500\n,,26000,-500\n,,25500,9500\n,,-5000,13500\n,,-10500,24000\n,,-9500,11500\n,,30000,36500\n,,37500,34500\n,,32500,29000\n,,34000,16000\n,,36500,10500\n,,35500,4500\n,,32500,\n,,26500,-6500\n,,37000,41500\n,,7000,46000\n,,-15500,22000\n,,-17500,27500\n,,-14500,8500\n,,-19500,34000\n,,-15500,37000\n,,13500,48000\n,,-9500,39500\n,,-15500,44000\n,,-22000,19500\n,,-19000,23000\n,,-22500,30500\n,,-25500,16000\n,,-21500,3500\n,,-24500,-8000\n,,500,-11000\n,,22000,-11500\n,,18000,-9500\n,\"goblin_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-500,-5500\n,,-500,39500\n,,-7500,43500\n,,-11500,-7500\n,,22500,41000\n,,29000,25500\n,,23000,21000\n,,-11500,26500\n,,24000,11000\n,,27500,2500\n,,23500,2500\n,,-6500,3000\n,,5500,45500\n,,-10000,\n,,16500,45500\n,,19500,-6500\n,,11500,42000\n,,36000,43500\n,,31000,41500\n,,33000,36500\n,,38000,26500\n,,37500,21500\n,,32000,19000\n,,32500,11000\n,,29000,9500\n,,37000,6500\n,,30500,2000\n,,37500,-6500\n,,31500,-9000\n,,30000,-6500\n,,25500,-10500\n,,-14500,17500\n,,-13500,4000\n,,-14500,32000\n,,-18000,21500\n,,11500,48000\n,,-12500,11000\n,\"goblin_tree4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,15500,40000\n,,27000,35500\n,,23500,14500\n,,14000,-3500\n,,-7000,-6000\n,,-13500,20000\n,,-9000,35000\n,,14500,-9000\n,,3500,-4500\n,,2000,39000\n,,-2500,39500\n,,-14000,24500\n,,27500,-3000\n,,25000,43500\n,,35000,47000\n,,26500,47500\n,,37000,30000\n,,36500,18500\n,,30500,13000\n,,34000,8000\n,,37500,2500\n,,38000,-8500\n,,26500,3500\n,,-20500,38500\n,,-17500,16000\n,,-14500,-2500\n,,2500,48000\n,,2500,48000\n,\"spell_blue_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,17500\n,,17500,17500\n,,25000,14000\n,,-4000,17000\n,,-500,35000\n,\"spell_red_deco\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,14500\n,,17500,14500\n,,5000,-2500\n,\"goblin_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,36500\n,,24000,34500\n,,24000,6500\n,,-3000,-4000\n,,20500,-4000\n,,24500,19000\n,,-5000,34500\n,,-10500,18000\n,,-2500,37000\n,,28500,13500\n,,21000,42500\n,,-6500,9500\n,,-8000,4500\n,,27000,41500\n,,24000,40000\n,,14000,44000\n,,-12000,22000\n,,-12000,34500\n,,3500,43500\n,,29000,20000\n,,35500,25500\n,,29000,27000\n,,34000,22000\n,,32500,23000\n,,35000,39500\n,,30500,41500\n,,30500,44500\n,,36500,15000\n,,29500,7500\n,,32000,-2500\n,,35000,-5000\n,,32500,-9000\n,,29500,-10000\n,,35500,500\n,,-2500,46500\n,,-14000,41000\n,,-15500,11000\n,,-17000,32500\n,,-15500,29000\n,,-11500,8000\n,,-17000,2500\n,,-12500,500\n,,-18000,7000\n,,-10500,-3500\n,,-16000,-5500\n,,22000,47500\n,,-10500,44500\n,,-6500,48500\n,,-21000,46500\n,,-20500,-3000\n,,-22500,11000\n,,-24500,27000\n,,-23500,35500\n,,-26500,42500\n,,-9500,-11000\n,,-5500,-9000\n,\"goblin_woodwall1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,22000,33000\n,,-17000,-10500\n,,-13000,-10000\n,\"goblin_woodtower2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-20500,-11000\n,\"spell_2v2_base_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/tilemap_pve.csv",
    "content": "\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"PrincessTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/titan_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/level_titan_arena.sc\",\"titan_base_01\",\n\"Objects\",,,\n,\"titan_rock_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,29500\n,,2500,-3500\n,\"titan_rock_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,11000\n,,21000,22500\n,\"titan_rock_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4500,5500\n,\"titan_rock_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,500,-3000\n,,-3000,25000\n,\"titan_rock_05\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,9500\n,,5500,37500\n,\"titan_rock_06\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,5500\n,,22000,25000\n,\"titan_rock_07\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,-4000\n,,-4000,22000\n,\"titan_dragon_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n,\"titan_dragon_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,15000\n,\"titan_dragon_03\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,17500\n,\"titan_dragon_04\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,32000\n,\"titan_chain_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,\n,,9000,-17000\n,\"titan_cauldron_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-3500\n,\"titan_statue_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,-2500\n,\"titan_statue_02\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,9000,31500\n,\"titan_vfx_lightray_01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5500,26000\n,,5500,1000\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/training_arena.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/arena_training.sc\",\"training_area_bg\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,26000\n,,-1000,\n,,500,500\n,,17500,31500\n,\"Grassland_rock2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,22500\n,,25000,28000\n,,-8460,25666\n,,-2194,37250\n,,-500,-500\n,,500,32000\n,,17500,500\n,,10000,-5500\n,,5000,40500\n,,14000,37000\n,\"Grassland_rock3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,27000\n,,18631,28083\n,,4000,41000\n,,11500,-7000\n,\"WoodWall_single_2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,33500\n,\"training_cliff5\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,24500\n,,20500,25000\n,,-2000,3500\n,,-23000,29000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,26000\n,,-500,35000\n,,-2500,-1500\n,,22000,500\n,,24000,35000\n,,16000,40500\n,,4000,-9500\n,\"training_cliff6\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,30000\n,,36500,29500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,27500\n,,-1500,9000\n,,23500,26500\n,,27500,25000\n,,20500,33500\n,,-6500,37500\n,,23500,7500\n,,-7500,9500\n,,-8500,35000\n,,16000,38500\n,,30500,24500\n,,17500,-2000\n,,-8500,4500\n,,-10500,24000\n,,20500,-1000\n,,-7500,2000\n,,-4000,-3500\n,,-3500,42000\n,,1000,39500\n,,17000,44500\n,,3000,45500\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23500\n,,-5000,5500\n,,24000,23500\n,,21000,29500\n,,19500,5000\n,,-3500,35500\n,,23500,32000\n,,25000,9500\n,,19500,42000\n,,30000,45500\n,,-25000,16000\n,,14500,-5000\n,,32000,-1000\n,,27500,-9500\n,,-11500,-8000\n,,-8500,-9500\n,,4000,48000\n,\"training_bush2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,32000\n,,23000,37500\n,,-4000,-8500\n,,5000,-6500\n,,15500,-1500\n,,1000,-2500\n,,-500,41000\n,,16500,-9500\n,\"training_cliff1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,8500\n,,24000,3000\n,,-20500,17000\n,\"training_cliffs_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5289,14288\n,\"training_cliffs_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,23357,15243\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,7000\n,\"training_cliff2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,36500\n,,19500,\n,,12000,37500\n,,-18500,-1000\n,\"training_cliff3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,35000\n,,-5500,500\n,,-23000,8500\n,\"training_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,36000\n,,18500,37500\n,\"fence_left_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,500\n,\"fence_right_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,500\n,\"fence_left_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,32000\n,\"fence_right_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,32000\n,\"tree_group01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13500,2500\n,,-12000,28500\n,,-8500,43500\n,,32000,17500\n,,-12500,36500\n,,25000,44500\n,,-13500,17500\n,,35000,44000\n,,35500,35000\n,,29500,31500\n,,29500,38500\n,,34500,25000\n,,-18000,31500\n,,-16000,43000\n,,-11500,9500\n,,-18000,11500\n,,-16500,23000\n,,27000,-4500\n,,37500,3000\n,,30500,3000\n,,20500,-7000\n,,-19500,4000\n,,-1500,46500\n,,37000,-5500\n,,0,-7000\n,,-15500,-5500\n,,38500,20000\n,,30500,10500\n,,37500,11000\n,,-9000,-4500\n,,-20000,38000\n,,-22500,45500\n,,-12500,48500\n,,20000,48500\n,,-23500,-4000\n,,-23000,22500\n,,-19500,-10000\n,,33500,-11000\n,,12000,44000\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4000,40000\n,,13000,-7500\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,565,14875\n,,17333,14666\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,564,17666\n,,17399,17750\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/training_arena_pve.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/arena_training.sc\",\"training_area_bg\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,26000\n,,-1000,\n,,500,500\n,,17500,31500\n,\"Grassland_rock2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,22500\n,,25000,28000\n,,-8460,25666\n,,-2194,37250\n,,-500,-500\n,,500,32000\n,,17500,500\n,,10000,-5500\n,,5000,40500\n,,14000,37000\n,\"Grassland_rock3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,27000\n,,18631,28083\n,,4000,41000\n,,11500,-7000\n,\"WoodWall_single_2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,33500\n,\"training_cliff5\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,24500\n,,20500,25000\n,,-2000,3500\n,,-23000,29000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,26000\n,,-500,35000\n,,-2500,-1500\n,,22000,500\n,,24000,35000\n,,16000,40500\n,,4000,-9500\n,\"training_cliff6\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,30000\n,,36500,29500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,27500\n,,-1500,9000\n,,23500,26500\n,,27500,25000\n,,20500,33500\n,,-6500,37500\n,,23500,7500\n,,-7500,9500\n,,-8500,35000\n,,16000,38500\n,,30500,24500\n,,17500,-2000\n,,-8500,4500\n,,-10500,24000\n,,20500,-1000\n,,-7500,2000\n,,-4000,-3500\n,,-3500,42000\n,,1000,39500\n,,17000,44500\n,,3000,45500\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23500\n,,-5000,5500\n,,24000,23500\n,,21000,29500\n,,19500,5000\n,,-3500,35500\n,,23500,32000\n,,25000,9500\n,,19500,42000\n,,30000,45500\n,,-25000,16000\n,,14500,-5000\n,,32000,-1000\n,,27500,-9500\n,,7500,-2000\n,,-8500,-9500\n,,4000,48000\n,\"training_bush2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,32000\n,,23000,37500\n,,-4000,-8500\n,,5000,-6500\n,,15500,-1500\n,,1000,-2500\n,,-500,41000\n,,16500,-9500\n,\"training_cliff1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,8500\n,,24000,3000\n,,-20500,17000\n,\"training_cliffs_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5289,14788\n,\"training_cliffs_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,23357,15243\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,7000\n,\"training_cliff2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,36500\n,,19500,\n,,12000,37500\n,,-18500,-1000\n,\"training_cliff3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,35000\n,,-5500,500\n,,-23000,8500\n,\"training_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,36000\n,,18500,37500\n,\"fence_left_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-3000\n,\"fence_right_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-1500\n,\"fence_left_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,32000\n,\"fence_right_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,32000\n,\"tree_group01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13500,2500\n,,-12000,28500\n,,-8500,43500\n,,32000,17500\n,,-12500,36500\n,,25000,44500\n,,-13500,17500\n,,35000,44000\n,,35500,35000\n,,29500,31500\n,,29500,38500\n,,34500,25000\n,,-18000,31500\n,,-16000,43000\n,,-11500,9500\n,,-18000,11500\n,,-16500,23000\n,,27000,-4500\n,,37500,3000\n,,30500,3000\n,,20500,-7000\n,,-19500,4000\n,,-1500,46500\n,,37000,-5500\n,,0,-7000\n,,-15500,-5500\n,,38500,20000\n,,30500,10500\n,,37500,11000\n,,-9000,-4500\n,,-20000,38000\n,,-22500,45500\n,,-12500,48500\n,,20000,48500\n,,-23500,-4000\n,,-23000,22500\n,,-19500,-10000\n,,11000,-4000\n,,12000,44000\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4000,40000\n,,13000,-7500\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,565,14875\n,,17333,14666\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,564,17666\n,,17399,17750\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/training_arena_pve1.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/arena_training.sc\",\"training_area_bg\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,26000\n,,-1000,\n,,500,500\n,,17500,31500\n,\"Grassland_rock2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,22500\n,,25000,28000\n,,-8460,25666\n,,-2194,37250\n,,-500,-500\n,,500,32000\n,,17500,500\n,,10000,-5500\n,,5000,40500\n,,14000,37000\n,\"Grassland_rock3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,27000\n,,18631,28083\n,,4000,41000\n,,11500,-7000\n,\"WoodWall_single_2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,33500\n,\"training_cliff5\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,24500\n,,20500,25000\n,,-2000,3500\n,,-23000,29000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,26000\n,,-500,35000\n,,-2500,-1500\n,,22000,500\n,,24000,35000\n,,16000,40500\n,,4000,-9500\n,\"training_cliff6\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,30000\n,,36500,29500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,27500\n,,-1500,9000\n,,23500,26500\n,,27500,25000\n,,20500,33500\n,,-6500,37500\n,,23500,7500\n,,-7500,9500\n,,-8500,35000\n,,16000,38500\n,,30500,24500\n,,17500,-2000\n,,-8500,4500\n,,-10500,24000\n,,20500,-1000\n,,-7500,2000\n,,-4000,-3500\n,,-3500,42000\n,,1000,39500\n,,17000,44500\n,,3000,45500\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23500\n,,-5000,5500\n,,24000,23500\n,,21000,29500\n,,19500,5000\n,,-3500,35500\n,,23500,32000\n,,25000,9500\n,,19500,42000\n,,30000,45500\n,,-25000,16000\n,,14500,-5000\n,,32000,-1000\n,,27500,-9500\n,,7500,-2000\n,,-8500,-9500\n,,4000,48000\n,\"training_bush2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,32000\n,,23000,37500\n,,-4000,-8500\n,,5000,-6500\n,,15500,-1500\n,,1000,-2500\n,,-500,41000\n,,16500,-9500\n,\"training_cliff1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,8500\n,,24000,3000\n,,-20500,17000\n,\"training_cliffs_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5289,14788\n,\"training_cliffs_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,23357,15243\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,7000\n,\"training_cliff2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,36500\n,,19500,\n,,12000,37500\n,,-18500,-1000\n,\"training_cliff3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,35000\n,,-5500,500\n,,-23000,8500\n,\"training_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,36000\n,,18500,37500\n,\"fence_left_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-3000\n,\"fence_right_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-1500\n,\"fence_left_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,32000\n,\"fence_right_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,32000\n,\"tree_group01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13500,2500\n,,-12000,28500\n,,-8500,43500\n,,32000,17500\n,,-12500,36500\n,,25000,44500\n,,-13500,17500\n,,35000,44000\n,,35500,35000\n,,29500,31500\n,,29500,38500\n,,34500,25000\n,,-18000,31500\n,,-16000,43000\n,,-11500,9500\n,,-18000,11500\n,,-16500,23000\n,,27000,-4500\n,,37500,3000\n,,30500,3000\n,,20500,-7000\n,,-19500,4000\n,,-1500,46500\n,,37000,-5500\n,,0,-7000\n,,-15500,-5500\n,,38500,20000\n,,30500,10500\n,,37500,11000\n,,-9000,-4500\n,,-20000,38000\n,,-22500,45500\n,,-12500,48500\n,,20000,48500\n,,-23500,-4000\n,,-23000,22500\n,,-19500,-10000\n,,11000,-4000\n,,12000,44000\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4000,40000\n,,13000,-7500\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,565,14875\n,,17333,14666\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,564,17666\n,,17399,17750\n,\"PvE_deco_wall1_corner4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,7000,27500\n,,5500,6500\n,,4000,18000\n,\"PvE_deco_wall1_corner1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,12000,5500\n,,13000,26500\n,\"PvE_deco_wall1_2tiles_h\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,11000,27000\n,,9000,27000\n,,8000,19500\n,,10000,19500\n,,12000,19500\n,,14000,19500\n,,16000,19500\n,,11000,22500\n,,9000,22500\n,,7000,22500\n,,5000,22500\n,,9500,6000\n,,15000,11500\n,,13000,11500\n,,11000,11500\n,,9000,11500\n,,7000,11500\n,,1500,2000\n,,11000,6000\n,,7500,6000\n,,14000,11500\n,,11500,11500\n,,9500,11500\n,,7500,11500\n,,6000,11500\n,\"PvE_deco_wall1_2tiles_v\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,17500,19500\n,,17500,22000\n,,17500,24000\n,,17500,26000\n,,17500,28500\n,,17500,30500\n,,13500,25000\n,,6500,28500\n,,6500,31000\n,,4500,24500\n,,500,20000\n,,500,21500\n,,500,23000\n,,500,25500\n,,500,27000\n,,500,29000\n,,500,30500\n,,3500,21000\n,,5000,9498\n,,5000,10000\n,,12500,5000\n,,12500,3000\n,,12500,2000\n,,3500,19000\n,,1000,4000\n,,5000,8000\n,,5000,10000\n,,5000,10500\n,\"PvE_deco_wall1_corner3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,13000,23000\n,,17000,12000\n,\"PvE_deco_wall1_corner2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,5500,11000\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/locations/training_arena_tve.csv",
    "content": "\"FileName\",,,\n,\"SC\",\"ExportName\",\n,\"string\",\"string\",\n,\"sc/arena_training.sc\",\"training_area_bg\",\n\"Objects\",,,\n,\"Grassland_rock1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-9500,26000\n,,-1000,\n,,500,500\n,,17500,31500\n,\"Grassland_rock2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,22500\n,,25000,28000\n,,-8460,25666\n,,-2194,37250\n,,-500,-500\n,,500,32000\n,,17500,500\n,,10000,-5500\n,,5000,40500\n,,14000,37000\n,\"Grassland_rock3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,27000\n,,18631,28083\n,,4000,41000\n,,11500,-7000\n,\"WoodWall_single_2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,19000,33500\n,\"training_cliff5\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-2000,24500\n,,20500,25000\n,,-2000,3500\n,,-23000,29000\n,\"training_cliff4\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5500,26000\n,,-500,35000\n,,-2500,-1500\n,,22000,500\n,,24000,35000\n,,16000,40500\n,,4000,-9500\n,\"training_cliff6\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,30000\n,,36500,29500\n,\"training_tree1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-4000,27500\n,,-1500,9000\n,,23500,26500\n,,27500,25000\n,,20500,33500\n,,-6500,37500\n,,23500,7500\n,,-7500,9500\n,,-8500,35000\n,,16000,38500\n,,30500,24500\n,,17500,-2000\n,,-8500,4500\n,,-10500,24000\n,,20500,-1000\n,,-7500,2000\n,,-4000,-3500\n,,-3500,42000\n,,1000,39500\n,,17000,44500\n,,3000,45500\n,\"training_tree2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,23500\n,,-5000,5500\n,,24000,23500\n,,21000,29500\n,,19500,5000\n,,-3500,35500\n,,23500,32000\n,,25000,9500\n,,19500,42000\n,,30000,45500\n,,-25000,16000\n,,14500,-5000\n,,32000,-1000\n,,27500,-9500\n,,7500,-2000\n,,-8500,-9500\n,,4000,48000\n,\"training_bush2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-6500,32000\n,,23000,37500\n,,-4000,-8500\n,,5000,-6500\n,,15500,-1500\n,,1000,-2500\n,,-500,41000\n,,16500,-9500\n,\"training_cliff1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,21500,8500\n,,24000,3000\n,,-20500,17000\n,\"training_cliffs_left\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-5289,14788\n,\"training_cliffs_right\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,23357,15243\n,\"training_cliff7\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-3500,7000\n,\"training_cliff2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,20500,36500\n,,19500,\n,,12000,37500\n,,-18500,-1000\n,\"training_cliff3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,18000,35000\n,,-5500,500\n,,-23000,8500\n,\"training_bush1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,26000,36000\n,,18500,37500\n,\"fence_left_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-3000\n,\"fence_right_back\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4500,-1500\n,\"fence_left_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,3500,32000\n,\"fence_right_front\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,14500,32000\n,\"tree_group01\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,-13500,2500\n,,-12000,28500\n,,-8500,43500\n,,32000,17500\n,,-12500,36500\n,,25000,44500\n,,-13500,17500\n,,35000,44000\n,,35500,35000\n,,29500,31500\n,,29500,38500\n,,34500,25000\n,,-18000,31500\n,,-16000,43000\n,,-11500,9500\n,,-18000,11500\n,,-16500,23000\n,,27000,-4500\n,,37500,3000\n,,30500,3000\n,,20500,-7000\n,,-19500,4000\n,,-1500,46500\n,,37000,-5500\n,,0,-7000\n,,-15500,-5500\n,,38500,20000\n,,30500,10500\n,,37500,11000\n,,-9000,-4500\n,,-20000,38000\n,,-22500,45500\n,,-12500,48500\n,,20000,48500\n,,-23500,-4000\n,,-23000,22500\n,,-19500,-10000\n,,11000,-4000\n,,12000,44000\n,\"training_tree3\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,4000,40000\n,,13000,-7500\n,\"training_deco1\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,565,14875\n,,17333,14666\n,\"training_deco2\",,\n,,\"x\",\"y\"\n,,\"int\",\"int\"\n,,564,17666\n,,17399,17750\n\"Background\",,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/tilemaps/tilemap.csv",
    "content": "\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"PrincessTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/tilemaps/tilemap_2v2.csv",
    "content": "\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"PrincessTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,22,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,22,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,14,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,14,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTowerMiddle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,0,,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,,\n,0,,,,,,,,,,,17,64,64,64,64,64,64,64,64,64,64,64,64,18,,,,,,,,,,,\n,0,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,\n,0,,,,,,,,,,,17,64,64,64,64,64,64,64,64,64,64,64,64,18,,,,,,,,,,,\n,0,,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,,\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/tilemaps/tilemap_pve.csv",
    "content": "\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,1,1,1,1,17,17,17,18,18,18,2,2,2,2,2,2,2,2,2,2,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,17,17,17,18,18,18,2,,,,,,,,,,,,,,\n,0,,,,,,,,,,,,,,1,1,1,1,2,2,2,2,,,,,,,,,,,,,,\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"PrincessTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/tilemaps/tilemap_pve1.csv",
    "content": "\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,32,16,16,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,16,48,32,32,,,,,,16,16,,,16\n,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,16,48,32,32,,,,,,,,,,16\n,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,16,48,32,32,,,,,,,,,,16\n,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,50,34,34,2,2,2,2,2,,,,,16\n,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,50,34,34,2,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,50,34,34,2,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,34,34,34,2,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,17,16,16,16,16,17,17,17,17,18,18,18,18,16,32,32,32,2,2,2,2,2,,,,,\n,16,16,16,16,17,17,17,17,17,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,16,16,16,16,17,17,17,17,17,33,32,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,16,16,16,16,16,17,17,17,17,32,32,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,32,32,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,32,32,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,32,32,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,16,16,16,17,17,17,17,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,34,34,32,32,32,32,32\n,16,16,16,16,16,17,17,17,17,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,34,34,32,32,32,32,32\n,16,16,16,16,16,17,17,17,17,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,34,34,32,32,32,32,32\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,32,32,32\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,32,32,32\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,32,32,32\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,32,32,32\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,48,48\n,16,16,16,16,16,17,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,16,16\n,32,48,48,48,48,17,17,17,17,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,18,18,18,18,32,32,32,32,32\n,48,48,48,48,48,16,17,17,16,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,16,18,18,16,32,32,32,32,32\n,48,48,48,48,48,16,17,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,16,18,18,16,32,32,32,32,32\n,48,48,48,48,48,17,33,33,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,18,18,18,18,32,32,32,32,32\n,16,16,16,16,16,17,33,33,33,32,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,16,16\n,16,16,48,48,32,49,33,33,33,32,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,48,48\n,32,48,48,48,48,33,33,33,33,32,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,34,34,32,32,32,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,34,34,32,32,32,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,32,16,16,16,17,33,33,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,33,33,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,33,33,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,48,48,50,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,49,33,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,18,18,18,16,16,16,32,32\n,32,48,16,16,16,17,17,17,33,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,34,18,18,18,16,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,34,34,18,18,18,18,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,34,34,18,18,18,18,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,34,34,18,18,18,18,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,34,34,18,18,18,18,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,34,34,18,18,18,18,16,16,32,32\n,32,48,16,16,17,17,17,17,33,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,18,18,18,18,16,16,32,32\n,48,48,16,16,17,17,17,17,33,33,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34,18,18,18,18,16,16,32,32\n,48,48,16,16,16,17,17,17,17,17,16,16,32,32,1,1,1,1,2,2,2,2,,16,16,16,18,18,18,18,18,16,16,16,32,32\n,48,48,16,16,16,17,17,17,17,17,17,17,33,33,1,17,17,17,18,18,18,2,18,18,18,18,18,18,18,18,18,16,16,16,32,32\n,48,48,16,16,16,17,17,17,17,17,17,17,49,33,1,17,17,17,18,18,18,2,18,18,18,18,18,18,18,18,18,16,16,16,32,32\n,48,48,16,16,16,17,17,17,17,17,17,17,49,33,1,17,17,17,18,18,18,2,18,18,18,18,18,18,18,18,18,16,16,16,32,32\n,48,48,16,16,16,17,17,17,17,17,17,17,49,33,1,17,17,17,18,18,18,2,18,18,18,18,18,18,18,18,18,16,16,16,32,32\n,48,48,16,16,16,16,16,16,16,16,16,16,48,32,1,17,17,17,18,18,18,2,16,16,16,16,16,16,16,16,16,16,16,16,32,32\n,48,48,16,16,16,16,16,16,16,16,16,16,48,32,1,17,17,17,18,18,18,2,,16,16,16,16,16,16,16,16,16,16,16,32,32\n,48,48,16,16,16,16,16,16,16,16,16,16,32,32,1,1,1,1,2,2,2,2,,16,16,16,16,16,16,16,16,16,16,16,32,32\n,16,48,48,48,48,48,48,48,48,48,48,32,32,32,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n,16,48,48,48,48,48,48,48,48,48,48,32,32,32,,,,,,,,,,,,16,16,16,16,16,16,16,16,16,16,16\n\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"PrincessTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,29,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,7,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n"
  },
  {
    "path": "src/ClashRoyale/GameAssets/tilemaps/tilemap_tve.csv",
    "content": "\"Layout\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTower\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,22,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,14,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"KingTowerMiddle\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"x\",\"y\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,\"int\",\"int\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,18,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\"Map\",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n,\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\",\"x\"\n,\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\",\"int\"\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,0,,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,,\n,0,,,,,,,,,,,17,64,64,64,64,64,64,64,64,64,64,64,64,18,,,,,,,,,,,\n,0,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,,1,1,,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,2,2,,32,32,32,32,32\n,32,32,32,32,32,1,1,1,1,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,2,2,2,2,32,32,32,32,32\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,16,16,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,16,16\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,,,,,,,,,,,,,,,,,,,2,2,2,2,,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,1,1,1,1,1,1,,,,,,,,,,,,,,,,,2,2,2,2,2,2,,,,\n,0,,,,,1,1,1,1,1,,,,,1,1,1,1,2,2,2,2,,,,,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,2,2,2,2,2,2,,,,,\n,0,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,\n,0,,,,,,,,,,,17,64,64,64,64,64,64,64,64,64,64,64,64,18,,,,,,,,,,,\n,0,,,,,,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,,,,,,,,,,,,\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n,16,16,16,16,16,16,16,16,,,,,,,,,,,,,,,,,,,,,16,16,16,16,16,16,16,16\n"
  },
  {
    "path": "src/ClashRoyale/Logger.cs",
    "content": "﻿using System;\nusing System.IO;\nusing NLog;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale\n{\n    public class Logger\n    {\n#if DEBUG\n        private static readonly object ConsoleSync = new object();\n#endif\n\n        private static NLog.Logger _logger;\n\n        public Logger()\n        {\n            Directory.CreateDirectory(\"Logs\");\n\n            _logger = LogManager.GetCurrentClassLogger();\n        }\n\n        public static void Log(object message, Type type, ErrorLevel logType = ErrorLevel.Info)\n        {\n            switch (logType)\n            {\n                case ErrorLevel.Info:\n                {\n                    _logger.Info(message);\n\n                    Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                    break;\n                }\n\n                case ErrorLevel.Warning:\n                {\n                    _logger.Warn(message);\n#if DEBUG\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.DarkMagenta;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n\n                    Resources.Sentry.Report(message.ToString(), type, logType);\n                    break;\n                }\n\n                case ErrorLevel.Error:\n                {\n                    _logger.Error(message);\n#if DEBUG\n\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.Red;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n\n                    Resources.Sentry.Report(message.ToString(), type, logType);\n                    break;\n                }\n\n                case ErrorLevel.Debug:\n                {\n#if DEBUG\n                    _logger.Debug(message);\n\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.DarkCyan;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n                    break;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Battle/LogicBattle.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Timers;\nusing ClashRoyale.Core.Cluster;\nusing ClashRoyale.Extensions;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Models.Battle.Replay;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Logic.Battle\n{\n    public class LogicBattle : List<Player>\n    {\n        /// <summary>\n        ///     1v1 Battle\n        /// </summary>\n        /// <param name=\"isFriendly\"></param>\n        /// <param name=\"arena\"></param>\n        public LogicBattle(bool isFriendly, int arena)\n        {\n            IsFriendly = isFriendly;\n            Arena = arena;\n            Location = Csv.Tables.Get(Csv.Files.Locations)\n                           .GetData<Locations>(Csv.Tables.Get(Csv.Files.Arenas)\n                               .GetDataWithInstanceId<Arenas>(Arena - 1).PvpLocation).GetInstanceId() +\n                       1;\n            Replay.Battle.Location = 15000000 + Location;\n\n            BattleTimer.Elapsed += Tick;\n        }\n\n        /// <summary>\n        ///     2v2 Battle\n        /// </summary>\n        /// <param name=\"isFriendly\"></param>\n        /// <param name=\"arena\"></param>\n        /// <param name=\"players\"></param>\n        public LogicBattle(bool isFriendly, int arena, IReadOnlyCollection<Player> players)\n        {\n            if (players.Count < 4)\n            {\n                Logger.Log(\"Not enough players to start a 2v2 battle.\", GetType(), ErrorLevel.Error);\n                return;\n            }\n\n            IsFriendly = isFriendly;\n            Is2V2 = true;\n\n            Arena = arena;\n            Location = Csv.Tables.Get(Csv.Files.Locations)\n                           .GetData<Locations>(Csv.Tables.Get(Csv.Files.Arenas)\n                               .GetDataWithInstanceId<Arenas>(Arena - 1).TeamVsTeamLocation).GetInstanceId() +\n                       1;\n\n            Replay.Battle.Location = 15000000 + Location;\n\n            AddRange(players);\n\n            BattleTimer.Elapsed += Tick;\n        }\n\n        public int BattleTime => (int) DateTime.UtcNow.Subtract(StartTime).TotalSeconds * 2;\n        public int BattleSeconds => BattleTime / 2;\n\n        public bool IsRunning => BattleTimer.Enabled;\n        public bool IsReady => Count >= (Is2V2 ? 4 : 2);\n\n        public async void Start()\n        {\n            if (!IsReady) return;\n\n            try\n            {\n                NodeInfo server = null;\n                if (Resources.Configuration.UseUdp)\n                    server = Resources.NodeManager.GetServer();\n\n                //var second = false;\n                foreach (var player in this)\n                {\n                    Commands.Add(player.Home.Id, new Queue<byte[]>());\n\n                    // Add decks to replay\n                    /*if (!second)\n                    {\n                        Replay.Battle.Avatar0 = player.Home.BattleAvatar;\n                        Replay.Battle.Deck1 = player.Home.BattleDeck;\n                        second = true;\n                    }\n                    else\n                    {\n                        Replay.Battle.Avatar1 = player.Home.BattleAvatar;\n                        Replay.Battle.Deck0 = player.Home.BattleDeck;\n                    }*/\n\n                    if (server != null)\n                        await new UdpConnectionInfoMessage(player.Device)\n                        {\n                            ServerPort = server.Port,\n                            ServerHost = server.Ip,\n                            SessionId = BattleId,\n                            Nonce = server.Nonce,\n                            Index = (byte)IndexOf(player)\n                        }.SendAsync();\n\n                    await new SectorStateMessage(player.Device)\n                    {\n                        Battle = this\n                    }.SendAsync();\n                }\n\n                StartTime = DateTime.UtcNow;\n\n                if (!Resources.Configuration.UseUdp || server == null)\n                    BattleTimer.Start();\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Couldn't start battle\", GetType(), ErrorLevel.Error);\n            }\n        }\n\n        public void Encode(IByteBuffer packet)\n        {\n            #region SectorState\n\n            const int towers = 6;\n\n            packet.WriteVInt(Location); // LocationData\n\n            packet.WriteVInt(Count); // PlayerCount\n            packet.WriteVInt(0); // NpcData\n            packet.WriteVInt(Arena); // ArenaData\n\n            foreach (var player in this)\n            {\n                packet.WriteVInt(player.Home.HighId);\n                packet.WriteVInt(player.Home.LowId);\n                packet.WriteVInt(0);\n            }\n\n            // ConstantSizeIntArray\n            {\n                packet.WriteVInt(1);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(7);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n            }\n\n            packet.WriteBoolean(false); // IsReplay / Type?\n            packet.WriteBoolean(false); // IsEndConditionMatched\n            packet.WriteBoolean(false);\n\n            packet.WriteBoolean(false); // IsNpc\n\n            packet.WriteBoolean(false); // isBattleEndedWithTimeOut\n            packet.WriteBoolean(false);\n\n            packet.WriteBoolean(false); // hasPlayerFinishedNpcLevel\n            packet.WriteBoolean(false);\n\n            packet.WriteBoolean(false); // isInOvertime\n            packet.WriteBoolean(false); // isTournamentMode\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(towers);\n            packet.WriteVInt(towers);\n\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n\n            // LogicGameObject::encodeComponent\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n\n            for (var i = 0; i < towers; i++)\n            {\n                packet.WriteVInt(5);\n                packet.WriteVInt(i);\n            }\n\n            var p = this[0].Home.ExpLevel - 1;\n            var e = this[1].Home.ExpLevel - 1;\n\n            // Player Right Princess Tower\n            packet.WriteVInt(e);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500); // X\n            packet.WriteVInt(25500); // Y\n            packet.WriteHex(\"00007F00C07C0002000000000000\");\n\n            // Enemy Left Princess Tower\n            packet.WriteVInt(p);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500); // X\n            packet.WriteVInt(6500); // Y\n            packet.WriteHex(\"00007F0080040001000000000000\");\n\n            // Player Left Princess Tower\n            packet.WriteVInt(e);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500); // X\n            packet.WriteVInt(25500); // Y\n            packet.WriteHex(\"00007F00C07C0001000000000000\");\n\n            // Enemy Right Princess Tower\n            packet.WriteVInt(p);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500); // X\n            packet.WriteVInt(6500); // Y\n            packet.WriteHex(\"00007F0080040002000000000000\");\n\n            // Enemy Crown Tower\n            packet.WriteVInt(p);\n            packet.WriteVInt(13);\n            packet.WriteVInt(9000); // X\n            packet.WriteVInt(3000); // Y\n            packet.WriteHex(\"00007F0080040000000000000000\");\n\n            packet.WriteHex(\"000504077F7D7F0400050401007F7F0000\");\n            packet.WriteVInt(0); // Ms before regen mana\n            packet.WriteVInt(6); // Mana Start \n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteHex(\"00007F7F7F7F7F7F7F7F00\");\n\n            // Player Crown Tower\n            packet.WriteVInt(e);\n            packet.WriteVInt(13);\n            packet.WriteVInt(9000); // X\n            packet.WriteVInt(29000); // Y\n            packet.WriteHex(\"00007F00C07C0000000000000000\");\n\n            packet.WriteHex(\"00050401047D010400040706007F7F0000\");\n            packet.WriteVInt(0); // Ms before regen mana\n            packet.WriteVInt(6); // Elexir Start Enemy\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            for (var index = 0; index < 8; index++)\n                packet.WriteVInt(-1);\n\n            for (var index = 0; index < 48; index++)\n                packet.WriteVInt(0);\n\n            // LogicHitpointComponent\n            packet.WriteVInt(PrincessTowerHp[e]); // Enemy \n            packet.WriteVInt(0);\n            packet.WriteVInt(PrincessTowerHp[p]); // Player\n            packet.WriteVInt(0);\n            packet.WriteVInt(PrincessTowerHp[e]); // Enemy\n            packet.WriteVInt(0);\n            packet.WriteVInt(PrincessTowerHp[p]); // Player\n            packet.WriteVInt(0);\n            packet.WriteVInt(KingTowerHp[p]); // Player\n            packet.WriteVInt(0);\n            packet.WriteVInt(KingTowerHp[e]); // Enemy\n            packet.WriteVInt(0);\n\n            // LogicCharacterBuffComponent\n            for (var index = 0; index < towers; index++)\n                packet.WriteHex(\"00000000000000A401A401\");\n\n            packet.WriteHex(\"FF01\");\n            this[0].Home.Deck.EncodeAttack(packet);\n\n            packet.WriteVInt(0);\n\n            packet.WriteHex(\"FE03\");\n            this[1].Home.Deck.EncodeAttack(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(6);\n            packet.WriteVInt(2);\n            packet.WriteVInt(2);\n            packet.WriteVInt(4);\n            packet.WriteVInt(2);\n            packet.WriteVInt(1);\n            packet.WriteVInt(3);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(6);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(9);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(12);\n\n            packet.WriteHex(\"000000F69686FF0A002A002B\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500);\n            packet.WriteVInt(25500);\n            packet.WriteHex(\"00007F00C07C0002000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500);\n            packet.WriteVInt(6500);\n            packet.WriteHex(\"00007F0080040001000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500);\n            packet.WriteVInt(25500);\n            packet.WriteHex(\"00007F00C07C0001000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500);\n            packet.WriteVInt(6500);\n            packet.WriteHex(\"00007F0080040002000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(9000);\n            packet.WriteVInt(3000);\n            packet.WriteHex(\"00007F0080040000000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            packet.WriteHex(\"7F000000007F7F0000000100000000007F7F7F7F7F7F7F7F\");\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(13);\n            packet.WriteVInt(9000);\n            packet.WriteVInt(29000);\n            packet.WriteHex(\"00007F00C07C0000000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(4);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(4);\n\n            packet.WriteHex(\n                \"7F020203007F7F0000000500000000007F7F7F7F7F7F7F7F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(1400);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(560);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(1400);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(560);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(960);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(2400);\n\n            for (var index = 0; index < towers; index++)\n                packet.WriteHex(\"00000000000000A401A401\");\n\n            #endregion \n        }\n\n        public void EncodeDuo(IByteBuffer packet)\n        {\n            #region DuoSectorState\n\n            const int towers = 10;\n\n            packet.WriteVInt(Location); // LocationData\n\n            packet.WriteVInt(Count); // PlayerCount\n            packet.WriteVInt(0); // NpcData\n            packet.WriteVInt(Arena); // ArenaData\n\n            for (var i = 0; i < Count; i++)\n            {\n                packet.WriteVInt(this[i].Home.HighId);\n                packet.WriteVInt(this[i].Home.LowId);\n                packet.WriteVInt(0);\n            }\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(84);\n            packet.WriteVInt(84);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(towers);\n            packet.WriteVInt(towers);\n\n            // KingTower\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n\n            // PrincessTower\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n\n            // KingTowerMiddle\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(16));\n            packet.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(16));\n\n            // LogicGameObject::encodeComponent\n            packet.WriteVInt(1);\n            packet.WriteVInt(2);\n            packet.WriteVInt(3);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(2);\n            packet.WriteVInt(3);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            for (var i = 0; i < towers; i++)\n            {\n                packet.WriteVInt(5);\n                packet.WriteVInt(i);\n            }\n\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500);\n            packet.WriteVInt(25500);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500);\n            packet.WriteVInt(6500);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            var home1 = this[0];\n            var home2 = this[2];\n\n            var enemy1 = this[1];\n            var enemy2 = this[3];\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(3500);\n            packet.WriteVInt(25500);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(14500);\n            packet.WriteVInt(6500);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            // Home\n            packet.WriteVInt(0);\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(11000);\n            packet.WriteVInt(3000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n\n            // Rotation\n            packet.WriteByte(4);\n            packet.WriteByte(0);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n\n            packet.WriteByte(4);\n            for (var i = 4; i < 8; i++)\n                packet.WriteByte(i);\n\n            packet.WriteHex(\"007F7F00000005\");\n\n            packet.WriteHex(\n                \"00000000007F7F7F7F7F7F7F7F00\");\n\n            // Enemy\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(11000);\n            packet.WriteVInt(29000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n\n            // Rotation\n            packet.WriteByte(4);\n            packet.WriteByte(0);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n\n            packet.WriteByte(4);\n            for (var i = 4; i < 8; i++)\n                packet.WriteByte(i);\n\n            packet.WriteHex(\"007F7F00000005\");\n\n            packet.WriteHex(\n                \"00000000007F7F7F7F7F7F7F7F00\");\n\n            // Home\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(7000);\n            packet.WriteVInt(3000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n\n            // Rotation\n            packet.WriteByte(4);\n            packet.WriteByte(0);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n\n            packet.WriteByte(4);\n            for (var i = 4; i < 8; i++)\n                packet.WriteByte(i);\n\n            packet.WriteHex(\"007F7F00000005\");\n\n            packet.WriteHex(\n                \"00000000007F7F7F7F7F7F7F7F00\");\n\n            // Home\n            packet.WriteVInt(7);\n            packet.WriteVInt(13);\n            packet.WriteVInt(7000);\n            packet.WriteVInt(29000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n\n            // Rotation\n            packet.WriteByte(4);\n            packet.WriteByte(0);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n            packet.WriteByte(1);\n\n            packet.WriteByte(4);\n            for (var i = 4; i < 8; i++)\n                packet.WriteByte(i);\n\n            packet.WriteHex(\"007F7F00000005\");\n\n            packet.WriteHex(\n                \"00000000007F7F7F7F7F7F7F7F00\");\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(9);\n            packet.WriteVInt(9000);\n            packet.WriteVInt(29000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(9);\n            packet.WriteVInt(9000);\n            packet.WriteVInt(3000);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteHex(\n                \"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\");\n\n            // LogicHitpointComponent\n            packet.WriteVInt(2352);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(2352);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(2352);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(2352);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(4522);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(4522);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(4522);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(4522);\n            packet.WriteVInt(0);\n\n            for (var i = 0; i < towers; i++)\n                packet.WriteHex(\"00000000000000A401A401\");\n\n            packet.WriteHex(\"FF01\");\n            home1.Home.Deck.EncodeAttack(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteHex(\"FE01\");\n            home2.Home.Deck.EncodeAttack(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteHex(\"FE03\");\n            enemy1.Home.Deck.EncodeAttack(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteHex(\"FE03\");\n            enemy2.Home.Deck.EncodeAttack(packet);\n\n            packet.WriteHex(\"00000506070802040202010300000000000000010200001800000C000000CCE9D7B507002A002B\");\n\n            #endregion \n        }\n\n        /// <summary>\n        ///     Stops the battle\n        /// </summary>\n        public void Stop()\n        {\n            if (!Resources.Configuration.UseUdp)\n                BattleTimer.Stop();\n\n            Resources.Battles.Remove(BattleId);\n\n            //File.WriteAllText(\"replay.json\", JsonConvert.SerializeObject(Replay));\n        }\n\n        /// <summary>\n        ///     Checks wether the battle is over or we have to send sector heartbeat (TCP only)\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"args\"></param>\n        public async void Tick(object sender, ElapsedEventArgs args)\n        {\n            #region Tick\n\n            try\n            {\n                foreach (var player in ToArray())\n                    if (player.Device.IsConnected)\n                    {\n                        if (player.Device.SecondsSinceLastCommand > 2)\n                        {\n                            if (BattleSeconds <= 10) continue;\n\n                            var rnd = new Random();\n                            var trophies = IsFriendly || Is2V2 ? 0 : rnd.Next(15, 30);\n\n                            if (!IsFriendly)\n                            {\n                                player.Home.AddCrowns(3);\n                                player.Home.Arena.AddTrophies(trophies);\n                            }\n\n                            await new BattleResultMessage(player.Device)\n                            {\n                                TrophyReward = trophies\n                            }.SendAsync();\n\n                            Remove(player);\n                        }\n                        else\n                        {\n                            await new SectorHearbeatMessage(player.Device)\n                            {\n                                Turn = BattleTime,\n                                Commands = GetOwnQueue(player.Home.Id)\n                            }.SendAsync();\n                        }\n                    }\n                    else\n                    {\n                        Remove(player);\n                    }\n\n                if (FindIndex(p => p?.Device.SecondsSinceLastCommand < 10) <= -1)\n                    Stop();\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"BattleTick failed.\", GetType(), ErrorLevel.Error);\n            }\n\n            #endregion\n        }\n\n        /// <summary>\n        ///     Remove a player from the battle and stop it when it's empty\n        /// </summary>\n        /// <param name=\"player\"></param>\n        public new void Remove(Player player)\n        {\n            if (Count <= 1)\n                Stop();\n\n            player.Battle = null;\n\n            if (Is2V2)\n            {\n                var index = FindIndex(x => x?.Home.Id == player.Home.Id);\n                if (index <= -1) return;\n\n                this[index] = null;\n                Commands[player.Home.Id] = null;\n            }\n            else\n                base.Remove(player);\n        }\n\n        /// <summary>\n        ///     Stops the battle for a specific player (only UDP)\n        /// </summary>\n        public async void Stop(byte index)\n        {\n            #region Stop\n\n            if (Count <= index) return;\n\n            var player = this[index];\n\n            if (player == null) return;\n\n            var rnd = new Random();\n            var trophies = IsFriendly || Is2V2 ? 0 : rnd.Next(15, 30);\n\n            if (!IsFriendly)\n            {\n                player.Home.AddCrowns(3);\n                player.Home.Arena.AddTrophies(trophies);\n            }\n\n            await new BattleResultMessage(player.Device)\n            {\n                TrophyReward = trophies\n            }.SendAsync();\n\n            player.Battle = null;\n            this[index] = null;\n\n            if (this.All(x => x == null)) Stop();\n\n            #endregion\n        }\n\n        #region CommandStorage \n\n        public Queue<byte[]> GetEnemyQueue(long userId)\n        {\n            return Commands.FirstOrDefault(cmd => cmd.Key != userId).Value;\n        }\n\n        public Queue<byte[]> GetOwnQueue(long userId)\n        {\n            return Commands.FirstOrDefault(cmd => cmd.Key == userId).Value;\n        }\n\n        public List<Queue<byte[]>> GetOtherQueues(long userId)\n        {\n            var cmds = new List<Queue<byte[]>>();\n\n            foreach (var (key, value) in Commands)\n                if (key != userId && value != null)\n                    cmds.Add(value);\n\n            return cmds;\n        }\n\n        public Device GetEnemy(long userId)\n        {\n            return this.FirstOrDefault(p => p.Home.Id != userId)?.Device;\n        }\n\n        public Player GetTeammate(long userId)\n        {\n            var index = FindIndex(x => x?.Home.Id == userId);\n            return this[index % 2 == 0 ? index == 0 ? 2 : 0 : index == 1 ? 3 : 1];\n        }\n\n        public List<Player> GetAllOthers(long userId)\n        {\n            return this.Where(x => x?.Home.Id != userId).ToList();\n        }\n\n        #endregion\n\n        #region Objects \n\n        public Timer BattleTimer = new Timer(500);\n        public LogicReplay Replay = new LogicReplay();\n        public Dictionary<long, Queue<byte[]>> Commands = new Dictionary<long, Queue<byte[]>>();\n        public long BattleId { get; set; }\n        private DateTime StartTime { get; set; }\n        public bool Is2V2 { get; set; }\n        public bool IsFriendly { get; set; }\n        public int Arena { get; set; }\n        public int Location { get; set; }\n\n        public static int[] KingTowerHp =\n        {\n            2400, 2568, 2736, 2904, 3096, 3312, 3528, 3768, 4008, 4392, 4824, 5304, 5832\n        };\n\n        public static int[] DuoKingTowerHp =\n        {\n            2880, 3082, 3284, 3485, 3716, 3975, 4234, 4522, 4810, 5271, 5789, 6365, 6999\n        };\n\n        public static int[] PrincessTowerHp =\n        {\n            1400, 1512, 1624, 1750, 1890, 2030, 2184, 2352, 2534, 2786, 3052, 3346, 3668\n        };\n\n        #endregion\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Battle/LogicBattleLog.cs",
    "content": "﻿namespace ClashRoyale.Logic.Battle\n{\n    public class LogicBattleLog\n    {\n        /// <summary>\n        ///     GetPlayer by the index\n        /// </summary>\n        /// <param name=\"index\"></param>\n        public void GetPlayer(int index)\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get a Player by LogicLong\n        /// </summary>\n        public void GetPlayer( /*LogicLong*/)\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the Json of this instance\n        /// </summary>\n        public void GetJson()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Load this instance from Json\n        /// </summary>\n        public void LoadJson()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the ArenaData of this instance\n        /// </summary>\n        public void GetArenaData()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Sets the ArenaData for this instance\n        /// </summary>\n        public void SetArenaData()\n        {\n            // TODO\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Battle/LogicBattleLogPlayer.cs",
    "content": "﻿namespace ClashRoyale.Logic.Battle\n{\n    public class LogicBattleLogPlayer\n    {\n        /// <summary>\n        ///     Set the AccountId for this instance\n        /// </summary>\n        public void SetAccountId( /*LogicLong*/)\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the AccountId for this instance\n        /// </summary>\n        /// <returns></returns>\n        public long GetAccountId()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set the HomeId for this instance\n        /// </summary>\n        public void SetHomeId( /*LogicLong*/)\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the HomeId of this instance\n        /// </summary>\n        /// <returns></returns>\n        public long GetHomeId()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set the AllianceId for this instance\n        /// </summary>\n        public void SetAllianceId( /*LogicLong*/)\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the AllianceId of this instance\n        /// </summary>\n        /// <returns></returns>\n        public long GetAllianceId()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set the Stars of this instance\n        /// </summary>\n        public void SetStars()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Returns the Stars of this instance\n        /// </summary>\n        /// <returns></returns>\n        public int GetStars()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set PrevScore for this instance\n        /// </summary>\n        public void SetPrevScore()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get PrevScore of this instance\n        /// </summary>\n        public int GetPrevScore()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set Score for this instance\n        /// </summary>\n        public void SetScore()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get Score of this instance\n        /// </summary>\n        public void GetScore()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set HighscoreRank for this instance\n        /// </summary>\n        public void SetHighscoreRank()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get HighscoreRank of this instance\n        /// </summary>\n        public int GetHighscoreRank()\n        {\n            return 0;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set Name for this instance\n        /// </summary>\n        public void SetName()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get Name of this instance\n        /// </summary>\n        public string GetName()\n        {\n            return string.Empty;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set AllianceName for this instance\n        /// </summary>\n        public void SetAllianceName()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get AllianceName of this instance\n        /// </summary>\n        public string GetAllianceName()\n        {\n            return string.Empty;\n\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set AllianceBadgeData for this instance\n        /// </summary>\n        public void SetAllianceBadgeData()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get AllianceBadgeData of this instance\n        /// </summary>\n        public void GetAllianceBadgeData()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get the Json of this instance\n        /// </summary>\n        public void GetJson()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Load this instance by Json\n        /// </summary>\n        public void LoadJson()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set Deck for this instance\n        /// </summary>\n        public void SetDeck()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get the Deck of this instance\n        /// </summary>\n        public void GetDeck()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Get the ChestData of this instance\n        /// </summary>\n        public void GetChestData()\n        {\n            // TODO\n        }\n\n        /// <summary>\n        ///     Set the ChestData for this instance\n        /// </summary>\n        public void SetChestData()\n        {\n            // TODO\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/Alliance.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing ClashRoyale.Database;\nusing ClashRoyale.Logic.Clan.StreamEntry;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Logic.Clan\n{\n    public class Alliance\n    {\n        public enum Role\n        {\n            Member = 1,\n            Leader = 2,\n            Elder = 3,\n            CoLeader = 4\n        }\n\n        [JsonProperty(\"members\")] public List<AllianceMember> Members = new List<AllianceMember>(50);\n        [JsonProperty(\"stream\")] public List<AllianceStreamEntry> Stream = new List<AllianceStreamEntry>(40);\n\n        public Alliance(long id)\n        {\n            Id = id;\n            Name = \"RetroRoyale\";\n        }\n\n        [JsonProperty(\"name\")] public string Name { get; set; }\n        [JsonProperty(\"description\")] public string Description { get; set; }\n        [JsonProperty(\"highId\")] public int HighId { get; set; }\n        [JsonProperty(\"lowId\")] public int LowId { get; set; }\n        [JsonProperty(\"badge\")] public int Badge { get; set; }\n        [JsonProperty(\"region\")] public int Region { get; set; }\n        [JsonProperty(\"type\")] public int Type { get; set; }\n        [JsonProperty(\"requiredScore\")] public int RequiredScore { get; set; }\n\n        [JsonIgnore] public int Score => Members.Sum(m => m.Score) / 2;\n\n        [JsonIgnore] public int Online => Members.Count(m => m.IsOnline);\n\n        [JsonIgnore]\n        public long Id\n        {\n            get => ((long) HighId << 32) | (LowId & 0xFFFFFFFFL);\n            set\n            {\n                HighId = Convert.ToInt32(value >> 32);\n                LowId = (int) value;\n            }\n        }\n\n        public void AllianceRankingEntry(IByteBuffer packet)\n        {\n            // TODO\n        }\n\n        public void AllianceFullEntry(IByteBuffer packet)\n        {\n            AllianceHeaderEntry(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(91);\n            packet.WriteVInt(0); // Donations per week\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(57);\n\n            packet.WriteVInt(Region);\n            packet.WriteVInt(0);\n\n            packet.WriteScString(Description);\n        }\n\n        public void AllianceHeaderEntry(IByteBuffer packet)\n        {\n            packet.WriteLong(Id);\n            packet.WriteScString(Name);\n\n            packet.WriteVInt(16);\n            packet.WriteVInt(Badge);\n\n            packet.WriteVInt(Type);\n            packet.WriteVInt(Members.Count);\n\n            packet.WriteVInt(Score);\n            packet.WriteVInt(RequiredScore);\n        }\n\n        public AllianceInfo GetAllianceInfo(long userId)\n        {\n            return new AllianceInfo\n            {\n                Id = Id,\n                Name = Name,\n                Badge = Badge,\n                Role = GetRole(userId)\n            };\n        }\n\n        public void Add(AllianceMember member)\n        {\n            lock (Members)\n            {\n                var index = Members.FindIndex(x => x.Id == member.Id);\n\n                if (index == -1) Members.Add(member);\n            }\n        }\n\n        public async void Remove(long id)\n        {\n            var index = Members.FindIndex(x => x.Id == id);\n\n            if (index > -1)\n            {\n                var member = Members[index];\n\n                // If the leader leaves the clan and it's not empty, we choose a new leader \n                if (member.Role == (int) Role.Leader)\n                {\n                    var newLeader = Members.FirstOrDefault(m => m.Id != member.Id);\n                    if (newLeader != null)\n                    {\n                        var player = await newLeader.GetPlayerAsync();\n\n                        newLeader.Role = (int) Role.Leader;\n                        player.Home.AllianceInfo.Role = (int) Role.Leader;\n\n                        player.Save();\n                    }\n                }\n\n                lock (Members)\n                {\n                    Members.RemoveAt(index);\n                }\n            }\n        }\n\n        public async void AddEntry(AllianceStreamEntry entry)\n        {\n            lock (Stream)\n            {\n                while (Stream.Count >= 40)\n                    Stream.RemoveAt(0);\n\n                var max = Stream.Count == 0 ? 1 : Stream.Max(x => x.Id);\n                entry.Id = max == int.MaxValue ? 1 : max + 1; // If we ever reach that value... but who knows...\n\n                Stream.Add(entry);\n            }\n\n            foreach (var member in Members.Where(m => m.IsOnline).ToList())\n            {\n                var player = await member.GetPlayerAsync(true);\n\n                if (player != null)\n                    await new AllianceStreamEntryMessage(player.Device)\n                    {\n                        Entry = entry\n                    }.SendAsync();\n            }\n        }\n\n        public async void RemoveEntry(AllianceStreamEntry entry)\n        {\n            lock (Stream)\n            {\n                Stream.RemoveAll(e => e.Id == entry.Id);\n            }\n\n            foreach (var member in Members.Where(m => m.IsOnline).ToList())\n            {\n                var player = await member.GetPlayerAsync(true);\n\n                if (player != null)\n                    await new AllianceStreamEntryRemovedMessage(player.Device)\n                    {\n                        EntryId = entry.Id\n                    }.SendAsync();\n            }\n        }\n\n        public int GetRole(long id)\n        {\n            lock (Members)\n            {\n                var index = Members.FindIndex(x => x.Id == id);\n\n                return index > -1 ? Members[index].Role : 1;\n            }\n        }\n\n        public AllianceMember GetMember(long id)\n        {\n            lock (Members)\n            {\n                var index = Members.FindIndex(x => x.Id == id);\n\n                return index > -1 ? Members[index] : null;\n            }\n        }\n\n        public async void UpdateOnlineCount()\n        {\n            var count = Online;\n\n            foreach (var member in Members.Where(m => m.IsOnline).ToList())\n            {\n                var player = await Resources.Players.GetPlayerAsync(member.Id, true);\n\n                if (player != null)\n                    await new AllianceOnlineStatusUpdatedMessage(player.Device)\n                    {\n                        Count = count\n                    }.SendAsync();\n            }\n        }\n\n        public async void Save()\n        {\n#if DEBUG\n            var st = new Stopwatch();\n            st.Start();\n\n            Resources.ObjectCache.CacheAlliance(this);\n            await AllianceDb.SaveAsync(this);\n\n            st.Stop();\n            Logger.Log($\"Alliance {Id} saved in {st.ElapsedMilliseconds}ms.\", GetType(), ErrorLevel.Debug);\n#else\n            Resources.ObjectCache.CacheAlliance(this);\n            await AllianceDb.SaveAsync(this);\n#endif\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/AllianceInfo.cs",
    "content": "﻿using System;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan\n{\n    public class AllianceInfo\n    {\n        [JsonProperty(\"name\")] public string Name { get; set; }\n        [JsonProperty(\"highId\")] public int HighId { get; set; }\n        [JsonProperty(\"lowId\")] public int LowId { get; set; }\n        [JsonProperty(\"badge\")] public int Badge { get; set; }\n        [JsonProperty(\"role\")] public int Role { get; set; }\n\n        [JsonIgnore] public bool HasAlliance => Id > 0;\n\n        [JsonIgnore]\n        public long Id\n        {\n            get => ((long) HighId << 32) | (LowId & 0xFFFFFFFFL);\n            set\n            {\n                HighId = Convert.ToInt32(value >> 32);\n                LowId = (int) value;\n            }\n        }\n\n        public void Reset()\n        {\n            Id = 0;\n            Name = string.Empty;\n            Badge = 0;\n            Role = 0;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/AllianceMember.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan\n{\n    public class AllianceMember\n    {\n        public AllianceMember(Player player, Alliance.Role role)\n        {\n            Id = player.Home.Id;\n            Role = (int) role;\n            Score = player.Home.Arena.Trophies;\n            Name = player.Home.Name;\n        }\n\n        public AllianceMember()\n        {\n            // ...\n        }\n\n        [JsonProperty(\"highId\")] public int HighId { get; set; }\n        [JsonProperty(\"lowId\")] public int LowId { get; set; }\n        [JsonProperty(\"role\")] public int Role { get; set; }\n        [JsonProperty(\"score\")] public int Score { get; set; }\n        [JsonProperty(\"name\")] public string Name { get; set; }\n        [JsonProperty(\"donations\")] public int Donations { get; set; }\n        [JsonProperty(\"donationsReceived\")] public int DonationsReceived { get; set; }\n\n        [JsonIgnore]\n        public long Id\n        {\n            get => ((long) HighId << 32) | (LowId & 0xFFFFFFFFL);\n            set\n            {\n                HighId = Convert.ToInt32(value >> 32);\n                LowId = (int) value;\n            }\n        }\n\n        [JsonIgnore] public bool IsOnline => Resources.Players.ContainsKey(Id);\n\n        public void AllianceMemberEntry(IByteBuffer packet)\n        {\n            packet.WriteLong(Id); // ID\n            packet.WriteScString(Name); // Name\n\n            // Arena\n            packet.WriteVInt(54);\n            packet.WriteVInt(11);\n\n            packet.WriteVInt(Role); // Role\n            packet.WriteVInt(0); // Level\n            packet.WriteVInt(Score); // Trophies\n\n            packet.WriteVInt(0); // Donated\n            packet.WriteVInt(0); // Donations Received\n\n            packet.WriteVInt(0); // Current Rank\n            packet.WriteVInt(0); // Previus Rank\n\n            packet.WriteVInt(40); // Chest Crowns\n            packet.WriteBoolean(false); // Not in this Clan Chest\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(7);\n\n            packet.WriteLong(Id);\n        }\n\n        public async Task<Player> GetPlayerAsync(bool onlineOnly = false)\n        {\n            return await Resources.Players.GetPlayerAsync(Id, onlineOnly);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/AllianceStreamEntry.cs",
    "content": "﻿using System;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry\n{\n    public class AllianceStreamEntry\n    {\n        [JsonProperty(\"creation\")] public DateTime CreationDateTime = DateTime.UtcNow;\n        [JsonProperty(\"id\")] public int Id { get; set; }\n        [JsonProperty(\"type\")] public int StreamEntryType { get; set; }\n        [JsonProperty(\"highId\")] public int SenderHighId { get; set; }\n        [JsonProperty(\"lowId\")] public int SenderLowId { get; set; }\n        [JsonProperty(\"sender_name\")] public string SenderName { get; set; }\n        [JsonProperty(\"sender_role\")] public int SenderRole { get; set; }\n        [JsonProperty(\"removed\")] public bool IsRemoved { get; set; }\n\n        [JsonIgnore] public int AgeSeconds => (int) (DateTime.UtcNow - CreationDateTime).TotalSeconds;\n\n        [JsonIgnore]\n        public long SenderId\n        {\n            get => ((long) SenderHighId << 32) | (SenderLowId & 0xFFFFFFFFL);\n            set\n            {\n                SenderHighId = Convert.ToInt32(value >> 32);\n                SenderLowId = (int) value;\n            }\n        }\n\n        public virtual void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(StreamEntryType);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(Id);\n\n            packet.WriteVInt(SenderHighId);\n            packet.WriteVInt(SenderLowId);\n            packet.WriteVInt(SenderHighId);\n            packet.WriteVInt(SenderLowId);\n\n            packet.WriteScString(SenderName);\n            packet.WriteVInt(0); // Level\n            packet.WriteVInt(SenderRole);\n\n            packet.WriteVInt(AgeSeconds);\n            packet.WriteBoolean(IsRemoved);\n        }\n\n        public virtual void SetSender(Player player)\n        {\n            SenderName = player.Home.Name;\n            SenderId = player.Home.Id;\n            SenderRole = player.Home.AllianceInfo.Role;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/Entries/AllianceEventStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry.Entries\n{\n    public class AllianceEventStreamEntry : AllianceStreamEntry\n    {\n        public enum Type\n        {\n            Kick = 1,\n            Accepted = 2,\n            Join = 3,\n            Leave = 4,\n            Promote = 5,\n            Demote = 6\n        }\n\n        public AllianceEventStreamEntry()\n        {\n            StreamEntryType = 4;\n        }\n\n        [JsonProperty(\"eventType\")] public Type EventType { get; set; }\n        [JsonProperty(\"targetHighId\")] public int TargetHighId { get; set; }\n        [JsonProperty(\"targetLowId\")] public int TargetLowId { get; set; }\n        [JsonProperty(\"targetName\")] public string TargetName { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteVInt((int) EventType);\n\n            packet.WriteVInt(TargetHighId);\n            packet.WriteVInt(TargetLowId);\n\n            packet.WriteScString(TargetName);\n        }\n\n        public void SetTarget(Player target)\n        {\n            TargetHighId = target.Home.HighId;\n            TargetLowId = target.Home.LowId;\n            TargetName = target.Home.Name;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/Entries/ChallengeStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry.Entries\n{\n    public class ChallengeStreamEntry : AllianceStreamEntry\n    {\n        public ChallengeStreamEntry()\n        {\n            StreamEntryType = 10;\n        }\n\n        [JsonProperty(\"msg\")] public string Message { get; set; }\n        [JsonProperty(\"sender_score\")] public int SenderScore { get; set; }\n        [JsonProperty(\"arena\")] public int Arena { get; set; }\n        [JsonProperty(\"closed\")] public bool Closed { get; set; }\n        [JsonProperty(\"active\")] public bool Active { get; set; }\n        [JsonProperty(\"target_name\")] public string TargetName { get; set; }\n\n        [JsonIgnore] public int Spectators { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteScString(Message);\n\n            packet.WriteBoolean(Active); // IsActive\n\n            if (Active)\n                packet.WriteScString(TargetName);\n\n            packet.WriteVInt(SenderScore);\n\n            packet.WriteBoolean(Closed); // Closed\n            packet.WriteVInt(Spectators); // Spectators\n\n            packet.WriteBoolean(false);\n        }\n\n        public void SetTarget(Player target)\n        {\n            TargetName = target.Home.Name;\n        }\n\n        public override void SetSender(Player player)\n        {\n            base.SetSender(player);\n\n            SenderScore = player.Home.Arena.Trophies;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/Entries/ChatStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry.Entries\n{\n    public class ChatStreamEntry : AllianceStreamEntry\n    {\n        public ChatStreamEntry()\n        {\n            StreamEntryType = 2;\n        }\n\n        [JsonProperty(\"msg\")] public string Message { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteScString(Message);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/Entries/DonateStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry.Entries\n{\n    public class DonateStreamEntry : AllianceStreamEntry\n    {\n        public DonateStreamEntry()\n        {\n            StreamEntryType = 1;\n        }\n\n        [JsonProperty(\"msg\")] public string Message { get; set; }\n        [JsonProperty(\"totalCapacity\")] public int TotalCapacity { get; set; }\n        [JsonProperty(\"usedCapacity\")] public int UsedCapacity { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(TotalCapacity);\n            packet.WriteVInt(UsedCapacity);\n\n            packet.WriteVInt(1);\n\n            //if (UsedCapacity > 0)\n            {\n                // DonationContainer\n                packet.WriteLong(SenderId);\n                packet.WriteVInt(1); // Count\n                packet.WriteVInt(26);\n                packet.WriteVInt(1);\n            }\n\n            packet.WriteVInt(1); // Count\n            packet.WriteVInt(26);\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(1);\n            packet.WriteScString(Message);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Clan/StreamEntry/Entries/JoinRequestAllianceStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Clan.StreamEntry.Entries\n{\n    public class JoinRequestAllianceStreamEntry : AllianceStreamEntry\n    {\n        public JoinRequestAllianceStreamEntry()\n        {\n            StreamEntryType = 3;\n        }\n\n        [JsonProperty(\"msg\")] public string Message { get; set; }\n        [JsonProperty(\"responder_name\")] public string ResponderName { get; set; }\n        [JsonProperty(\"state\")] public int State { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteScString(Message);\n            packet.WriteScString(ResponderName);\n            packet.WriteVInt(State);\n        }\n\n        public void SetTarget(Player target)\n        {\n            ResponderName = target.Home.Name;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Device.cs",
    "content": "﻿using System;\nusing System.Net;\nusing ClashRoyale.Core.Network.Handlers;\nusing ClashRoyale.Logic.Sessions;\nusing ClashRoyale.Logic.Time;\nusing ClashRoyale.Protocol;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Crypto;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Logic\n{\n    public class Device\n    {\n        public Device(PacketHandler handler)\n        {\n            Handler = handler;\n            CurrentState = State.Disconnected;\n        }\n\n        public bool IsConnected => Handler.Channel.Registered;\n\n        /// <summary>\n        ///     Process a message\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <returns></returns>\n        public void Process(IByteBuffer buffer)\n        {\n            var id = buffer.ReadUnsignedShort();\n            var length = buffer.ReadMedium();\n            var version = buffer.ReadUnsignedShort();\n\n            if (id < 10000 || id >= 20000) return;\n\n            if (!LogicScrollMessageFactory.Messages.ContainsKey(id))\n            {\n                Logger.Log($\"Message ID: {id}, V: {version}, L: {length} is not known.\", GetType(),\n                    ErrorLevel.Warning);\n                Disconnect();\n                return;\n            }\n\n            if (!(Activator.CreateInstance(LogicScrollMessageFactory.Messages[id], this, buffer) is PiranhaMessage\n                message)) return;\n\n            try\n            {\n                if (message.RequiredState != CurrentState && message.RequiredState != State.NotDefinied)\n                {\n                    Logger.Log($\"[C] Message {id} is not allowed in this state!\", GetType(),\n                        ErrorLevel.Warning);\n                    Disconnect();\n                    return;\n                }\n\n                message.Id = id;\n                message.Length = length;\n                message.Version = version;\n\n                message.Decrypt();\n                message.Decode();\n                message.Process();\n\n                Logger.Log($\"[C] Message {id} ({message.GetType().Name}) handled.\", GetType(),\n                    ErrorLevel.Debug);\n\n                if (message.Save && CurrentState == State.Home) Player.Save();\n            }\n            catch (Exception exception)\n            {\n                Logger.Log($\"Failed to process {id}: \" + exception, GetType(), ErrorLevel.Error);\n            }\n        }\n\n        /// <summary>\n        ///     Returns the Ipv4 Address of the client\n        /// </summary>\n        /// <returns></returns>\n        public string GetIp()\n        {\n            return ((IPEndPoint) Handler.Channel.RemoteAddress).Address.MapToIPv4().ToString();\n        }\n\n        /// <summary>\n        ///     Disconnect a client by sending OutOfSyncMessage\n        /// </summary>\n        /// <returns></returns>\n        public async void Disconnect()\n        {\n            await new OutOfSyncMessage(this).SendAsync();\n\n            try\n            {\n                await Handler.Channel.CloseAsync();\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"Failed to close channel\", GetType(), ErrorLevel.Error);\n            }\n        }\n\n        /// <summary>\n        ///     Adjusts the ServerTick\n        /// </summary>\n        /// <param name=\"tick\"></param>\n        public void AdjustTick(int tick)\n        {\n            var secDiff = Math.Abs(tick - ServerTick) / 20;\n\n            LastVisitHome = secDiff > 0\n                ? LastVisitHome.Subtract(TimeSpan.FromSeconds(secDiff))\n                : LastVisitHome.AddSeconds(secDiff);\n        }\n\n        #region Objects\n\n        public Session Session = new Session();\n        public Rc4Core Rc4 = new Rc4Core(Resources.Configuration.EncryptionKey, \"nonce\");\n        public PacketHandler Handler { get; set; }\n\n        public Player Player { get; set; }\n\n        public DateTime LastVisitHome { get; set; }\n        public DateTime LastSectorCommand { get; set; }\n\n        public int ServerTick =>\n            LogicTime.GetSecondsInTicks((int) DateTime.UtcNow.Subtract(LastVisitHome).TotalSeconds);\n\n        public int SecondsSinceLastCommand => (int) DateTime.UtcNow.Subtract(LastSectorCommand).TotalSeconds;\n\n        public State CurrentState { get; set; }\n\n        public enum State\n        {\n            Disconnected = 0,\n            Login = 1,\n            Battle = 2,\n            Home = 3,\n            NotDefinied = 4\n        }\n\n        #endregion Objects\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Arena.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home\n{\n    public class Arena\n    {\n        public Arena()\n        {\n            CurrentArena = 1;\n        }\n\n        [JsonIgnore] public Home Home { get; set; }\n\n        [JsonProperty(\"arena\")] public int CurrentArena { get; set; }\n        [JsonProperty(\"trophies\")] public int Trophies { get; set; }\n\n        /// <summary>\n        ///     Add trophies and update arena and clan\n        /// </summary>\n        /// <param name=\"trophies\"></param>\n        public void AddTrophies(int trophies)\n        {\n            while (true)\n            {\n                var data = GetNextArenaData();\n                if (data == null) break;\n\n                if (data.TrophyLimit <= Trophies + trophies)\n                    CurrentArena = data.Arena;\n                else\n                    break;\n            }\n\n            Trophies += trophies;\n\n            UpdateClanTrophies();\n        }\n\n        /// <summary>\n        ///     When a player losses trophies he might drop into a lower Arena and update it in the clan\n        /// </summary>\n        /// <param name=\"trophies\"></param>\n        public void RemoveTrophies(int trophies)\n        {\n            while (true)\n            {\n                var data = GetCurrentArenaData();\n                if (data == null) break;\n\n                if (data.TrophyLimit < Trophies - trophies)\n                {\n                    var oldArena = GetOldArenaData();\n                    if (oldArena != null)\n                        CurrentArena = oldArena.Arena;\n                    else\n                        break;\n                }\n                else\n                {\n                    break;\n                }\n            }\n\n            Trophies += trophies;\n\n            UpdateClanTrophies();\n        }\n\n        /// <summary>\n        ///     If the players trophies change we also have to update the member entry of the clan\n        /// </summary>\n        public async void UpdateClanTrophies()\n        {\n            if (!Home.AllianceInfo.HasAlliance) return;\n\n            var alliance = await Resources.Alliances.GetAllianceAsync(Home.AllianceInfo.Id);\n\n            var member = alliance?.GetMember(Home.Id);\n            if (member == null) return;\n\n            member.Score = Trophies;\n            alliance.Save();\n        }\n\n        public Arenas ArenaData(int arena)\n        {\n            try\n            {\n                var table = Csv.Tables.Get(Csv.Files.Arenas);\n                var index = table.Datas.FindIndex(x => ((Arenas) x).Arena == arena);\n\n                return index == -1 ? null : table.Datas[index] as Arenas;\n            }\n            catch (Exception)\n            {\n                return null;\n            }\n        }\n\n        /// <summary>\n        ///     Returns the next ArenaData if available\n        /// </summary>\n        /// <returns></returns>\n        public Arenas GetNextArenaData()\n        {\n            return ArenaData(CurrentArena + 1);\n        }\n\n        /// <summary>\n        ///     Returns the current ArenaData\n        /// </summary>\n        /// <returns></returns>\n        public Arenas GetCurrentArenaData()\n        {\n            return ArenaData(CurrentArena);\n        }\n\n        /// <summary>\n        ///     Returns the previous ArenaData\n        /// </summary>\n        /// <returns></returns>\n        public Arenas GetOldArenaData()\n        {\n            return ArenaData(CurrentArena - 1);\n        }\n\n        /// <summary>\n        /// Returns a list of arenas the player was in up to the current one for chests\n        /// </summary>\n        /// <returns></returns>\n        public List<string> GetChestArenaNames()\n        {\n            var list = new List<string>();\n\n            for (var i = 0; i <= CurrentArena; i++)\n            {\n                var data = ArenaData(i);\n                if (data != null) list.Add(data.ChestArena);\n            }\n\n            return list;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Chests/Chests.cs",
    "content": "﻿using System;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic.Home.Chests.Items;\nusing ClashRoyale.Logic.Home.Decks;\nusing ClashRoyale.Logic.Home.Decks.Items;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.Chests\n{\n    public class Chests\n    {\n        [JsonIgnore] public Home Home { get; set; }\n\n        public Chest BuyChest(int instanceId, Chest.ChestType type)\n        {\n            var chests = Csv.Tables.Get(Csv.Files.TreasureChests);\n            var mainchest = chests.GetDataWithInstanceId<TreasureChests>(instanceId);\n            var baseChest = chests.GetData<TreasureChests>(mainchest.BaseChest);\n            var chestArenas = Home.Arena.GetChestArenaNames();\n            var random = new Random();\n\n            var chest = new Chest\n            {\n                ChestId = instanceId,\n                IsDraft = mainchest.DraftChest,\n                Type = type\n            };\n\n            // Common\n            {\n                if (type == Chest.ChestType.Shop)\n                {\n                    for (var i = 0; i < random.Next(2, 5); i++)\n                        if (random.Next(1, 2) == 1)\n                        {\n                            var card = Cards.RandomByArena(Card.Rarity.Common, chestArenas);\n                            if (card == null) continue;\n\n                            card.Count = random.Next(40, 80);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                }\n                else\n                {\n                    for (var i = 0; i < random.Next(2, 4); i++)\n                        if (random.Next(1, 2) == 1)\n                        {\n                            var card = Cards.RandomByArena(Card.Rarity.Common, chestArenas);\n                            if (card == null) continue;\n\n                            card.Count = random.Next(15, 25);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                }\n            }\n\n            // Rare\n            {\n                if (type == Chest.ChestType.Shop)\n                {\n                    for (var i = 0; i < random.Next(1, 4); i++)\n                        if (random.Next(1, 2) == 1)\n                        {\n                            var card = Cards.RandomByArena(Card.Rarity.Rare, chestArenas);\n                            if (card == null) continue;\n\n                            card.Count = random.Next(15, 35);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                }\n                else\n                {\n                    for (var i = 0; i < random.Next(1, 2); i++)\n                        if (random.Next(1, 4) == 1)\n                        {\n                            var card = Cards.RandomByArena(Card.Rarity.Rare, chestArenas);\n                            if (card == null) continue;\n\n                            card.Count = random.Next(8, 18);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                }\n            }\n\n            // Epic\n            {\n                if (type == Chest.ChestType.Shop)\n                {\n                    for (var i = 0; i < random.Next(1, 2); i++)\n                        if (random.Next(1, 3) == 1)\n                        {\n                            var card = Cards.RandomByArena(Card.Rarity.Epic, chestArenas);\n                            if (card == null) continue;\n\n                            card.Count = random.Next(2, 10);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                }\n                else\n                {\n                    if (random.Next(1, 20) == 1)\n                    {\n                        var card = Cards.RandomByArena(Card.Rarity.Epic, chestArenas);\n\n                        if (card != null)\n                        {\n                            card.Count = random.Next(1, 5);\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                    }\n                }\n            }\n\n            // Legendary\n            {\n                if (type == Chest.ChestType.Shop)\n                {\n                    if (random.Next(1, 8) == 1)\n                    {\n                        var card = Cards.RandomByArena(Card.Rarity.Legendary, chestArenas);\n\n                        if (card != null)\n                        {\n                            card.Count = 1;\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                    }\n                }\n                else\n                {\n                    if (random.Next(1, 50) == 1)\n                    {\n                        var card = Cards.RandomByArena(Card.Rarity.Legendary, chestArenas);\n\n                        if (card != null)\n                        {\n                            card.Count = 1;\n                            card.IsNew = true;\n                            chest.Add(card);\n                            Home.Deck.Add(card);\n                        }\n                    }\n                }\n            }\n\n            if (type == Chest.ChestType.Shop)\n            {\n                // TODO: Cost\n\n                if (random.Next(1, 5) == 1) chest.Gems = random.Next(5, 15);\n                if (random.Next(1, 4) == 1) chest.Gold = random.Next(100, 250);\n            }\n            else\n            {\n                if (random.Next(1, 10) == 1) chest.Gems = random.Next(1, 5);\n                if (random.Next(1, 8) == 1) chest.Gold = random.Next(10, 75);\n            }\n\n            Home.Gold += chest.Gold;\n            Home.Diamonds += chest.Gems;\n\n            /*var price =\n                ((baseChest.ShopPriceWithoutSpeedUp * Home.Arena.GetCurrentArenaData().ChestShopPriceMultiplier) / 100);\n\n            Console.WriteLine(RoundPrice(price));*/\n\n            return chest;\n        }\n\n        /// <summary>\n        ///     by nameless\n        /// </summary>\n        /// <param name=\"price\"></param>\n        /// <returns></returns>\n        private int RoundPrice(int price)\n        {\n            if (price > 500)\n                return 100 * ((price + 50) / 100);\n            if (price > 100)\n                return 10 * ((price + 5) / 10);\n            if (price > 20)\n                return 5 * ((price + 3) / 5);\n\n            return price;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Chests/Items/Chest.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic.Home.Decks.Items;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Logic.Home.Chests.Items\n{\n    public class Chest : List<Card>\n    {\n        public enum ChestType\n        {\n            Free = 2,\n            Crown = 3,\n            Shop = 4\n        }\n\n        public int ChestId { get; set; }\n        public ChestType Type { get; set; }\n        public int Gold { get; set; }\n        public int Gems { get; set; }\n        public bool IsDraft { get; set; }\n\n        public void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(1);\n            packet.WriteBoolean(IsDraft);\n\n            packet.WriteVInt(Count);\n\n            foreach (var card in this) card.Encode(packet);\n\n            if (!IsDraft)\n            {\n                packet.WriteVInt(0);\n                packet.WriteVInt(Gold); // Gold\n                packet.WriteVInt(Gems); // Gems\n\n                packet.WriteVInt(ChestId);\n                packet.WriteVInt((int) Type);\n                packet.WriteVInt((int) Type);\n            }\n            else\n            {\n                packet.WriteNullVInt();\n                packet.WriteVInt(2051);\n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(6188);\n                packet.WriteVInt(10);\n                packet.WriteVInt(1);\n            }\n\n            packet.WriteNullVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n        }\n\n        public new void Add(Card card)\n        {\n            var index = FindIndex(c => c.CardId == card.CardId);\n\n            if (index > -1)\n                this[index].Count += card.Count;\n            else\n                base.Add(card);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Decks/Cards.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic.Home.Decks.Items;\n\nnamespace ClashRoyale.Logic.Home.Decks\n{\n    public class Cards\n    {\n        private static SpellsOther[] _spellsOther;\n        private static SpellsBuildings[] _spellsBuildings;\n        private static SpellsCharacters[] _spellsCharacters;\n\n        public static void Initialize()\n        {\n            _spellsOther = Csv.Tables.Get(Csv.Files.SpellsOther).GetDatas().Cast<SpellsOther>()\n                .Where(s => !s.NotInUse).ToArray();\n            \n            _spellsBuildings = Csv.Tables.Get(Csv.Files.SpellsBuildings).GetDatas().Cast<SpellsBuildings>()\n                .Where(s => !s.NotInUse).ToArray();\n\n            _spellsCharacters = Csv.Tables.Get(Csv.Files.SpellsCharacters).GetDatas().Cast<SpellsCharacters>()\n                .Where(s => !s.NotInUse).ToArray();\n        }\n\n        /// <summary>\n        /// Returns all cards\n        /// </summary>\n        /// <returns></returns>\n        public static Card[] GetAllCards()\n        {\n            var cards = _spellsCharacters.Select(data => new Card(26, data.GetInstanceId(), false)).ToList();\n\n            cards.AddRange(_spellsBuildings.Select(data => new Card(27, data.GetInstanceId(), false)));\n            cards.AddRange(_spellsOther.Select(data => new Card(28, data.GetInstanceId(), false)));\n\n            return cards.ToArray();\n        }\n\n        public static Card RandomByArena(Card.Rarity rarity, List<string> chestArenas)\n        {\n            var random = new Random();\n            var cards = new List<Card>();\n\n            foreach (var chestArena in chestArenas)\n            {\n                if (_spellsCharacters.Any(x => x.UnlockArena == chestArena))\n                    cards.AddRange(_spellsCharacters\n                        .Where(x => x.UnlockArena == chestArena && x.Rarity == rarity.ToString())\n                        .Select(data => new Card(26, data.GetInstanceId(), false)));\n            }\n\n            foreach (var chestArena in chestArenas)\n            {\n                if (_spellsOther.Any(x => x.UnlockArena == chestArena))\n                    cards.AddRange(_spellsOther.Where(x => x.UnlockArena == chestArena && x.Rarity == rarity.ToString())\n                        .Select(data => new Card(28, data.GetInstanceId(), false)));\n            }\n\n            if (rarity != Card.Rarity.Legendary)\n            {\n                foreach (var chestArena in chestArenas)\n                {\n                    if (_spellsBuildings.Any(x => x.UnlockArena == chestArena))\n                        cards.AddRange(_spellsBuildings\n                            .Where(x => x.UnlockArena == chestArena && x.Rarity == rarity.ToString())\n                            .Select(data => new Card(27, data.GetInstanceId(), false)));\n                }\n            }\n\n            //Console.WriteLine($\"Found {cards.Count} cards for {chestArenas.Count} Arenas with rarity {rarity.ToString()}\");\n\n            return cards.Count > 0 ? cards.ElementAt(random.Next(0, cards.Count)) : null;\n        }\n\n        /// <summary>\n        /// Random card by rarity\n        /// </summary>\n        /// <param name=\"rarity\"></param>\n        /// <returns></returns>\n        public static Card Random(Card.Rarity rarity)\n        {\n            Card card = null;\n\n            var random = new Random();\n            var result = rarity == Card.Rarity.Legendary ? random.Next(1, 3) : random.Next(1, 4);\n\n            switch (result)\n            {\n                case 1:\n                {\n                    var datas = _spellsCharacters.Where(s => s.Rarity == rarity.ToString());\n\n                    var enumerable = datas.ToList();\n                    if (enumerable.ElementAt(random.Next(0, enumerable.Count)) is SpellsCharacters c)\n                        card = new Card(26, c.GetInstanceId(), false);\n\n                    break;\n                }\n\n                case 2:\n                {\n                    var datas = _spellsOther.Where(s => s.Rarity == rarity.ToString());\n\n                    var enumerable = datas.ToList();\n                    if (enumerable.ElementAt(random.Next(0, enumerable.Count)) is SpellsOther c)\n                        card = new Card(28, c.GetInstanceId(), false);\n\n                    break;\n                }\n\n                case 3:\n                {\n                    var datas = _spellsBuildings.Where(s => s.Rarity == rarity.ToString());\n\n                    var enumerable = datas.ToList();\n                    if (enumerable.ElementAt(random.Next(0, enumerable.Count)) is SpellsBuildings c)\n                        card = new Card(27, c.GetInstanceId(), false);\n\n                    break;\n                }\n            }\n\n            return card;\n        }\n\n        /// <summary>\n        /// Returns a random card\n        /// </summary>\n        /// <returns></returns>\n        public static Card Random()\n        {\n            Card card = null;\n\n            var random = new Random();\n\n            switch (random.Next(26, 29))\n            {\n                case 26:\n                {\n                    if (_spellsCharacters.ElementAt(random.Next(0, _spellsCharacters.Length)) is SpellsCharacters c)\n                        card = new Card(26, c.GetInstanceId(), false);\n\n                    break;\n                }\n\n                case 27:\n                {\n                    if (_spellsBuildings.ElementAt(random.Next(0, _spellsBuildings.Length)) is SpellsBuildings c)\n                        card = new Card(27, c.GetInstanceId(), false);\n\n                    break;\n                }\n\n                case 28:\n                {\n                    if (_spellsOther.ElementAt(random.Next(0, _spellsOther.Length)) is SpellsOther c)\n                        card = new Card(28, c.GetInstanceId(), false);\n\n                    break;\n                }\n            }\n\n            return card;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Decks/Deck.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing ClashRoyale.Logic.Home.Decks.Items;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.Decks\n{\n    public class Deck : List<Card>\n    {\n        [JsonIgnore] public Home Home { get; set; }\n\n        public void Initialize()\n        {\n            for (var i = 0; i < 8; i++)\n            {\n                var card = new Card(26, i, false);\n                Add(card);\n                foreach (var deck in Home.Decks) deck[i] = card.GlobalId;\n            }\n        }\n\n        /// <summary>\n        /// Add a card if we have it already in collection just add the ammount of material\n        /// </summary>\n        /// <param name=\"card\"></param>\n        public new void Add(Card card)\n        {\n            var index = FindIndex(c => c.ClassId == card.ClassId && c.InstanceId == card.InstanceId);\n\n            if (index <= -1)\n                base.Add(card);\n            else\n                this[index].Count += card.Count;\n        }\n\n        /// <summary>\n        /// Encodes the whole collection\n        /// </summary>\n        /// <param name=\"packet\"></param>\n        public void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(Home.Decks.Length); // DeckCount\n\n            foreach (var deck in Home.Decks)\n            {\n                packet.WriteVInt(deck.Length);\n\n                foreach (var globalId in deck)\n                    packet.WriteVInt(globalId);\n            }\n\n            packet.WriteByte(255);\n\n            foreach (var card in GetRange(0, 8))\n                card.Encode(packet);\n\n            packet.WriteVInt(Count - 8);\n\n            foreach (var card in this.Skip(8))\n                card.Encode(packet);\n\n            packet.WriteVInt(Home.SelectedDeck); // CurrentSlot\n        }\n\n        /// <summary>\n        /// Switch between 5 decks\n        /// </summary>\n        /// <param name=\"deckIndex\"></param>\n        public void SwitchDeck(int deckIndex)\n        {\n            if (deckIndex > 4) return;\n\n            for (var i = 0; i < Home.Decks[deckIndex].Length; i++)\n            {\n                var card = Home.Decks[deckIndex][i];\n                var newDeckCard = GetCard(card);\n                var oldDeckCard = this[i];\n\n                var newOldCardIndex = IndexOf(newDeckCard);\n\n                this[newOldCardIndex] = oldDeckCard;\n                this[i] = newDeckCard;\n            }\n\n            Home.SelectedDeck = deckIndex;\n        }\n\n        /// <summary>\n        /// Encodes this deck for a battle\n        /// </summary>\n        /// <param name=\"packet\"></param>\n        public void EncodeAttack(IByteBuffer packet)\n        {\n            foreach (var card in GetRange(0, 8))\n                card.EncodeAttack(packet);\n        }\n\n        /// <summary>\n        /// Get a card by it's class and instance id\n        /// </summary>\n        /// <param name=\"classId\"></param>\n        /// <param name=\"instanceId\"></param>\n        /// <returns></returns>\n        public Card GetCard(int classId, int instanceId)\n        {\n            var index = FindIndex(c => c.ClassId == classId && c.InstanceId == instanceId);\n            return index > -1 ? this[index] : null;\n        }\n\n        /// <summary>\n        /// Get a card by it's globalId\n        /// </summary>\n        /// <param name=\"globalId\"></param>\n        /// <returns></returns>\n        public Card GetCard(int globalId)\n        {\n            var index = FindIndex(c => c.GlobalId == globalId);\n            return index > -1 ? this[index] : null;\n        }\n\n        /// <summary>\n        /// Returns the card offset in the collection\n        /// </summary>\n        /// <param name=\"globalId\"></param>\n        /// <returns></returns>\n        public int GetCardOffset(int globalId)\n        {\n            var index = FindIndex(c => c.GlobalId == globalId);\n            return index;\n        }\n\n        /// <summary>\n        /// Swap cards in deck\n        /// </summary>\n        /// <param name=\"cardOffset\"></param>\n        /// <param name=\"deckOffset\"></param>\n        public void SwapCard(int cardOffset, int deckOffset)\n        {\n            var currentDeck = Home.Decks[Home.SelectedDeck];\n            currentDeck[deckOffset] = this[cardOffset + 8].GlobalId;\n\n            var old = this[deckOffset];\n            this[deckOffset] = this[cardOffset + 8];\n            this[cardOffset + 8] = old;\n        }\n\n        /// <summary>\n        /// Upgrade all cards if an upgrade is available and enough gold\n        /// </summary>\n        public void UpgradeAll()\n        {\n            foreach (var card in this) UpgradeCard(card);\n        }\n\n        /// <summary>\n        /// Upgrade a card by it's class and instance id\n        /// </summary>\n        /// <param name=\"classId\"></param>\n        /// <param name=\"instanceId\"></param>\n        /// <param name=\"force\"></param>\n        public void UpgradeCard(int classId, int instanceId, bool force = false)\n        {\n            var card = GetCard(classId, instanceId);\n\n            if (card != null)\n                UpgradeCard(card, force);\n        }\n\n        /// <summary>\n        /// Upgrade a card and check if enough cards and gold are available to use or force an upgrade\n        /// </summary>\n        /// <param name=\"card\"></param>\n        /// <param name=\"force\"></param>\n        public void UpgradeCard(Card card, bool force = false)\n        {\n            var data = card.GetRarityData;\n            if (data == null) return;\n\n            if (card.Level >= data.UpgradeMaterialCount.Length - 1) return;\n\n            if (!force)\n            {\n                var materialCount = data.UpgradeMaterialCount[card.Level];\n\n                if (materialCount > card.Count) return;\n                if (!Home.UseGold(data.UpgradeCost[card.Level])) return;\n\n                card.Count -= materialCount;\n            }\n\n            Home.AddExpPoints(data.UpgradeExp[card.Level]);\n            card.Level++;\n        }\n\n        /// <summary>\n        /// When a card is new and a player taps on it the first time in it's collection\n        /// </summary>\n        /// <param name=\"classId\"></param>\n        /// <param name=\"instanceId\"></param>\n        public void SawCard(int classId, int instanceId)\n        {\n            var card = GetCard(classId, instanceId);\n            card.IsNew = false;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Decks/Items/Card.cs",
    "content": "﻿using ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Utilities.Models.Battle;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.Decks.Items\n{\n    public class Card\n    {\n        public enum Rarity\n        {\n            Common = 0,\n            Rare = 1,\n            Epic = 2,\n            Legendary = 3,\n            Hero = 4\n        }\n\n        /// <summary>\n        ///     Create a new card with given values\n        /// </summary>\n        /// <param name=\"classId\"></param>\n        /// <param name=\"instanceId\"></param>\n        /// <param name=\"isNew\"></param>\n        /// <param name=\"count\"></param>\n        public Card(int classId, int instanceId, bool isNew, int count = 0)\n        {\n            ClassId = classId;\n            InstanceId = instanceId;\n            IsNew = isNew;\n            Count = count;\n        }\n\n        /// <summary>\n        ///     Copy values from a different class to this new instance\n        /// </summary>\n        /// <param name=\"card\"></param>\n        public Card(Card card)\n        {\n            Count = card.Count;\n            InstanceId = card.InstanceId;\n            ClassId = card.ClassId;\n            Level = card.Level;\n            IsNew = card.IsNew;\n        }\n\n        public Card()\n        {\n            // Json.\n        }\n\n        public int Count { get; set; }\n        public int InstanceId { get; set; }\n        public int ClassId { get; set; }\n        public int Level { get; set; }\n        public bool IsNew { get; set; }\n\n        [JsonIgnore] public int GlobalId => ClassId * 1000000 + InstanceId;\n        [JsonIgnore] public int CardId => Id(ClassId, InstanceId);\n        [JsonIgnore] public Rarity CardRarity => GetRarity(GetRarityData.Name);\n\n        [JsonIgnore]\n        public Rarities GetRarityData\n        {\n            get\n            {\n                switch (ClassId)\n                {\n                    case 26:\n                    {\n                        var data = Csv.Tables.Get(Csv.Files.SpellsCharacters)\n                            .GetDataWithInstanceId<SpellsCharacters>(InstanceId);\n                        return Csv.Tables.Get(Csv.Files.Rarities).GetData<Rarities>(data.Rarity);\n                    }\n\n                    case 27:\n                    {\n                        var data = Csv.Tables.Get(Csv.Files.SpellsBuildings)\n                            .GetDataWithInstanceId<SpellsBuildings>(InstanceId);\n                        return Csv.Tables.Get(Csv.Files.Rarities).GetData<Rarities>(data.Rarity);\n                    }\n\n                    case 28:\n                    {\n                        var data = Csv.Tables.Get(Csv.Files.SpellsOther).GetDataWithInstanceId<SpellsOther>(InstanceId);\n                        return Csv.Tables.Get(Csv.Files.Rarities).GetData<Rarities>(data.Rarity);\n                    }\n                }\n\n                return null;\n            }\n        }\n\n        public LogicBattleSpell BattleSpell\n        {\n            get\n            {\n                var spell = new LogicBattleSpell {Id = GlobalId, Level = Level - 1};\n                return spell;\n            }\n        }\n\n        public void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(CardId);\n            packet.WriteVInt(Level);\n            packet.WriteVInt(0);\n            packet.WriteVInt(Count);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(IsNew ? 2 : 0);\n        }\n\n        public void EncodeAttack(IByteBuffer packet)\n        {\n            packet.WriteVInt(CardId);\n            packet.WriteVInt(Level);\n        }\n\n        public static int Id(int classId, int instanceId)\n        {\n            if (classId >= 27) instanceId += Csv.Tables.Get(Csv.Files.SpellsCharacters).Count();\n            if (classId == 28) instanceId += Csv.Tables.Get(Csv.Files.SpellsBuildings).Count();\n\n            return instanceId + 1;\n        }\n\n        public static Rarity GetRarity(string name)\n        {\n            switch (name)\n            {\n                case \"Common\":\n                    return Rarity.Common;\n                case \"Rare\":\n                    return Rarity.Rare;\n                case \"Epic\":\n                    return Rarity.Epic;\n                case \"Legendary\":\n                    return Rarity.Legendary;\n                default:\n                    return Rarity.Common;\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Home.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Logic.Home.Decks;\nusing ClashRoyale.Logic.Home.StreamEntry;\nusing ClashRoyale.Logic.Sessions;\nusing ClashRoyale.Utilities.Models.Battle;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home\n{\n    public class Home\n    {\n        [JsonProperty(\"clan_info\")] public AllianceInfo AllianceInfo = new AllianceInfo();\n        [JsonProperty(\"arena\")] public Arena Arena = new Arena();\n        [JsonProperty(\"chests\")] public Chests.Chests Chests = new Chests.Chests();\n        [JsonProperty(\"crownChestCooldown\")] public DateTime CrownChestCooldown = DateTime.UtcNow;\n        [JsonProperty(\"deck\")] public Deck Deck = new Deck();\n\n        // Chests\n        [JsonProperty(\"freeChestTime\")] public DateTime FreeChestTime = DateTime.UtcNow;\n\n        [JsonIgnore] public List<Session> Sessions = new List<Session>(50);\n        [JsonProperty(\"shop\")] public Shop.Shop Shop = new Shop.Shop();\n        [JsonProperty(\"stream\")] public List<AvatarStreamEntry> Stream = new List<AvatarStreamEntry>(40);\n\n        public Home()\n        {\n            Deck.Home = this;\n            Shop.Home = this;\n            Arena.Home = this;\n            Chests.Home = this;\n        }\n\n        public Home(long id, string token)\n        {\n            Id = id;\n            UserToken = token;\n\n            PreferredDeviceLanguage = \"EN\";\n\n            Gold = 100;\n            Diamonds = 1000000;\n\n            Name = \"NoName\";\n            ExpLevel = 1;\n\n            Decks = new int[5][];\n            for (var i = 0; i < 5; i++) Decks[i] = new int[8];\n\n            Deck.Home = this;\n            Deck.Initialize();\n\n            Shop.Home = this;\n            Shop.Refresh();\n\n            Chests.Home = this;\n            Arena.Home = this;\n        }\n\n        [JsonProperty(\"name\")] public string Name { get; set; }\n        [JsonProperty(\"token\")] public string UserToken { get; set; }\n        [JsonProperty(\"name_set\")] public int NameSet { get; set; }\n        [JsonProperty(\"created_ip\")] public string CreatedIpAddress { get; set; }\n        [JsonProperty(\"high_id\")] public int HighId { get; set; }\n        [JsonProperty(\"low_id\")] public int LowId { get; set; }\n        [JsonProperty(\"language\")] public string PreferredDeviceLanguage { get; set; }\n        [JsonProperty(\"fcb_id\")] public string FacebookId { get; set; }\n        [JsonProperty(\"totalSessions\")] public int TotalSessions { get; set; }\n        [JsonProperty(\"totalPlayTimeSeconds\")] public int TotalPlayTimeSeconds { get; set; }\n\n        // Shop\n        [JsonProperty(\"shop_day\")] public int ShopDay { get; set; }\n\n        // Resources\n        [JsonProperty(\"diamonds\")] public int Diamonds { get; set; }\n        [JsonProperty(\"gold\")] public int Gold { get; set; }\n\n        // Crownchest\n        [JsonProperty(\"crowns\")] public int Crowns { get; set; }\n        [JsonProperty(\"new_crowns\")] public int NewCrowns { get; set; }\n\n        // Player Stats\n        [JsonProperty(\"exp_level\")] public int ExpLevel { get; set; }\n        [JsonProperty(\"exp_points\")] public int ExpPoints { get; set; }\n\n        // Deck\n        [JsonProperty(\"selected_deck\")] public int SelectedDeck { get; set; }\n        [JsonProperty(\"decks\")] public int[][] Decks { get; set; }\n\n        [JsonIgnore]\n        public long Id\n        {\n            get => ((long) HighId << 32) | (LowId & 0xFFFFFFFFL);\n            set\n            {\n                HighId = Convert.ToInt32(value >> 32);\n                LowId = (int) value;\n            }\n        }\n\n        [JsonIgnore]\n        public LogicBattleAvatar BattleAvatar\n        {\n            get\n            {\n                var avatar = new LogicBattleAvatar\n                {\n                    Name = Name,\n                    HighId = HighId,\n                    LowId = LowId,\n                    ExpLevel = 13,\n                    ExpPoints = ExpPoints,\n                    Arena = 54000000 + Arena.CurrentArena\n                };\n\n                if (!AllianceInfo.HasAlliance) return avatar;\n\n                avatar.ClanName = AllianceInfo.Name;\n                avatar.ClanHighId = AllianceInfo.HighId;\n                avatar.ClanLowId = AllianceInfo.LowId;\n                avatar.ClanBadge = AllianceInfo.Badge;\n\n                return avatar;\n            }\n        }\n\n        [JsonIgnore]\n        public List<LogicBattleSpell> BattleDeck\n        {\n            get\n            {\n                var spells = new List<LogicBattleSpell>(8);\n\n                for (var i = 0; i < 8; i++)\n                {\n                    var spell = Deck[i];\n                    spells.Add(spell.BattleSpell);\n                }\n\n                return spells;\n            }\n        }\n\n        /// <summary>\n        ///     Buy a resource pack with gems by the given id\n        /// </summary>\n        /// <param name=\"id\"></param>\n        public void BuyResourcePack(int id)\n        {\n            var packs = Csv.Tables.Get(Csv.Files.ResourcePacks).GetDataWithInstanceId<ResourcePacks>(id);\n            var amount = packs.Amount;\n            var diamondCost = 1;\n\n            if (amount > 100)\n            {\n                if (amount > 1000)\n                    if (amount > 10000)\n                        if (amount > 100000)\n                        {\n                            if (amount >= 1000000)\n                                diamondCost = 45000;\n                        }\n                        else\n                        {\n                            diamondCost = 4500;\n                        }\n                    else\n                        diamondCost = 500;\n                else\n                    diamondCost = 60;\n            }\n            else\n            {\n                diamondCost = 8;\n            }\n\n\n            Gold += amount;\n            Diamonds -= diamondCost;\n        }\n\n        /// <summary>\n        ///     Add's experience Points to the players account and increments the players level if available\n        /// </summary>\n        /// <param name=\"expPoints\"></param>\n        public void AddExpPoints(int expPoints)\n        {\n            if (ExpLevel >= 13) return;\n\n            ExpPoints += expPoints;\n\n            for (var i = ExpLevel; i < 13; i++)\n            {\n                var data = Csv.Tables.Get(Csv.Files.ExpLevels).GetDataWithInstanceId<ExpLevels>(ExpLevel - 1);\n                if (data.ExpToNextLevel <= ExpPoints)\n                {\n                    ExpLevel++;\n                    ExpPoints -= data.ExpToNextLevel;\n                }\n                else\n                {\n                    break;\n                }\n            }\n        }\n\n        /// <summary>\n        ///     Add up to 20 crowns - TODO: check cooldown\n        /// </summary>\n        /// <param name=\"crowns\"></param>\n        public void AddCrowns(int crowns)\n        {\n            var maxCrowns = Csv.Tables.Get(Csv.Files.Globals).GetData<Globals>(\"CROWN_CHEST_CROWN_COUNT\").NumberValue *\n                            2;\n\n            if (Crowns + crowns <= maxCrowns)\n            {\n                NewCrowns += crowns;\n            }\n            else\n            {\n                NewCrowns = maxCrowns - Crowns;\n                Crowns = maxCrowns;\n            }\n        }\n\n        /// <summary>\n        ///     Returns true if it was able to remove the amount of gold from the players account\n        /// </summary>\n        /// <param name=\"amount\"></param>\n        /// <returns></returns>\n        public bool UseGold(int amount)\n        {\n            if (Gold - amount < 0) return false;\n\n            Gold -= amount;\n            return true;\n        }\n\n        /// <summary>\n        ///     Returns true when the first free chest is available\n        /// </summary>\n        /// <returns></returns>\n        public bool IsFirstFreeChestAvailable()\n        {\n            return DateTime.UtcNow.Subtract(FreeChestTime).TotalHours >= 4;\n        }\n\n        /// <summary>\n        ///     Returns true when the first and second free chest is available\n        /// </summary>\n        /// <returns></returns>\n        public bool IsSecondFreeChestAvailable()\n        {\n            return DateTime.UtcNow.Subtract(FreeChestTime).TotalHours >= 8;\n        }\n\n        /// <summary>\n        ///     Get's the current free chest id\n        /// </summary>\n        /// <returns></returns>\n        public int GetFreeChestId()\n        {\n            var id = 1;\n\n            if (IsFirstFreeChestAvailable() && !IsSecondFreeChestAvailable())\n                id = 0;\n            else if (IsSecondFreeChestAvailable())\n                id = 2;\n\n            return id;\n        }\n\n        /// <summary>\n        ///     This will be called when a user is in home state\n        /// </summary>\n        public void Reset()\n        {\n            Crowns += NewCrowns;\n            NewCrowns = 0;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Shop/Items/SpellShopItem.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Logic.Home.Shop.Items\n{\n    public class SpellShopItem : ShopItem\n    {\n        public SpellShopItem()\n        {\n            Type = 1;\n        }\n\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n        public int Rarity { get; set; }\n        public int Bought { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteVInt(Bought);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(ClassId);\n            packet.WriteVInt(InstanceId);\n            packet.WriteVInt(Rarity);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Shop/Shop.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic.Home.Decks;\nusing ClashRoyale.Logic.Home.Decks.Items;\nusing ClashRoyale.Logic.Home.Shop.Items;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.Shop\n{\n    public class Shop : List<ShopItem>\n    {\n        [JsonIgnore] public Home Home { get; set; }\n        [JsonIgnore] public bool CanRefresh => Home.ShopDay != (int) DateTime.UtcNow.DayOfWeek;\n        [JsonIgnore] public bool IsEpicSunday => DateTime.UtcNow.DayOfWeek == DayOfWeek.Sunday;\n\n        public void Refresh()\n        {\n            Home.ShopDay = (int) DateTime.UtcNow.DayOfWeek;\n            Clear();\n\n            /*if (IsEpicSunday)\n            {\n                Add(RandomSpell(Card.Rarity.Rare));\n                Add(RandomSpell(Card.Rarity.Epic));\n                Add(RandomSpell(Card.Rarity.Legendary));\n            }\n            else*/\n            {\n                Add(RandomSpell(Card.Rarity.Common));\n                Add(RandomSpell(Card.Rarity.Rare));\n                Add(RandomSpell(Card.Rarity.Epic));\n            }\n        }\n\n        public void Encode(IByteBuffer packet)\n        {\n            if (CanRefresh)\n                Refresh();\n\n            packet.WriteVInt((int) DateTime.UtcNow.DayOfWeek + 1); // Shop Day\n            packet.WriteVInt((int) DateTime.UtcNow.DayOfWeek + 1); // Shop Seed\n            packet.WriteVInt((int) DateTime.UtcNow.DayOfWeek + 1); // Shop Day Seen\n\n            packet.WriteVInt(TimeUtils.GetSecondsUntilTomorrow * 20);\n            packet.WriteVInt(TimeUtils.GetSecondsUntilTomorrow * 20);\n\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n\n            packet.WriteVInt(Count);\n\n            for (var i = 0; i < Count; i++)\n            {\n                var item = this[i];\n                item.ShopIndex = i;\n                item.Encode(packet);\n            }\n\n            packet.WriteVInt(0); // Special Offers\n        }\n\n        public void BuyItem(int amount, int classId, int instanceId, int index)\n        {\n            if (this[index] is SpellShopItem item)\n            {\n                var globals = Csv.Tables.Get(Csv.Files.Globals);\n                var price = 0;\n                var limit = 0;\n\n                switch (item.Rarity)\n                {\n                    case 0:\n                        price = globals.GetData<Globals>(\"PRICE_COMMON\").NumberValue;\n                        limit = globals.GetData<Globals>(\"BUY_LIMIT_COMMON\").NumberValue;\n                        break;\n                    case 1:\n                        price = globals.GetData<Globals>(\"PRICE_RARE\").NumberValue;\n                        limit = globals.GetData<Globals>(\"BUY_LIMIT_RARE\").NumberValue;\n                        break;\n                    case 2:\n                        price = globals.GetData<Globals>(\"PRICE_EPIC\").NumberValue;\n                        limit = globals.GetData<Globals>(\"BUY_LIMIT_EPIC\").NumberValue;\n                        break;\n                    case 3:\n                        price = globals.GetData<Globals>(\"PRICE_LEGENDARY\").NumberValue;\n                        limit = globals.GetData<Globals>(\"BUY_LIMIT_LEGENDARY\").NumberValue;\n                        break;\n                }\n\n                var total = 0;\n                var count = amount != 1 ? limit - item.Bought : 1;\n\n                for (var i = 0; i < count; i++) \n                    total += price * (i + 1);\n\n                if (!Home.UseGold(total)) return;\n                item.Bought += count;\n                Home.Deck.Add(new Card(classId, instanceId, true, count));\n            }\n        }\n\n        public SpellShopItem RandomSpell(Card.Rarity rarity)\n        {\n            var card = Cards.Random(rarity);\n\n            return new SpellShopItem\n            {\n                ClassId = card.ClassId,\n                InstanceId = card.InstanceId,\n                Rarity = (int)card.CardRarity\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/Shop/ShopItem.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Logic.Home.Shop\n{\n    public class ShopItem\n    {\n        public int Type { get; set; }\n        public int ShopIndex { get; set; }\n\n        public virtual void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(Type);\n            packet.WriteVInt(1);\n            packet.WriteVInt(ShopIndex);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/StreamEntry/AvatarStreamEntry.cs",
    "content": "﻿using System;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.StreamEntry\n{\n    public class AvatarStreamEntry\n    {\n        [JsonProperty(\"creation\")] public DateTime CreationDateTime = DateTime.UtcNow;\n        [JsonProperty(\"id\")] public int Id { get; set; }\n        [JsonProperty(\"type\")] public int StreamEntryType { get; set; }\n        [JsonProperty(\"highId\")] public int SenderHighId { get; set; }\n        [JsonProperty(\"lowId\")] public int SenderLowId { get; set; }\n        [JsonProperty(\"sender_name\")] public string SenderName { get; set; }\n        [JsonProperty(\"removed\")] public bool IsRemoved { get; set; }\n        [JsonProperty(\"new\")] public bool IsNew { get; set; }\n\n        [JsonIgnore] public int AgeSeconds => (int) (DateTime.UtcNow - CreationDateTime).TotalSeconds;\n\n        [JsonIgnore]\n        public long SenderId\n        {\n            get => ((long) SenderHighId << 32) | (SenderLowId & 0xFFFFFFFFL);\n            set\n            {\n                SenderHighId = Convert.ToInt32(value >> 32);\n                SenderLowId = (int) value;\n            }\n        }\n\n        public virtual void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(StreamEntryType);\n\n            packet.WriteLong(Id);\n            packet.WriteBoolean(IsRemoved);\n\n            packet.WriteLong(SenderId);\n            packet.WriteScString(SenderName);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(AgeSeconds);\n\n            packet.WriteBoolean(IsRemoved);\n            packet.WriteBoolean(IsNew);\n        }\n\n        public virtual void SetSender(Player player)\n        {\n            SenderName = player.Home.Name;\n            SenderId = player.Home.Id;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/StreamEntry/Entries/AllianceMailAvatarStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Home.StreamEntry.Entries\n{\n    public class AllianceMailAvatarStreamEntry : AvatarStreamEntry\n    {\n        public AllianceMailAvatarStreamEntry()\n        {\n            StreamEntryType = 6;\n        }\n\n        [JsonProperty(\"msg\")] public string Message { get; set; }\n        [JsonProperty(\"title\")] public string Title { get; set; }\n        [JsonProperty(\"allianceId\")] public long AllianceId { get; set; }\n        [JsonProperty(\"allianceName\")] public string AllianceName { get; set; }\n        [JsonProperty(\"allianceBadge\")] public int AllianceBadge { get; set; }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteScString(Message);\n\n            packet.WriteLong(1); // ??\n\n            packet.WriteScString(Title);\n            packet.WriteLong(AllianceId);\n            packet.WriteScString(AllianceName);\n\n            packet.WriteVInt(16);\n            packet.WriteVInt(AllianceBadge);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Home/StreamEntry/Entries/DonationReceivedStreamEntry.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Logic.Home.StreamEntry.Entries\n{\n    public class DonationReceivedStreamEntry : AvatarStreamEntry\n    {\n        public DonationReceivedStreamEntry()\n        {\n            StreamEntryType = 7;\n        }\n\n        public override void Encode(IByteBuffer packet)\n        {\n            base.Encode(packet);\n\n            packet.WriteVInt(1); // Count\n\n            packet.WriteVInt(26);\n            packet.WriteVInt(1);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Player.cs",
    "content": "﻿using System;\nusing System.Diagnostics;\nusing System.Linq;\nusing ClashRoyale.Database;\nusing ClashRoyale.Extensions;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Logic.Home.StreamEntry;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Logic\n{\n    public class Player\n    {\n        public Player(long id)\n        {\n            Home = new Home.Home(id, GameUtils.GenerateToken);\n        }\n\n        public Player()\n        {\n            // Player.\n        }\n\n        public Home.Home Home { get; set; }\n\n        [JsonIgnore] public LogicBattle Battle { get; set; }\n        [JsonIgnore] public Device Device { get; set; }\n\n        public void RankingEntry(IByteBuffer packet)\n        {\n            packet.WriteVInt(Home.ExpLevel);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteScString(\"DE\");\n            packet.WriteLong(Home.Id);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n            packet.WriteByte(0);\n\n            var info = Home.AllianceInfo;\n\n            if (info.HasAlliance)\n            {\n                packet.WriteBoolean(true);\n\n                packet.WriteLong(info.Id);\n                packet.WriteScString(info.Name);\n\n                packet.WriteByte(16);\n                packet.WriteVInt(info.Badge);\n            }\n\n            packet.WriteVInt(0); // Has League\n        }\n\n        public void LogicClientHome(IByteBuffer packet)\n        {\n            packet.WriteLong(Home.Id);\n\n            // Unknown\n            {\n                packet.WriteVInt(0);\n                packet.WriteVInt(Home.GetFreeChestId()); // Current Freechest Id\n\n                // Free Chest Timer\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(1500268361); // Last Login\n\n                packet.WriteByte(0);\n            }\n\n            // Decks\n            Home.Deck.Encode(packet);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteNullVInt();\n\n            packet.WriteVInt(33);\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            // Events\n            packet.WriteVInt(1);\n            {\n                packet.WriteVInt(1109);\n                packet.WriteScString(\"2v2 Button\");\n\n                packet.WriteVInt(8);\n                packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n                packet.WriteVInt(1609462800);\n                packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteScString(\"2v2 Button\");\n                packet.WriteScString(\"{\\\"HideTimer\\\":false,\\\"HidePopupTimer\\\":false}\\\"\");\n            }\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteNullVInt();\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0); // Challenge Events?\n\n            // Events\n            packet.WriteVInt(1);\n            {\n                packet.WriteVInt(1109);\n            }\n\n            // Events\n            packet.WriteVInt(2);\n            {\n                /*packet.WriteVInt(0);\n                packet.WriteScString(\"{\\\"GameMode\\\":\\\"TeamVsTeamLadder\\\",\\\"Target_MinXPLevel\\\":3,\\\"HideTimer\\\":false,\\\"HidePopupTimer\\\":true}\");*/\n\n                /*packet.WriteVInt(1);\n                packet.WriteScString(\"{\\\"ID\\\":\\\"SHOP_CYCLE_MANAGEMENT\\\",\\\"Params\\\":{\\\"EpicChestCycleDuration\\\":5,\\\"LegendaryChestCycleDuration\\\":7,\\\"ArenaPackCycleDuration\\\":7}}\");*/\n\n                packet.WriteVInt(2);\n                packet.WriteScString(\"{\\\"ID\\\":\\\"CARD_RELEASE\\\",\\\"Params\\\":{}})\");\n\n                /*packet.WriteVInt(3);\n                packet.WriteScString(\"{\\\"ID\\\":\\\"KILL_SWITCH\\\",\\\"Params\\\":{\\\"HideShopOffersUI\\\":false}}\");*/\n\n                packet.WriteVInt(4);\n                packet.WriteScString(\"{\\\"ID\\\":\\\"CLAN_CHEST\\\",\\\"Params\\\":{}}\");\n            }\n\n            packet.WriteVInt(4);\n\n            // Chests\n            {\n                /*for (var i = 0; i < 0; i++)\n                {\n                    packet.WriteVInt(0);\n\n                    packet.WriteVInt(19); // Instance Id\n                    packet.WriteVInt(219); // Class Id \n                    packet.WriteVInt(1); // Unlocked // 8 - unlocking -> timer\n\n                    //packet.WriteVInt(0);\n                    //packet.WriteVInt(0);\n                    //packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n\n                    packet.WriteBoolean(false); // Claimed\n                    packet.WriteBoolean(false); // New\n                    packet.WriteVInt(0);\n                    packet.WriteVInt(0);\n                    packet.WriteVInt(0);\n                }*/\n\n                packet.WriteVInt(0);\n            }\n\n            // FreeChest Timer\n            if (!Home.IsFirstFreeChestAvailable())\n                packet.WriteVInt((int) Home.FreeChestTime.AddHours(4).Subtract(DateTime.UtcNow).TotalSeconds * 20);\n            else\n                packet.WriteVInt(\n                    (int) Home.FreeChestTime.AddHours(4).Subtract(DateTime.UtcNow.AddHours(4)).TotalSeconds * 20);\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            if (Home.IsFirstFreeChestAvailable())\n            { \n                packet.WriteBoolean(true);\n\n                packet.WriteVInt(19);\n                packet.WriteVInt(12);\n                packet.WriteVInt(1);\n                packet.WriteVInt(18);\n                packet.WriteVInt(0);\n                packet.WriteNullVInt();\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n            }\n            else\n            {\n                packet.WriteBoolean(false);\n            }\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            // Crown Chest\n            {\n                packet.WriteVInt(Home.Crowns); // Crowns\n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n            }\n\n            packet.WriteVInt(-1);\n\n            // Request Cooldown\n            packet.WriteVInt(1714640);\n            packet.WriteVInt(1726960);\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(-1);\n\n            packet.WriteVInt(Home.NameSet == 0 ? 1 : 3); // 1 = SetNamePopup, 2 = Upgrade Card Tutorial, 3 = NameSet\n\n            for (var i = 0; i < 7; i++)\n                packet.WriteVInt(0);\n\n            packet.WriteVInt(2); // Page Opened\n            packet.WriteVInt(Home.ExpLevel); // ExpLevel\n\n            // Arena\n            {\n                packet.WriteData(Home.Arena.ArenaData(Home.Arena.CurrentArena));\n            }\n\n            // Shop\n            {\n                Home.Shop.Encode(packet);\n            }\n\n            // Timers\n            for (var i = 0; i < 3; i++)\n            {\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n            }\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0); // Card request?\n\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(23);\n\n            // Array\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteShort(-2041);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(11);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(2);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(4);\n            packet.WriteVInt(3);\n            packet.WriteVInt(17);\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(14);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(4);\n            packet.WriteVInt(14);\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(74);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(4);\n            packet.WriteVInt(1);\n            packet.WriteVInt(1);\n\n            packet.WriteVInt(73);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(5);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(4);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(9);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(15);\n            packet.WriteVInt(0);\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n            packet.WriteVInt(1);\n            packet.WriteVInt(1);\n            packet.WriteVInt(6);\n            packet.WriteVInt(2);\n\n            packet.WriteVInt(16);\n            packet.WriteVInt(0);\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n            packet.WriteVInt(1);\n            packet.WriteVInt(1);\n            packet.WriteVInt(6);\n            packet.WriteVInt(2);\n\n            packet.WriteVInt(0);\n\n            // Missions\n            packet.WriteVInt(2);\n            {\n                packet.WriteVInt(26);\n                packet.WriteVInt(46);\n\n                packet.WriteVInt(28);\n                packet.WriteVInt(16);\n            }\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1);\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(1); // New Arenas Seen Count\n            packet.WriteVInt(54000010);\n\n            packet.WriteVInt(0); // Session Reward = 2\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(7); // Training Battles completed         \n        }\n\n        public void LogicClientAvatar(IByteBuffer packet)\n        {\n            // Id - Account Id - HomeId\n            for (var i = 0; i < 3; i++)\n            {\n                packet.WriteVInt(Home.HighId);\n                packet.WriteVInt(Home.LowId);\n            }\n\n            // Name\n            {\n                packet.WriteScString(Home.NameSet > 0 ? Home.Name : null);\n                packet.WriteBoolean(Home.NameSet > 1); // NameSetByUser\n            }\n\n            // Profile\n            {\n                packet.WriteVInt(Home.Arena.CurrentArena + 1); // Arena \n                packet.WriteVInt(Home.Arena.Trophies); // Trophies \n\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n                packet.WriteVInt(100); // Legendary Trophies\n\n                packet.WriteVInt(0); // Current Season Trophies\n                packet.WriteVInt(0);\n                packet.WriteVInt(0); // Displays near League // maybe never used\n\n                packet.WriteVInt(0); // Best Season Trophies\n                packet.WriteVInt(0); // Rank\n                packet.WriteVInt(100); // Trophies\n            }\n\n            // League\n            packet.WriteVInt(100); // Current Trophies\n            packet.WriteVInt(50); // Past Trophies\n            packet.WriteVInt(1);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0); // set this 1 and it appears on the profile \n\n            packet.WriteVInt(8);\n\n            // Game Variables\n            packet.WriteVInt(10);\n            {\n                packet.WriteVInt(5);\n                packet.WriteVInt(0);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(1);\n                packet.WriteVInt(Home.Gold); // Gold\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(3);\n                packet.WriteVInt(2);\n\n                packet.WriteVInt(5); // New Crowns\n                packet.WriteVInt(4);\n                packet.WriteVInt(Home.NewCrowns);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(5);\n                packet.WriteVInt(Home.Gold); // Gold\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(13);\n                packet.WriteVInt(0); // New Gold\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(14);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(16);\n                packet.WriteVInt(51);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(28);\n                packet.WriteVInt(0);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(29);\n                packet.WriteVInt(72000006);\n            }\n\n            packet.WriteVInt(0); // Completed Achievements\n\n            // Achievements\n            {\n                packet.WriteVInt(0); // Achievement Count\n                packet.WriteVInt(0); // Achievement Count\n            }\n\n            // Profile Statistics\n            packet.WriteVInt(6);\n            {\n                packet.WriteVInt(5);\n                packet.WriteVInt(6);\n                packet.WriteVInt(30);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(7);\n                packet.WriteVInt(0); // Three Crown Win Count\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(8);\n                packet.WriteVInt(Home.Deck.Count); // Cards found\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(1); // Count\n                packet.WriteVInt(26000048); // CardId\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(11);\n                packet.WriteVInt(32);\n\n                packet.WriteVInt(5);\n                packet.WriteVInt(27);\n                packet.WriteVInt(1);\n            }\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0); // NPC? / Count?\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(Home.Diamonds); // Diamonds\n            packet.WriteVInt(Home.Diamonds); // FreeDiamonds\n\n            packet.WriteVInt(Home.ExpPoints); // ExpPoints\n            packet.WriteVInt(Home.ExpLevel); // ExpLevel\n\n            packet.WriteVInt(0); // AvatarUserLevelTier\n\n            if (Home.AllianceInfo.HasAlliance)\n            {\n                packet.WriteVInt(Home.NameSet == 0 ? 8 : 9); // HasAlliance\n\n                var info = Home.AllianceInfo;\n\n                packet.WriteVInt(info.HighId);\n                packet.WriteVInt(info.LowId);\n                packet.WriteScString(info.Name);\n                packet.WriteVInt(info.Badge + 1);\n                packet.WriteVInt(info.Role);\n            }\n            else\n            {\n                packet.WriteVInt(Home.NameSet == 0 ? 6 : 7); // HasAlliance\n            }\n\n            // Battle Statistics\n            {\n                packet.WriteVInt(0); // Games Played\n                packet.WriteVInt(0); // Tournament Matches Played\n                packet.WriteVInt(0);\n                packet.WriteVInt(0); // Wins\n                packet.WriteVInt(0); // Losses\n\n                packet.WriteVInt(0);\n            }\n\n            // Tutorials\n            {\n                packet.WriteVInt(7);\n            }\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(0); // Has Challenge\n            //  packet.WriteVInt(); // ID\n            //  packet.WriteVInt(0); // WINS\n            //  packet.WriteVInt(0); // LOSSES\n\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n            packet.WriteVInt(0);\n\n            packet.WriteVInt(TimeUtils.CurrentUnixTimestamp);\n            packet.WriteVInt(0); // AccountCreated\n            packet.WriteVInt(Home.TotalPlayTimeSeconds); // PlayTime\n        }\n\n        public async void AddEntry(AvatarStreamEntry entry)\n        {\n            lock (Home.Stream)\n            {\n                while (Home.Stream.Count >= 40)\n                    Home.Stream.RemoveAt(0);\n\n                var max = Home.Stream.Count == 0 ? 1 : Home.Stream.Max(x => x.Id);\n                entry.Id = max == int.MaxValue ? 1 : max + 1; // If we ever reach that value... but who knows...\n\n                Home.Stream.Add(entry);\n            }\n\n            await new AvatarStreamEntryMessage(Device)\n            {\n                Entry = entry\n            }.SendAsync();\n        }\n\n        /// <summary>\n        ///     Validates this session\n        /// </summary>\n        public void ValidateSession()\n        {\n            var session = Device.Session;\n            session.Duration = (int) DateTime.UtcNow.Subtract(session.SessionStart).TotalSeconds;\n\n            Home.TotalPlayTimeSeconds += session.Duration;\n\n            while (Home.Sessions.Count >= 50) Home.Sessions.RemoveAt(0);\n\n            Home.Sessions.Add(session);\n        }\n\n        public async void Save()\n        {\n#if DEBUG\n            var st = new Stopwatch();\n            st.Start();\n\n            Resources.ObjectCache.CachePlayer(this);\n            await PlayerDb.SaveAsync(this);\n\n            st.Stop();\n            Logger.Log($\"Player {Home.Id} saved in {st.ElapsedMilliseconds}ms.\", GetType(), ErrorLevel.Debug);\n#else\n            Resources.ObjectCache.CachePlayer(this);\n            await PlayerDb.SaveAsync(this);\n#endif\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Sessions/Location.cs",
    "content": "﻿using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Logic.Sessions\n{\n    public class Location\n    {\n        [JsonProperty(\"country\")] public string CountryName { get; set; }\n        [JsonProperty(\"countryCode\")] public string CountryCode { get; set; }\n        [JsonProperty(\"city\")] public string City { get; set; }\n\n        public static async Task<Location> GetByIpAsync(string ip)\n        {\n            try\n            {\n                //TODO: should check any local ip\n                if (ip == \"127.0.0.1\" || ip.StartsWith(\"192\")) return null;\n\n                using (var client = new HttpClient())\n                {\n                    var json = await client.GetStringAsync(\"http://ip-api.com/json/\" + ip);\n                    return JsonConvert.DeserializeObject<Location>(json);\n                }\n            }\n            catch (Exception)\n            {\n                Logger.Log($\"Couldn't track location of {ip}\", null, ErrorLevel.Error);\n                return null;\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Sessions/Session.cs",
    "content": "﻿using System;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Sessions\n{\n    public class Session\n    {\n        [JsonProperty(\"location\")] public Location Location = new Location();\n        [JsonIgnore] public DateTime SessionStart = DateTime.UtcNow;\n        [JsonProperty(\"ip\")] public string Ip { get; set; }\n        [JsonProperty(\"duration\")] public int Duration { get; set; }\n        [JsonProperty(\"startDate\")] public string StartDate { get; set; }\n        [JsonProperty(\"deviceCode\")] public string DeviceCode { get; set; }\n        [JsonProperty(\"gameVersion\")] public string GameVersion { get; set; }\n        [JsonProperty(\"sessionId\")] public string SessionId { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Time/LogicTime.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Time\n{\n    public class LogicTime\n    {\n        [JsonIgnore] public int ServerTick { get; set; }\n        [JsonIgnore] public int ClientTick { get; set; }\n\n        public bool IsClientOffSync => ServerTick + 60 < ClientTick;\n\n        public void IncreaseTick()\n        {\n            ++ClientTick;\n            ++ServerTick;\n        }\n\n        public void SetServerTick(int tick)\n        {\n            ClientTick = tick;\n            ServerTick = tick;\n        }\n\n        public void Update(float time)\n        {\n            ClientTick += (int) time * 20;\n            ServerTick += (int) time * 20;\n        }\n\n        public void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(ClientTick);\n        }\n\n        public static int GetSecondsInTicks(int seconds)\n        {\n            return seconds * 20;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Logic/Time/LogicTimer.cs",
    "content": "﻿using System;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\nusing DotNetty.Buffers;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Logic.Time\n{\n    public class LogicTimer\n    {\n        [JsonProperty(\"remainingTicks\")] public int RemainingTicks { get; set; }\n        [JsonProperty(\"totalTicks\")] public int TotalTicks { get; set; }\n        [JsonProperty(\"endTimestamp\")] public int EndTimestamp { get; set; }\n\n        [JsonIgnore] public bool IsFinished => RemainingTicks <= 0;\n        [JsonIgnore] public int RemainingSeconds => RemainingTicks <= 0 ? 0 : Math.Max((RemainingTicks + 19) / 20, 1);\n\n        public void StartTimer(int seconds)\n        {\n            TotalTicks = LogicTime.GetSecondsInTicks(seconds);\n            RemainingTicks = TotalTicks;\n            EndTimestamp = TimeUtils.CurrentUnixTimestamp + seconds;\n        }\n\n        public void Decode(IByteBuffer packet)\n        {\n            RemainingTicks = packet.ReadVInt();\n            TotalTicks = packet.ReadVInt();\n            EndTimestamp = packet.ReadVInt();\n        }\n\n        public void Encode(IByteBuffer packet)\n        {\n            packet.WriteVInt(RemainingTicks);\n            packet.WriteVInt(TotalTicks);\n            packet.WriteVInt(EndTimestamp);\n        }\n\n        public void Tick()\n        {\n            if (RemainingTicks > 0) RemainingTicks--;\n        }\n\n        public void AdjustEndSubTick(int ticks)\n        {\n            RemainingTicks = RemainingTicks - ticks <= 0 ? 0 : -ticks;\n        }\n\n        public void FastForward(int seconds)\n        {\n            if (RemainingTicks > 0) AdjustEndSubTick(LogicTime.GetSecondsInTicks(seconds));\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/NLog.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<nlog xmlns=\"http://www.nlog-project.org/schemas/NLog.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n      xsi:schemaLocation=\"http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd\" autoReload=\"true\"\n      throwExceptions=\"false\" internalLogLevel=\"Off\">\n  <targets>\n    <target name=\"infoFile\" xsi:type=\"File\" fileName=\"Logs/Infos_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Infos_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"warningFile\" xsi:type=\"File\" fileName=\"Logs/Warnings_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Warning_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"errorFile\" xsi:type=\"File\" fileName=\"Logs/Errors_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Errors_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"debugFile\" xsi:type=\"File\" fileName=\"Logs/Debug_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Debug_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n  </targets>\n  <rules>\n    <logger name=\"*\" level=\"Info\" writeTo=\"infoFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Warn\" writeTo=\"warningFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Error\" writeTo=\"errorFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Debug\" writeTo=\"debugFile\" enabled=\"true\" />\n  </rules>\n</nlog>"
  },
  {
    "path": "src/ClashRoyale/Program.cs",
    "content": "﻿using System;\nusing System.Threading;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale\n{\n    public static class Program\n    {\n        private static void Main()\n        {\n            Console.Title = \"ClashRoyale Server Emulator\";\n\n            Console.WriteLine(\n                \"\\n______________             ______ ________                     ______     \\r\\n__  ____/__  /_____ __________  /____  __ \\\\__________  _______ ___  /____ \\r\\n_  /    __  /_  __ `/_  ___/_  __ \\\\_  /_/ /  __ \\\\_  / / /  __ `/_  /_  _ \\\\\\r\\n/ /___  _  / / /_/ /_(__  )_  / / /  _, _// /_/ /  /_/ // /_/ /_  / /  __/\\r\\n\\\\____/  /_/  \\\\__,_/ /____/ /_/ /_//_/ |_| \\\\____/_\\\\__, / \\\\__,_/ /_/  \\\\___/ \\r\\n                                                /____/                    \\n\\n\");\n\n            Resources.Initialize();\n\n            if (ServerUtils.IsLinux())\n            {\n                Thread.Sleep(Timeout.Infinite);\n            }\n            else\n            {\n                Logger.Log(\"Press any key to shutdown the server.\", null);\n                Console.Read();\n            }\n\n            Shutdown();\n        }\n\n        public static async void Shutdown()\n        {\n            Console.WriteLine(\"Shutting down...\");\n\n            await Resources.Netty.Shutdown();\n\n            try\n            {\n                Console.WriteLine(\"Saving players...\");\n\n                lock (Resources.Players.SyncObject)\n                {\n                    foreach (var player in Resources.Players.Values) player.Save();\n                }\n\n                Console.WriteLine(\"All players saved.\");\n            }\n            catch (Exception)\n            {\n                Console.WriteLine(\"Couldn't save all players.\");\n            }\n\n            await Resources.Netty.ShutdownWorkers();\n        }\n\n        public static void Exit()\n        {\n            Environment.Exit(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Properties/launchSettings.json",
    "content": "{\n  \"profiles\": {\n    \"ClashRoyale\": {\n      \"commandName\": \"Project\",\n      \"nativeDebugging\": false\n    },\n    \"Docker\": {\n      \"commandName\": \"Docker\"\n    }\n  }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicBuyChestCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.Chests.Items;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicBuyChestCommand : LogicCommand\n    {\n        public LogicBuyChestCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int InstanceId { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt(); // ClassId\n            InstanceId = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            var chest = Device.Player.Home.Chests.BuyChest(InstanceId, Chest.ChestType.Shop);\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new ChestDataCommand(Device)\n                {\n                    Chest = chest\n                }\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicBuyResourcePackCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicBuyResourcePackCommand : LogicCommand\n    {\n        public LogicBuyResourcePackCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt(); // 0\n\n            Reader.ReadVInt(); // 19\n            Reader.ReadVInt(); // 1\n        }\n\n        public override async void Process()\n        {\n            await new ServerErrorMessage(Device)\n            {\n                Message = \"Not implemented yet.\"\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicBuyResourcesCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicBuyResourcesCommand : LogicCommand\n    {\n        public LogicBuyResourcesCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int ResourceInstanceId { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt(); // ResourceClassId\n            ResourceInstanceId = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.Player.Home.BuyResourcePack(ResourceInstanceId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicBuySpellCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicBuySpellCommand : LogicCommand\n    {\n        public LogicBuySpellCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int Amount { get; set; }\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n        public int Index { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt();\n\n            Amount = Reader.ReadVInt();\n            ClassId = Reader.ReadVInt();\n            InstanceId = Reader.ReadVInt();\n            Index = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.Player.Home.Shop.BuyItem(Amount, ClassId, InstanceId, Index);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicChallengeCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicChallengeCommand : LogicCommand\n    {\n        public LogicChallengeCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public string Message { get; set; }\n        public int Arena { get; set; }\n        public int GameMode { get; set; }\n\n        public override void Decode()\n        {\n            Message = Reader.ReadScString();\n            Reader.ReadBoolean();\n\n            Reader.ReadVInt(); // ClassId\n            GameMode = Reader.ReadVInt(); // InstanceId\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt();\n\n            Arena = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            if (GameMode == 0)\n            {\n                var home = Device.Player.Home;\n                var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n\n                if (alliance == null) return;\n\n                var entry = new ChallengeStreamEntry\n                {\n                    Message = Message,\n                    Arena = Arena + 1\n                };\n\n                entry.SetSender(Device.Player);\n                alliance.AddEntry(entry);\n            }\n            else\n            {\n                await new MatchmakeFailedMessage(Device).SendAsync();\n                await new CancelMatchmakeDoneMessage(Device).SendAsync();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicChestNextCardCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicChestNextCardCommand : LogicCommand\n    {\n        public LogicChestNextCardCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicCollectCrownChestCommand.cs",
    "content": "﻿using System;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.Chests.Items;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicCollectCrownChestCommand : LogicCommand\n    {\n        public LogicCollectCrownChestCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new ChestDataCommand(Device)\n                {\n                    Chest = home.Chests.BuyChest(1, Chest.ChestType.Crown)\n                }\n            }.SendAsync();\n\n            home.Crowns -= Csv.Tables.Get(Csv.Files.Globals).GetData<Globals>(\"CROWN_CHEST_CROWN_COUNT\").NumberValue;\n            home.CrownChestCooldown = DateTime.UtcNow.AddHours(Csv.Tables.Get(Csv.Files.Globals).GetData<Globals>(\"CROWN_CHEST_COOLDOWN_HOURS\").NumberValue);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicCollectFreeChestCommand.cs",
    "content": "﻿using System;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.Chests.Items;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicCollectFreeChestCommand : LogicCommand\n    {\n        public LogicCollectFreeChestCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n\n            if (!home.IsSecondFreeChestAvailable())\n            {\n                home.FreeChestTime = home.FreeChestTime.AddHours(4);\n            }\n            else if (home.IsFirstFreeChestAvailable())\n            {\n                home.FreeChestTime = DateTime.UtcNow.Subtract(TimeSpan.FromHours(4));\n            }\n            else\n            {\n                Device.Disconnect();\n                return;\n            }\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new ChestDataCommand(Device)\n                {\n                    Chest = Device.Player.Home.Chests.BuyChest(1, Chest.ChestType.Free)\n                }\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicCopyDeckCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicCopyDeckCommand : LogicCommand\n    {\n        public LogicCopyDeckCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int Count { get; set; }\n        public int Slot { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Slot = Reader.ReadVInt();\n            Count = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            var deck = Device.Player.Home.Deck;\n\n            deck.SwitchDeck(Slot);\n\n            for (var i = 0; i < Count; i++)\n            {\n                var globalId = Reader.ReadVInt();\n                var offset = deck.GetCardOffset(globalId) - 8;\n\n                if (offset != i && offset > -1)\n                    deck.SwapCard(offset, i);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicFreeWorkerCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicFreeWorkerCommand : LogicCommand\n    {\n        public LogicFreeWorkerCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Reader.ReadVInt();\n\n            ClassId = Reader.ReadVInt();\n            InstanceId = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.Player.Home.Deck.SawCard(ClassId, InstanceId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicFuseSpellsCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicFuseSpellsCommand : LogicCommand\n    {\n        public LogicFuseSpellsCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            ClassId = Reader.ReadVInt();\n            InstanceId = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.Player.Home.Deck.UpgradeCard(ClassId, InstanceId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicKickAllianceMemberCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicKickAllianceMemberCommand : LogicCommand\n    {\n        public LogicKickAllianceMemberCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public long MemberId { get; set; }\n        public string Message { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Message = Reader.ReadScString();\n\n            MemberId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n\n            var member = alliance?.GetMember(MemberId);\n            if (member == null) return;\n\n            var player = await member.GetPlayerAsync();\n            if (player == null) return;\n\n            var entry = new AllianceEventStreamEntry\n            {\n                EventType = AllianceEventStreamEntry.Type.Kick\n            };\n\n            entry.SetTarget(Device.Player);\n            entry.SetSender(player);\n\n            alliance.AddEntry(entry);\n            alliance.Remove(MemberId);\n\n            player.Home.AllianceInfo.Reset();\n\n            player.Save();\n            alliance.Save();\n\n            if (player.Device != null)\n                await new AvailableServerCommand(player.Device)\n                {\n                    Command = new LogicLeaveAllianceCommand(player.Device)\n                    {\n                        AllianceId = alliance.Id,\n                        IsKick = true\n                    }\n                }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicSelectDeckCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicSelectDeckCommand : LogicCommand\n    {\n        public LogicSelectDeckCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int DeckIndex { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            DeckIndex = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            var home = Device.Player.Home;\n            home.Deck.SwitchDeck(DeckIndex);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/LogicSwapSpellsCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class LogicSwapSpellsCommand : LogicCommand\n    {\n        public LogicSwapSpellsCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public int CardOffset { get; set; }\n        public int DeckOffset { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            CardOffset = Reader.ReadVInt();\n            DeckOffset = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.Player.Home.Deck.SwapCard(CardOffset, DeckOffset);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/StartMatchmakeCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class StartMatchmakeCommand : LogicCommand\n    {\n        public StartMatchmakeCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public bool Is2V2 { get; set; }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Reader.ReadVInt();\n            Reader.ReadVInt();\n\n            Is2V2 = Reader.ReadBoolean();\n        }\n\n        public override void Process()\n        {\n            if (Is2V2)\n            {\n                //await new MatchmakeFailedMessage(Device).SendAsync();\n                //await new CancelMatchmakeDoneMessage(Device).SendAsync();\n\n                var players = Resources.DuoBattles.Dequeue;\n                if (players != null)\n                {\n                    players.Add(Device.Player);\n\n                    var battle = new LogicBattle(false,Device.Player.Home.Arena.CurrentArena + 1, players);\n\n                    Resources.DuoBattles.Add(battle);\n\n                    foreach (var player in players)\n                    {\n                        player.Battle = battle;\n                    }\n\n                    battle.Start();\n                }\n                else\n                {\n                    Resources.DuoBattles.Enqueue(Device.Player);\n                }\n            }\n            else\n            {\n                var enemy = Resources.Battles.Dequeue;\n                if (enemy != null)\n                {\n                    var battle = new LogicBattle(false, enemy.Home.Arena.CurrentArena + 1)\n                    {\n                        Device.Player, enemy\n                    };\n\n                    Resources.Battles.Add(battle);\n\n                    Device.Player.Battle = battle;\n                    enemy.Battle = battle;\n\n                    battle.Start();\n                }\n                else\n                {\n                    Resources.Battles.Enqueue(Device.Player);\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Client/UnknownCommand.cs",
    "content": "﻿using System;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Client\n{\n    public class UnknownCommand : LogicCommand\n    {\n        public UnknownCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n        }\n\n        public override void Decode()\n        {\n            base.Decode();\n\n            Console.WriteLine(Reader.ReadVInt()); // 0\n            Console.WriteLine(Reader.ReadVInt()); // 7\n            Console.WriteLine(Reader.ReadVInt()); // 0\n            Console.WriteLine(Reader.ReadVInt()); // 1\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/ChestDataCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.Chests.Items;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class ChestDataCommand : LogicCommand\n    {\n        public ChestDataCommand(Device device) : base(device)\n        {\n            Type = 210;\n        }\n\n        public Chest Chest { get; set; }\n\n        public override void Encode()\n        {\n            Chest.Encode(Data);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/DoSpellCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.Decks.Items;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class DoSpellCommand : LogicCommand\n    {\n        public DoSpellCommand(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Type = 1;\n        }\n\n        public int ClientTick { get; set; }\n        public int Checksum { get; set; }\n        public int SenderHighId { get; set; }\n        public int SenderLowId { get; set; }\n        public int SpellDeckIndex { get; set; }\n        public int SpellIndex { get; set; }\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n        public int TroopLevel { get; set; }\n        public int X { get; set; }\n        public int Y { get; set; }\n\n        public override void Decode()\n        {\n            // Header\n            {\n                ClientTick = Reader.ReadVInt();\n                Checksum = Reader.ReadVInt();\n\n                SenderHighId = Reader.ReadVInt();\n                SenderLowId = Reader.ReadVInt();\n            }\n\n            SpellDeckIndex = Reader.ReadVInt();\n\n            ClassId = Reader.ReadVInt();\n            InstanceId = Reader.ReadVInt();\n\n            SpellIndex = Reader.ReadVInt();\n\n            TroopLevel = Reader.ReadVInt();\n\n            X = Reader.ReadVInt();\n            Y = Reader.ReadVInt();\n        }\n\n        public override void Encode()\n        {\n            // Header\n            {\n                Data.WriteVInt(Type);\n\n                Data.WriteVInt(ClientTick);\n                Data.WriteVInt(Checksum);\n\n                Data.WriteVInt(SenderHighId);\n                Data.WriteVInt(SenderLowId);\n            }\n\n            Data.WriteVInt(SpellDeckIndex);\n\n            Data.WriteVInt(ClassId);\n            Data.WriteVInt(InstanceId);\n\n            Data.WriteVInt(SpellIndex);\n        }\n\n        public override void Process()\n        {\n            var battle = Device.Player.Battle;\n            if (battle == null) return;\n\n            var data = Data.ReadBytes(Data.ReadableBytes).Array;\n\n            var buffer = Unpooled.Buffer(9);\n            {\n                buffer.WriteBytes(data);\n\n                buffer.WriteVInt(TroopLevel);\n\n                buffer.WriteVInt(X);\n                buffer.WriteVInt(Y);\n\n                battle.GetOwnQueue(Device.Player.Home.Id).Enqueue(buffer.Array);\n            }\n\n            var enemyBuffer = Unpooled.Buffer(9);\n            {\n                enemyBuffer.WriteBytes(data);\n\n                enemyBuffer.WriteVInt(1); // IsAttack\n                {\n                    enemyBuffer.WriteVInt(Card.Id(ClassId, InstanceId));\n                }\n\n                enemyBuffer.WriteVInt(TroopLevel);\n\n                enemyBuffer.WriteVInt(X);\n                enemyBuffer.WriteVInt(Y);\n\n                if (battle.Is2V2)\n                {\n                    var others = battle.GetOtherQueues(Device.Player.Home.Id);\n\n                    foreach (var queue in others)\n                    {\n                        queue.Enqueue(enemyBuffer.Array);\n                    }\n                }\n                else \n                    battle.GetEnemyQueue(Device.Player.Home.Id).Enqueue(enemyBuffer.Array);\n            }\n\n            //battle.Replay.AddCommand(Type, ClientTick - 20, ClientTick, SenderHighId, SenderLowId, ClassId * 1000000 + InstanceId, X, Y, SpellDeckIndex);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicAllianceSettingsChangedCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicAllianceSettingsChangedCommand : LogicCommand\n    {\n        public LogicAllianceSettingsChangedCommand(Device device) : base(device)\n        {\n            Type = 212;\n        }\n\n        public long AllianceId { get; set; }\n        public int AllianceBadge { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteLong(AllianceId);\n\n            Data.WriteVInt(16);\n            Data.WriteVInt(AllianceBadge);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicChangeAllianceRoleCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicChangeAllianceRoleCommand : LogicCommand\n    {\n        public LogicChangeAllianceRoleCommand(Device device) : base(device)\n        {\n            Type = 207;\n        }\n\n        public long AllianceId { get; set; }\n        public int NewRole { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteLong(AllianceId);\n            Data.WriteVInt(NewRole);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicChangeNameCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicChangeNameCommand : LogicCommand\n    {\n        public LogicChangeNameCommand(Device device) : base(device)\n        {\n            Type = 201;\n        }\n\n        public int NameSet { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteScString(Device.Player.Home.Name);\n            Data.WriteInt(NameSet);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicDiamondsAddedCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicDiamondsAddedCommand : LogicCommand\n    {\n        public LogicDiamondsAddedCommand(Device device) : base(device)\n        {\n            Type = 202;\n        }\n\n        public int Diamonds { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteVInt(0);\n            Data.WriteVInt(Diamonds);\n            Data.WriteScString(\"GPA.0000-0000-0000-00000\");\n            Data.WriteVInt(1);\n\n            Data.WriteNullVInt(2);\n            Data.WriteVInt(0);\n            Data.WriteVInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicJoinAllianceCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicJoinAllianceCommand : LogicCommand\n    {\n        public LogicJoinAllianceCommand(Device device) : base(device)\n        {\n            Type = 206;\n        }\n\n        public long AllianceId { get; set; }\n        public string AllianceName { get; set; }\n        public int AllianceBadge { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteLong(AllianceId);\n            Data.WriteScString(AllianceName);\n\n            Data.WriteVInt(16);\n            Data.WriteVInt(AllianceBadge);\n\n            Data.WriteVInt(0);\n            Data.WriteVInt(2);\n\n            Data.WriteNullVInt(2);\n\n            Data.WriteVInt(0);\n            Data.WriteVInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Commands/Server/LogicLeaveAllianceCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Commands.Server\n{\n    public class LogicLeaveAllianceCommand : LogicCommand\n    {\n        public LogicLeaveAllianceCommand(Device device) : base(device)\n        {\n            Type = 205;\n        }\n\n        public long AllianceId { get; set; }\n        public bool IsKick { get; set; }\n\n        public override void Encode()\n        {\n            Data.WriteLong(AllianceId);\n\n            Data.WriteBoolean(IsKick);\n            Data.WriteBoolean(!IsKick);\n\n            Data.WriteNullVInt(2);\n\n            Data.WriteByte(0);\n            Data.WriteByte(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/LogicCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol\n{\n    public class LogicCommand\n    {\n        public LogicCommand(Device device)\n        {\n            Device = device;\n            Data = Unpooled.Buffer();\n        }\n\n        public LogicCommand(Device device, IByteBuffer buffer)\n        {\n            Device = device;\n            Reader = buffer;\n            Data = Unpooled.Buffer();\n        }\n\n        public IByteBuffer Data { get; set; }\n        public Device Device { get; set; }\n\n        public int Type { get; set; }\n        public int Tick { get; set; }\n        public IByteBuffer Reader { get; set; }\n\n        public virtual void Decode()\n        {\n            Tick = Reader.ReadVInt();\n            Reader.ReadVInt();\n        }\n\n        public virtual void Encode()\n        {\n        }\n\n        public virtual void Process()\n        {\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/LogicCommandManager.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Protocol.Commands.Client;\nusing ClashRoyale.Protocol.Commands.Server;\n\nnamespace ClashRoyale.Protocol\n{\n    public class LogicCommandManager\n    {\n        public static Dictionary<int, Type> Commands;\n\n        static LogicCommandManager()\n        {\n            Commands = new Dictionary<int, Type>\n            {\n                {1, typeof(DoSpellCommand)},\n\n                {500, typeof(LogicSwapSpellsCommand)},\n                {501, typeof(LogicSelectDeckCommand)},\n                {504, typeof(LogicFuseSpellsCommand)},\n                {507, typeof(LogicBuyResourcePackCommand)},\n                {509, typeof(LogicCollectFreeChestCommand)},\n                {511, typeof(LogicCollectCrownChestCommand)},\n                {513, typeof(LogicFreeWorkerCommand)},\n                {514, typeof(LogicKickAllianceMemberCommand)},\n                {516, typeof(LogicBuyChestCommand)},\n                {517, typeof(LogicBuyResourcesCommand)},\n                {518, typeof(LogicBuySpellCommand)},\n                //{520, typeof(LogicShopSeenCommand)},\n                //{521, typeof(LogicSendAllianceMailCommand)},\n                {522, typeof(LogicChallengeCommand)},\n                {525, typeof(StartMatchmakeCommand)},\n                {526, typeof(LogicChestNextCardCommand)},\n                {529, typeof(LogicCopyDeckCommand)},\n                //{557, typeof(UnknownCommand)} // NewLeaguePopupSeen?\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/LogicScrollMessageFactory.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Protocol.Messages.Client;\nusing ClashRoyale.Protocol.Messages.Client.Alliance;\nusing ClashRoyale.Protocol.Messages.Client.Home;\nusing ClashRoyale.Protocol.Messages.Client.Login;\nusing ClashRoyale.Protocol.Messages.Client.Sector;\nusing ClashRoyale.Protocol.Messages.Client.Tournament;\n\nnamespace ClashRoyale.Protocol\n{\n    public class LogicScrollMessageFactory\n    {\n        public static Dictionary<int, Type> Messages;\n\n        static LogicScrollMessageFactory()\n        {\n            Messages = new Dictionary<int, Type>\n            {\n                {10100, typeof(ClientHelloMessage)},\n                {10101, typeof(LoginMessage)},\n                {10107, typeof(ClientCapabilitiesMessage)},\n                {10108, typeof(KeepAliveMessage)},\n                //{10112, typeof(AuthenticationCheckMessage)},\n                {10113, typeof(SetDeviceTokenMessage)},\n                //{10116, typeof(ResetAccountMessage)},\n                //{10117, typeof(ReportUserMessage)},\n                //{10118, typeof(AccountSwitchedMessage)},\n                //{10121, typeof(UnlockAccountMessage)},\n                //{10150, typeof(AppleBillingRequestMessage)},\n                //{10151, typeof(GoogleBillingRequestMessage)},\n                //{10159, typeof(KunlunBillingRequestMessage)},\n                {10212, typeof(ChangeAvatarNameMessage)},\n                {10504, typeof(AskForPlayingInvitedFriendsListMessage)},\n                //{10512, typeof(AskForPlayingGamecenterFriendsMessage)},\n                //{10513, typeof(AskForPlayingFacebookFriendsMessage)},\n                {10905, typeof(InboxOpenedMessage)},\n                {12903, typeof(RequestSectorStateMessage)},\n                {12904, typeof(SectorCommandMessage)},\n                //{12905, typeof(GetCurrentBattleReplayDataMessage)},\n                {12951, typeof(SendBattleEventMessage)},\n                {14101, typeof(GoHomeMessage)},\n                {14102, typeof(EndClientTurnMessage)},\n                {14104, typeof(StartMissionMessage)},\n                //{14105, typeof(HomeLogicStoppedMessage)},\n                {14107, typeof(CancelMatchmakeMessage)},\n                {14113, typeof(VisitHomeMessage)},\n                {14114, typeof(HomeBattleReplayMessage)},\n                //{14117, typeof(HomeBattleReplayViewedMessage)},\n                {14120, typeof(AcceptChallengeMessage)},\n                {14123, typeof(CancelChallengeMessage)},\n                //{14201, typeof(BindFacebookAccountMessage)},\n                //{14211, typeof(UnbindFacebookAccountMessage)},\n                //{14212, typeof(BindGamecenterAccountMessage)},\n                {14262, typeof(BindGoogleServiceAccountMessage)},\n\n                {14301, typeof(CreateAllianceMessage)},\n                {14302, typeof(AskForAllianceDataMessage)},\n                {14303, typeof(AskForJoinableAlliancesListMessage)},\n                {14304, typeof(AskForAllianceStreamMessage)},\n                {14305, typeof(JoinAllianceMessage)},\n                {14306, typeof(ChangeAllianceMemberRoleMessage)},\n                {14308, typeof(LeaveAllianceMessage)},\n                //{14310, typeof(DonateAllianceUnitMessage)},\n                {14315, typeof(ChatToAllianceStreamMessage)},\n                {14316, typeof(ChangeAllianceSettingsMessage)},\n                {14317, typeof(RequestJoinAllianceMessage)},\n                //{14318, typeof(SelectSpellsFromCoOpenMessage)},\n                //{14319, typeof(OfferChestForCoOpenMessage)},\n                {14321, typeof(RespondToAllianceJoinRequestMessage)},\n                {14322, typeof(SendAllianceInvitationMessage)},\n                //{14323, typeof(JoinAllianceUsingInvitationMessage)},\n                {14324, typeof(SearchAlliancesMessage)},\n\n                {14401, typeof(AskForAllianceRankingListMessage)},\n                {14402, typeof(AskForTvContentMessage)},\n                {14403, typeof(AskForAvatarRankingListMessage)},\n                {14404, typeof(AskForAvatarLocalRankingListMessage)},\n                {14405, typeof(AskForAvatarStreamMessage)},\n                {14406, typeof(AskForBattleReplayStreamMessage)},\n                //{14408, typeof(AskForLastAvatarTournamentResultsMessage)},\n                //{14418, typeof(RemoveAvatarStreamEntryMessage)},\n\n                {14600, typeof(AvatarNameCheckRequestMessage)},\n\n                //{16000, typeof(LogicDeviceLinkCodeRequestMessage)},\n                //{16001, typeof(LogicDeviceLinkMenuClosedMessage)},\n                //{16002, typeof(LogicDeviceLinkEnterCodeMessage)},\n                //{16003, typeof(LogicDeviceLinkConfirmYesMessage)},\n\n                {16103, typeof(AskForTournamentListMessage)}\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/AcceptChallengeMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class AcceptChallengeMessage : PiranhaMessage\n    {\n        public AcceptChallengeMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14120;\n        }\n\n        public long EntryId { get; set; }\n\n        public override void Decode()\n        {\n            EntryId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n\n            if (!(alliance?.Stream.Find(e => e.Id == EntryId && e.StreamEntryType == 10) is ChallengeStreamEntry entry)\n            ) return;\n\n            alliance.RemoveEntry(entry);\n\n            var enemy = await Resources.Players.GetPlayerAsync(entry.SenderId);\n\n            if (enemy.Device != null)\n            {\n                var battle = new LogicBattle(true, entry.Arena)\n                {\n                    Device.Player, enemy\n                };\n\n                Resources.Battles.Add(battle);\n\n                Device.Player.Battle = battle;\n                enemy.Battle = battle;\n\n                battle.Start();\n            }\n\n            alliance.Save();\n\n            // TODO: Update Entry + Battle Result + Card levels\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/AskForAllianceDataMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class AskForAllianceDataMessage : PiranhaMessage\n    {\n        public AskForAllianceDataMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14302;\n        }\n\n        public long AllianceId { get; set; }\n\n        public override void Decode()\n        {\n            AllianceId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            var alliance = await Resources.Alliances.GetAllianceAsync(AllianceId);\n\n            if (alliance != null)\n                await new AllianceDataMessage(Device)\n                {\n                    Alliance = alliance\n                }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/AskForAllianceRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class AskForAllianceRankingListMessage : PiranhaMessage\n    {\n        public AskForAllianceRankingListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14401;\n        }\n\n        public override async void Process()\n        {\n            await new AllianceRankingListMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/AskForAllianceStreamMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class AskForAllianceStreamMessage : PiranhaMessage\n    {\n        public AskForAllianceStreamMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14304;\n        }\n\n        public override async void Process()\n        {\n            var alliance = await Resources.Alliances.GetAllianceAsync(Device.Player.Home.AllianceInfo.Id);\n\n            if (alliance != null)\n                await new AllianceStreamMessage(Device)\n                {\n                    Entries = alliance.Stream\n                }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/AskForJoinableAlliancesListMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class AskForJoinableAlliancesListMessage : PiranhaMessage\n    {\n        public AskForJoinableAlliancesListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14303;\n        }\n\n        public override async void Process()\n        {\n            await new JoinableAllianceListMessage(Device)\n            {\n                Alliances = new List<Logic.Clan.Alliance>(0)\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/CancelChallengeMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class CancelChallengeMessage : PiranhaMessage\n    {\n        public CancelChallengeMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14123;\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n            if (alliance == null) return;\n\n            var entry = alliance.Stream.Find(e => e.SenderId == home.Id && e.StreamEntryType == 10);\n\n            if (entry != null) alliance.RemoveEntry(entry);\n\n            await new CancelChallengeDoneMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/ChangeAllianceMemberRoleMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class ChangeAllianceMemberRoleMessage : PiranhaMessage\n    {\n        public ChangeAllianceMemberRoleMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14306;\n        }\n\n        public long MemberId { get; set; }\n        public int NewRole { get; set; }\n\n        public override void Decode()\n        {\n            MemberId = Reader.ReadLong();\n            NewRole = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n\n            var member = alliance?.GetMember(MemberId);\n            var sender = alliance?.GetMember(home.Id);\n\n            if (member == null || sender == null) return;\n            if (!GameUtils.IsHigherRoleThan(sender.Role, member.Role)) return;\n\n            var player = await member.GetPlayerAsync();\n            if (player == null) return;\n\n            var oldRole = member.Role;\n            member.Role = NewRole;\n            player.Home.AllianceInfo.Role = NewRole;\n\n            var entry = new AllianceEventStreamEntry\n            {\n                EventType = GameUtils.IsHigherRoleThan(NewRole, oldRole)\n                    ? AllianceEventStreamEntry.Type.Promote\n                    : AllianceEventStreamEntry.Type.Demote\n            };\n\n            entry.SetTarget(Device.Player);\n            entry.SetSender(player);\n            alliance.AddEntry(entry);\n\n            if (member.IsOnline)\n                await new AvailableServerCommand(player.Device)\n                {\n                    Command = new LogicChangeAllianceRoleCommand(player.Device)\n                    {\n                        AllianceId = alliance.Id,\n                        NewRole = NewRole\n                    }\n                }.SendAsync();\n\n            if (NewRole == (int) Logic.Clan.Alliance.Role.Leader)\n            {\n                var oldLeader = await sender.GetPlayerAsync();\n\n                sender.Role = (int) Logic.Clan.Alliance.Role.CoLeader;\n                oldLeader.Home.AllianceInfo.Role = (int) Logic.Clan.Alliance.Role.CoLeader;\n\n                oldLeader.Save();\n\n                var demoteEntry = new AllianceEventStreamEntry\n                {\n                    EventType = AllianceEventStreamEntry.Type.Demote\n                };\n\n                demoteEntry.SetTarget(Device.Player);\n                demoteEntry.SetSender(Device.Player);\n                alliance.AddEntry(demoteEntry);\n            }\n\n            alliance.Save();\n            player.Save();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/ChangeAllianceSettingsMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class ChangeAllianceSettingsMessage : PiranhaMessage\n    {\n        public ChangeAllianceSettingsMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14306;\n        }\n\n        public string Description { get; set; }\n        public int Badge { get; set; }\n        public int Type { get; set; }\n        public int RequiredScore { get; set; }\n        public int Region { get; set; }\n\n        public override void Decode()\n        {\n            Description = Reader.ReadScString();\n            Reader.ReadVInt();\n            Badge = Reader.ReadVInt();\n            Type = Reader.ReadVInt();\n            RequiredScore = Reader.ReadVInt();\n            Reader.ReadVInt();\n            Region = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n            if (alliance == null) return;\n\n            var oldBadge = alliance.Badge;\n\n            alliance.Type = Type;\n            alliance.Badge = Badge;\n            alliance.Region = Region;\n            alliance.Description = Description;\n            alliance.RequiredScore = RequiredScore;\n\n            alliance.Save();\n\n            if (Badge == oldBadge) return;\n\n            foreach (var member in alliance.Members)\n            {\n                var player = await member.GetPlayerAsync();\n                if (player == null) continue;\n\n                // TODO:\n                /*if (member.IsOnline)\n                            {\n                                await new AvailableServerCommand(player.Device)\n                                {\n                                    Command = new LogicAllianceSettingsChangedCommand(player.Device)\n                                    {\n                                        AllianceId = alliance.Id,\n                                        AllianceBadge = Badge\n                                    }\n                                }.Send();\n                            }*/\n\n                player.Home.AllianceInfo.Badge = Badge;\n                player.Save();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/ChatToAllianceStreamMessage.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing ClashRoyale.Database;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Logic.Home.Decks;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class ChatToAllianceStreamMessage : PiranhaMessage\n    {\n        public ChatToAllianceStreamMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14315;\n        }\n\n        public string Message { get; set; }\n\n        public override void Decode()\n        {\n            Message = Reader.ReadScString();\n        }\n\n        public override async void Process()\n        {\n            var info = Device.Player.Home.AllianceInfo;\n            if (!info.HasAlliance) return;\n\n            var alliance = await Resources.Alliances.GetAllianceAsync(info.Id);\n            if (alliance == null) return;\n\n            if (Message.StartsWith('/'))\n            {\n                var cmd = Message.Split(' ');\n                var cmdType = cmd[0];\n                var cmdValue = 0;\n\n                if (cmd.Length > 1)\n                    if (Message.Split(' ')[1].Any(char.IsDigit))\n                        int.TryParse(Message.Split(' ')[1], out cmdValue);\n\n                switch (cmdType)\n                {\n                    case \"/max\":\n                    {\n                        var deck = Device.Player.Home.Deck;\n\n                        foreach (var card in Cards.GetAllCards())\n                        {\n                            deck.Add(card);\n\n                            for (var i = 0; i < 12; i++) deck.UpgradeCard(card.ClassId, card.InstanceId, true);\n                        }\n\n                        await new ServerErrorMessage(Device)\n                        {\n                            Message = \"Added all cards with max level\"\n                        }.SendAsync();\n\n                        break;\n                    }\n\n                    case \"/unlock\":\n                    {\n                        var deck = Device.Player.Home.Deck;\n\n                        foreach (var card in Cards.GetAllCards()) deck.Add(card);\n\n                        await new ServerErrorMessage(Device)\n                        {\n                            Message = \"Added all cards\"\n                        }.SendAsync();\n\n                        break;\n                    }\n\n                    case \"/gold\":\n                    {\n                        Device.Player.Home.Gold += cmdValue;\n                        Device.Disconnect();\n                        break;\n                    }\n\n                    case \"/status\":\n                    {\n                        await new ServerErrorMessage(Device)\n                        {\n                            Message =\n                                $\"Online Players: {Resources.Players.Count}\\nTotal Players: {await PlayerDb.CountAsync()}\\n1v1 Battles: {Resources.Battles.Count}\\n2v2 Battles: {Resources.DuoBattles.Count}\\nTotal Clans: {await AllianceDb.CountAsync()}\\nUptime: {DateTime.UtcNow.Subtract(Resources.StartTime).ToReadableString()}\"\n                        }.SendAsync();\n\n                        break;\n                    }\n\n                    /*case \"/free\":\n                    {\n                        Device.Player.Home.FreeChestTime = Device.Player.Home.FreeChestTime.Subtract(TimeSpan.FromMinutes(245));\n                        Device.Disconnect();\n                        break;\n                    }*/\n\n                        /*case \"/replay\":\n                        {\n                            await new HomeBattleReplayDataMessage(Device).SendAsync();\n                            break;\n                        }*/\n\n                        /*case \"/trophies\":\n                        {\n                            if (cmdValue >= 0)\n                                Device.Player.Home.Arena.AddTrophies(cmdValue);\n                            else if (cmdValue < 0)\n                                Device.Player.Home.Arena.RemoveTrophies(cmdValue);\n\n                            Device.Disconnect();\n                            break;\n                        }*/\n                }\n            }\n            else\n            {\n                var entry = new ChatStreamEntry\n                {\n                    Message = Message\n                };\n\n                entry.SetSender(Device.Player);\n\n                alliance.AddEntry(entry);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/CreateAllianceMessage.cs",
    "content": "﻿using ClashRoyale.Database;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class CreateAllianceMessage : PiranhaMessage\n    {\n        public CreateAllianceMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14301;\n        }\n\n        public string Name { get; set; }\n        public string Description { get; set; }\n        public int Badge { get; set; }\n        public int Type { get; set; }\n        public int RequiredScore { get; set; }\n        public int Region { get; set; }\n\n        public override void Decode()\n        {\n            Name = Reader.ReadScString();\n            Description = Reader.ReadScString();\n            Reader.ReadVInt();\n            Badge = Reader.ReadVInt();\n            Type = Reader.ReadVInt();\n            RequiredScore = Reader.ReadVInt();\n            Region = Reader.ReadVInt();\n            Region = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            var player = Device.Player;\n            if (!player.Home.UseGold(1000)) return;\n\n            var alliance = await AllianceDb.CreateAsync();\n\n            if (alliance != null)\n            {\n                alliance.Name = Name;\n                alliance.Description = Description;\n                alliance.Badge = Badge;\n                alliance.Type = Type;\n                alliance.RequiredScore = RequiredScore;\n                alliance.Region = Region;\n\n                alliance.Members.Add(\n                    new AllianceMember(player, Logic.Clan.Alliance.Role.Leader));\n\n                player.Home.AllianceInfo = alliance.GetAllianceInfo(player.Home.Id);\n\n                alliance.Save();\n                player.Save();\n\n                await new AvailableServerCommand(Device)\n                {\n                    Command = new LogicJoinAllianceCommand(Device)\n                    {\n                        AllianceId = alliance.Id,\n                        AllianceName = Name,\n                        AllianceBadge = Badge\n                    }\n                }.SendAsync();\n\n                await new AvailableServerCommand(Device)\n                {\n                    Command = new LogicChangeAllianceRoleCommand(Device)\n                    {\n                        AllianceId = alliance.Id,\n                        NewRole = 2\n                    }\n                }.SendAsync();\n\n                alliance.UpdateOnlineCount();\n            }\n            else\n            {\n                Device.Disconnect();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/JoinAllianceMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class JoinAllianceMessage : PiranhaMessage\n    {\n        public JoinAllianceMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14305;\n        }\n\n        public long AllianceId { get; set; }\n\n        public override void Decode()\n        {\n            AllianceId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            var alliance = await Resources.Alliances.GetAllianceAsync(AllianceId);\n            var home = Device.Player.Home;\n            if (alliance == null) return;\n\n            if (alliance.Members.Count <= 0 || alliance.Members.Count >= 50)\n            {\n                await new AllianceJoinFailedMessage(Device).SendAsync();\n                return;\n            }\n\n            alliance.Add(new AllianceMember(Device.Player, Logic.Clan.Alliance.Role.Member));\n\n            home.AllianceInfo = alliance.GetAllianceInfo(home.Id);\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new LogicJoinAllianceCommand(Device)\n                {\n                    AllianceId = alliance.Id,\n                    AllianceName = alliance.Name,\n                    AllianceBadge = alliance.Badge\n                }\n            }.SendAsync();\n\n            await new AllianceStreamMessage(Device)\n            {\n                Entries = alliance.Stream\n            }.SendAsync();\n\n            var entry = new AllianceEventStreamEntry\n            {\n                EventType = AllianceEventStreamEntry.Type.Join\n            };\n\n            entry.SetTarget(Device.Player);\n            entry.SetSender(Device.Player);\n            alliance.AddEntry(entry);\n\n            alliance.Save();\n            Device.Player.Save();\n\n            alliance.UpdateOnlineCount();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/LeaveAllianceMessage.cs",
    "content": "﻿using ClashRoyale.Database;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class LeaveAllianceMessage : PiranhaMessage\n    {\n        public LeaveAllianceMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14308;\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n            if (alliance == null) return;\n\n            alliance.Remove(home.Id);\n            home.AllianceInfo.Reset();\n            Device.Player.Save();\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new LogicLeaveAllianceCommand(Device)\n                {\n                    AllianceId = alliance.Id\n                }\n            }.SendAsync();\n\n            if (alliance.Members.Count != 0)\n            {\n                var entry = new AllianceEventStreamEntry\n                {\n                    EventType = AllianceEventStreamEntry.Type.Leave\n                };\n\n                entry.SetTarget(Device.Player);\n                entry.SetSender(Device.Player);\n                alliance.AddEntry(entry);\n\n                alliance.Save();\n                alliance.UpdateOnlineCount();\n            }\n            else\n            {\n                await AllianceDb.DeleteAsync(alliance.Id);\n                Resources.ObjectCache.UncacheAlliance(alliance.Id);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/RequestJoinAllianceMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class RequestJoinAllianceMessage : PiranhaMessage\n    {\n        public RequestJoinAllianceMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14317;\n        }\n\n        public long AllianceId { get; set; }\n        public string Message { get; set; }\n\n        public override void Decode()\n        {\n            AllianceId = Reader.ReadLong();\n            Message = Reader.ReadScString();\n            Reader.ReadInt();\n        }\n\n        public override async void Process()\n        {\n            var alliance = await Resources.Alliances.GetAllianceAsync(AllianceId);\n            if (alliance == null) return;\n\n            if (alliance.Members.Count <= 0 || alliance.Members.Count >= 50)\n            {\n                await new AllianceJoinRequestFailedMessage(Device).SendAsync();\n            }\n            else if (alliance.Stream.FindIndex(e =>\n                         e.StreamEntryType == 3 && e.SenderId == Device.Player.Home.Id &&\n                         ((JoinRequestAllianceStreamEntry) e).State == 1) > -1)\n            {\n                await new AllianceJoinRequestFailedMessage(Device)\n                {\n                    Reason = 2\n                }.SendAsync();\n            }\n            else\n            {\n                await new AllianceJoinRequestOkMessage(Device).SendAsync();\n\n                var entry = new JoinRequestAllianceStreamEntry\n                {\n                    Message = Message,\n                    State = 1\n                };\n\n                entry.SetTarget(Device.Player);\n                entry.SetSender(Device.Player);\n                alliance.AddEntry(entry);\n\n                alliance.Save();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/RespondToAllianceJoinRequestMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Logic.Clan.StreamEntry.Entries;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class RespondToAllianceJoinRequestMessage : PiranhaMessage\n    {\n        public RespondToAllianceJoinRequestMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14321;\n        }\n\n        public long StreamId { get; set; }\n        public bool Accepted { get; set; }\n\n        public override void Decode()\n        {\n            StreamId = Reader.ReadLong();\n            Accepted = Reader.ReadBoolean();\n        }\n\n        public override async void Process()\n        {\n            var home = Device.Player.Home;\n            var alliance = await Resources.Alliances.GetAllianceAsync(home.AllianceInfo.Id);\n\n            var entry = alliance?.Stream.Find(e => e.Id == StreamId);\n            if (entry == null) return;\n\n            alliance.RemoveEntry(entry);\n\n            var newEntry = (JoinRequestAllianceStreamEntry) entry;\n            newEntry.State = Accepted ? 2 : 0;\n\n            newEntry.SetTarget(Device.Player);\n\n            alliance.AddEntry(newEntry);\n\n            if (Accepted)\n            {\n                var player = await Resources.Players.GetPlayerAsync(newEntry.SenderId);\n                alliance.Add(new AllianceMember(player, Logic.Clan.Alliance.Role.Member));\n\n                player.Home.AllianceInfo = alliance.GetAllianceInfo(player.Home.Id);\n\n                if (player.Device != null)\n                {\n                    await new AvailableServerCommand(player.Device)\n                    {\n                        Command = new LogicJoinAllianceCommand(player.Device)\n                        {\n                            AllianceId = alliance.Id,\n                            AllianceName = alliance.Name,\n                            AllianceBadge = alliance.Badge\n                        }\n                    }.SendAsync();\n\n                    await new AllianceStreamMessage(player.Device)\n                    {\n                        Entries = alliance.Stream\n                    }.SendAsync();\n                }\n\n                player.Save();\n            }\n\n            alliance.Save();\n            alliance.UpdateOnlineCount();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/SearchAlliancesMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class SearchAlliancesMessage : PiranhaMessage\n    {\n        public SearchAlliancesMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14324;\n        }\n\n        public override async void Process()\n        {\n            // TODO:\n            await new AllianceListMessage(Device)\n            {\n                Alliances = new List<Logic.Clan.Alliance>(0)\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Alliance/SendAllianceInvitationMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Alliance\n{\n    public class SendAllianceInvitationMessage : PiranhaMessage\n    {\n        public SendAllianceInvitationMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14322;\n        }\n\n        public override async void Process()\n        {\n            await new AllianceInvitationSendFailedMessage(Device)\n            {\n                Reason = 6\n            }.SendAsync();\n\n            // TODO\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/EndClientTurnMessage.cs",
    "content": "﻿using System;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Protocol.Messages.Client\n{\n    public class EndClientTurnMessage : PiranhaMessage\n    {\n        public EndClientTurnMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14102;\n            RequiredState = Device.State.NotDefinied;\n        }\n\n        public int Tick { get; set; }\n        public int Count { get; set; }\n\n        public override void Decode()\n        {\n            Tick = Reader.ReadVInt();\n            Reader.ReadVInt();\n            Count = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            if (Tick < 0)\n            {\n                Logger.Log($\"Client Tick ({Tick}) is corrupted. Disconnecting.\", GetType(), ErrorLevel.Warning);\n                Device.Disconnect();\n                return;\n            }\n\n            if (Device.CurrentState < Device.State.Battle)\n            {\n                if (Math.Abs(Tick - Device.ServerTick) > 500)\n                {\n                    Logger.Log($\"OutOfSync! Client Tick: {Tick}, Server Tick: {Device.ServerTick}\", GetType(),\n                        ErrorLevel.Warning);\n                    Device.Disconnect();\n                    return;\n                }\n            }\n            else\n            {\n                Device.AdjustTick(Tick);\n            }\n\n            if (Count < 0 || Count > 128) return;\n\n            for (var i = 0; i < Count; i++)\n            {\n                var type = Reader.ReadVInt();\n\n                if (type < 500) break;\n\n                if (LogicCommandManager.Commands.ContainsKey(type))\n                {\n                    try\n                    {\n                        if (Activator.CreateInstance(LogicCommandManager.Commands[type], Device,\n                                Reader) is\n                            LogicCommand\n                            command)\n                        {\n                            command.Decode();\n                            command.Process();\n\n                            Logger.Log($\"Command {type} ({command.GetType().Name}) with Tick {command.Tick} has been processed.\",\n                                GetType(), ErrorLevel.Debug);\n\n                            Save = true;\n                        }\n                    }\n                    catch (Exception exception)\n                    {\n                        Logger.Log(exception, GetType(), ErrorLevel.Error);\n                    }\n                }\n                else\n                {\n                    Logger.Log(\n                        $\"Command {type} is unhandled.\",\n                        GetType(), ErrorLevel.Warning);\n                    break;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForAvatarLocalRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForAvatarLocalRankingListMessage : PiranhaMessage\n    {\n        public AskForAvatarLocalRankingListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14404;\n        }\n\n        public override async void Process()\n        {\n            await new AvatarLocalRankingListMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForAvatarRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForAvatarRankingListMessage : PiranhaMessage\n    {\n        public AskForAvatarRankingListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14403;\n        }\n\n        public override async void Process()\n        {\n            await new AvatarRankingListMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForAvatarStreamMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForAvatarStreamMessage : PiranhaMessage\n    {\n        public AskForAvatarStreamMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14405;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForBattleReplayStreamMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForBattleReplayStreamMessage : PiranhaMessage\n    {\n        public AskForBattleReplayStreamMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14406;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForPlayingInvitedFriendsListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForPlayingInvitedFriendsListMessage : PiranhaMessage\n    {\n        public AskForPlayingInvitedFriendsListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10504;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AskForTvContentMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AskForTvContentMessage : PiranhaMessage\n    {\n        public AskForTvContentMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14402;\n        }\n\n        public int ClassId { set; get; }\n        public int InstanceId { set; get; }\n\n        public override void Decode()\n        {\n            ClassId = Reader.ReadVInt();\n            InstanceId = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            await new RoyalTvContentMessage(Device)\n            {\n                ClassId = ClassId,\n                InstanceId = InstanceId\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/AvatarNameCheckRequestMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class AvatarNameCheckRequestMessage : PiranhaMessage\n    {\n        public AvatarNameCheckRequestMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14600;\n        }\n\n        public string Name { get; set; }\n\n        public override void Decode()\n        {\n            Name = Reader.ReadScString();\n        }\n\n        public override async void Process()\n        {\n            await new AvatarNameCheckResponseMessage(Device)\n            {\n                Name = Name\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/BindGoogleServiceAccountMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class BindGoogleServiceAccountMessage : PiranhaMessage\n    {\n        public BindGoogleServiceAccountMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14262;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/ChangeAvatarNameMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Commands.Server;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class ChangeAvatarNameMessage : PiranhaMessage\n    {\n        public ChangeAvatarNameMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10212;\n        }\n\n        public string Name { get; set; }\n\n        public override void Decode()\n        {\n            Name = Reader.ReadScString();\n        }\n\n        public override async void Process()\n        {\n            if (string.IsNullOrEmpty(Name)) return;\n            if (Name.Length < 2 || Name.Length > 15) return;\n\n            var home = Device.Player.Home;\n            if (home.NameSet >= 2) return;\n\n            home.Name = Name;\n\n            var info = Device.Player.Home.AllianceInfo;\n\n            if (info.HasAlliance)\n            {\n                var alliance = await Resources.Alliances.GetAllianceAsync(info.Id);\n\n                alliance.GetMember(home.Id).Name = Name;\n\n                alliance.Save();\n            }\n\n            await new AvailableServerCommand(Device)\n            {\n                Command = new LogicChangeNameCommand(Device)\n                {\n                    NameSet = home.NameSet\n                }\n            }.SendAsync();\n\n            home.NameSet++;\n\n            Device.Player.Save();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/ClientCapabilitiesMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class ClientCapabilitiesMessage : PiranhaMessage\n    {\n        public ClientCapabilitiesMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10107;\n            RequiredState = Device.State.NotDefinied;\n        }\n\n        public int Ping { get; set; }\n        public string ConnectionInterface { get; set; }\n\n        public override void Decode()\n        {\n            Ping = Reader.ReadVInt();\n            ConnectionInterface = Reader.ReadScString();\n        }\n\n        public override void Process()\n        {\n            //if (Ping >= 1000) Logger.Log($\"High latency! Ping: {Ping}.\", GetType(), ErrorLevel.Warning);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/GoHomeMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class GoHomeMessage : PiranhaMessage\n    {\n        public GoHomeMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14101;\n            Save = true;\n            RequiredState = Device.State.Battle;\n        }\n\n        public override async void Process()\n        {\n            await new OwnHomeDataMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/HomeBattleReplayMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class HomeBattleReplayMessage : PiranhaMessage\n    {\n        public HomeBattleReplayMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14114;\n        }\n\n        //public long ReplayId { get; set; }\n\n        public override void Decode()\n        {\n            //ReplayId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            await new HomeBattleReplayDataMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/InboxOpenedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class InboxOpenedMessage : PiranhaMessage\n    {\n        public InboxOpenedMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10905;\n        }\n\n        public override async void Process()\n        {\n            await new InboxListMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/SetDeviceTokenMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class SetDeviceTokenMessage : PiranhaMessage\n    {\n        public SetDeviceTokenMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10113;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Home/VisitHomeMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Home\n{\n    public class VisitHomeMessage : PiranhaMessage\n    {\n        public VisitHomeMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14113;\n        }\n\n        public long UserId { get; set; }\n\n        public override void Decode()\n        {\n            UserId = Reader.ReadLong();\n        }\n\n        public override async void Process()\n        {\n            await new VisitedHomeDataMessage(Device)\n            {\n                Player = await Resources.Players.GetPlayerAsync(UserId)\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Login/ClientHelloMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Login\n{\n    public class ClientHelloMessage : PiranhaMessage\n    {\n        public ClientHelloMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10100;\n            RequiredState = Device.State.Disconnected;\n        }\n\n        public int Protocol { get; set; }\n        public int KeyVersion { get; set; }\n        public int MajorVersion { get; set; }\n        public int MinorVersion { get; set; }\n        public int Build { get; set; }\n        public string FingerprintSha { get; set; }\n        public int DeviceType { get; set; }\n        public int AppStore { get; set; }\n\n        public override void Decrypt()\n        {\n            // already decrypted\n        }\n\n        public override void Decode()\n        {\n            Protocol = Reader.ReadInt();\n            KeyVersion = Reader.ReadInt();\n            MajorVersion = Reader.ReadInt();\n            MinorVersion = Reader.ReadInt();\n            Build = Reader.ReadInt();\n            FingerprintSha = Reader.ReadScString();\n            DeviceType = Reader.ReadInt();\n            AppStore = Reader.ReadInt();\n        }\n\n        public override async void Process()\n        {\n            if (Resources.Configuration.UseContentPatch)\n                if (FingerprintSha != Resources.Fingerprint.Sha)\n                {\n                    await new LoginFailedMessage(Device)\n                    {\n                        ErrorCode = 7,\n                        ContentUrl = Resources.Configuration.PatchUrl,\n                        ResourceFingerprintData = Resources.Fingerprint.Json,\n                        SkipCrypto = true\n                    }.SendAsync();\n                    return;\n                }\n\n\n            await new LoginFailedMessage(Device)\n            {\n                Reason =\n                    \"You are using an unpatched client. Please setup a content patch in the apk or on the server.\",\n                SkipCrypto = true\n            }.SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Login/KeepAliveMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Login\n{\n    public class KeepAliveMessage : PiranhaMessage\n    {\n        public KeepAliveMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10108;\n            RequiredState = Device.State.NotDefinied;\n        }\n\n        public override async void Process()\n        {\n            await new KeepAliveOkMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Login/LoginMessage.cs",
    "content": "﻿using System;\nusing System.Globalization;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Sessions;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Login\n{\n    public class LoginMessage : PiranhaMessage\n    {\n        public LoginMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 10101;\n            device.CurrentState = Device.State.Login;\n            RequiredState = Device.State.Login;\n        }\n\n        public long UserId { get; set; }\n        public string UserToken { get; set; }\n        public int ClientMajorVersion { get; set; }\n        public int ClientBuild { get; set; }\n        public int ClientMinorVersion { get; set; }\n        public string FingerprintSha { get; set; }\n        public string OpenUdid { get; set; }\n        public string MacAddress { get; set; }\n        public string DeviceModel { get; set; }\n        public string AdvertisingGuid { get; set; }\n        public string OsVersion { get; set; }\n        public byte IsAndroid { get; set; }\n        public string AndroidId { get; set; }\n        public string PreferredDeviceLanguage { get; set; }\n\n        public override void Decode()\n        {\n            UserId = Reader.ReadLong();\n            UserToken = Reader.ReadScString();\n\n            ClientMajorVersion = Reader.ReadVInt();\n            ClientMinorVersion = Reader.ReadVInt();\n            ClientBuild = Reader.ReadVInt();\n\n            FingerprintSha = Reader.ReadScString();\n\n            Reader.ReadInt();\n\n            OpenUdid = Reader.ReadScString();\n            MacAddress = Reader.ReadScString();\n            DeviceModel = Reader.ReadScString();\n\n            AdvertisingGuid = Reader.ReadScString();\n            OsVersion = Reader.ReadScString();\n\n            IsAndroid = Reader.ReadByte();\n\n            Reader.ReadScString();\n\n            AndroidId = Reader.ReadScString();\n            PreferredDeviceLanguage = Reader.ReadScString().Substring(3, 2);\n        }\n\n        public override async void Process()\n        {\n            if (Resources.Configuration.UseContentPatch)\n                if (FingerprintSha != Resources.Fingerprint.Sha)\n                {\n                    await new LoginFailedMessage(Device)\n                    {\n                        ErrorCode = 7,\n                        ContentUrl = Resources.Configuration.PatchUrl,\n                        ResourceFingerprintData = Resources.Fingerprint.Json\n                    }.SendAsync();\n                    return;\n                }\n\n            var player = await Resources.Players.Login(UserId, UserToken);\n\n            if (player != null)\n            {\n                Device.Player = player;\n                player.Device = Device;\n\n                var ip = Device.GetIp();\n\n                if (UserId <= 0) player.Home.CreatedIpAddress = ip;\n\n                Device.Player.Home.PreferredDeviceLanguage = PreferredDeviceLanguage;\n\n                var session = Device.Session;\n                session.Ip = ip;\n                session.GameVersion = $\"{ClientMajorVersion}.{ClientMinorVersion}\";\n                session.Location = await Location.GetByIpAsync(ip);\n                session.DeviceCode = DeviceModel;\n                session.SessionId = Guid.NewGuid().ToString();\n                session.StartDate = session.SessionStart.ToString(CultureInfo.InvariantCulture);\n\n                player.Home.TotalSessions++;\n\n                await new LoginOkMessage(Device).SendAsync();\n                await new OwnHomeDataMessage(Device).SendAsync();\n                await new AvatarStreamMessage(Device)\n                {\n                    Entries = player.Home.Stream\n                }.SendAsync();\n\n                if (!player.Home.AllianceInfo.HasAlliance) return;\n\n                var alliance = await Resources.Alliances.GetAllianceAsync(player.Home.AllianceInfo.Id);\n                if (alliance == null) return;\n\n                Resources.Alliances.Add(alliance);\n\n                await new AllianceStreamMessage(Device)\n                {\n                    Entries = alliance.Stream\n                }.SendAsync();\n\n                alliance.UpdateOnlineCount();\n            }\n            else\n            {\n                await new LoginFailedMessage(Device)\n                {\n                    Reason = \"Account not found. Please clear app data.\"\n                }.SendAsync();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Sector/CancelMatchmakeMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Sector\n{\n    public class CancelMatchmakeMessage : PiranhaMessage\n    {\n        public CancelMatchmakeMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14107;\n        }\n\n        public override async void Process()\n        {\n            if (Resources.Battles.Cancel(Device.Player))\n                await new CancelMatchmakeDoneMessage(Device).SendAsync();\n\n            if (Resources.DuoBattles.Cancel(Device.Player))\n                await new CancelMatchmakeDoneMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Sector/RequestSectorStateMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Sector\n{\n    public class RequestSectorStateMessage : PiranhaMessage\n    {\n        public RequestSectorStateMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 12903;\n            RequiredState = Device.State.Battle;\n        }\n\n        public int LastTick { get; set; }\n\n        public override void Decode()\n        {\n            LastTick = Reader.ReadVInt();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Sector/SectorCommandMessage.cs",
    "content": "﻿using System;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Sector\n{\n    public class SectorCommandMessage : PiranhaMessage\n    {\n        public SectorCommandMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 12904;\n            RequiredState = Device.State.Battle;\n        }\n\n        public int Tick { get; set; }\n        public int Count { get; set; }\n\n        public override void Decode()\n        {\n            Reader.ReadVInt();\n            Tick = Reader.ReadVInt();\n            Count = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            Device.LastSectorCommand = DateTime.UtcNow;\n\n            if (Count < 0 || Count > 128) return;\n\n            var battle = Device.Player.Battle;\n            if (battle != null)\n                if (!battle.IsRunning && !Resources.Configuration.UseUdp)\n                    battle.BattleTimer.Start();\n\n            for (var i = 0; i < Count; i++)\n            {\n                var type = Reader.ReadVInt();\n\n                if (type >= 500) break;\n\n                if (LogicCommandManager.Commands.ContainsKey(type))\n                    try\n                    {\n                        if (Activator.CreateInstance(LogicCommandManager.Commands[type], Device,\n                                Reader) is\n                            LogicCommand\n                            command)\n                        {\n                            command.Decode();\n                            command.Encode();\n                            command.Process();\n\n                            Logger.Log($\"SectorCommand {type} with Tick {Tick} has been processed.\",\n                                GetType(), ErrorLevel.Debug);\n                        }\n                    }\n                    catch (Exception exception)\n                    {\n                        Logger.Log(exception, GetType(), ErrorLevel.Error);\n                    }\n                else\n                    Logger.Log($\"SectorCommand {type} is unhandled.\", GetType(), ErrorLevel.Warning);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Sector/SendBattleEventMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Sector\n{\n    public class SendBattleEventMessage : PiranhaMessage\n    {\n        public SendBattleEventMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 12951;\n            RequiredState = Device.State.Battle;\n        }\n\n        public int Type { get; set; }\n        public int Tick { get; set; }\n\n        public int Value1 { get; set; }\n        public int Value2 { get; set; }\n\n        public int SenderHighId { get; set; }\n        public int SenderLowId { get; set; }\n\n        public int Unknown3 { get; set; }\n\n        public override void Decode()\n        {\n            Type = Reader.ReadVInt();\n            SenderHighId = Reader.ReadVInt();\n            SenderLowId = Reader.ReadVInt();\n\n            Reader.ReadVInt();\n            Tick = Reader.ReadVInt();\n            Unknown3 = Reader.ReadVInt();\n\n            Value1 = Reader.ReadVInt();\n            Value2 = Reader.ReadVInt();\n        }\n\n        public override async void Process()\n        {\n            var battle = Device.Player.Battle;\n\n            if (battle != null)\n            {\n                if (battle.Is2V2)\n                {\n                    var home = Device.Player.Home;\n\n                    switch (Type)\n                    {\n                        case 6:\n                            {\n                                var unknown = Reader.ReadVInt();\n                                var handIndex = Reader.ReadVInt();\n                                var unknown2 = Reader.ReadVInt();\n\n                                var teammate = battle.GetTeammate(home.Id);\n\n                                if (teammate != null)\n                                    await new BattleEventMessage(teammate.Device)\n                                    {\n                                        Type = Type,\n                                        Tick = Tick,\n                                        Value1 = Value1,\n                                        Value2 = Value2,\n                                        HighId = SenderHighId,\n                                        LowId = SenderLowId,\n                                        Unknown = unknown,\n                                        Unknown2 = unknown2,\n                                        Unknown3 = Unknown3,\n                                        HandIndex = handIndex\n                                    }.SendAsync();\n\n                                break;\n                            }\n\n                        case 3:\n                            {\n                                var players = battle.GetAllOthers(home.Id);\n\n                                foreach (var player in players)\n                                {\n                                    if (player?.Device != null)\n                                        await new BattleEventMessage(player.Device)\n                                        {\n                                            Type = Type,\n                                            Tick = Tick,\n                                            Value1 = Value1,\n                                            Value2 = Value2,\n                                            HighId = SenderHighId,\n                                            LowId = SenderLowId\n                                        }.SendAsync();\n                                }\n\n                                break;\n                            }\n\n                        case 1:\n                            {\n                                var teammate = battle.GetTeammate(home.Id);\n\n                                if (teammate != null)\n                                    await new BattleEventMessage(teammate.Device)\n                                    {\n                                        Type = Type,\n                                        Tick = Tick,\n                                        Value1 = Value1,\n                                        Value2 = Value2,\n                                        HighId = SenderHighId,\n                                        LowId = SenderLowId\n                                    }.SendAsync();\n\n                                break;\n                            }\n                    }\n                }\n                else\n                {\n                    var home = Device.Player.Home;\n\n                    switch (Type)\n                    {\n                        case 3:\n                        {\n                            var enemy = battle.GetEnemy(home.Id);\n\n                            if (enemy != null)\n                                await new BattleEventMessage(enemy)\n                                {\n                                    Type = Type,\n                                    Tick = Tick,\n                                    Value1 = Value1,\n                                    Value2 = Value2,\n                                    HighId = SenderHighId,\n                                    LowId = SenderLowId\n                                }.SendAsync();\n\n                            break;\n                        }\n                    }\n                }\n\n                //battle.Replay.AddEvent(Type, home.HighId, home.LowId, Tick, Value);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Sector/StartMissionMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Sector\n{\n    public class StartMissionMessage : PiranhaMessage\n    {\n        public StartMissionMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 14104;\n            RequiredState = Device.State.Home;\n        }\n\n        public override async void Process()\n        {\n            await new NpcSectorStateMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Client/Tournament/AskForTournamentListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Protocol.Messages.Server;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Protocol.Messages.Client.Tournament\n{\n    public class AskForTournamentListMessage : PiranhaMessage\n    {\n        public AskForTournamentListMessage(Device device, IByteBuffer buffer) : base(device, buffer)\n        {\n            Id = 16103;\n        }\n\n        public override async void Process()\n        {\n            await new TournamentListMessage(Device).SendAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceCreateFailedMessag.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceCreateFailedMessag : PiranhaMessage\n    {\n        public AllianceCreateFailedMessag(Device device) : base(device)\n        {\n            Id = 24332;\n        }\n\n        public int Reason { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Reason);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceDataMessage.cs",
    "content": "﻿using System.Linq;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceDataMessage : PiranhaMessage\n    {\n        public AllianceDataMessage(Device device) : base(device)\n        {\n            Id = 24301;\n        }\n\n        public Alliance Alliance { get; set; }\n\n        public override void Encode()\n        {\n            Alliance.AllianceFullEntry(Writer);\n\n            Writer.WriteVInt(Alliance.Members.Count);\n\n            foreach (var member in Alliance.Members.OrderByDescending(p => p.Score)) member.AllianceMemberEntry(Writer);\n\n            // Clan Chest\n            Writer.WriteBoolean(true);\n            Writer.WriteVInt(3); // State 0 = Preparation, 1 = Live, 2 = Over, 3 = Not active\n            Writer.WriteVInt(3600); // Seconds\n            Writer.WriteVInt(300 * 2); // Crowns/Wins\n\n            Writer.WriteInt(TimeUtils.CurrentUnixTimestamp); // Begin (+Preparation)\n            Writer.WriteInt(1594578202); // End\n\n            Writer.WriteVInt(3446115); // Low Id (?)\n            Writer.WriteVInt(1); // High Id (?)\n\n            Writer.WriteVInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceFullEntryUpdateMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceFullEntryUpdateMessage : PiranhaMessage\n    {\n        public AllianceFullEntryUpdateMessage(Device device) : base(device)\n        {\n            Id = 24324;\n        }\n\n        public Alliance Alliance { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteScString(Alliance.Description);\n            Writer.WriteVInt(Alliance.Badge);\n            Writer.WriteVInt(Alliance.Badge);\n\n            /*\n              if ( *((_DWORD *)v1 + 19) )\n  {\n    ByteStream::writeBoolean((AllianceFullEntryUpdateMessage *)((char *)v1 + 8), 1);\n    result = ChecksumEncoder::writeLong(\n               (AllianceFullEntryUpdateMessage *)((char *)v1 + 8),\n               *((const LogicLong **)v1 + 19));\n  }\n  else\n  {\n    result = ByteStream::writeBoolean((AllianceFullEntryUpdateMessage *)((char *)v1 + 8), 0);\n  }\n             */\n\n            Writer.WriteBoolean(true);\n            Writer.WriteLong(Alliance.Id);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceInvitationSendFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceInvitationSendFailedMessage : PiranhaMessage\n    {\n        public AllianceInvitationSendFailedMessage(Device device) : base(device)\n        {\n            Id = 24321;\n        }\n\n        public int Reason { get; set; }\n\n        // Reason:\n        // 2 = only Leaders and Co-Leaders can invite\n        // 4 = player already joined clan\n        // 5 = already invited\n        // 6 = inbox full\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Reason);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceInvitationSentOkMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceInvitationSentOkMessage : PiranhaMessage\n    {\n        public AllianceInvitationSentOkMessage(Device device) : base(device)\n        {\n            Id = 24322;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceJoinFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceJoinFailedMessage : PiranhaMessage\n    {\n        public AllianceJoinFailedMessage(Device device) : base(device)\n        {\n            Id = 24302;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteByte(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceJoinRequestFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceJoinRequestFailedMessage : PiranhaMessage\n    {\n        public AllianceJoinRequestFailedMessage(Device device) : base(device)\n        {\n            Id = 24320;\n        }\n\n        public int Reason { get; set; }\n\n        // Reason:\n        // 1 = Alliance closed\n        // 2 = Wait before sending another request\n        // 3 = Not enough trophies to join\n        // 4 = Banned from alliance / Old request was rejected\n        // 5 = can't join\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Reason);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceJoinRequestOkMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceJoinRequestOkMessage : PiranhaMessage\n    {\n        public AllianceJoinRequestOkMessage(Device device) : base(device)\n        {\n            Id = 24319;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceListMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceListMessage : PiranhaMessage\n    {\n        public AllianceListMessage(Device device) : base(device)\n        {\n            Id = 24310;\n        }\n\n        public List<Alliance> Alliances { get; set; }\n        public string Query { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteScString(Query);\n            Writer.WriteVInt(Alliances.Count);\n\n            foreach (var alliance in Alliances)\n            {\n                alliance.AllianceHeaderEntry(Writer);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(1);\n                Writer.WriteVInt(3);\n                Writer.WriteVInt(57);\n\n                Writer.WriteVInt(6);\n                Writer.WriteVInt(0);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceOnlineStatusUpdatedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceOnlineStatusUpdatedMessage : PiranhaMessage\n    {\n        public AllianceOnlineStatusUpdatedMessage(Device device) : base(device)\n        {\n            Id = 20207;\n        }\n\n        public int Count { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Count);\n            Writer.WriteByte(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceRankingListMessage : PiranhaMessage\n    {\n        public AllianceRankingListMessage(Device device) : base(device)\n        {\n            Id = 24401;\n        }\n\n        public override void Encode()\n        {\n            var alliances = Resources.Leaderboard.GlobalAllianceRanking;\n            var count = alliances.Count;\n\n            Writer.WriteVInt(count);\n\n            for (var i = 0; i < count; i++)\n            {\n                var alliance = alliances[i];\n\n                Writer.WriteVInt(alliance.HighId);\n                Writer.WriteVInt(alliance.LowId);\n                Writer.WriteScString(alliance.Name);\n\n                Writer.WriteVInt(i + 1);\n                Writer.WriteVInt(alliance.Score);\n                Writer.WriteVInt(200);\n\n                Writer.WriteVInt(16);\n                Writer.WriteVInt(alliance.Badge);\n\n                Writer.WriteVInt(57);\n                Writer.WriteVInt(6);\n                Writer.WriteVInt(alliance.Members.Count);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceStreamEntryMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceStreamEntryMessage : PiranhaMessage\n    {\n        public AllianceStreamEntryMessage(Device device) : base(device)\n        {\n            Id = 24312;\n        }\n\n        public AllianceStreamEntry Entry { get; set; }\n\n        public override void Encode()\n        {\n            Entry.Encode(Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceStreamEntryRemovedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceStreamEntryRemovedMessage : PiranhaMessage\n    {\n        public AllianceStreamEntryRemovedMessage(Device device) : base(device)\n        {\n            Id = 24318;\n        }\n\n        public long EntryId { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteLong(EntryId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/AllianceStreamMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan.StreamEntry;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AllianceStreamMessage : PiranhaMessage\n    {\n        public AllianceStreamMessage(Device device) : base(device)\n        {\n            Id = 24311;\n        }\n\n        public List<AllianceStreamEntry> Entries { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Entries.Count);\n\n            foreach (var entry in Entries) entry.Encode(Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/ChatAccountBanStatusMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class ChatAccountBanStatusMessage : PiranhaMessage\n    {\n        public ChatAccountBanStatusMessage(Device device) : base(device)\n        {\n            Id = 20118;\n        }\n\n        public int Reason { get; set; }\n\n        // Reason:\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Reason);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Alliance/JoinableAllianceListMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Clan;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class JoinableAllianceListMessage : PiranhaMessage\n    {\n        public JoinableAllianceListMessage(Device device) : base(device)\n        {\n            Id = 24304;\n        }\n\n        public List<Alliance> Alliances { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Alliances.Count);\n\n            foreach (var alliance in Alliances)\n            {\n                alliance.AllianceHeaderEntry(Writer);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(1);\n                Writer.WriteVInt(3);\n                Writer.WriteVInt(57);\n\n                Writer.WriteVInt(6);\n                Writer.WriteVInt(0);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/AvailableServerCommand.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvailableServerCommand : PiranhaMessage\n    {\n        public AvailableServerCommand(Device device) : base(device)\n        {\n            Id = 24111;\n        }\n\n        public LogicCommand Command { get; set; }\n\n        public override void Encode()\n        {\n            Command.Encode();\n\n            Writer.WriteVInt(Command.Type);\n            Writer.WriteBytes(Command.Data);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/AvatarLocalRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarLocalRankingListMessage : PiranhaMessage\n    {\n        public AvatarLocalRankingListMessage(Device device) : base(device)\n        {\n            Id = 24404;\n        }\n\n        public override void Encode()\n        {\n            var players = Resources.Leaderboard.LocalPlayerRanking[Device.Player.Home.PreferredDeviceLanguage];\n            var count = players.Count;\n\n            Writer.WriteVInt(count);\n\n            for (var i = 0; i < count; i++)\n            {\n                var player = players[i];\n\n                Writer.WriteVInt(player.Home.HighId);\n                Writer.WriteVInt(player.Home.LowId);\n                Writer.WriteScString(player.Home.Name);\n\n                Writer.WriteVInt(count + 1);\n                Writer.WriteVInt(player.Home.Arena.Trophies);\n                Writer.WriteVInt(200);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                player.RankingEntry(Writer);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/DisconnectedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class DisconnectedMessage : PiranhaMessage\n    {\n        public DisconnectedMessage(Device device) : base(device)\n        {\n            Id = 25892;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(1);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/FacebookAccountBoundMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class FacebookAccountBoundMessage : PiranhaMessage\n    {\n        public FacebookAccountBoundMessage(Device device) : base(device)\n        {\n            Id = 24201;\n        }\n\n        public int ResultCode { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(ResultCode);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/FacebookAccountUnboundMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class FacebookAccountUnboundMessage : PiranhaMessage\n    {\n        public FacebookAccountUnboundMessage(Device device) : base(device)\n        {\n            Id = 24214;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/AvatarNameCheckResponseMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarNameCheckResponseMessage : PiranhaMessage\n    {\n        public AvatarNameCheckResponseMessage(Device device) : base(device)\n        {\n            Id = 20300;\n        }\n\n        public string Name { get; set; }\n\n        // Errorcodes:\n        // 1 = invalid\n        // 2 = too short\n        // 3 = already changed\n        // 4 = invalid mirror\n        // 5 = low level\n\n        public override void Encode()\n        {\n            Writer.WriteBoolean(false); // IsValid\n            Writer.WriteInt(0); // ErrorCode\n            Writer.WriteScString(Name);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/AvatarRankingListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarRankingListMessage : PiranhaMessage\n    {\n        public AvatarRankingListMessage(Device device) : base(device)\n        {\n            Id = 24403;\n        }\n\n        public override void Encode()\n        {\n            var players = Resources.Leaderboard.GlobalPlayerRanking;\n            var count = players.Count;\n\n            Writer.WriteVInt(count);\n\n            for (var i = 0; i < count; i++)\n            {\n                var player = players[i];\n\n                Writer.WriteVInt(player.Home.HighId);\n                Writer.WriteVInt(player.Home.LowId);\n                Writer.WriteScString(player.Home.Name);\n\n                Writer.WriteVInt(i + 1);\n                Writer.WriteVInt(player.Home.Arena.Trophies);\n                Writer.WriteVInt(200);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                player.RankingEntry(Writer);\n            }\n\n            Writer.WriteInt(0);\n            Writer.WriteInt(TimeUtils.GetSecondsUntilNextMonth);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/AvatarStreamEntryMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.StreamEntry;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarStreamEntryMessage : PiranhaMessage\n    {\n        public AvatarStreamEntryMessage(Device device) : base(device)\n        {\n            Id = 24412;\n        }\n\n        public AvatarStreamEntry Entry { get; set; }\n\n        public override void Encode()\n        {\n            Entry.Encode(Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/AvatarStreamEntryRemovedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarStreamEntryRemovedMessage : PiranhaMessage\n    {\n        public AvatarStreamEntryRemovedMessage(Device device) : base(device)\n        {\n            Id = 24418;\n        }\n\n        public long StreamEntryId { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteLong(StreamEntryId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/AvatarStreamMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Logic.Home.StreamEntry;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class AvatarStreamMessage : PiranhaMessage\n    {\n        public AvatarStreamMessage(Device device) : base(device)\n        {\n            Id = 24411;\n        }\n\n        public List<AvatarStreamEntry> Entries { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Entries.Count);\n\n            foreach (var entry in Entries) entry.Encode(Writer);\n\n            //Writer.WriteHex(\"2E0600000001B66446B3010000002E0014282E0000000C616C6C61687520616B6261720A93A7CF020000000028686167616E20636F726F6E6173207920646F6E64656E207072726F73F09FA499F09F8FBCF09FA59C010000002E0014282E0000000563686B63680000001E000D23570000000B6C6F732070697475646F7310AB010A00000001B81EF2CD0100000002000037EE000000064265726B616E00B792BE020000000000000347F53232000000075175C3A962656300000007756E6B6E6F776E3F0902AEDF01000000064265726B616E1E000000000000000000007F010000001E000D23570000000B6C6F732070697475646F73109202000000030F8CC8C304000000064D6963684F2A01BE030000000000000000007F0100000013000009760000000F536167726164612046616D696C6961103D0AB69CFB0200000007686963686B61730299030000000000000000007F010000001D00066EB10000000E5065727369616E20456C69746573109902128295F5050000000C526569206C6F72642031353503BE010000000000000000007F010000002F000C6B6300000006537472656574108B020600000001BBCAF45B0100000016009ED209000000075A5445204D454E0992B79C02000000003E79612070656E64656A6F7320756E616E7365206120636F6D706C6574617220656C20636F667265206170656E617320646F7320656E736572696F203F3F3F0100000016009ED2090000000979612061797564656E0000001E000D23570000000B6C6F732070697475646F7310AB010600000001BC9F4A140100000014003CC4DB0000000A436F6666692054696D650A8FFE92020000000013706F727565206C6F73207363656E64757374650100000014003CC4DB0000000C6A75616E2073686F6F7465720000001E000D23570000000B6C6F732070697475646F7310B2010600000001BCC055CF010000002A0048CC390000000C6A75616E2073686F6F74657209A9D79102000000002F746F646F73206C6F64206D69656D62726F73207469656E656E2071756520657374617220656E207665746572616E6F010000002A0048CC390000000A636F6666692074696D650000001E000D23570000000B6C6F732070697475646F7310B2010700000001CDBC8B0B0100000006000F0C420000000D4D616E75656C39373633203A760AB1D36000011A290700000001CDBC8B240100000006000F0C420000000D4D616E75656C39373633203A760AB1D36000011A290700000001CDBC8B3A0100000006000F0C420000000D4D616E75656C39373633203A760AB1D36000011A290700000001CDBC8B6A0100000006000F0C420000000D4D616E75656C39373633203A760AB0D36000011A290700000001CDBC8B840100000006000F0C420000000D4D616E75656C39373633203A760AB0D36000011A290700000001CDBC8B9F0100000006000F0C420000000D4D616E75656C39373633203A760AB0D36000011A290700000001CDBC8BCB0100000006000F0C420000000D4D616E75656C39373633203A760AB0D36000011A290700000001CDBC95890100000006000F0C420000000D4D616E75656C39373633203A760AA3D36000011A290200000001D0EC6DF10100000028006E0BDF0000000473616D69078BA73C000000044B7B22706C6179657230223A7B226163635F6869223A322C226163635F6C6F223A31343331382C226E616D65223A224265726B616E222C22616C6C69616E6365223A226C6F732070697475646F73222C227374617273223A322C2273636F7265223A323336372C2273636F72655F70223A323336372C226368657374223A31393030303037302C22616C6C695F6869223A33302C22616C6C695F6C6F223A3836313031352C22686F6D655F6869223A322C22686F6D655F6C6F223A31343331382C226261646765223A31363030303131342C227370656C6C73223A5B7B2264223A32363030303033312C226C223A387D2C7B2264223A32363030303034352C226C223A337D2C7B2264223A32363030303032312C226C223A367D2C7B2264223A32363030303032352C226C223A337D2C7B2264223A32383030303030382C226C223A387D2C7B2264223A32383030303031322C226C223A337D2C7B2264223A32363030303033327D2C7B2264223A32363030303032302C226C223A337D5D7D2C22706C6179657231223A7B226163635F6869223A34302C226163635F6C6F223A373231313939392C226E616D65223A2273616D69222C22616C6C69616E6365223A226C6F732070697475646F73222C227374617273223A312C2273636F7265223A313632382C2273636F72655F70223A313632382C22616C6C695F6869223A33302C22616C6C695F6C6F223A3836313031352C22686F6D655F6869223A34302C22686F6D655F6C6F223A373231313939392C226261646765223A31363030303131342C227370656C6C73223A5B7B2264223A32383030303030302C226C223A367D2C7B2264223A32363030303032312C226C223A367D2C7B2264223A32363030303031352C226C223A337D2C7B2264223A32383030303030382C226C223A387D2C7B2264223A32363030303031372C226C223A367D2C7B2264223A32383030303030312C226C223A387D2C7B2264223A32363030303031322C226C223A337D2C7B2264223A32363030303030342C226C223A337D5D7D2C22706C6179657232223A7B226163635F6869223A302C226163635F6C6F223A302C22616C6C695F6869223A302C22616C6C695F6C6F223A302C22686F6D655F6869223A302C22686F6D655F6C6F223A307D2C22706C6179657233223A7B226163635F6869223A302C226163635F6C6F223A302C22616C6C695F6869223A302C22616C6C695F6C6F223A302C22686F6D655F6869223A302C22686F6D655F6C6F223A307D2C226172656E61223A35343030303030392C227265706C617956223A31322C226368616C6C656E6765223A747275652C22746F75726E616D656E74223A747275652C22667269656E646C795F6368616C6C656E6765223A66616C73652C22737572766976616C223A66616C73652C2267616D655F636F6E666967223A7B22676D74223A342C22706C74223A312C2267616D656D6F6465223A37323030303030372C22743173223A302C22743273223A307D7D0000000000000700000001D1AAF8CD010000002D00340B0C00000007536F6272696E6F0AAF803200011A290700000001D1AAF9AB010000002D00340B0C00000007536F6272696E6F0AAD803200011A290700000001D218370C010000002D00340B0C00000007536F6272696E6F0AA0E72C00011A080700000001D2183733010000002D00340B0C00000007536F6272696E6F0AA0E72C00011A080700000001D2183752010000002D00340B0C00000007536F6272696E6F0AA0E72C00011A080700000001D2183778010000002D00340B0C00000007536F6272696E6F0AA0E72C00011A080700000001D21837A6010000002D00340B0C00000007536F6272696E6F0A9FE72C00011A080700000001D21837DB010000002D00340B0C00000007536F6272696E6F0A9FE72C00011A080700000001D2806E4F010000001E00E6BE6E0000000870616F6C6F6D747A068E852800011A080700000001D2806E70010000001E00E6BE6E0000000870616F6C6F6D747A068E852800011A080700000001D2806E8D010000001E00E6BE6E0000000870616F6C6F6D747A068D852800011A080700000001D2806EB1010000001E00E6BE6E0000000870616F6C6F6D747A068D852800011A080700000001D2DB874E0100000024000D31A300000005506C6174610A8E992300011A080700000001D2DB877A0100000024000D31A300000005506C6174610A8D992300011A080700000001D2DB87B70100000024000D31A300000005506C6174610A8D992300011A080700000001D2DB87DB0100000024000D31A300000005506C6174610A8D992300011A080700000001D2DB87FB0100000024000D31A300000005506C6174610A8D992300011A080700000001D2DB881D0100000024000D31A300000005506C6174610A8D992300011A080700000001D2FFC443010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D2FFC446010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D2FFC447010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D2FFC448010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D2FFC449010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D2FFC46A010000001F001A0C66000000094D616E7465636F79610996DA2100011A080700000001D3293986010000002C00A5D57E0000000C414A412043454D41524E415409B1E81F00011A080700000001D3293996010000002C00A5D57E0000000C414A412043454D41524E415409B1E81F00011A080700000001D32939B0010000002C00A5D57E0000000C414A412043454D41524E415409B1E81F00011A080700000001D32939DB010000002C00A5D57E0000000C414A412043454D41524E415409B1E81F00011A080700000001D32939F8010000002C00A5D57E0000000C414A412043454D41524E415409B0E81F00011A080700000001D3293A13010000002C00A5D57E0000000C414A412043454D41524E415409B0E81F00011A080700000001D37889F7010000001B005CA9BA0000000644616E79797909ACC61B00011A080700000001D3788A31010000001B005CA9BA0000000644616E79797909ACC61B00011A08\");\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/InboxListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class InboxListMessage : PiranhaMessage\n    {\n        public InboxListMessage(Device device) : base(device)\n        {\n            Id = 24445;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteInt(0);\n\n            //Writer.WriteHex(\"0000000100000071687474703A2F2F35366632333063366431343261643861393235662D62313734613164386662326366363930376531633734326334363037316437362E7231382E6366322E7261636B63646E2E636F6D2F696E626F782F436C617368526F79616C655F6C6F676F5F736D616C6C2E706E670000003050524F445549545320434C41534820444953504F4E49424C45532044414E53204C45204D4F4E444520454E5449455221000000840A47617264657A2064657320736F7576656E69727320647520636F6D6261742061766563206E6F732076C3AA74656D656E74732C206669677572696E65732C2070656C7563686573206574206175747265732061727469636C65732E2052656E64657A2D766F75732064616E73206C6120626F75746971756520537570657263656C6C210000000B4AE28099792076616973210000001A68747470733A2F2F73686F702E737570657263656C6C2E636F6D00000000000000000000001A687474703A2F2F3C61737365745F706174685F7570646174653E\");\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/OwnHomeDataMessage.cs",
    "content": "﻿using System;\nusing ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class OwnHomeDataMessage : PiranhaMessage\n    {\n        public OwnHomeDataMessage(Device device) : base(device)\n        {\n            Id = 24101;\n            device.CurrentState = Device.State.Home;\n            Device.LastVisitHome = DateTime.UtcNow;\n        }\n\n        public override void Encode()\n        {\n            Device.Player.LogicClientHome(Writer);\n            Device.Player.LogicClientAvatar(Writer);\n\n            Device.Player.Home.Reset();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/ReportUserStatusMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class ReportUserStatusMessage : PiranhaMessage\n    {\n        public ReportUserStatusMessage(Device device) : base(device)\n        {\n            Id = 20117;\n        }\n\n        public int ErrorCode { get; set; }\n\n        // Errorcodes:\n        // 1 = sent\n        // 2 = too much sent\n        // 3 = already reported\n        // 6 = too much clan reports sent(?)\n        // 7 = already reported(?)\n\n        public override void Encode()\n        {\n            Writer.WriteInt(ErrorCode);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/RoyalTvContentMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class RoyalTvContentMessage : PiranhaMessage\n    {\n        public RoyalTvContentMessage(Device device) : base(device)\n        {\n            Id = 24405;\n        }\n\n        public int ClassId { set; get; }\n        public int InstanceId { set; get; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(0);\n\n            //Writer.WriteHex(\"000004037B22706C6179657230223A7B226163635F6869223A32362C226163635F6C6F223A31343832313339332C226E616D65223A226E6F716F222C22616C6C69616E6365223A226C652073636F222C227374617273223A312C2273636F7265223A3734302C2273636F72655F70223A3735372C22616C6C695F6869223A302C22616C6C695F6C6F223A3635323631372C22686F6D655F6869223A32362C22686F6D655F6C6F223A31343832313339332C226261646765223A31363030303037382C227370656C6C73223A5B7B2264223A32363030303030367D2C7B2264223A32363030303032307D2C7B2264223A32383030303030347D2C7B2264223A32363030303031382C226C223A317D2C7B2264223A32363030303031317D2C7B2264223A32363030303030332C226C223A327D2C7B2264223A32363030303031342C226C223A317D2C7B2264223A32363030303031327D5D7D2C22706C6179657231223A7B226163635F6869223A35312C226163635F6C6F223A31303533343730362C226E616D65223A224A6F686E2047726179222C22616C6C69616E6365223A22D0B2D0B5D0B7D183D0BDD187D0B8D0BAD0B8222C227374617273223A332C2273636F7265223A3737392C2273636F72655F70223A3734392C22616C6C695F6869223A362C22616C6C695F6C6F223A3336313234372C22686F6D655F6869223A35312C22686F6D655F6C6F223A31303533343730362C226261646765223A31363030303137302C227370656C6C73223A5B7B2264223A32363030303030302C226C223A317D2C7B2264223A32363030303030377D2C7B2264223A32363030303031337D2C7B2264223A32363030303031387D2C7B2264223A32383030303030307D2C7B2264223A32363030303030337D2C7B2264223A32363030303030327D2C7B2264223A32363030303031357D5D7D2C22706C6179657232223A7B226163635F6869223A302C226163635F6C6F223A302C22616C6C695F6869223A302C22616C6C695F6C6F223A302C22686F6D655F6869223A302C22686F6D655F6C6F223A307D2C22706C6179657233223A7B226163635F6869223A302C226163635F6C6F223A302C22616C6C695F6869223A302C22616C6C695F6C6F223A302C22686F6D655F6869223A302C22686F6D655F6C6F223A307D2C226172656E61223A35343030303030322C227265706C617956223A36342C226368616C6C656E6765223A66616C73652C22746F75726E616D656E74223A66616C73652C22667269656E646C795F6368616C6C656E6765223A66616C73652C22737572766976616C223A66616C73652C2267616D655F636F6E666967223A7B22676D74223A312C22706C74223A312C2267616D656D6F6465223A37323030303030362C22743173223A302C22743273223A307D7D\");\n\n            /*Writer.WriteScString(\"{\\\"player0\\\":{\\\"acc_hi\\\":0,\\\"acc_lo\\\":1,\\\"name\\\":\\\"Test 1\\\",\\\"alliance\\\":\\\"Test\\\",\\\"stars\\\":1,\\\"score\\\":0,\\\"score_p\\\":30,\\\"alli_hi\\\":0,\\\"alli_lo\\\":1,\\\"home_hi\\\":0,\\\"home_lo\\\":1,\\\"badge\\\":16000078,\\\"spells\\\":[{\\\"d\\\":26000006},{\\\"d\\\":26000020},{\\\"d\\\":28000004},{\\\"d\\\":26000018,\\\"l\\\":1},{\\\"d\\\":26000011},{\\\"d\\\":26000003,\\\"l\\\":2},{\\\"d\\\":26000014,\\\"l\\\":1},{\\\"d\\\":26000012}]},\\\"player1\\\":{\\\"acc_hi\\\":0,\\\"acc_lo\\\":2,\\\"name\\\":\\\"Test 2\\\",\\\"alliance\\\":\\\"Test\\\",\\\"stars\\\":3,\\\"score\\\":30,\\\"score_p\\\":0,\\\"alli_hi\\\":0,\\\"alli_lo\\\":1,\\\"home_hi\\\":0,\\\"home_lo\\\":2,\\\"badge\\\":16000078,\\\"spells\\\":[{\\\"d\\\":26000000,\\\"l\\\":1},{\\\"d\\\":26000007},{\\\"d\\\":26000013},{\\\"d\\\":26000018},{\\\"d\\\":28000000},{\\\"d\\\":26000003},{\\\"d\\\":26000002},{\\\"d\\\":26000015}]},\\\"player2\\\":{\\\"acc_hi\\\":0,\\\"acc_lo\\\":0,\\\"alli_hi\\\":0,\\\"alli_lo\\\":0,\\\"home_hi\\\":0,\\\"home_lo\\\":0},\\\"player3\\\":{\\\"acc_hi\\\":0,\\\"acc_lo\\\":0,\\\"alli_hi\\\":0,\\\"alli_lo\\\":0,\\\"home_hi\\\":0,\\\"home_lo\\\":0},\\\"arena\\\":54000002,\\\"replayV\\\":64,\\\"challenge\\\":false,\\\"tournament\\\":false,\\\"friendly_challenge\\\":false,\\\"survival\\\":false,\\\"game_config\\\":{\\\"gmt\\\":1,\\\"plt\\\":1,\\\"gamemode\\\":72000006,\\\"t1s\\\":0,\\\"t2s\\\":0}}\");\n\n            Writer.WriteVInt(0);\n\n            // Replay Version\n            Writer.WriteVInt(3);\n            Writer.WriteVInt(377); \n            Writer.WriteVInt(8); \n\n            Writer.WriteVInt(99999); // Views\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(3600); // Age\n\n            Writer.WriteVInt(0); // ReplayShardId?\n\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(26);\n\n            Writer.WriteLong(1783956694); // ReplayId*/\n\n            Writer.WriteVInt(ClassId);\n            Writer.WriteVInt(InstanceId);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/StopHomeLogicMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class StopHomeLogicMessage : PiranhaMessage\n    {\n        public StopHomeLogicMessage(Device device) : base(device)\n        {\n            Id = 24106;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Home/VisitedHomeDataMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class VisitedHomeDataMessage : PiranhaMessage\n    {\n        public VisitedHomeDataMessage(Device device) : base(device)\n        {\n            Id = 24113;\n        }\n\n        public Player Player { get; set; }\n\n        public override void Encode()\n        {\n            if (Player == null)\n                return;\n\n            Writer.WriteVInt(8);\n            Writer.WriteShort(255);\n            Writer.WriteVInt(1);\n\n            foreach (var card in Player.Home.Deck.GetRange(0, 8))\n                card.Encode(Writer);\n\n            Writer.WriteLong(Player.Home.Id);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n\n            Player.LogicClientAvatar(Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Login/KeepAliveOkMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class KeepAliveOkMessage : PiranhaMessage\n    {\n        public KeepAliveOkMessage(Device device) : base(device)\n        {\n            Id = 20108;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Login/LoginFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class LoginFailedMessage : PiranhaMessage\n    {\n        public LoginFailedMessage(Device device) : base(device)\n        {\n            Id = 20103;\n            Version = 4;\n        }\n\n        public byte ErrorCode { get; set; }\n        public int SecondsUntilMaintenanceEnds { get; set; }\n        public string Reason { get; set; }\n        public string ResourceFingerprintData { get; set; }\n        public string ContentUrl { get; set; }\n        public string UpdateUrl { get; set; }\n        public bool SkipCrypto { get; set; }\n\n        // After login\n        // 7  = Content Update\n        // 8  = Update available\n        // 10 = Maintenance\n        // 11 = Banned\n        // 12 = Played too long\n\n        // Before login\n        // 8  = Maintenance\n        // 9  = Banned\n        // 10 = Update available\n\n        public override void Encrypt()\n        {\n            if (SkipCrypto) return;\n            base.Encrypt();\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteByte(ErrorCode); // ErrorCode\n            Writer.WriteScString(ResourceFingerprintData); // Fingerprint\n            Writer.WriteScString(null);\n            Writer.WriteScString(ContentUrl); // Content URL\n            Writer.WriteScString(UpdateUrl); // Update URL\n            Writer.WriteScString(Reason);\n            Writer.WriteVInt(SecondsUntilMaintenanceEnds);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Login/LoginOkMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class LoginOkMessage : PiranhaMessage\n    {\n        public LoginOkMessage(Device device) : base(device)\n        {\n            Id = 20104;\n            Version = 1;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteLong(Device.Player.Home.Id);\n            Writer.WriteLong(Device.Player.Home.Id);\n            Writer.WriteScString(Device.Player.Home.UserToken);\n\n            Writer.WriteScString(string.Empty); // GamecenterId\n            Writer.WriteScString(string.Empty); // FacebookId\n\n            Writer.WriteVInt(Resources.Fingerprint.GetMajorVersion);\n            Writer.WriteVInt(Resources.Fingerprint.GetBuildVersion);\n            Writer.WriteVInt(Resources.Fingerprint.GetContentVersion);\n\n            Writer.WriteScString(\"prod\");\n            Writer.WriteVInt(0); // SessionCount\n            Writer.WriteVInt(0); // PlayTime\n            Writer.WriteVInt(0); // DaysSinceStartedPlaying\n\n            Writer.WriteScString(string.Empty); // FacebookAppId\n            Writer.WriteScString(string.Empty); // ServerTime\n            Writer.WriteScString(string.Empty); // AccountCreateDate\n\n            Writer.WriteVInt(0);\n            Writer.WriteScString(\"G:1\"); // GoogleServiceId\n            Writer.WriteScString(string.Empty);\n\n            Writer.WriteScString(\"DE\");\n            Writer.WriteScString(\"Berlin\");\n\n            Writer.WriteScString(\"https://game-assets.clashroyaleapp.com\");\n            Writer.WriteScString(Resources.Configuration.PatchUrl);\n            Writer.WriteScString(\"https://event-assets.clashroyale.com\");\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Login/UnlockAccountFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class UnlockAccountFailedMessage : PiranhaMessage\n    {\n        public UnlockAccountFailedMessage(Device device) : base(device)\n        {\n            Id = 20133;\n        }\n\n        public int ErrorCode { get; set; }\n\n        // Errorcodes:\n        // 4 = invalid\n        // 5 = unavailable\n        // 10 = maintenance\n\n        public override void Encode()\n        {\n            Writer.WriteInt(ErrorCode);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/CancelChallengeDoneMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class CancelChallengeDoneMessage : PiranhaMessage\n    {\n        public CancelChallengeDoneMessage(Device device) : base(device)\n        {\n            Id = 24124;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/CancelMatchmakeDoneMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class CancelMatchmakeDoneMessage : PiranhaMessage\n    {\n        public CancelMatchmakeDoneMessage(Device device) : base(device)\n        {\n            Id = 24125;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/MatchmakeFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class MatchmakeFailedMessage : PiranhaMessage\n    {\n        public MatchmakeFailedMessage(Device device) : base(device)\n        {\n            Id = 24108;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/MatchmakeInfoMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class MatchmakeInfoMessage : PiranhaMessage\n    {\n        public MatchmakeInfoMessage(Device device) : base(device)\n        {\n            Id = 24107;\n        }\n\n        public int EstimatedDuration { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteInt(EstimatedDuration);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/PvpMatchmakeNotificationMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class PvpMatchmakeNotificationMessage : PiranhaMessage\n    {\n        public PvpMatchmakeNotificationMessage(Device device) : base(device)\n        {\n            Id = 22957;\n        }\n\n        public int LevelIndex { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(LevelIndex);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Matchmake/UdpConnectionInfoMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class UdpConnectionInfoMessage : PiranhaMessage\n    {\n        public UdpConnectionInfoMessage(Device device) : base(device)\n        {\n            Id = 24112;\n        }\n\n        public int ServerPort { get; set; }\n        public string ServerHost { get; set; }\n        public long SessionId { get; set; }\n        public string Nonce { get; set; }\n\n        // Cluster\n        public byte Gamemode { get; set; }\n        public byte Index { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(ServerPort);\n            Writer.WriteScString(ServerHost);\n\n            Writer.WriteInt(10);\n            Writer.WriteLong(SessionId);\n            Writer.WriteByte(Gamemode);\n            Writer.WriteByte(Index);\n\n            Writer.WriteScString(Nonce);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/OutOfSyncMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class OutOfSyncMessage : PiranhaMessage\n    {\n        public OutOfSyncMessage(Device device) : base(device)\n        {\n            Id = 24104;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/BattleEventMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class BattleEventMessage : PiranhaMessage\n    {\n        public BattleEventMessage(Device device) : base(device)\n        {\n            Id = 22952;\n        }\n\n        public int Tick { get; set; }\n        public int Type { get; set; }\n        public int HighId { get; set; }\n        public int LowId { get; set; }\n        public int Value1 { get; set; }\n        public int Value2 { get; set; }\n\n        public int Unknown { get; set; }\n        public int Unknown2 { get; set; }\n        public int Unknown3 { get; set; }\n        public int HandIndex { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Type);\n            Writer.WriteVInt(HighId);\n            Writer.WriteVInt(LowId);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(Tick);\n            Writer.WriteVInt(Unknown3);\n            Writer.WriteVInt(Value1);\n            Writer.WriteVInt(Value2);\n\n            if (Type == 6)\n            {\n                Writer.WriteVInt(Unknown);\n                Writer.WriteVInt(HandIndex);\n                Writer.WriteVInt(Unknown2);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/BattleResultMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class BattleResultMessage : PiranhaMessage\n    {\n        public BattleResultMessage(Device device) : base(device)\n        {\n            Id = 20225;\n        }\n\n        public int TrophyReward { get; set; }\n        public int OpponentTrophyReward { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(TrophyReward); // Trophies (Own)\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(OpponentTrophyReward); // Trophies (Opponent)\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(63);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(3);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(19);\n            Writer.WriteVInt(225);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(4);\n            Writer.WriteVInt(47);\n            Writer.WriteVInt(1260);\n            Writer.WriteVInt(1293);\n            Writer.WriteVInt(11);\n            Writer.WriteVInt(1260);\n\n            // Treasure Chest\n            Writer.WriteVInt(58);\n            Writer.WriteVInt(205);\n\n            Writer.WriteVInt(21);\n            Writer.WriteVInt(1);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/HomeBattleReplayDataMessage.cs",
    "content": "﻿using System.IO;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class HomeBattleReplayDataMessage : PiranhaMessage\n    {\n        public HomeBattleReplayDataMessage(Device device) : base(device)\n        {\n            Id = 24114;\n            Device.CurrentState = Device.State.Battle;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(0);\n\n            /*\n            // Decompressed:\n            //Writer.WriteHex(\n            //\"7B22626174746C65223A7B22676D74223A312C2267616D656D6F6465223A37323030303030362C226465636B30223A5B7B2264223A32363030303032312C2274223A32343335333838342C2263223A3231392C226C223A382C2272636E74223A32327D2C7B2264223A32383030303030382C2274223A32343339333736322C2263223A313239352C226C223A31302C226E657763223A31322C2272636E74223A32307D2C7B2264223A32383030303031312C2274223A32343438333030332C2263223A322C226C223A312C2272636E74223A32327D2C7B2264223A32363030303034362C2274223A32343834313733382C226C223A312C2272636E74223A32367D2C7B2264223A32363030303034332C2274223A32343636373539382C2263223A3230302C226C223A31312C226E657763223A322C2272636E74223A32317D2C7B2264223A32363030303031352C2274223A32343331333833302C2263223A352C226C223A342C226E657763223A312C2272636E74223A31337D2C7B2264223A32363030303033392C2274223A32343537333630372C2263223A32332C226C223A382C226E657763223A322C2272636E74223A32357D2C7B2264223A32363030303034312C2274223A32343739383735332C2263223A3336302C226C223A31302C226E657763223A3131322C2272636E74223A32397D5D2C226465636B31223A5B7B2264223A32363030303031302C2274223A32343238383836332C2263223A333731342C226C223A392C226E657763223A3139372C2272636E74223A31347D2C7B2264223A32363030303033302C2274223A32343436303430312C2263223A333734372C226C223A392C226E657763223A3135372C2272636E74223A31357D2C7B2264223A32363030303034362C2274223A2D312C226C223A312C2272636E74223A31357D2C7B2264223A32373030303030392C2274223A32343239303637362C2263223A3433322C226C223A362C226E657763223A32372C2272636E74223A31337D2C7B2264223A32383030303030302C2263223A3430302C226C223A372C2272636E74223A367D2C7B2264223A32363030303034322C2274223A32343732303536332C2263223A312C226C223A312C2272636E74223A32367D2C7B2264223A32363030303032312C2274223A32343330303731322C2263223A322C226C223A382C226E657763223A33312C2272636E74223A33337D2C7B2264223A32383030303031312C2274223A2D312C2263223A312C226C223A312C2272636E74223A32367D5D2C2261766174617230223A7B226163636F756E7449442E6869223A32302C226163636F756E7449442E6C6F223A32323634332C226578704C6576656C223A31322C22657870506F696E7473223A343130332C226E616D65223A22E5B9B8E7A68FE5AEB6E59BAD222C22636C616E5F6E616D65223A22E58C97E4BAAC222C226172656E61223A35343030303031322C226261646765223A31363030303134332C22636C616E5F69645F6869223A382C22636C616E5F69645F6C6F223A33313838387D2C2261766174617231223A7B226163636F756E7449442E6869223A31362C226163636F756E7449442E6C6F223A3532343234322C226578704C6576656C223A31322C22657870506F696E7473223A353334382C226E616D65223A224C6959616E67222C22636C616E5F6E616D65223A22E890ACE9A19EE58D9A222C226172656E61223A35343030303031322C226261646765223A31363030303130372C22636C616E5F69645F6869223A31332C22636C616E5F69645F6C6F223A3139343438367D2C226C6F636174696F6E223A31353030303031332C226172656E61223A35343030303031327D2C22656E645469636B223A333638312C22636D64223A5B7B226374223A312C2263223A7B2274223A3238312C227432223A3330312C2269644869223A32302C2269644C6F223A32323634332C22696478223A362C22676964223A32363030303033392C227078223A383530302C227079223A3530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3238322C227432223A3330322C2269644869223A31362C2269644C6F223A3532343234322C22696478223A332C22676964223A32373030303030392C227078223A393530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3436312C227432223A3438312C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A333439392C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3436312C227432223A3438312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A373439392C227079223A33313439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3532312C227432223A3534312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A372C22676964223A32383030303031312C227078223A333530302C227079223A31383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3631362C227432223A3633362C2269644869223A31362C2269644C6F223A3532343234322C22696478223A322C22676964223A32363030303034362C227078223A323439392C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3633322C227432223A3635322C2269644869223A32302C2269644C6F223A32323634332C22696478223A332C22676964223A32363030303034362C227078223A373439392C227079223A3530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3639312C227432223A3731312C2269644869223A32302C2269644C6F223A32323634332C22696478223A342C22676964223A32363030303034332C227078223A323439392C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3830342C227432223A3832342C2269644869223A31362C2269644C6F223A3532343234322C22696478223A312C22676964223A32363030303033302C227078223A373439392C227079223A32323439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3831352C227432223A3833352C2269644869223A32302C2269644C6F223A32323634332C22696478223A322C22676964223A32383030303031312C227078223A383530302C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3838312C227432223A3930312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A332C22676964223A32373030303030392C227078223A363530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3932332C227432223A3934332C2269644869223A32302C2269644C6F223A32323634332C22696478223A312C22676964223A32383030303030382C227078223A343530302C227079223A32333530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3933312C227432223A3935312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A343439392C227079223A32303439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A3936352C227432223A3938352C2269644869223A31362C2269644C6F223A3532343234322C22696478223A352C22676964223A32363030303034322C227078223A353439392C227079223A32313439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313030312C227432223A313032312C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A333439392C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313035312C227432223A313037312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A372C22676964223A32383030303031312C227078223A343530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313433342C227432223A313435342C2269644869223A31362C2269644C6F223A3532343234322C22696478223A362C22676964223A32363030303032312C227078223A31363530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313434312C227432223A313436312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A312C22676964223A32363030303033302C227078223A31353530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313434362C227432223A313436362C2269644869223A31362C2269644C6F223A3532343234322C22696478223A322C22676964223A32363030303034362C227078223A31343530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313439322C227432223A313531322C2269644869223A32302C2269644C6F223A32323634332C22696478223A332C22676964223A32363030303034362C227078223A31303530302C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313534312C227432223A313536312C2269644869223A32302C2269644C6F223A32323634332C22696478223A342C22676964223A32363030303034332C227078223A31333530302C227079223A393530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313636312C227432223A313638312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A332C22676964223A32373030303030392C227078223A393530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313731322C227432223A313733322C2269644869223A32302C2269644C6F223A32323634332C22696478223A322C22676964223A32383030303031312C227078223A31303530302C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313732332C227432223A313734332C2269644869223A31362C2269644C6F223A3532343234322C22696478223A372C22676964223A32383030303031312C227078223A31323530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313737322C227432223A313739322C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A31333530302C227079223A32303439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313831312C227432223A313833312C2269644869223A32302C2269644C6F223A32323634332C22696478223A312C22676964223A32383030303030382C227078223A31323530302C227079223A32313530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A313934342C227432223A313936342C2269644869223A31362C2269644C6F223A3532343234322C22696478223A362C22676964223A32363030303032312C227078223A31363530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323031382C227432223A323033382C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A31303530302C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323139352C227432223A323231352C2269644869223A31362C2269644C6F223A3532343234322C22696478223A352C22676964223A32363030303034322C227078223A31343530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323236372C227432223A323238372C2269644869223A32302C2269644C6F223A32323634332C22696478223A362C22676964223A32363030303033392C227078223A31333530302C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323439372C227432223A323531372C2269644869223A32302C2269644C6F223A32323634332C22696478223A352C22676964223A32363030303031352C227078223A31303530302C227079223A3530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323533312C227432223A323535312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A332C22676964223A32373030303030392C227078223A393530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323632352C227432223A323634352C2269644869223A32302C2269644C6F223A32323634332C22696478223A332C22676964223A32363030303034362C227078223A31303530302C227079223A3530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323633342C227432223A323635342C2269644869223A31362C2269644C6F223A3532343234322C22696478223A322C22676964223A32363030303034362C227078223A333439392C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323731312C227432223A323733312C2269644869223A32302C2269644C6F223A32323634332C22696478223A342C22676964223A32363030303034332C227078223A333439392C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323738312C227432223A323830312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A363439392C227079223A32383439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323739342C227432223A323831342C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A31343530302C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323832352C227432223A323834352C2269644869223A32302C2269644C6F223A32323634332C22696478223A302C22676964223A32363030303032312C227078223A333439392C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323834312C227432223A323836312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A372C22676964223A32383030303031312C227078223A31343530302C227079223A32303530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323836312C227432223A323838312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A312C22676964223A32363030303033302C227078223A393530302C227079223A32313439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323838342C227432223A323930342C2269644869223A32302C2269644C6F223A32323634332C22696478223A312C22676964223A32383030303030382C227078223A343530302C227079223A32333530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323930332C227432223A323932332C2269644869223A31362C2269644C6F223A3532343234322C22696478223A352C22676964223A32363030303034322C227078223A343439392C227079223A31393439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323934352C227432223A323936352C2269644869223A31362C2269644C6F223A3532343234322C22696478223A322C22676964223A32363030303034362C227078223A343439392C227079223A32313439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323936312C227432223A323938312C2269644869223A32302C2269644C6F223A32323634332C22696478223A332C22676964223A32363030303034362C227078223A31333530302C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A323937362C227432223A323939362C2269644869223A31362C2269644C6F223A3532343234322C22696478223A342C22676964223A32383030303030302C227078223A343530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333033312C227432223A333035312C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A31323530302C227079223A32303439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333131372C227432223A333133372C2269644869223A31362C2269644C6F223A3532343234322C22696478223A362C22676964223A32363030303032312C227078223A31363530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333132362C227432223A333134362C2269644869223A32302C2269644C6F223A32323634332C22696478223A342C22676964223A32363030303034332C227078223A323439392C227079223A31343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333135392C227432223A333137392C2269644869223A31362C2269644C6F223A3532343234322C22696478223A312C22676964223A32363030303033302C227078223A31343530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333231312C227432223A333233312C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A31343530302C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333232372C227432223A333234372C2269644869223A31362C2269644C6F223A3532343234322C22696478223A332C22676964223A32373030303030392C227078223A353530302C227079223A32323530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333236362C227432223A333238362C2269644869223A32302C2269644C6F223A32323634332C22696478223A322C22676964223A32383030303031312C227078223A31343530302C227079223A383530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333239352C227432223A333331352C2269644869223A31362C2269644C6F223A3532343234322C22696478223A372C22676964223A32383030303031312C227078223A313530302C227079223A32353530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333332322C227432223A333334322C2269644869223A32302C2269644C6F223A32323634332C22696478223A312C22676964223A32383030303030382C227078223A333530302C227079223A32343530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333337322C227432223A333339322C2269644869223A31362C2269644C6F223A3532343234322C22696478223A302C22676964223A32363030303031302C227078223A31303530302C227079223A32343439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333434342C227432223A333436342C2269644869223A31362C2269644C6F223A3532343234322C22696478223A362C22676964223A32363030303032312C227078223A31363530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333435312C227432223A333437312C2269644869223A32302C2269644C6F223A32323634332C22696478223A332C22676964223A32363030303034362C227078223A31323530302C227079223A393530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333530382C227432223A333532382C2269644869223A31362C2269644C6F223A3532343234322C22696478223A322C22676964223A32363030303034362C227078223A31333530302C227079223A31373439392C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333531312C227432223A333533312C2269644869223A32302C2269644C6F223A32323634332C22696478223A362C22676964223A32363030303033392C227078223A31343530302C227079223A393530302C22736964223A2D317D7D2C7B226374223A312C2263223A7B2274223A333537342C227432223A333539342C2269644869223A32302C2269644C6F223A32323634332C22696478223A372C22676964223A32363030303034312C227078223A31343530302C227079223A383530302C22736964223A2D317D7D5D2C22657674223A5B7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B38355D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B39395D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3234355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3233365D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3434315D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3434355D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3435345D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3530335D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3531325D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3535365D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3630385D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3631305D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3632315D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3638355D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3636355D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3737385D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3739385D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3739395D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3833395D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3837345D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3931365D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3834395D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3932335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3935315D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B3936305D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B3938385D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313034305D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313034345D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313236325D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313335345D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313433335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313433355D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313434305D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313434325D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B313438305D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B313532345D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313634385D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313635355D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B313637365D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313731325D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313731375D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313736345D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313736375D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B313734365D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313933325D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313933395D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313935355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313939355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B313939385D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323030305D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323030345D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323030355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323032325D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323033355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323036335D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323132345D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323130315D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323133355D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323134335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323134395D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323135335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323139305D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323234325D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323437355D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323438315D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323438345D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323439365D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323630315D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323632315D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323630365D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323632395D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323638385D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323736345D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323737365D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323736315D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323831375D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323830375D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323833375D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323833385D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323835355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323835385D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323837375D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323836335D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323839355D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323931355D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323932365D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323934305D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323935365D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B323934325D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B323936345D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333030335D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333032325D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333032365D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333034355D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333130395D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333131315D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333039355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333135325D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333135335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333138335D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333139395D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333230325D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333230355D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333138385D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333230385D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333231315D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333231345D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333231375D2C22706172616D73223A5B305D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333235305D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333238345D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333239305D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333330345D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333335355D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333336375D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333430335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333432315D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333433395D2C22706172616D73223A5B335D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333433325D2C22706172616D73223A5B315D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333437365D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333438305D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333438345D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333438335D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333439375D2C22706172616D73223A5B325D7D2C7B2274797065223A312C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333534395D2C22706172616D73223A5B325D7D2C7B2274797065223A332C2269645F6869223A32302C2269645F6C6F223A32323634332C227469636B73223A5B333633305D2C22706172616D73223A5B32305D7D2C7B2274797065223A332C2269645F6869223A31362C2269645F6C6F223A3532343234322C227469636B73223A5B333636335D2C22706172616D73223A5B32305D7D5D2C22726E6453656564223A2D3233373130303638392C2274696D65223A313439343431313531387D\");\n            */\n\n            var replay = File.ReadAllText(\"replay.json\");\n\n            Writer.WriteCompressedString(replay);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/NpcSectorStateMessage.cs",
    "content": "﻿using System;\nusing ClashRoyale.Extensions;\nusing ClashRoyale.Files;\nusing ClashRoyale.Files.CsvLogic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class NpcSectorStateMessage : PiranhaMessage\n    {\n        public NpcSectorStateMessage(Device device) : base(device)\n        {\n            Id = 21903;\n            device.CurrentState = Device.State.Battle;\n            device.LastVisitHome = DateTime.UtcNow;\n        }\n\n        public override void Encode()\n        {\n            const int towers = 6; // Tower Count\n\n            Writer.WriteBoolean(false); // IsCompressed\n\n            Writer.WriteVInt(0); // Time\n            Writer.WriteVInt(0); // Checksum\n            Writer.WriteVInt(TimeUtils.CurrentUnixTimestamp); // Timestamp\n            Writer.WriteVInt(11);\n\n            Writer.WriteVInt(0); // Time\n            Writer.WriteVInt(38); // Random\n\n            Writer.WriteVInt(9);\n            Writer.WriteVInt(4);\n\n            Writer.WriteVInt(7419667);\n            Writer.WriteVInt(1);\n\n            Writer.WriteNullVInt(4);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(6400); // Trophies Trainer ??\n\n            for (var i = 0; i < 13; i++) Writer.WriteByte(0);\n\n            Writer.WriteVInt(8);\n\n            for (var i = 0; i < 8; i++) Writer.WriteByte(0);\n\n            Writer.WriteVInt(10);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(2);\n\n            for (var i = 0; i < 3; i++)\n            {\n                Writer.WriteVInt(Device.Player.Home.HighId);\n                Writer.WriteVInt(Device.Player.Home.LowId);\n            }\n\n            Writer.WriteScString(Device.Player.Home.Name);\n\n            Writer.WriteHex(\n                \"08982FBE02972F0000000000200000000000080D05019A750502990B050304050400050CB90C050D00050E00050FBA0C05169F0E051991AFC6C90E051A10051C00051D9788D544000000050506843205079906050B20051409051B0A89011A00001A01001A02001A03001A04001A05001A06001A07001A08001A09001A0A001A0B001A0C001A0D001A0E001A0F001A10001A11001A12001A13001A14001A15001A16001A17001A18001A19001A1A001A1B001A1C001A1D001A1E001A1F001A20001A21001A22001A23001A24001A25001A26001A27001A28001A29001A2A001A2B001A2D001A2E001A30021B00001B01001B02001B03001B04001B05001B06001B07001B08001B09001B0A001C00001C01001C02001C03001C04001C05001C06001C07001C08001C09001C0A001C0B001C0C001C0D001C100000000B020C96AD14\");\n            Writer.WriteScString(\"Training\");\n            Writer.WriteHex(\"8B02B21F3100BC0DB20D099F010200000000020224017F7F00\");\n\n            Writer.WriteVInt(Device.Player.Home.HighId);\n            Writer.WriteVInt(Device.Player.Home.LowId);\n            Writer.WriteByte(0);\n\n            // ConstantSizeIntArray\n            {\n                Writer.WriteVInt(1);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(7);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n            }\n\n            Writer.WriteBoolean(false); // IsReplay / Type?\n            Writer.WriteBoolean(false); // IsEndConditionMatched\n            Writer.WriteBoolean(false);\n\n            Writer.WriteBoolean(true); // IsNpc\n\n            Writer.WriteBoolean(false); // isBattleEndedWithTimeOut\n            Writer.WriteBoolean(false);\n\n            Writer.WriteBoolean(false); // hasPlayerFinishedNpcLevel\n            Writer.WriteBoolean(false);\n\n            Writer.WriteBoolean(false); // isInOvertime\n            Writer.WriteBoolean(false); // isTournamentMode\n\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(towers);\n            Writer.WriteVInt(towers);\n\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(1));\n\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n            Writer.WriteData(Csv.Tables.Get(Csv.Files.Buildings).GetDataWithInstanceId<Buildings>(0));\n\n            // LogicGameObject::encodeComponent\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n\n            for (var i = 0; i < towers; i++)\n            {\n                Writer.WriteVInt(5);\n                Writer.WriteVInt(i);\n            }\n\n            // Player Right Princess Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(14500); // X\n            Writer.WriteVInt(25500); // Y\n            Writer.WriteHex(\"00007F00C07C0002000000000000\");\n\n            // Enemy Left Princess Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(3500); // X\n            Writer.WriteVInt(6500); // Y\n            Writer.WriteHex(\"00007F0080040001000000000000\");\n\n            // Player Left Princess Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(3500); // X\n            Writer.WriteVInt(25500); // Y\n            Writer.WriteHex(\"00007F00C07C0001000000000000\");\n\n            // Enemy Right Princess Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(14500); // X\n            Writer.WriteVInt(6500); // Y\n            Writer.WriteHex(\"00007F0080040002000000000000\");\n\n            // Enemy Crown Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(9000); // X\n            Writer.WriteVInt(3000); // Y\n            Writer.WriteHex(\"00007F0080040000000000000000\");\n\n            Writer.WriteHex(\"000504077F7D7F0400050401007F7F0000\");\n            Writer.WriteVInt(0); // Ms before regen mana\n            Writer.WriteVInt(6); // Mana Start \n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n\n            Writer.WriteHex(\"00007F7F7F7F7F7F7F7F00\");\n\n            // Player Crown Tower\n            Writer.WriteVInt(12);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(9000); // X\n            Writer.WriteVInt(29000); // Y\n            Writer.WriteHex(\"00007F00C07C0000000000000000\");\n\n            Writer.WriteHex(\"00050401047D010400040706007F7F0000\");\n            Writer.WriteVInt(0); // Ms before regen mana\n            Writer.WriteVInt(6); // Elexir Start Enemy\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n\n            for (var index = 0; index < 8; index++)\n                Writer.WriteVInt(-1);\n\n            for (var index = 0; index < 48; index++)\n                Writer.WriteVInt(0);\n\n            // LogicHitpointComponent\n            Writer.WriteVInt(3668); // Enemy \n            Writer.WriteVInt(0);\n            Writer.WriteVInt(3668); // Player\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(3668); // Enemy\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(3668); // Player\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(5832); // Enemy\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(5832); // Player\n            Writer.WriteVInt(0);\n\n            // LogicCharacterBuffComponent\n            for (var index = 0; index < towers; index++)\n                Writer.WriteHex(\"00000000000000A401A401\");\n\n            // Trainer\n            Writer.WriteHex(\"FF01\");\n            Device.Player.Home.Deck.EncodeAttack(Writer);\n\n            Writer.WriteByte(0);\n\n            // Player        \n            Writer.WriteHex(\"FE03\");\n            Device.Player.Home.Deck.EncodeAttack(Writer);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(5);\n            Writer.WriteVInt(6);\n            Writer.WriteVInt(2);\n            Writer.WriteVInt(2);\n            Writer.WriteVInt(4);\n            Writer.WriteVInt(2);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(3);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(6);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(9);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(12);\n\n            Writer.WriteHex(\"000000F69686FF0A002A002B\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(14500);\n            Writer.WriteVInt(25500);\n            Writer.WriteHex(\"00007F00C07C0002000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(3500);\n            Writer.WriteVInt(6500);\n            Writer.WriteHex(\"00007F0080040001000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(3500);\n            Writer.WriteVInt(25500);\n            Writer.WriteHex(\"00007F00C07C0001000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(14500);\n            Writer.WriteVInt(6500);\n            Writer.WriteHex(\"00007F0080040002000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(9000);\n            Writer.WriteVInt(3000);\n            Writer.WriteHex(\"00007F0080040000000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(5);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(0);\n\n            Writer.WriteHex(\"7F000000007F7F0000000100000000007F7F7F7F7F7F7F7F\");\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(13);\n            Writer.WriteVInt(9000);\n            Writer.WriteVInt(29000);\n            Writer.WriteHex(\"00007F00C07C0000000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(5);\n            Writer.WriteVInt(4);\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1);\n            Writer.WriteVInt(4);\n\n            Writer.WriteHex(\n                \"7F020203007F7F0000000500000000007F7F7F7F7F7F7F7F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\");\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1400);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(560);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(1400);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(560);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(960);\n\n            Writer.WriteVInt(0);\n            Writer.WriteVInt(2400);\n\n            for (var index = 0; index < towers; index++)\n                Writer.WriteHex(\"00000000000000A401A401\");\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/OpponentLeftMatchNotificationMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class OpponentLeftMatchNotificationMessage : PiranhaMessage\n    {\n        public OpponentLeftMatchNotificationMessage(Device device) : base(device)\n        {\n            Id = 20801;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/OpponentRejoinsMatchNotificationMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class OpponentRejoinsMatchNotificationMessage : PiranhaMessage\n    {\n        public OpponentRejoinsMatchNotificationMessage(Device device) : base(device)\n        {\n            Id = 20802;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/SectorHearbeatMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class SectorHearbeatMessage : PiranhaMessage\n    {\n        public SectorHearbeatMessage(Device device) : base(device)\n        {\n            Id = 21902;\n        }\n\n        public int Turn { get; set; }\n        public Queue<byte[]> Commands { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Turn);\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(Commands.Count);\n\n            for (var i = 0; i < Commands.Count; i++) Writer.WriteBytes(Commands.Dequeue());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Sector/SectorStateMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Logic.Battle;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class SectorStateMessage : PiranhaMessage\n    {\n        public SectorStateMessage(Device device) : base(device)\n        {\n            Id = 21903;\n            device.CurrentState = Device.State.Battle;\n        }\n\n        public LogicBattle Battle { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteBoolean(false); // IsCompressed\n            Writer.WriteVInt(Battle.BattleTime); // Time\n            Writer.WriteVInt(0); // Checksum\n            Writer.WriteVInt(TimeUtils.CurrentUnixTimestamp); // Timestamp\n\n            Writer.WriteVInt(11);\n            Writer.WriteVInt(0); // Time\n            Writer.WriteVInt(38); // Random\n\n            Writer.WriteVInt(9);\n\n            Writer.WriteVInt(4);\n            Writer.WriteVInt(7419667);\n\n            Writer.WriteVInt(1);\n\n            for (var p = 0; p < Battle.Count; p++)\n            {\n                var player = Battle[p];\n\n                for (var i = 0; i < 3; i++)\n                {\n                    Writer.WriteVInt(player.Home.HighId);\n                    Writer.WriteVInt(player.Home.LowId);\n                }\n\n                Writer.WriteScString(player.Home.Name); // Player Name\n                Writer.WriteVInt(player.Home.ExpLevel); // Level\n                Writer.WriteVInt(player.Home.Arena.Trophies);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(32);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(8);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(1);\n\n                var info = player.Home.AllianceInfo;\n                if (info.HasAlliance)\n                {\n                    Writer.WriteVInt(2); // Has Clan = 2\n\n                    Writer.WriteVInt(info.HighId); // HighId\n                    Writer.WriteVInt(info.LowId); // LowId\n                    Writer.WriteScString(info.Name); // Name \n                    Writer.WriteVInt(info.Badge); // Badge \n                }\n                else\n                    Writer.WriteVInt(0);\n\n                Writer.WriteVInt(29);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(2);\n\n                Writer.WriteVInt(2);\n                Writer.WriteVInt(1);\n                Writer.WriteVInt(5);\n                Writer.WriteVInt(0);\n\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(0);\n                Writer.WriteVInt(1);\n\n                if (Battle.Is2V2)\n                    Writer.WriteVInt(p == 3 ? 9 : 2);\n                else\n                    Writer.WriteVInt(p == 0 ? 2 : 0);\n            }\n\n            if (Battle.Is2V2)\n                Battle.EncodeDuo(Writer);\n            else\n                Battle.Encode(Writer);\n\n            // Challenge\n            //Writer.WriteHex(\"01B0060000789CA5535D6B1C65147EDE9939B31FB39326E6A3CD9949DD4E62D32669DDCD66376984851AA5964A2ED41B11298B59E2E2BA5B365BAC24A1F18324C4A815D39A68AD048389584AA45A83176DBDF02788A9222DBD2A82207AABE2BBDBFD78416FB467BECEFB9CE79C79CF7966B0E7D56F7E5DB62CFCB9EBDC97D797FEB81414E6BBF3C1EA05C03AFCE463C70E8F868F1D1D3D625F4D5EA48D87AE26C3581D69F0B095DC4AC2F65B24666EB5913667930E3240A12BCD64831A403BBE6EA1B6CD4672411DB3F3DF3D220B1299AB23E45B32C9EAA0961039F61B820116600DAC830D30814DB00FEC0707C041B0050E816D70037807B811DC04BE0FDC0C6E01B782DBC03BC1BBC0ED60063B6017DC01DE0DBE1F1C06EF017BE04E7017F801F05E7037781F783FB807DC0B3E003E088EB81C0527740770041C0D8E0EC78043704C383E387E38013841B8802BE06A7075B8065C826BC2F5C1F5C30DC00DEE77AD8F841B826BC36D947D07B5EEC50F44C9C91452B9F0C4897CA178E0C3E46721BCDFBEB293865B218CA7EF2C490234EDD24D51BDE4DA7C385D7821950B5EEB5A36BEEA2A31E095EF7E9BC4D224699F1BD5C97FDC509DFCDB26B59D31A97DF3A70BBF09E2405983B99A06D7F691EFAC4696472D7E7202AFDDA3063AB7EA650D164459049D7951545530CA2AE81C166509F6962568AA48509A7F7379FEC63DCC5C2FCDDC4ABA21C3B5E56C02DAEEF7DECC943EDF6C7E227C22533C39969FB82CCE369CD7B0616ED1A92B4217CEC24A1867866A63177E0D66F9B3AFCC5DB155FDE69414C2EC1495039D10F2802090208D743288FCF6DA6D71FE2D1D388DEB53D05051E962622D5DC2660C883A5627D640995E63D6B23716C5D6C10A5835E951D9395DB1BBBCF96FAB25AB46866F4A4CCB6A644A2EFE91F61FED93EEFAB9912C9D155B136BE27FBA7FE90F62503F27E43FD7E30FFB7B61CB26C8D43443137AB50D99D00484A47BE197DFEFD8E8114B728DE6C7D3E3E9DC58AAF07278E4F954369BCE8DA7B5CDEF7F5EB6363F5D58B136DFB9B56C29DBFF37BAD4707DD27B2A53CCA6BD61EF87D9EDF51BAF6F7F11968F57B62FCBFBEC8DB9DB338BDBEB3F2E7A7DDED1E7F2B9474F95FEDDD1D48B257E4602C78BF993859C5CE78AC7C7F3D931C97B22FD52AA3036E10D3F33E91D2941C38391489F3772178C46A6FBAAF8A1B882C7EB78B45F09F4AB8184526920560FF447944042C99095EA81434A462CAA6E4A7D496C488DA8C50612EABED44EE2836A44CD1954DF138B299121356720A6548B46D576E2F1C8F4B3D3BD7F03F5394213\");\n\n            // First NPC\n            //Writer.WriteHex(\"0130020000789C9590314EC4301045FF4C3CD62E10A838C02AA20169450337E21620A70C08E5045BA44881B448BBDA2A250DD7A0E0081C00318E1D07509A7C4BA3D19F791E7BB072C750319353A117E18F1643F2DB27BED97D6C8FC6300592504B53B0E2D73A1089EC657C4FCD5F0F80B505C583C2F72B241012964C8C08F2F69336750638BCDD83E30DF9EB6D7BE7BDD2A481EA8D8DC9543C7526FAE599BA75340709A15F4BBF9C80BBA84054EFC3E509D1E1C6316701927FD03C75E7D82F622CCFD05C0C8576DCEDDC34833EF95B7FC338C513E191E03F2C96D9B05683AC224BE044D3EA50361697B8FA010922443E\");\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/ServerErrorMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class ServerErrorMessage : PiranhaMessage\n    {\n        public ServerErrorMessage(Device device) : base(device)\n        {\n            Id = 24115;\n        }\n\n        public string Message { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteScString(Message);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/ShutdownStartedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class ShutdownStartedMessage : PiranhaMessage\n    {\n        public ShutdownStartedMessage(Device device) : base(device)\n        {\n            Id = 20161;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Tournament/TournamentJoinedFailedMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class TournamentJoinedFailedMessage : PiranhaMessage\n    {\n        public TournamentJoinedFailedMessage(Device device) : base(device)\n        {\n            Id = 26106;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/Messages/Server/Tournament/TournamentListMessage.cs",
    "content": "﻿using ClashRoyale.Logic;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Protocol.Messages.Server\n{\n    public class TournamentListMessage : PiranhaMessage\n    {\n        public TournamentListMessage(Device device) : base(device)\n        {\n            Id = 26101;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(0);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Protocol/PiranhaMessage.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing ClashRoyale.Logic;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Protocol\n{\n    public class PiranhaMessage\n    {\n        public Device.State RequiredState = Device.State.Home;\n\n        public PiranhaMessage(Device device)\n        {\n            Device = device;\n            Writer = PooledByteBufferAllocator.Default.Buffer();\n        }\n\n        public PiranhaMessage(Device device, IByteBuffer buffer)\n        {\n            Device = device;\n            Reader = buffer;\n        }\n\n        public IByteBuffer Writer { get; set; }\n        public IByteBuffer Reader { get; set; }\n        public Device Device { get; set; }\n        public ushort Id { get; set; }\n        public int Length { get; set; }\n        public ushort Version { get; set; }\n        public bool Save { get; set; }\n\n        public virtual void Decrypt()\n        {\n            if (Length <= 0) return;\n\n            var buffer = Reader.ReadBytes(Length);\n\n            Device.Rc4.Decrypt(ref buffer);\n\n            Reader = buffer;\n            Length = buffer.ReadableBytes;\n        }\n\n        public virtual void Encrypt()\n        {\n            if (Writer.ReadableBytes <= 0) return;\n\n            var buffer = Writer;\n\n            Device.Rc4.Encrypt(ref buffer);\n        }\n\n        public virtual void Decode()\n        {\n        }\n\n        public virtual void Encode()\n        {\n        }\n\n        public virtual void Process()\n        {\n        }\n\n        /// <summary>\n        ///     Writes this message to the clients channel\n        /// </summary>\n        /// <returns></returns>\n        public async Task SendAsync()\n        {\n            try\n            {\n                await Device.Handler.Channel.WriteAndFlushAsync(this);\n\n                Logger.Log($\"[S] Message {Id} ({GetType().Name}) sent.\", GetType(), ErrorLevel.Debug);\n            }\n            catch (Exception)\n            {\n                Logger.Log($\"[S] Failed to send {Id}.\", GetType(), ErrorLevel.Debug);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale/Resources.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing ClashRoyale.Core;\nusing ClashRoyale.Core.Cluster;\nusing ClashRoyale.Core.Leaderboards;\nusing ClashRoyale.Core.Network;\nusing ClashRoyale.Database;\nusing ClashRoyale.Database.Cache;\nusing ClashRoyale.Files;\nusing ClashRoyale.Logic.Home.Decks;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale\n{\n    public static class Resources\n    {\n        public static Logger Logger { get; set; }\n        public static SentryReport Sentry { get; set; }\n        public static Configuration Configuration { get; set; }\n        public static PlayerDb PlayerDb { get; set; }\n        public static AllianceDb AllianceDb { get; set; }\n        public static ObjectCache ObjectCache { get; set; }\n        public static Leaderboard Leaderboard { get; set; }\n\n        public static NettyService Netty { get; set; }\n        public static NodeManager NodeManager { get; set; }\n\n        public static Fingerprint Fingerprint { get; set; }\n        public static Csv Csv { get; set; }\n        public static UpdateManager UpdateManager { get; set; }\n        public static Battles Battles { get; set; }\n        public static DuoBattles DuoBattles { get; set; }\n        public static Players Players { get; set; }\n        public static Alliances Alliances { get; set; }\n\n        public static DateTime StartTime { get; set; }\n\n        public static async void Initialize()\n        {\n            Logger = new Logger();\n            Logger.Log(\n                $\"Starting [{DateTime.Now.ToLongTimeString()} - {ServerUtils.GetOsName()}]...\",\n                null);\n\n            Configuration = new Configuration();\n            Configuration.Initialize();\n\n            NodeManager = new NodeManager();\n\n            Fingerprint = new Fingerprint();\n\n            Sentry = new SentryReport();\n            Csv = new Csv();\n\n            UpdateManager = new UpdateManager();\n            await UpdateManager.Initialize();\n\n            Cards.Initialize();\n\n            PlayerDb = new PlayerDb();\n            AllianceDb = new AllianceDb();\n\n            Logger.Log(\n                $\"Successfully loaded MySql with {await PlayerDb.CountAsync()} player(s) & {await AllianceDb.CountAsync()} clan(s)\",\n                null);\n\n            ObjectCache = new ObjectCache();\n\n            Battles = new Battles();\n            DuoBattles = new DuoBattles();\n            Players = new Players();\n            Alliances = new Alliances();\n\n            Leaderboard = new Leaderboard();\n\n            StartTime = DateTime.UtcNow;\n\n            Netty = new NettyService();\n\n            await Task.Run(Netty.RunServerAsync);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/ClashRoyale.Battles.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"Protocol\\Commands\\Client\\**\" />\n    <EmbeddedResource Remove=\"Protocol\\Commands\\Client\\**\" />\n    <None Remove=\"Protocol\\Commands\\Client\\**\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"DotNetty.Common\" Version=\"0.6.0\" />\n    <PackageReference Include=\"DotNetty.Handlers\" Version=\"0.6.0\" />\n    <PackageReference Include=\"NLog\" Version=\"4.6.7\" />\n    <PackageReference Include=\"SharpRaven\" Version=\"2.4.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\ClashRoyale.Utilities\\ClashRoyale.Utilities.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"NLog.config\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Configuration.cs",
    "content": "﻿using System;\nusing System.IO;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Battles.Core\n{\n    public class Configuration\n    {\n        [JsonIgnore] public static JsonSerializerSettings JsonSettings = new JsonSerializerSettings\n        {\n            ObjectCreationHandling = ObjectCreationHandling.Reuse,\n            MissingMemberHandling = MissingMemberHandling.Ignore,\n            DefaultValueHandling = DefaultValueHandling.Ignore,\n            NullValueHandling = NullValueHandling.Ignore,\n            TypeNameHandling = TypeNameHandling.Auto,\n            Formatting = Formatting.None\n        };\n\n        [JsonProperty(\"battle_nonce\")] public string BattleNonce = \"nonce\";\n\n        // Make sure to edit these on prod\n        [JsonProperty(\"cluster_encryption_key\")]\n        public string ClusterKey = \"15uvmi8qnyuj9tm53ipaavvytltm582yatecyjzb\";\n\n        [JsonProperty(\"cluster_encryption_nonce\")]\n        public string ClusterNonce = \"nonce\";\n\n        [JsonProperty(\"max_sessions\")] public int MaxSessions = 100;\n        [JsonProperty(\"sentry_api\")] public string SentryApiUrl = \"\";\n        [JsonProperty(\"server_port\")] public int ServerPort = 9449;\n\n        public void Initialize()\n        {\n            if (File.Exists(\"config.json\"))\n                try\n                {\n                    var config = JsonConvert.DeserializeObject<Configuration>(File.ReadAllText(\"config.json\"));\n\n                    SentryApiUrl = config.SentryApiUrl;\n                    BattleNonce = config.BattleNonce;\n                    ServerPort = config.ServerPort;\n                    MaxSessions = config.MaxSessions;\n                    ClusterKey = config.ClusterKey;\n                    ClusterNonce = config.ClusterNonce;\n                }\n                catch (Exception)\n                {\n                    Console.WriteLine(\"Couldn't load configuration.\");\n                    Console.ReadKey(true);\n                    Environment.Exit(0);\n                }\n            else\n                try\n                {\n                    Save();\n\n                    Console.ForegroundColor = ConsoleColor.DarkGreen;\n                    Console.WriteLine(\"Server configuration has been created. Restart the server now.\");\n                    Console.ReadKey();\n                    Environment.Exit(0);\n                }\n                catch (Exception)\n                {\n                    Console.ForegroundColor = ConsoleColor.DarkRed;\n                    Console.WriteLine(\"Couldn't create config file.\");\n                    Console.ReadKey();\n                    Environment.Exit(0);\n                }\n        }\n\n        public void Save()\n        {\n            File.WriteAllText(\"config.json\", JsonConvert.SerializeObject(this, Formatting.Indented));\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/ClusterClient.cs",
    "content": "﻿using System;\nusing ClashRoyale.Battles.Core.Network.Cluster.Handlers;\nusing ClashRoyale.Battles.Core.Network.Cluster.Protocol;\nusing ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Client;\nusing ClashRoyale.Utilities.Crypto;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster\n{\n    public class ClusterClient\n    {\n        public void Process(IByteBuffer buffer)\n        {\n            var id = buffer.ReadUnsignedShort();\n            var length = buffer.ReadMedium();\n\n            if (id < 20000 || id >= 30000) return;\n\n            if (!ClusterMessageFactory.Messages.ContainsKey(id))\n            {\n                Logger.Log($\"Message ID: {id}, L: {length} is not known.\", GetType(),\n                    ErrorLevel.Warning);\n                return;\n            }\n\n            if (!(Activator.CreateInstance(ClusterMessageFactory.Messages[id], buffer) is ClusterMessage\n                message)) return;\n\n            try\n            {\n                message.Id = id;\n                message.Length = length;\n\n                if (id != 20103)\n                    message.Decrypt();\n\n                message.Decode();\n                message.Process();\n\n                Logger.Log($\"[S] Message {id} ({message.GetType().Name}) handled.\", GetType(),\n                    ErrorLevel.Debug);\n            }\n            catch (Exception exception)\n            {\n                Logger.Log($\"Failed to process {id}: \" + exception, GetType(), ErrorLevel.Error);\n            }\n        }\n\n        public async void Login()\n        {\n            Rc4 = new Rc4Core(Resources.Configuration.ClusterKey, Resources.Configuration.ClusterNonce);\n            await new ConnectionCheckMessage().SendAsync();\n        }\n\n        #region Objects\n\n        public Rc4Core Rc4 { get; set; }\n        public ClusterPacketHandler Handler { get; set; }\n\n        #endregion Objects\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Handlers/ClusterPacketEncoder.cs",
    "content": "﻿using System.Threading.Tasks;\nusing ClashRoyale.Battles.Core.Network.Cluster.Protocol;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Handlers\n{\n    public class ClusterPacketEncoder : ChannelHandlerAdapter\n    {\n        public override Task WriteAsync(IChannelHandlerContext context, object msg)\n        {\n            if (!(msg is ClusterMessage message)) return base.WriteAsync(context, null);\n\n            message.Encode();\n            message.Encrypt();\n\n            var header = Unpooled.Buffer(5);\n            header.WriteUnsignedShort(message.Id);\n            header.WriteMedium(message.Length);\n\n            base.WriteAsync(context, header);\n\n            return base.WriteAsync(context, message.Writer);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Handlers/ClusterPacketHandler.cs",
    "content": "﻿using System;\nusing System.Net.Sockets;\nusing System.Threading.Tasks;\nusing DotNetty.Buffers;\nusing DotNetty.Handlers.Timeout;\nusing DotNetty.Transport.Channels;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Handlers\n{\n    public class ClusterPacketHandler : ChannelHandlerAdapter\n    {\n        public ClusterPacketHandler()\n        {\n            Resources.ClusterClient.Handler = this;\n        }\n\n        public IChannel Channel { get; set; }\n\n        public override void ChannelRead(IChannelHandlerContext context, object message)\n        {\n            var buffer = (IByteBuffer) message;\n            if (buffer == null) return;\n\n            Resources.ClusterClient.Process(buffer);\n        }\n\n        public override void ChannelReadComplete(IChannelHandlerContext context)\n        {\n            context.Flush();\n        }\n\n        public override void ChannelRegistered(IChannelHandlerContext context)\n        {\n            Channel = context.Channel;\n\n            base.ChannelRegistered(context);\n        }\n\n        public override async void ChannelUnregistered(IChannelHandlerContext context)\n        {\n            Logger.Log($\"Disconnected from {Channel.RemoteAddress}. Retrying in 5sec.\", GetType(), ErrorLevel.Debug);\n\n            await Task.Delay(5000);\n\n            await Task.Run(Resources.NettyClient.RunClientAsync);\n\n            base.ChannelUnregistered(context);\n        }\n\n        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)\n        {\n            if (exception.GetType() != typeof(ReadTimeoutException) &&\n                exception.GetType() != typeof(WriteTimeoutException) &&\n                exception.GetType() != typeof(SocketException))\n                Logger.Log(exception, GetType(), ErrorLevel.Error);\n\n            context.CloseAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/NettyClient.cs",
    "content": "﻿using System;\nusing System.Net;\nusing System.Threading.Tasks;\nusing ClashRoyale.Battles.Core.Network.Cluster.Handlers;\nusing DotNetty.Codecs;\nusing DotNetty.Transport.Bootstrapping;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster\n{\n    public class NettyClient\n    {\n        public MultithreadEventLoopGroup Group { get; set; }\n        public Bootstrap Bootstrap { get; set; }\n\n        public async Task RunClientAsync()\n        {\n            try\n            {\n                Group = new MultithreadEventLoopGroup();\n\n                Bootstrap = new Bootstrap();\n                Bootstrap.Group(Group);\n                Bootstrap.Channel<TcpSocketChannel>();\n\n                Bootstrap\n                    .Option(ChannelOption.TcpNodelay, true)\n                    .Option(ChannelOption.SoKeepalive, true)\n                    .Handler(new ActionChannelInitializer<IChannel>(channel =>\n                    {\n                        var pipeline = channel.Pipeline;\n                        pipeline.AddFirst(\"FrameDecoder\", new LengthFieldBasedFrameDecoder(512, 2, 3));\n                        pipeline.AddLast(\"ClusterPacketHandler\", new ClusterPacketHandler());\n                        pipeline.AddLast(\"ClusterPacketEncoder\", new ClusterPacketEncoder());\n                    }));\n\n                var connectedChannel =\n                    await Bootstrap.ConnectAsync(new IPEndPoint(IPAddress.Parse(\"127.0.0.1\"), 9876));\n                var endpoint = (IPEndPoint) connectedChannel.LocalAddress;\n\n                Logger.Log(\n                    $\"Connected to the cluster on {endpoint.Address.MapToIPv4()}:{endpoint.Port}.\",\n                    GetType());\n\n                Resources.ClusterClient.Login();\n            }\n            catch (Exception)\n            {\n                Logger.Log(\n                    \"Failed to connect to the cluster. Retrying in 5sec.\",\n                    GetType(), ErrorLevel.Warning);\n\n                await Task.Delay(5000);\n\n                await Task.Run(RunClientAsync);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/ClusterMessage.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol\n{\n    public class ClusterMessage\n    {\n        public ClusterMessage()\n        {\n            Writer = Unpooled.Buffer(5);\n        }\n\n        public ClusterMessage(IByteBuffer buffer)\n        {\n            Reader = buffer;\n        }\n\n        public IByteBuffer Writer { get; set; }\n        public IByteBuffer Reader { get; set; }\n        public ushort Id { get; set; }\n        public int Length { get; set; }\n\n        public virtual void Decrypt()\n        {\n            if (Length <= 0) return;\n\n            var buffer = Reader.ReadBytes(Length);\n\n            Resources.ClusterClient.Rc4.Decrypt(ref buffer);\n\n            Reader = buffer;\n            Length = buffer.ReadableBytes;\n        }\n\n        public virtual void Encrypt()\n        {\n            if (Writer.ReadableBytes <= 0) return;\n\n            var buffer = Writer;\n\n            Resources.ClusterClient.Rc4.Encrypt(ref buffer);\n\n            Length = buffer.ReadableBytes;\n        }\n\n        public virtual void Decode()\n        {\n        }\n\n        public virtual void Encode()\n        {\n        }\n\n        public virtual void Process()\n        {\n        }\n\n        /// <summary>\n        ///     Writes this message to the clients channel\n        /// </summary>\n        /// <returns></returns>\n        public async Task SendAsync()\n        {\n            try\n            {\n                await Resources.ClusterClient.Handler.Channel.WriteAndFlushAsync(this);\n\n                Logger.Log($\"[C] Message {Id} ({GetType().Name}) sent.\", GetType(), ErrorLevel.Debug);\n            }\n            catch (Exception)\n            {\n                Logger.Log($\"[C] Failed to send {Id}.\", GetType(), ErrorLevel.Debug);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/ClusterMessageFactory.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Server;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol\n{\n    public class ClusterMessageFactory\n    {\n        public static Dictionary<int, Type> Messages;\n\n        static ClusterMessageFactory()\n        {\n            Messages = new Dictionary<int, Type>\n            {\n                {20103, typeof(ConnectionFailedMessage)},\n                {20104, typeof(ConnectionOkMessage)}\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/Messages/Client/BattleFinishedMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Client\n{\n    public class BattleFinishedMessage : ClusterMessage\n    {\n        public BattleFinishedMessage()\n        {\n            Id = 11000;\n        }\n\n        public long SessionId { get; set; }\n        public byte Gamemode { get; set; }\n        public byte Index { get; set; }\n        public string ReplayJson { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteLong(SessionId);\n            Writer.WriteByte(Gamemode);\n            Writer.WriteByte(Index);\n            Writer.WriteScString(ReplayJson);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/Messages/Client/ConnectionCheckMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Client\n{\n    public class ConnectionCheckMessage : ClusterMessage\n    {\n        public ConnectionCheckMessage()\n        {\n            Id = 10101;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteBoolean(false);\n\n            Writer.WriteScString(Resources.Configuration.BattleNonce);\n            Writer.WriteVInt(Resources.Configuration.ServerPort);\n            Writer.WriteVInt(Resources.Configuration.MaxSessions);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/Messages/Client/ServerInfoMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Client\n{\n    public class ServerInfoMessage : ClusterMessage\n    {\n        public ServerInfoMessage()\n        {\n            Id = 12000;\n        }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Resources.Sessions.Count);\n            Writer.WriteVInt(Resources.Configuration.MaxSessions);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/Messages/Server/ConnectionFailedMessage.cs",
    "content": "﻿using ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Server\n{\n    public class ConnectionFailedMessage : ClusterMessage\n    {\n        public ConnectionFailedMessage(IByteBuffer buffer) : base(buffer)\n        {\n            Id = 20103;\n        }\n\n        public int Error { get; set; }\n\n        public override void Decode()\n        {\n            Error = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            switch (Error)\n            {\n                case 1:\n                {\n                    Logger.Log(\"The server was unable to decrypt the last message.\", null, ErrorLevel.Error);\n                    break;\n                }\n\n                default:\n                {\n                    Logger.Log($\"A unknown error ({Error}) occured.\", null, ErrorLevel.Error);\n                    break;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Cluster/Protocol/Messages/Server/ConnectionOkMessage.cs",
    "content": "﻿using DotNetty.Buffers;\n\nnamespace ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Server\n{\n    public class ConnectionOkMessage : ClusterMessage\n    {\n        public ConnectionOkMessage(IByteBuffer buffer) : base(buffer)\n        {\n            Id = 20104;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/Handlers/PacketHandler.cs",
    "content": "﻿using System;\nusing ClashRoyale.Battles.Logic;\nusing DotNetty.Handlers.Timeout;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core.Network.Handlers\n{\n    public class PacketHandler : SimpleChannelInboundHandler<DatagramPacket>\n    {\n        protected override void ChannelRead0(IChannelHandlerContext ctx, DatagramPacket packet)\n        {\n            if (!packet.Content.IsReadable())\n                return;\n\n            UdpMessageProcessor.Process(ctx, packet);\n        }\n\n        public override void ChannelReadComplete(IChannelHandlerContext context)\n        {\n            context.Flush();\n        }\n\n        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)\n        {\n            if (exception.GetType() != typeof(ReadTimeoutException) &&\n                exception.GetType() != typeof(WriteTimeoutException))\n                Logger.Log(exception, GetType(), ErrorLevel.Error);\n\n            context.CloseAsync();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Network/NettyService.cs",
    "content": "﻿using System.Net;\nusing System.Threading.Tasks;\nusing ClashRoyale.Battles.Core.Network.Handlers;\nusing DotNetty.Handlers.Logging;\nusing DotNetty.Transport.Bootstrapping;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\n\nnamespace ClashRoyale.Battles.Core.Network\n{\n    public class NettyService\n    {\n        public MultithreadEventLoopGroup Group { get; set; }\n        public Bootstrap Bootstrap { get; set; }\n\n        public async Task RunServerAsync()\n        {\n            Group = new MultithreadEventLoopGroup();\n\n            Bootstrap = new Bootstrap();\n            Bootstrap.Group(Group);\n            Bootstrap.Channel<SocketDatagramChannel>();\n\n            Bootstrap\n                .Option(ChannelOption.SoBroadcast, true)\n                .Handler(new LoggingHandler(\"SRV-ICR\"))\n                .Handler(new ActionChannelInitializer<IChannel>(channel =>\n                {\n                    var pipeline = channel.Pipeline;\n                    pipeline.AddLast(\"PacketHandler\", new PacketHandler());\n                }));\n\n            var boundChannel = await Bootstrap.BindAsync(Resources.Configuration.ServerPort);\n            var endpoint = (IPEndPoint) boundChannel.LocalAddress;\n\n            Logger.Log(\n                $\"Listening on {endpoint.Address.MapToIPv4()}:{endpoint.Port}. Time to fight!\",\n                GetType());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Core/Sessions.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Timers;\nusing ClashRoyale.Battles.Logic.Session;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Core\n{\n    public class Sessions : Dictionary<long, Session>\n    {\n        private readonly object _syncObject = new object();\n        private readonly Timer _timer = new Timer(10000);\n\n        public Sessions()\n        {\n            _timer.Elapsed += TimerCallback;\n            _timer.Start();\n        }\n\n        public void Add(SessionContext ctx, long sessionId)\n        {\n            lock (_syncObject)\n            {\n                if (!ContainsKey(sessionId))\n                {\n                    var session = new Session\n                    {\n                        Id = sessionId\n                    };\n\n                    session.Add(ctx);\n                    ctx.Session = session;\n\n                    Add(sessionId, session);\n                }\n                else\n                {\n                    var session = Get(sessionId);\n\n                    if (session.Count < 2)\n                    {\n                        session.Add(ctx);\n                        ctx.Session = session;\n                    }\n                    else\n                    {\n                        // since the tcp server can be restarted and the id resets\n                        Remove(sessionId);\n                        Add(ctx, sessionId);\n                    }\n                }\n            }\n        }\n\n        public new void Remove(long sessionId)\n        {\n            lock (_syncObject)\n            {\n                if (ContainsKey(sessionId)) base.Remove(sessionId);\n            }\n        }\n\n        public Session Get(long sessionId)\n        {\n            lock (_syncObject)\n            {\n                return ContainsKey(sessionId) ? this[sessionId] : null;\n            }\n        }\n\n        public void TimerCallback(object state, ElapsedEventArgs args)\n        {\n            try\n            {\n                lock (_syncObject)\n                {\n                    foreach (var session in Values.ToArray())\n                    {\n                        foreach (var ctx in session.ToArray())\n                        {\n                            if (ctx.Active) continue;\n\n                            session.Remove(ctx);\n                        }\n\n                        if (session.Count == 0) Remove(session.Id);\n                    }\n                }\n            }\n            catch (Exception exception)\n            {\n                Logger.Log(exception, null, ErrorLevel.Debug);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Logger.cs",
    "content": "﻿using System;\nusing System.IO;\nusing NLog;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles\n{\n    public class Logger\n    {\n#if DEBUG\n        private static readonly object ConsoleSync = new object();\n#endif\n\n        private static NLog.Logger _logger;\n\n        public Logger()\n        {\n            Directory.CreateDirectory(\"Logs\");\n\n            _logger = LogManager.GetCurrentClassLogger();\n        }\n\n        public static void Log(object message, Type type, ErrorLevel logType = ErrorLevel.Info)\n        {\n            switch (logType)\n            {\n                case ErrorLevel.Info:\n                {\n                    _logger.Info(message);\n\n                    Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                    break;\n                }\n\n                case ErrorLevel.Warning:\n                {\n                    _logger.Warn(message);\n#if DEBUG\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.DarkMagenta;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n                    break;\n                }\n\n                case ErrorLevel.Error:\n                {\n                    _logger.Error(message);\n#if DEBUG\n\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.Red;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n                    break;\n                }\n\n                case ErrorLevel.Debug:\n                {\n#if DEBUG\n                    _logger.Debug(message);\n\n                    lock (ConsoleSync)\n                    {\n                        Console.ForegroundColor = ConsoleColor.DarkCyan;\n                        Console.WriteLine($\"[{logType.ToString()}] {message}\");\n                        Console.ResetColor();\n                    }\n#endif\n                    break;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Logic/Battle/LogicBattle.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net;\nusing System.Timers;\nusing ClashRoyale.Battles.Core.Network.Cluster.Protocol.Messages.Client;\nusing ClashRoyale.Battles.Protocol.Messages.Server;\nusing ClashRoyale.Utilities.Models.Battle.Replay;\nusing Newtonsoft.Json;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Logic.Battle\n{\n    public class LogicBattle\n    {\n        public LogicBattle(Session.Session session)\n        {\n            Session = session;\n\n            BattleTimer = new Timer(500);\n            BattleTimer.Elapsed += Tick;\n        }\n\n        public int BattleTime => (int) DateTime.UtcNow.Subtract(StartTime).TotalSeconds * 2;\n        public int BattleSeconds => BattleTime / 2;\n\n        public bool IsReady => Session.Count >= 1;\n\n        public void Start()\n        {\n            if (!IsReady) return;\n\n            foreach (var session in Session) Commands.Add(session.EndPoint, new Queue<byte[]>());\n\n            StartTime = DateTime.UtcNow;\n            BattleTimer.Start();\n        }\n\n        public void Stop()\n        {\n            BattleTimer.Stop();\n            Resources.Sessions.Remove(Session.Id);\n        }\n\n        public async void Tick(object sender, ElapsedEventArgs args)\n        {\n            try\n            {\n                foreach (var ctx in Session.ToArray())\n                    if (ctx.Active)\n                    {\n                        if (DateTime.UtcNow.Subtract(ctx.LastCommands).TotalSeconds > 3)\n                        {\n                            if (BattleSeconds <= 10) continue;\n\n                            Replay.EndTick = BattleTime;\n\n                            await new BattleFinishedMessage\n                            {\n                                SessionId = Session.Id,\n                                Index = ctx.Index,\n                                ReplayJson = JsonConvert.SerializeObject(Replay)\n                            }.SendAsync();\n\n                            ctx.Session.Remove(ctx);\n                        }\n                        else\n                        {\n                            await new SectorHearbeatMessage(ctx)\n                            {\n                                Turn = BattleTime,\n                                Commands = GetOwnQueue(ctx.EndPoint)\n                            }.SendAsync();\n                        }\n                    }\n\n                if (Session.FindIndex(s => s.BattleActive) <= -1)\n                    Stop();\n            }\n            catch (Exception)\n            {\n                Logger.Log(\"BattleTick failed.\", GetType(), ErrorLevel.Error);\n            }\n        }\n\n        public Queue<byte[]> GetEnemyQueue(EndPoint endpoint)\n        {\n            return Commands.FirstOrDefault(cmd => cmd.Key != endpoint).Value;\n        }\n\n        public Queue<byte[]> GetOwnQueue(EndPoint endpoint)\n        {\n            return Commands.FirstOrDefault(cmd => cmd.Key == endpoint).Value;\n        }\n\n        #region Objects \n\n        private DateTime StartTime { get; set; }\n        public Timer BattleTimer;\n        public Dictionary<EndPoint, Queue<byte[]>> Commands = new Dictionary<EndPoint, Queue<byte[]>>();\n        public Session.Session Session { get; set; }\n        public LogicReplay Replay = new LogicReplay();\n\n        #endregion\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Logic/Session/Session.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net;\nusing ClashRoyale.Battles.Logic.Battle;\n\nnamespace ClashRoyale.Battles.Logic.Session\n{\n    public class Session : List<SessionContext>\n    {\n        private readonly object _syncObject = new object();\n\n        public Session()\n        {\n            Battle = new LogicBattle(this);\n        }\n\n        public long Id { get; set; }\n        public LogicBattle Battle { get; set; }\n\n        public new void Add(SessionContext ctx)\n        {\n            lock (_syncObject)\n            {\n                if (Contains(ctx)) return;\n\n                base.Add(ctx);\n\n                if (Count >= 2) Battle.Start();\n            }\n        }\n\n        public new void Remove(SessionContext ctx)\n        {\n            lock (_syncObject)\n            {\n                if (!Contains(ctx)) return;\n\n                base.Remove(ctx);\n\n                if (Count < 1) Battle.Stop();\n            }\n        }\n\n        public SessionContext Get(EndPoint endPoint)\n        {\n            lock (_syncObject)\n            {\n                var index = FindIndex(x => x.EndPoint.ToString() == endPoint.ToString());\n                return index > -1 ? this[index] : null;\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Logic/Session/SessionContext.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Net;\nusing ClashRoyale.Battles.Protocol;\nusing ClashRoyale.Utilities.Crypto;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Logic.Session\n{\n    public class SessionContext\n    {\n        public bool Active\n        {\n            get => DateTime.UtcNow.Subtract(_lastMessage).TotalSeconds < 10;\n            set\n            {\n                if (value) _lastMessage = DateTime.UtcNow;\n            }\n        }\n\n        public bool BattleActive\n        {\n            get => DateTime.UtcNow.Subtract(LastCommands).TotalSeconds < 10;\n            set\n            {\n                if (value) LastCommands = DateTime.UtcNow;\n            }\n        }\n\n        public async void Process(IByteBuffer reader, IChannel channel)\n        {\n            Channel = channel;\n\n            var ackCount = reader.ReadByte();\n\n            if (ackCount > 0)\n            {\n                var buffer = Unpooled.Buffer();\n                buffer.WriteLong(Session.Id);\n                buffer.WriteByte(GameMode);\n                buffer.WriteByte(Index);\n\n                buffer.WriteByte(ackCount);\n\n                for (var i = 0; i < ackCount; i++) buffer.WriteByte(reader.ReadByte());\n\n                await Channel.WriteAndFlushAsync(new DatagramPacket(buffer, EndPoint));\n            }\n\n            if (ackCount > 0)\n                return;\n\n            var chunkCount = reader.ReadVInt();\n\n            for (var i = 0; i < chunkCount; i++)\n            {\n                var chunkSeq = reader.ReadByte();\n                var chunkId = reader.ReadVInt();\n                var chunkLength = reader.ReadVInt();\n\n                if (!LogicMessageFactory.Messages.ContainsKey(chunkId))\n                {\n                    Logger.Log($\"Message ID: {chunkId}, S: {chunkSeq}, L: {chunkLength} is not known.\", GetType(),\n                        ErrorLevel.Debug);\n                    return;\n                }\n\n                if (!(Activator.CreateInstance(LogicMessageFactory.Messages[chunkId], this, reader) is PiranhaMessage\n                    message)) continue;\n\n                try\n                {\n                    message.Id = chunkId;\n                    message.Length = chunkLength;\n\n                    message.Decrypt();\n                    message.Decode();\n                    message.Process();\n\n                    Logger.Log($\"[C] Message {chunkId} ({message.GetType().Name}) handled.\", GetType(),\n                        ErrorLevel.Debug);\n                }\n                catch (Exception exception)\n                {\n                    Logger.Log($\"Failed to process {chunkId}: \" + exception, GetType(), ErrorLevel.Error);\n                }\n\n                var buffer = Unpooled.Buffer();\n                buffer.WriteLong(Session.Id);\n                buffer.WriteByte(GameMode);\n                buffer.WriteByte(Index);\n\n                buffer.WriteByte(1);\n                buffer.WriteByte(chunkSeq);\n                await Channel.WriteAndFlushAsync(new DatagramPacket(buffer, EndPoint));\n            }\n\n            var readable = reader.ReadableBytes;\n            if (readable > 0)\n                Logger.Log(\n                    $\"{BitConverter.ToString(reader.ReadBytes(readable).Array.Take(readable).ToArray()).Replace(\"-\", \"\")}\",\n                    null, ErrorLevel.Debug);\n        }\n\n        #region Objects\n\n        public Rc4Core Rc4 = new Rc4Core(\"fhsd6f86f67rt8fw78fw789we78r9789wer6re\", \"nonce\");\n\n        public Session Session { get; set; }\n        public EndPoint EndPoint { get; set; }\n        public IChannel Channel { get; set; }\n        public byte GameMode { get; set; }\n        public byte Index { get; set; }\n\n        private DateTime _lastMessage = DateTime.UtcNow;\n        public DateTime LastCommands = DateTime.UtcNow;\n        public byte Seq = 1;\n\n        public enum GameModes\n        {\n            Pvp = 0,\n            Duo = 1\n        }\n\n        #endregion Objects\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Logic/UdpMessageProcessor.cs",
    "content": "﻿using ClashRoyale.Battles.Logic.Session;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels;\nusing DotNetty.Transport.Channels.Sockets;\n\nnamespace ClashRoyale.Battles.Logic\n{\n    public class UdpMessageProcessor\n    {\n        public static async void Process(IChannelHandlerContext ctx, DatagramPacket packet)\n        {\n            var content = packet.Content;\n            var length = content.ReadableBytes;\n\n            if (length == 1400)\n            {\n                var sessionId = content.ReadLong();\n                var gameMode = content.ReadByte();\n                var team = content.ReadByte();\n\n                var sessionBuffer = Unpooled.Buffer();\n                sessionBuffer.WriteLong(sessionId);\n                sessionBuffer.WriteByte(gameMode);\n                sessionBuffer.WriteByte(team);\n\n                Resources.Sessions.Add(new SessionContext\n                {\n                    EndPoint = packet.Sender,\n                    GameMode = gameMode,\n                    Index = team\n                }, sessionId);\n\n                await ctx.WriteAsync(new DatagramPacket(sessionBuffer, packet.Sender));\n            }\n            else\n            {\n                //if (length != 10)\n                //Logger.Log($\"Received {length} bytes from {packet.Sender}: {BitConverter.ToString(content.Array.Take(length).ToArray()).Replace(\"-\", \"\")}\", null, ErrorLevel.Debug);\n\n                var sessionId = content.ReadLong();\n                var gameMode = content.ReadByte();\n                var team = content.ReadByte();\n\n                var session = Resources.Sessions.Get(sessionId);\n                if (session == null) return;\n\n                var sessionContext = session.Get(packet.Sender);\n\n                if (sessionContext != null)\n                {\n                    sessionContext.Active = true;\n\n                    if (length != 10)\n                    {\n                        sessionContext.Process(content, ctx.Channel);\n                    }\n                    else\n                    {\n                        var sessionOkBuffer = Unpooled.Buffer(10);\n                        sessionOkBuffer.WriteLong(session.Id);\n                        sessionOkBuffer.WriteByte(gameMode);\n                        sessionOkBuffer.WriteByte(team);\n\n                        await ctx.WriteAsync(new DatagramPacket(sessionOkBuffer, packet.Sender));\n                    }\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/NLog.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<nlog xmlns=\"http://www.nlog-project.org/schemas/NLog.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n      xsi:schemaLocation=\"http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd\" autoReload=\"true\"\n      throwExceptions=\"false\" internalLogLevel=\"Off\">\n  <targets>\n    <target name=\"infoFile\" xsi:type=\"File\" fileName=\"Logs/Infos_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Infos_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"warningFile\" xsi:type=\"File\" fileName=\"Logs/Warnings_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Warning_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"errorFile\" xsi:type=\"File\" fileName=\"Logs/Errors_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Errors_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n    <target name=\"debugFile\" xsi:type=\"File\" fileName=\"Logs/Debug_${date:format=yyyy-MM-dd}.txt\"\n            layout=\"[${time}][${uppercase:${level}}]  ->  ${message}\"\n            archiveFileName=\"${basedir}/Logs/Archives/Debug_${date:format=yyyy-MM-dd}.zip\"\n            archiveEvery=\"Day\" maxArchiveFiles=\"7\" enableArchiveFileCompression=\"true\" />\n  </targets>\n  <rules>\n    <logger name=\"*\" level=\"Info\" writeTo=\"infoFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Warn\" writeTo=\"warningFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Error\" writeTo=\"errorFile\" enabled=\"true\" />\n    <logger name=\"*\" level=\"Debug\" writeTo=\"debugFile\" enabled=\"true\" />\n  </rules>\n</nlog>"
  },
  {
    "path": "src/ClashRoyale.Battles/Program.cs",
    "content": "﻿using System;\n\nnamespace ClashRoyale.Battles\n{\n    public class Program\n    {\n        private static void Main(string[] args)\n        {\n            Console.Title = \"ClashRoyale Battle Server Emulator\";\n\n            Console.WriteLine(\n                \"\\n______________             ______ ________                     ______     \\r\\n__  ____/__  /_____ __________  /____  __ \\\\__________  _______ ___  /____ \\r\\n_  /    __  /_  __ `/_  ___/_  __ \\\\_  /_/ /  __ \\\\_  / / /  __ `/_  /_  _ \\\\\\r\\n/ /___  _  / / /_/ /_(__  )_  / / /  _, _// /_/ /  /_/ // /_/ /_  / /  __/\\r\\n\\\\____/  /_/  \\\\__,_/ /____/ /_/ /_//_/ |_| \\\\____/_\\\\__, / \\\\__,_/ /_/  \\\\___/ \\r\\n                                                /____/               Battles\\n\\n\");\n\n            Resources.Initialize();\n\n            Console.Read();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/Commands/DoSpellCommand.cs",
    "content": "﻿using System;\nusing ClashRoyale.Battles.Logic.Session;\nusing ClashRoyale.Utilities.Netty;\nusing ClashRoyale.Utilities.Utils;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Battles.Protocol.Commands\n{\n    public class DoSpellCommand : LogicCommand\n    {\n        public DoSpellCommand(SessionContext ctx, IByteBuffer buffer) : base(ctx, buffer)\n        {\n            Type = 1;\n        }\n\n        public int ClientTick { get; set; }\n        public int Checksum { get; set; }\n        public int SenderHighId { get; set; }\n        public int SenderLowId { get; set; }\n        public int SpellDeckIndex { get; set; }\n        public int SpellIndex { get; set; }\n        public int ClassId { get; set; }\n        public int InstanceId { get; set; }\n        public int TroopLevel { get; set; }\n        public int X { get; set; }\n        public int Y { get; set; }\n\n        public override void Decode()\n        {\n            // Header\n            {\n                ClientTick = Buffer.ReadVInt();\n                Checksum = Buffer.ReadVInt();\n\n                SenderHighId = Buffer.ReadVInt();\n                SenderLowId = Buffer.ReadVInt();\n            }\n\n            SpellDeckIndex = Buffer.ReadVInt();\n\n            ClassId = Buffer.ReadVInt();\n            InstanceId = Buffer.ReadVInt();\n\n            SpellIndex = Buffer.ReadVInt();\n\n            TroopLevel = Buffer.ReadVInt();\n\n            X = Buffer.ReadVInt();\n            Y = Buffer.ReadVInt();\n        }\n\n        public override void Encode()\n        {\n            // Header\n            {\n                Data.WriteVInt(Type);\n\n                Data.WriteVInt(ClientTick);\n                Data.WriteVInt(Checksum);\n\n                Data.WriteVInt(SenderHighId);\n                Data.WriteVInt(SenderLowId);\n            }\n\n            Data.WriteVInt(SpellDeckIndex);\n\n            Data.WriteVInt(ClassId);\n            Data.WriteVInt(InstanceId);\n\n            Data.WriteVInt(SpellIndex);\n        }\n\n        public override void Process()\n        {\n            var battle = SessionContext.Session.Battle;\n            if (battle == null) return;\n\n            var data = Data.ReadBytes(Data.ReadableBytes).Array;\n\n            var buffer = Unpooled.Buffer(12);\n            {\n                buffer.WriteBytes(data);\n\n                buffer.WriteVInt(TroopLevel);\n\n                buffer.WriteVInt(X);\n                buffer.WriteVInt(Y);\n\n                battle.GetOwnQueue(SessionContext.EndPoint).Enqueue(buffer.Array);\n            }\n\n            var enemyBuffer = Unpooled.Buffer(14);\n            {\n                enemyBuffer.WriteBytes(data);\n\n                enemyBuffer.WriteBoolean(true); // IsAttack\n                {\n                    enemyBuffer.WriteVInt(GameUtils.Id(ClassId, InstanceId));\n                }\n\n                enemyBuffer.WriteVInt(TroopLevel);\n\n                enemyBuffer.WriteVInt(X);\n                enemyBuffer.WriteVInt(Y);\n\n                battle.GetEnemyQueue(SessionContext.EndPoint).Enqueue(enemyBuffer.Array);\n            }\n\n            //battle.Replay.AddCommand(Type, ClientTick - 20, ClientTick, SenderHighId, SenderLowId, ClassId * 1000000 + InstanceId, X, Y, SpellDeckIndex);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/LogicCommand.cs",
    "content": "﻿using ClashRoyale.Battles.Logic.Session;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Battles.Protocol\n{\n    public class LogicCommand\n    {\n        public LogicCommand(SessionContext sessionContext)\n        {\n            SessionContext = sessionContext;\n            Data = Unpooled.Buffer();\n        }\n\n        public LogicCommand(SessionContext sessionContext, IByteBuffer buffer)\n        {\n            SessionContext = sessionContext;\n            Buffer = buffer;\n            Data = Unpooled.Buffer();\n        }\n\n        public IByteBuffer Data { get; set; }\n        public SessionContext SessionContext { get; set; }\n\n        public int Type { get; set; }\n        public int Tick { get; set; }\n        public IByteBuffer Buffer { get; set; }\n\n        public virtual void Decode()\n        {\n            Tick = Buffer.ReadVInt();\n            Buffer.ReadVInt();\n        }\n\n        public virtual void Encode()\n        {\n        }\n\n        public virtual void Process()\n        {\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/LogicCommandManager.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Battles.Protocol.Commands;\n\nnamespace ClashRoyale.Battles.Protocol\n{\n    public class LogicCommandManager\n    {\n        public static Dictionary<int, Type> Commands;\n\n        static LogicCommandManager()\n        {\n            Commands = new Dictionary<int, Type>\n            {\n                {1, typeof(DoSpellCommand)}\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/LogicMessageFactory.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing ClashRoyale.Battles.Protocol.Messages.Client;\n\nnamespace ClashRoyale.Battles.Protocol\n{\n    public class LogicMessageFactory\n    {\n        public static Dictionary<int, Type> Messages;\n\n        static LogicMessageFactory()\n        {\n            Messages = new Dictionary<int, Type>\n            {\n                {10108, typeof(UdpCheckConnectionMessage)},\n                {12904, typeof(SectorCommandMessage)}\n            };\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/Messages/Client/SectorCommandMessage.cs",
    "content": "﻿using System;\nusing ClashRoyale.Battles.Logic.Session;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Protocol.Messages.Client\n{\n    public class SectorCommandMessage : PiranhaMessage\n    {\n        public SectorCommandMessage(SessionContext ctx, IByteBuffer reader) : base(ctx, reader)\n        {\n            Id = 12904;\n        }\n\n        public int Tick { get; set; }\n        public int Count { get; set; }\n\n        public override void Decode()\n        {\n            Reader.ReadVInt();\n            Tick = Reader.ReadVInt();\n            Count = Reader.ReadVInt();\n        }\n\n        public override void Process()\n        {\n            SessionContext.BattleActive = true;\n\n            if (Count < 0 || Count > 128) return;\n\n            /*var battle = Device.Player.Battle;\n            if (battle != null)\n                if (!battle.IsRunning)\n                    battle.BattleTimer.Start();*/\n\n            for (var i = 0; i < Count; i++)\n            {\n                var type = Reader.ReadVInt();\n\n                if (type >= 500) break;\n\n                if (LogicCommandManager.Commands.ContainsKey(type))\n                    try\n                    {\n                        if (Activator.CreateInstance(LogicCommandManager.Commands[type], SessionContext,\n                                Reader) is\n                            LogicCommand\n                            command)\n                        {\n                            command.Decode();\n                            command.Encode();\n                            command.Process();\n\n                            Logger.Log($\"SectorCommand {type} with Tick {Tick} has been processed.\",\n                                GetType(), ErrorLevel.Debug);\n                        }\n                    }\n                    catch (Exception exception)\n                    {\n                        Logger.Log(exception, GetType(), ErrorLevel.Error);\n                    }\n                else\n                    Logger.Log($\"SectorCommand {type} is unhandled.\", GetType(), ErrorLevel.Warning);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/Messages/Client/UdpCheckConnectionMessage.cs",
    "content": "﻿using ClashRoyale.Battles.Logic.Session;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Battles.Protocol.Messages.Client\n{\n    public class UdpCheckConnectionMessage : PiranhaMessage\n    {\n        public UdpCheckConnectionMessage(SessionContext ctx, IByteBuffer reader) : base(ctx, reader)\n        {\n            Id = 10108;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/Messages/Server/SectorHearbeatMessage.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Battles.Logic.Session;\nusing ClashRoyale.Utilities.Netty;\n\nnamespace ClashRoyale.Battles.Protocol.Messages.Server\n{\n    public class SectorHearbeatMessage : PiranhaMessage\n    {\n        public SectorHearbeatMessage(SessionContext ctx) : base(ctx)\n        {\n            Id = 21902;\n        }\n\n        public int Turn { get; set; }\n        public Queue<byte[]> Commands { get; set; }\n\n        public override void Encode()\n        {\n            Writer.WriteVInt(Turn);\n            Writer.WriteVInt(0);\n\n            Writer.WriteVInt(Commands.Count);\n\n            for (var i = 0; i < Commands.Count; i++) Writer.WriteBytes(Commands.Dequeue());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Protocol/PiranhaMessage.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing ClashRoyale.Battles.Logic.Session;\nusing ClashRoyale.Utilities.Netty;\nusing DotNetty.Buffers;\nusing DotNetty.Transport.Channels.Sockets;\nusing SharpRaven.Data;\n\nnamespace ClashRoyale.Battles.Protocol\n{\n    public class PiranhaMessage\n    {\n        public PiranhaMessage(SessionContext sessionContext)\n        {\n            SessionContext = sessionContext;\n            Writer = Unpooled.Buffer(5);\n        }\n\n        public PiranhaMessage(SessionContext sessionContext, IByteBuffer buffer)\n        {\n            SessionContext = sessionContext;\n            Reader = buffer;\n        }\n\n        public IByteBuffer Writer { get; set; }\n        public IByteBuffer Reader { get; set; }\n        public SessionContext SessionContext { get; set; }\n        public int Id { get; set; }\n        public int Length { get; set; }\n\n        public virtual void Decrypt()\n        {\n            if (Length <= 0) return;\n\n            var buffer = Reader.ReadBytes(Length);\n\n            SessionContext.Rc4.Decrypt(ref buffer);\n\n            Reader = buffer;\n            Length = buffer.ReadableBytes;\n        }\n\n        public virtual void Encrypt()\n        {\n            if (Writer.ReadableBytes <= 0) return;\n\n            var buffer = Writer;\n\n            SessionContext.Rc4.Encrypt(ref buffer);\n\n            Length = buffer.ReadableBytes;\n        }\n\n        public virtual void Decode()\n        {\n        }\n\n        public virtual void Encode()\n        {\n        }\n\n        public virtual void Process()\n        {\n        }\n\n        /// <summary>\n        ///     Writes this message to the clients channel\n        /// </summary>\n        /// <returns></returns>\n        public async Task SendAsync()\n        {\n            try\n            {\n                Encode();\n                Encrypt();\n\n                var buffer = Unpooled.Buffer(15 + Length);\n                buffer.WriteLong(SessionContext.Session.Id);\n                buffer.WriteByte(SessionContext.GameMode);\n                buffer.WriteByte(SessionContext.Index);\n\n                buffer.WriteByte(0);\n                buffer.WriteByte(1);\n\n                var seq = SessionContext.Seq;\n                if (SessionContext.Seq == byte.MaxValue) SessionContext.Seq = 0;\n                else SessionContext.Seq++;\n\n                buffer.WriteByte(seq);\n                buffer.WriteVInt(Id);\n                buffer.WriteVInt(Length);\n\n                buffer.WriteBytes(Writer);\n\n                await SessionContext.Channel.WriteAndFlushAsync(new DatagramPacket(buffer, SessionContext.EndPoint));\n\n                Logger.Log($\"[S] Message {Id} ({GetType().Name}) sent.\", GetType(), ErrorLevel.Debug);\n            }\n            catch (Exception)\n            {\n                Logger.Log($\"[S] Failed to send {Id}.\", GetType(), ErrorLevel.Debug);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Battles/Resources.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing ClashRoyale.Battles.Core;\nusing ClashRoyale.Battles.Core.Network;\nusing ClashRoyale.Battles.Core.Network.Cluster;\nusing ClashRoyale.Utilities.Utils;\n\nnamespace ClashRoyale.Battles\n{\n    public static class Resources\n    {\n        public static Logger Logger { get; set; }\n        public static NettyService Netty { get; set; }\n        public static NettyClient NettyClient { get; set; }\n        public static Sessions Sessions { get; set; }\n        public static Configuration Configuration { get; set; }\n        public static ClusterClient ClusterClient { get; set; }\n\n        public static async void Initialize()\n        {\n            Logger = new Logger();\n            Logger.Log(\n                $\"Starting [{DateTime.Now.ToLongTimeString()} - {ServerUtils.GetOsName()}]...\",\n                null);\n\n            Configuration = new Configuration();\n            Configuration.Initialize();\n\n            ClusterClient = new ClusterClient();\n\n            Sessions = new Sessions();\n\n            Netty = new NettyService();\n            NettyClient = new NettyClient();\n\n            await Task.Run(Netty.RunServerAsync);\n            await Task.Run(NettyClient.RunClientAsync);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.CsvConverter/ClashRoyale.CsvConverter.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>netcoreapp2.2</TargetFramework>\n  </PropertyGroup>\n\n</Project>\n"
  },
  {
    "path": "src/ClashRoyale.CsvConverter/CsWriter.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.IO;\n\nnamespace ClashRoyale.CsvConverter\n{\n    public class CsWriter\n    {\n        internal CsWriter(string name, IReadOnlyList<string> header, string[] types, string space)\n        {\n            using (var writer = new StreamWriter($\"CS Output/{Uppercase(name)}.cs\"))\n            {\n                writer.WriteLine($\"namespace ClashRoyale.Files.{space}\");\n                writer.WriteLine(\"{\");\n                writer.WriteLine($\"    public class {Uppercase(name)} : Data\");\n                writer.WriteLine(\"    {\");\n                writer.WriteLine(\n                    $\"        public {Uppercase(name)}(Row row, DataTable datatable) : base(row, datatable)\");\n                writer.WriteLine(\"        {\");\n                writer.WriteLine(\"            LoadData(this, GetType(), row);\");\n                writer.WriteLine(\"        }\");\n                writer.WriteLine();\n\n                var count = header.Count;\n\n                for (var index = 0; index < count; index++)\n                {\n                    var type = types[index].ToLower() == \"boolean\" ? \"bool\" : types[index].ToLower();\n\n                    writer.WriteLine(\"        public \" + type + \" \" + header[index] + \" { get; set; }\");\n\n                    if (index < count - 1)\n                        writer.WriteLine();\n                }\n\n                writer.WriteLine(\"    }\");\n                writer.WriteLine(\"}\");\n            }\n        }\n\n        internal string Uppercase(string _string)\n        {\n            if (string.IsNullOrEmpty(_string))\n                return string.Empty;\n\n            var result = _string.Split('_');\n            var newString = string.Empty;\n            foreach (var s in result)\n            {\n                var _char = s.ToCharArray();\n                _char[0] = char.ToUpper(_char[0]);\n\n                newString += new string(_char);\n            }\n\n            return newString;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.CsvConverter/Extensions/Prefixed.cs",
    "content": "﻿using System;\nusing System.IO;\nusing System.Text;\n\nnamespace ClashRoyale.CsvConverter.Extensions\n{\n    internal class Prefixed : TextWriter\n    {\n        public readonly TextWriter Original;\n\n        public Prefixed()\n        {\n            Original = Console.Out;\n        }\n\n        public override Encoding Encoding => new ASCIIEncoding();\n\n        public override void Write(string text)\n        {\n            Original.Write(text);\n        }\n\n        public override void WriteLine(string text)\n        {\n            Original.WriteLine($\"[{DateTime.Now.ToLongTimeString()}]    {text}\");\n        }\n\n        public override void Write(char text)\n        {\n            Original.WriteLine($\"[{DateTime.Now.ToLongTimeString()}]    {text}\");\n        }\n\n        public override void WriteLine()\n        {\n            Original.WriteLine();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.CsvConverter/Program.cs",
    "content": "﻿using System;\nusing System.IO;\nusing System.Linq;\nusing ClashRoyale.CsvConverter.Extensions;\n\nnamespace ClashRoyale.CsvConverter\n{\n    public class Program\n    {\n        public static void Main()\n        {\n            Console.Title = \"ClashRoyale CSV Converter v0.2\";\n\n            Console.SetOut(new Prefixed());\n\n            Console.WriteLine(\"Converting...\");\n\n            if (!Directory.Exists(\"CSV Input\"))\n            {\n                Directory.CreateDirectory(\"CSV Input\");\n\n                Console.WriteLine(\"Input Directory was not found so it has been created.\");\n            }\n\n            if (!Directory.Exists(\"CS Output\"))\n            {\n                Directory.CreateDirectory(\"CS Output\");\n\n                Console.WriteLine(\"Output Directory was not found so it has been created.\");\n            }\n\n            var name = Console.ReadLine();\n\n            if (Directory.GetFiles(\"CSV Input\").Any())\n            {\n                var files = Directory.GetFiles(\"CSV Input\");\n\n                foreach (var file in files)\n                {\n                    if (Path.GetExtension(file) != \".csv\") continue;\n\n                    var header = File.ReadLines(file).ToList()[0].Replace(\"\\\"\", \"\").Split(',');\n                    var types = File.ReadLines(file).ToList()[1].Replace(\"\\\"\", \"\").Split(',');\n\n                    new CsWriter(Path.GetFileNameWithoutExtension(file), header, types, name);\n\n                    Console.WriteLine($\"File {Path.GetFileNameWithoutExtension(file)} has been exported.\");\n                }\n            }\n            else\n            {\n                Console.WriteLine(\"No CSV File has been found.\");\n            }\n\n            Console.ReadKey();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Management/App.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n    <startup> \n        <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n    </startup>\n</configuration>"
  },
  {
    "path": "src/ClashRoyale.Management/App.xaml",
    "content": "﻿<Application x:Class=\"ClashRoyale.Management.App\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n             xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n             xmlns:local=\"clr-namespace:ClashRoyale.Management\"\n             StartupUri=\"MainWindow.xaml\">\n    <Application.Resources>\n         \n    </Application.Resources>\n</Application>\n"
  },
  {
    "path": "src/ClashRoyale.Management/App.xaml.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Configuration;\nusing System.Data;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System.Windows;\n\nnamespace ClashRoyale.Management\n{\n    /// <summary>\n    /// Interaktionslogik für \"App.xaml\"\n    /// </summary>\n    public partial class App : Application\n    {\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Management/ClashRoyale.Management.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}</ProjectGuid>\n    <OutputType>WinExe</OutputType>\n    <RootNamespace>ClashRoyale.Management</RootNamespace>\n    <AssemblyName>ClashRoyale.Management</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <WarningLevel>4</WarningLevel>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <Deterministic>true</Deterministic>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"System.Net.Http\" />\n    <Reference Include=\"System.Xaml\">\n      <RequiredTargetFramework>4.0</RequiredTargetFramework>\n    </Reference>\n    <Reference Include=\"WindowsBase\" />\n    <Reference Include=\"PresentationCore\" />\n    <Reference Include=\"PresentationFramework\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ApplicationDefinition Include=\"App.xaml\">\n      <Generator>MSBuild:Compile</Generator>\n      <SubType>Designer</SubType>\n    </ApplicationDefinition>\n    <Page Include=\"MainWindow.xaml\">\n      <Generator>MSBuild:Compile</Generator>\n      <SubType>Designer</SubType>\n    </Page>\n    <Compile Include=\"App.xaml.cs\">\n      <DependentUpon>App.xaml</DependentUpon>\n      <SubType>Code</SubType>\n    </Compile>\n    <Compile Include=\"MainWindow.xaml.cs\">\n      <DependentUpon>MainWindow.xaml</DependentUpon>\n      <SubType>Code</SubType>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <SubType>Code</SubType>\n    </Compile>\n    <Compile Include=\"Properties\\Resources.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n    <Compile Include=\"Properties\\Settings.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n    </Compile>\n    <EmbeddedResource Include=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n    <None Include=\"Properties\\Settings.settings\">\n      <Generator>SettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n</Project>"
  },
  {
    "path": "src/ClashRoyale.Management/MainWindow.xaml",
    "content": "﻿<Window x:Class=\"ClashRoyale.Management.MainWindow\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n        xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n        xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\n        xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\n        xmlns:local=\"clr-namespace:ClashRoyale.Management\"\n        mc:Ignorable=\"d\"\n        Title=\"ClashRoyale Account Management Tool\" Height=\"450\" Width=\"800\" ResizeMode=\"NoResize\">\n    <Grid>\n        <TabControl HorizontalAlignment=\"Center\" Height=\"412\" VerticalAlignment=\"Center\" Width=\"785\">\n            <TabItem Header=\"Inactive Account Finder\">\n                <Grid Background=\"#FFE5E5E5\"/>\n            </TabItem>\n            <TabItem Header=\"About\">\n                <Grid Background=\"#FFE5E5E5\"/>\n            </TabItem>\n        </TabControl>\n\n    </Grid>\n</Window>\n"
  },
  {
    "path": "src/ClashRoyale.Management/MainWindow.xaml.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows;\nusing System.Windows.Controls;\nusing System.Windows.Data;\nusing System.Windows.Documents;\nusing System.Windows.Input;\nusing System.Windows.Media;\nusing System.Windows.Media.Imaging;\nusing System.Windows.Navigation;\nusing System.Windows.Shapes;\n\nnamespace ClashRoyale.Management\n{\n    /// <summary>\n    /// Interaktionslogik für MainWindow.xaml\n    /// </summary>\n    public partial class MainWindow : Window\n    {\n        public MainWindow()\n        {\n            InitializeComponent();\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Management/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Resources;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusing System.Windows;\n\n// Allgemeine Informationen über eine Assembly werden über die folgenden\n// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,\n// die einer Assembly zugeordnet sind.\n[assembly: AssemblyTitle(\"ClashRoyale.Management\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"ClashRoyale.Management\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2019\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly\n// für COM-Komponenten unsichtbar.  Wenn Sie auf einen Typ in dieser Assembly von\n// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf \"True\" festlegen.\n[assembly: ComVisible(false)]\n\n//Um mit dem Erstellen lokalisierbarer Anwendungen zu beginnen, legen Sie\n//<UICulture>ImCodeVerwendeteKultur</UICulture> in der .csproj-Datei\n//in einer <PropertyGroup> fest.  Wenn Sie in den Quelldateien beispielsweise Deutsch\n//(Deutschland) verwenden, legen Sie <UICulture> auf \\\"de-DE\\\" fest.  Heben Sie dann die Auskommentierung\n//des nachstehenden NeutralResourceLanguage-Attributs auf.  Aktualisieren Sie \"en-US\" in der nachstehenden Zeile,\n//sodass es mit der UICulture-Einstellung in der Projektdatei übereinstimmt.\n\n//[assembly: NeutralResourcesLanguage(\"en-US\", UltimateResourceFallbackLocation.Satellite)]\n\n\n[assembly: ThemeInfo(\n    ResourceDictionaryLocation.None, //Speicherort der designspezifischen Ressourcenwörterbücher\n                                     //(wird verwendet, wenn eine Ressource auf der Seite nicht gefunden wird,\n                                     // oder in den Anwendungsressourcen-Wörterbüchern nicht gefunden werden kann.)\n    ResourceDictionaryLocation.SourceAssembly //Speicherort des generischen Ressourcenwörterbuchs\n                                              //(wird verwendet, wenn eine Ressource auf der Seite nicht gefunden wird,\n                                              // designspezifischen Ressourcenwörterbuch nicht gefunden werden kann.)\n)]\n\n\n// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:\n//\n//      Hauptversion\n//      Nebenversion\n//      Buildnummer\n//      Revision\n//\n// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,\n// indem Sie \"*\" wie unten gezeigt eingeben:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"1.0.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\n"
  },
  {
    "path": "src/ClashRoyale.Management/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     Dieser Code wurde von einem Tool generiert.\n//     Laufzeitversion: 4.0.30319.42000\n//\n//     Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn\n//     der Code erneut generiert wird.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace ClashRoyale.Management.Properties\n{\n\n\n    /// <summary>\n    ///   Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.\n    /// </summary>\n    // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse\n    // über ein Tool wie ResGen oder Visual Studio automatisch generiert.\n    // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen\n    // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"4.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources\n    {\n\n        private static global::System.Resources.ResourceManager resourceMan;\n\n        private static global::System.Globalization.CultureInfo resourceCulture;\n\n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources()\n        {\n        }\n\n        /// <summary>\n        ///   Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager\n        {\n            get\n            {\n                if ((resourceMan == null))\n                {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"ClashRoyale.Management.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n\n        /// <summary>\n        ///   Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle\n        ///   Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture\n        {\n            get\n            {\n                return resourceCulture;\n            }\n            set\n            {\n                resourceCulture = value;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Management/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "src/ClashRoyale.Management/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace ClashRoyale.Management.Properties\n{\n\n\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"11.0.0.0\")]\n    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase\n    {\n\n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n\n        public static Settings Default\n        {\n            get\n            {\n                return defaultInstance;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Management/Properties/Settings.settings",
    "content": "﻿<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"uri:settings\" CurrentProfile=\"(Default)\">\n  <Profiles>\n    <Profile Name=\"(Default)\" />\n  </Profiles>\n  <Settings />\n</SettingsFile>"
  },
  {
    "path": "src/ClashRoyale.Simulator/Battle.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Timers;\nusing ClashRoyale.Simulator.Types;\n\nnamespace ClashRoyale.Simulator\n{\n    public class Battle\n    {\n        private readonly Timer _timer = new Timer(500)\n        {\n            AutoReset = true\n        };\n\n        private DateTime StartTime { get; set; }\n\n        public List<TroopContext> Troops = new List<TroopContext>();\n        public int Time => (int)DateTime.UtcNow.Subtract(StartTime).TotalSeconds * 2;\n        public int BattleTick { get; set; }\n\n        public Battle()\n        {\n            _timer.Elapsed += Tick;\n\n            Troops.Add(TroopContext.Create(1, 3499, 23499));\n        }\n\n        public void Start()\n        {\n            StartTime = DateTime.UtcNow;\n            _timer.Start();\n        }\n\n        public void Tick(object sender, ElapsedEventArgs args)\n        {\n            var st = new Stopwatch();\n            st.Start();\n\n            foreach (var ctx in Troops)\n            {\n                ctx.Tick();\n            }\n\n            st.Stop();\n\n            BattleTick++;\n\n            Console.ForegroundColor = ConsoleColor.Cyan;\n            Console.WriteLine($\"Tick {BattleTick} done in {st.ElapsedMilliseconds}ms.\");\n            Console.ResetColor();\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Simulator/Cards/Knight.cs",
    "content": "﻿using ClashRoyale.Simulator.Types;\n\nnamespace ClashRoyale.Simulator.Cards\n{\n    public class Knight : Troop\n    {\n        public Knight()\n        {\n            Level = 1;\n            Hitpoints = 660;\n            HitSpeed = 1100;\n            Damage = 75;\n            DamagePerSecond = 68;\n            SightRange = 5500;\n            Range = 1000;\n            Count = 1;\n            LoadTime = 700;\n            DeployTime = 1000;\n            Speed = 60;\n            Targets = Target.Ground;\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Simulator/ClashRoyale.Simulator.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n  </PropertyGroup>\n\n</Project>\n"
  },
  {
    "path": "src/ClashRoyale.Simulator/Program.cs",
    "content": "﻿using System;\n\nnamespace ClashRoyale.Simulator\n{\n    public class Program\n    {\n        /// <summary>\n        /// Test for battle simulation\n        /// </summary>\n        /// <param name=\"args\"></param>\n        public static void Main(string[] args)\n        {\n            Console.Title = \"ClashRoyale Battle Simulator [EXPERIMENTAL]\";\n\n            Console.ReadKey(true);\n\n            Console.WriteLine(\"Battle starting...\");\n\n            var battle = new Battle();\n            battle.Start();\n\n            Console.Read();\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Simulator/Types/Troop.cs",
    "content": "﻿namespace ClashRoyale.Simulator.Types\n{\n    public class Troop\n    {\n        public int Level { get; set; }\n\n        public int Hitpoints { get; set; } \n        public double HitSpeed { get; set; } \n\n        public int JumpDamage { get; set; }\n        public int AreaDamage { get; set; }\n        public int SpawnDamage { get; set; }\n        public int Damage { get; set; } \n        public int DamagePerSecond { get; set; } \n\n        public int SightRange { get; set; } \n        public double Range { get; set; } \n        public int Count { get; set; } \n\n        public int LoadTime { get; set; } \n        public int DeployTime { get; set; } \n        public int Speed { get; set; }\n\n        public Target Targets { get; set; }\n\n        public enum Target\n        {\n            Ground = 0,\n            Air = 1,\n            Both = 2\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Simulator/Types/TroopContext.cs",
    "content": "﻿using System;\nusing System.Numerics;\nusing ClashRoyale.Simulator.Cards;\n\nnamespace ClashRoyale.Simulator.Types\n{\n    public class TroopContext\n    {\n        public Troop Troop { get; set; }\n        public Vector2 Position { get; set; }\n\n        public void Tick()\n        {\n            if (Troop == null)\n            {\n                Console.WriteLine(\"TROOP NULL!\");\n                return;\n            }\n\n            if (Troop.SpawnDamage > 0)\n            {\n                Console.WriteLine(\"SpawnDamage not supported yet.\");\n            }\n\n            if (Troop.AreaDamage > 0)\n            {\n                Console.WriteLine(\"AreaDamage not supported yet.\");\n            }\n\n            if (Troop.JumpDamage > 0)\n            {\n                Console.WriteLine(\"JumpDamage not supported yet.\");\n            }\n\n            if (Position.Y + Troop.Speed - 25099 > 0 && Position.X - 1000 > 0 && Position.X < 5000)\n            {\n                Console.WriteLine(\"Hit tower!\");\n            }\n            else\n            {\n                Move(0, Troop.Speed);\n            }\n        }\n\n        public void Move(int x, int y)\n        {\n            var newX = Position.X + x;\n            var newY = Position.Y + y;\n\n            Position = new Vector2(newX, newY);\n\n            Console.WriteLine($\"{Troop.GetType().Name} moved to {Position}\");\n        }\n\n        public static TroopContext Create(int id, int x, int y)\n        {\n            var ctx = new TroopContext\n            {\n                Position = new Vector2(x, y)\n            };\n\n            switch (id)\n            {\n                case 1:\n                {\n                    ctx.Troop = new Knight();\n                    break;\n                }\n            }\n\n            return ctx;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/ClashRoyale.Utilities.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.1</TargetFramework>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"DotNetty.Buffers\" Version=\"0.6.0\" />\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"12.0.3\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/CRC32.cs",
    "content": "using System;\nusing System.IO;\nusing Interop = System.Runtime.InteropServices;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    [Interop.Guid(\"ebc25cf6-9120-4283-b972-0e5520d0000C\")]\n    [Interop.ComVisible(true)]\n#if !NETCF\n    [Interop.ClassInterface(Interop.ClassInterfaceType.AutoDispatch)]\n#endif\n    public class Crc32\n    {\n        private const int BufferSize = 8192;\n\n        private readonly uint _dwPolynomial;\n        private readonly bool _reverseBits;\n\n        private uint _register = 0xFFFFFFFFU;\n        private uint[] _crc32Table;\n\n        public Crc32() : this(false)\n        {\n        }\n\n        public Crc32(bool reverseBits) :\n            this(unchecked((int) 0xEDB88320), reverseBits)\n        {\n        }\n\n        public Crc32(int polynomial, bool reverseBits)\n        {\n            _reverseBits = reverseBits;\n            _dwPolynomial = (uint) polynomial;\n            GenerateLookupTable();\n        }\n\n        public long TotalBytesRead { get; private set; }\n\n        public int Crc32Result => unchecked((int) ~_register);\n\n        public int GetCrc32(Stream input)\n        {\n            return GetCrc32AndCopy(input, null);\n        }\n\n        public int GetCrc32AndCopy(Stream input, Stream output)\n        {\n            if (input == null)\n                throw new Exception(\"The input stream must not be null.\");\n\n            unchecked\n            {\n                var buffer = new byte[BufferSize];\n\n                TotalBytesRead = 0;\n                var count = input.Read(buffer, 0, BufferSize);\n                output?.Write(buffer, 0, count);\n                TotalBytesRead += count;\n                while (count > 0)\n                {\n                    SlurpBlock(buffer, 0, count);\n                    count = input.Read(buffer, 0, BufferSize);\n                    output?.Write(buffer, 0, count);\n                    TotalBytesRead += count;\n                }\n\n                return (int) ~_register;\n            }\n        }\n\n        public int ComputeCrc32(int w, byte b)\n        {\n            return InternalComputeCrc32((uint) w, b);\n        }\n\n        public int InternalComputeCrc32(uint w, byte b)\n        {\n            return (int) (_crc32Table[(w ^ b) & 0xFF] ^ (w >> 8));\n        }\n\n        public void SlurpBlock(byte[] block, int offset, int count)\n        {\n            if (block == null)\n                throw new Exception(\"The data buffer must not be null.\");\n\n            for (var i = 0; i < count; i++)\n            {\n                var x = offset + i;\n                var b = block[x];\n                if (_reverseBits)\n                {\n                    var temp = (_register >> 24) ^ b;\n                    _register = (_register << 8) ^ _crc32Table[temp];\n                }\n                else\n                {\n                    var temp = (_register & 0x000000FF) ^ b;\n                    _register = (_register >> 8) ^ _crc32Table[temp];\n                }\n            }\n\n            TotalBytesRead += count;\n        }\n\n        public void UpdateCrc(byte b)\n        {\n            if (_reverseBits)\n            {\n                var temp = (_register >> 24) ^ b;\n                _register = (_register << 8) ^ _crc32Table[temp];\n            }\n            else\n            {\n                var temp = (_register & 0x000000FF) ^ b;\n                _register = (_register >> 8) ^ _crc32Table[temp];\n            }\n        }\n\n        public void UpdateCrc(byte b, int n)\n        {\n            while (n-- > 0)\n                if (_reverseBits)\n                {\n                    var temp = (_register >> 24) ^ b;\n                    _register = (_register << 8) ^ _crc32Table[temp];\n                }\n                else\n                {\n                    var temp = (_register & 0x000000FF) ^ b;\n                    _register = (_register >> 8) ^ _crc32Table[temp];\n                }\n        }\n\n        private static uint ReverseBits(uint data)\n        {\n            unchecked\n            {\n                var ret = data;\n                ret = ((ret & 0x55555555) << 1) | ((ret >> 1) & 0x55555555);\n                ret = ((ret & 0x33333333) << 2) | ((ret >> 2) & 0x33333333);\n                ret = ((ret & 0x0F0F0F0F) << 4) | ((ret >> 4) & 0x0F0F0F0F);\n                ret = (ret << 24) | ((ret & 0xFF00) << 8) | ((ret >> 8) & 0xFF00) | (ret >> 24);\n                return ret;\n            }\n        }\n\n        private static byte ReverseBits(byte data)\n        {\n            unchecked\n            {\n                var u = (uint) data * 0x00020202;\n                uint m = 0x01044010;\n                var s = u & m;\n                var t = (u << 2) & (m << 1);\n                return (byte) ((0x01001001 * (s + t)) >> 24);\n            }\n        }\n\n        private void GenerateLookupTable()\n        {\n            _crc32Table = new uint[256];\n            unchecked\n            {\n                byte i = 0;\n                do\n                {\n                    uint dwCrc = i;\n                    for (byte j = 8; j > 0; j--)\n                        if ((dwCrc & 1) == 1) dwCrc = (dwCrc >> 1) ^ _dwPolynomial;\n                        else dwCrc >>= 1;\n                    if (_reverseBits) _crc32Table[ReverseBits(i)] = ReverseBits(dwCrc);\n                    else _crc32Table[i] = dwCrc;\n                    i++;\n                } while (i != 0);\n            }\n        }\n\n        private uint Gf2_matrix_times(uint[] matrix, uint vec)\n        {\n            uint sum = 0;\n            var i = 0;\n            while (vec != 0)\n            {\n                if ((vec & 0x01) == 0x01)\n                    sum ^= matrix[i];\n                vec >>= 1;\n                i++;\n            }\n\n            return sum;\n        }\n\n        private void Gf2_matrix_square(uint[] square, uint[] mat)\n        {\n            for (var i = 0; i < 32; i++)\n                square[i] = Gf2_matrix_times(mat, mat[i]);\n        }\n\n        public void Combine(int crc, int length)\n        {\n            var even = new uint[32]; \n            var odd = new uint[32]; \n\n            if (length == 0)\n                return;\n\n            var crc1 = ~_register;\n            var crc2 = (uint) crc;\n\n            odd[0] = _dwPolynomial; \n            uint row = 1;\n            for (var i = 1; i < 32; i++)\n            {\n                odd[i] = row;\n                row <<= 1;\n            }\n\n            Gf2_matrix_square(even, odd);\n            Gf2_matrix_square(odd, even);\n\n            var len2 = (uint) length;\n\n            do\n            {\n                Gf2_matrix_square(even, odd);\n\n                if ((len2 & 1) == 1)\n                    crc1 = Gf2_matrix_times(even, crc1);\n                len2 >>= 1;\n\n                if (len2 == 0)\n                    break;\n\n                Gf2_matrix_square(odd, even);\n                if ((len2 & 1) == 1)\n                    crc1 = Gf2_matrix_times(odd, crc1);\n                len2 >>= 1;\n            } while (len2 != 0);\n\n            crc1 ^= crc2;\n\n            _register = ~crc1;\n        }\n\n        public void Reset()\n        {\n            _register = 0xFFFFFFFFU;\n        }\n    }\n\n    public class CrcCalculatorStream : Stream, IDisposable\n    {\n        public static readonly long UnsetLengthLimit = -99;\n        private readonly Crc32 _crc32;\n        private readonly long _lengthLimit;\n        public Stream InnerStream;\n\n        public CrcCalculatorStream(Stream stream)\n            : this(true, UnsetLengthLimit, stream, null)\n        {\n        }\n\n        public CrcCalculatorStream(Stream stream, bool leaveOpen)\n            : this(leaveOpen, UnsetLengthLimit, stream, null)\n        {\n        }\n\n        public CrcCalculatorStream(Stream stream, long length)\n            : this(true, length, stream, null)\n        {\n            if (length < 0)\n                throw new ArgumentException(\"length\");\n        }\n\n        public CrcCalculatorStream(Stream stream, long length, bool leaveOpen)\n            : this(leaveOpen, length, stream, null)\n        {\n            if (length < 0)\n                throw new ArgumentException(\"length\");\n        }\n\n        public CrcCalculatorStream(Stream stream, long length, bool leaveOpen,\n            Crc32 crc32)\n            : this(leaveOpen, length, stream, crc32)\n        {\n            if (length < 0)\n                throw new ArgumentException(\"length\");\n        }\n\n        private CrcCalculatorStream\n            (bool leaveOpen, long length, Stream stream, Crc32 crc32)\n        {\n            InnerStream = stream;\n            _crc32 = crc32 ?? new Crc32();\n            _lengthLimit = length;\n            LeaveOpen = leaveOpen;\n        }\n\n        public long TotalBytesSlurped => _crc32.TotalBytesRead;\n        public int Crc => _crc32.Crc32Result;\n        public bool LeaveOpen { get; set; }\n        public override bool CanRead => InnerStream.CanRead;\n        public override bool CanSeek => false;\n        public override bool CanWrite => InnerStream.CanWrite;\n        public override long Length => _lengthLimit == UnsetLengthLimit ? InnerStream.Length : _lengthLimit;\n\n        public override long Position\n        {\n            get => _crc32.TotalBytesRead;\n            set => throw new NotSupportedException();\n        }\n\n        void IDisposable.Dispose()\n        {\n            Close();\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            var bytesToRead = count;\n\n            if (_lengthLimit != UnsetLengthLimit)\n            {\n                if (_crc32.TotalBytesRead >= _lengthLimit)\n                    return 0;\n\n                var bytesRemaining = _lengthLimit - _crc32.TotalBytesRead;\n                if (bytesRemaining < count)\n                    bytesToRead = (int) bytesRemaining;\n            }\n\n            var n = InnerStream.Read(buffer, offset, bytesToRead);\n            if (n > 0)\n                _crc32.SlurpBlock(buffer, offset, n);\n            return n;\n        }\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            if (count > 0)\n                _crc32.SlurpBlock(buffer, offset, count);\n            InnerStream.Write(buffer, offset, count);\n        }\n\n        public override void Flush()\n        {\n            InnerStream.Flush();\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotSupportedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            throw new NotSupportedException();\n        }\n\n        public override void Close()\n        {\n            base.Close();\n            if (!LeaveOpen)\n                InnerStream.Close();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/Deflate.cs",
    "content": "using System;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal enum BlockState\n    {\n        NeedMore = 0, \n        BlockDone, \n        FinishStarted,\n        FinishDone \n    }\n\n    internal enum DeflateFlavor\n    {\n        Store,\n        Fast,\n        Slow\n    }\n\n    internal sealed class DeflateManager\n    {\n        private const int MemLevelMax = 9;\n        private const int MemLevelDefault = 8;\n\n        internal delegate BlockState CompressFunc(FlushType flush);\n\n        internal class Config\n        {\n            private static readonly Config[] Table;\n\n            internal DeflateFlavor Flavor;\n            internal int GoodLength;\n            internal int MaxChainLength;\n            internal int MaxLazy; \n            internal int NiceLength; \n\n            static Config()\n            {\n                Table = new[]\n                {\n                    new Config(0, 0, 0, 0, DeflateFlavor.Store),\n                    new Config(4, 4, 8, 4, DeflateFlavor.Fast),\n                    new Config(4, 5, 16, 8, DeflateFlavor.Fast),\n                    new Config(4, 6, 32, 32, DeflateFlavor.Fast),\n                    new Config(4, 4, 16, 16, DeflateFlavor.Slow),\n                    new Config(8, 16, 32, 32, DeflateFlavor.Slow),\n                    new Config(8, 16, 128, 128, DeflateFlavor.Slow),\n                    new Config(8, 32, 128, 256, DeflateFlavor.Slow),\n                    new Config(32, 128, 258, 1024, DeflateFlavor.Slow),\n                    new Config(32, 258, 258, 4096, DeflateFlavor.Slow)\n                };\n            }\n\n            private Config(int goodLength, int maxLazy, int niceLength, int maxChainLength, DeflateFlavor flavor)\n            {\n                GoodLength = goodLength;\n                MaxLazy = maxLazy;\n                NiceLength = niceLength;\n                MaxChainLength = maxChainLength;\n                Flavor = flavor;\n            }\n\n            public static Config Lookup(CompressionLevel level)\n            {\n                return Table[(int) level];\n            }\n        }\n\n        private CompressFunc _deflateFunction;\n\n        private static readonly string[] ErrorMessage =\n        {\n            \"need dictionary\",\n            \"stream end\",\n            \"\",\n            \"file error\",\n            \"stream error\",\n            \"data error\",\n            \"insufficient memory\",\n            \"buffer error\",\n            \"incompatible version\",\n            \"\"\n        };\n\n        private const int PresetDict = 0x20;\n\n        private const int InitState = 42;\n        private const int BusyState = 113;\n        public static readonly int FinishState = 666;\n\n        private const int ZDeflated = 8;\n\n        private const int StoredBlock = 0;\n        private const int StaticTrees = 1;\n        private const int DynTrees = 2;\n\n        public static readonly int ZBinary = 0;\n        private const int ZAscii = 1;\n        private const int ZUnknown = 2;\n\n        private const int BufSize = 8 * 2;\n\n        private const int MinMatch = 3;\n        private const int MaxMatch = 258;\n\n        private const int MinLookahead = MaxMatch + MinMatch + 1;\n\n        private static readonly int HeapSize = 2 * InternalConstants.L_CODES + 1;\n\n        private const int EndBlock = 256;\n\n        internal ZlibCodec Codec; \n        internal int Status; \n        internal byte[] Pending; \n        internal int NextPending; \n        internal int PendingCount; \n\n        internal sbyte DataType; \n        internal int LastFlush; \n\n        internal int WSize; \n        internal int WBits; \n        internal int WMask; \n\n        internal byte[] Window;\n        internal int WindowSize;\n\n        internal short[] Prev;\n        internal short[] Head; \n\n        internal int InsH; \n        internal int HashSize;\n        internal int HashBits;\n        public int HashMask;\n        internal int HashShift;\n\n        internal int BlockStart;\n\n        private Config _config;\n        internal int MatchLength; \n        internal int PrevMatch; \n        internal int MatchAvailable; \n        internal int Strstart; \n        internal int MatchStart; \n        internal int Lookahead; \n\n        internal int PrevLength;\n\n        internal CompressionLevel CompressionLevel; \n        internal CompressionStrategy CompressionStrategy; \n\n        internal short[] DynLtree; \n        internal short[] DynDtree; \n        internal short[] BlTree;\n\n        internal Tree TreeLiterals = new Tree(); \n        internal Tree TreeDistances = new Tree(); \n        internal Tree TreeBitLengths = new Tree(); \n\n        internal short[] BlCount = new short[InternalConstants.MAX_BITS + 1];\n        internal int[] Heap = new int[2 * InternalConstants.L_CODES + 1];\n\n        internal int HeapLen; \n        internal int HeapMax;\n\n        internal sbyte[] Depth = new sbyte[2 * InternalConstants.L_CODES + 1];\n\n        internal int LengthOffset; \n\n        internal int LitBufsize;\n\n        internal int LastLit; \n\n        internal int DistanceOffset; \n\n        internal int OptLen; \n        internal int StaticLen; \n        internal int Matches; \n        internal int LastEobLen; \n\n        internal short BiBuf;\n\n        internal int BiValid;\n\n        internal DeflateManager()\n        {\n            DynLtree = new short[HeapSize * 2];\n            DynDtree = new short[(2 * InternalConstants.D_CODES + 1) * 2]; \n            BlTree = new short[(2 * InternalConstants.BL_CODES + 1) * 2];\n        }\n\n        private void _InitializeLazyMatch()\n        {\n            WindowSize = 2 * WSize;\n\n            Array.Clear(Head, 0, HashSize);\n\n            _config = Config.Lookup(CompressionLevel);\n            SetDeflater();\n\n            Strstart = 0;\n            BlockStart = 0;\n            Lookahead = 0;\n            MatchLength = PrevLength = MinMatch - 1;\n            MatchAvailable = 0;\n            InsH = 0;\n        }\n\n        private void InitializeTreeData()\n        {\n            TreeLiterals.DynTree = DynLtree;\n            TreeLiterals.StaticTree = StaticTree.Literals;\n\n            TreeDistances.DynTree = DynDtree;\n            TreeDistances.StaticTree = StaticTree.Distances;\n\n            TreeBitLengths.DynTree = BlTree;\n            TreeBitLengths.StaticTree = StaticTree.BitLengths;\n\n            BiBuf = 0;\n            BiValid = 0;\n            LastEobLen = 8; \n\n            InitializeBlocks();\n        }\n\n        internal void InitializeBlocks()\n        {\n            for (var i = 0; i < InternalConstants.L_CODES; i++)\n                DynLtree[i * 2] = 0;\n            for (var i = 0; i < InternalConstants.D_CODES; i++)\n                DynDtree[i * 2] = 0;\n            for (var i = 0; i < InternalConstants.BL_CODES; i++)\n                BlTree[i * 2] = 0;\n\n            DynLtree[EndBlock * 2] = 1;\n            OptLen = StaticLen = 0;\n            LastLit = Matches = 0;\n        }\n\n        internal void Pqdownheap(short[] tree, int k)\n        {\n            var v = Heap[k];\n            var j = k << 1; \n            while (j <= HeapLen)\n            {\n                if (j < HeapLen && IsSmaller(tree, Heap[j + 1], Heap[j], Depth)) j++;\n                if (IsSmaller(tree, v, Heap[j], Depth))\n                    break;\n\n                Heap[k] = Heap[j];\n                k = j;\n                j <<= 1;\n            }\n\n            Heap[k] = v;\n        }\n\n        internal static bool IsSmaller(short[] tree, int n, int m, sbyte[] depth)\n        {\n            var tn2 = tree[n * 2];\n            var tm2 = tree[m * 2];\n            return tn2 < tm2 || tn2 == tm2 && depth[n] <= depth[m];\n        }\n\n        internal void Scan_tree(short[] tree, int maxCode)\n        {\n            int n; \n            var prevlen = -1; \n            int nextlen = tree[0 * 2 + 1]; \n            var count = 0; \n            var maxCount = 7; \n            var minCount = 4; \n\n            if (nextlen == 0)\n            {\n                maxCount = 138;\n                minCount = 3;\n            }\n\n            tree[(maxCode + 1) * 2 + 1] = 0x7fff; \n\n            for (n = 0; n <= maxCode; n++)\n            {\n                var curlen = nextlen; \n                nextlen = tree[(n + 1) * 2 + 1];\n                if (++count < maxCount && curlen == nextlen) continue;\n\n                if (count < minCount)\n                {\n                    BlTree[curlen * 2] = (short) (BlTree[curlen * 2] + count);\n                }\n                else if (curlen != 0)\n                {\n                    if (curlen != prevlen)\n                        BlTree[curlen * 2]++;\n                    BlTree[InternalConstants.REP_3_6 * 2]++;\n                }\n                else if (count <= 10)\n                {\n                    BlTree[InternalConstants.REPZ_3_10 * 2]++;\n                }\n                else\n                {\n                    BlTree[InternalConstants.REPZ_11_138 * 2]++;\n                }\n\n                count = 0;\n                prevlen = curlen;\n                if (nextlen == 0)\n                {\n                    maxCount = 138;\n                    minCount = 3;\n                }\n                else if (curlen == nextlen)\n                {\n                    maxCount = 6;\n                    minCount = 3;\n                }\n                else\n                {\n                    maxCount = 7;\n                    minCount = 4;\n                }\n            }\n        }\n\n        internal int Build_bl_tree()\n        {\n            Scan_tree(DynLtree, TreeLiterals.MaxCode);\n            Scan_tree(DynDtree, TreeDistances.MaxCode);\n\n            TreeBitLengths.Build_tree(this);\n\n            int maxBlindex;\n\n            for (maxBlindex = InternalConstants.BL_CODES - 1; maxBlindex >= 3; maxBlindex--)\n                if (BlTree[Tree.BlOrder[maxBlindex] * 2 + 1] != 0)\n                    break;\n\n            OptLen += 3 * (maxBlindex + 1) + 5 + 5 + 4;\n\n            return maxBlindex;\n        }\n\n        internal void Send_all_trees(int lcodes, int dcodes, int blcodes)\n        {\n            int rank; \n\n            Send_bits(lcodes - 257, 5);\n            Send_bits(dcodes - 1, 5);\n            Send_bits(blcodes - 4, 4); \n            for (rank = 0; rank < blcodes; rank++) Send_bits(BlTree[Tree.BlOrder[rank] * 2 + 1], 3);\n            Send_tree(DynLtree, lcodes - 1); \n            Send_tree(DynDtree, dcodes - 1); \n        }\n\n        internal void Send_tree(short[] tree, int maxCode)\n        {\n            int n; \n            var prevlen = -1;\n            int nextlen = tree[0 * 2 + 1]; \n            var count = 0; \n            var maxCount = 7;\n            var minCount = 4; \n\n            if (nextlen == 0)\n            {\n                maxCount = 138;\n                minCount = 3;\n            }\n\n            for (n = 0; n <= maxCode; n++)\n            {\n                var curlen = nextlen;\n                nextlen = tree[(n + 1) * 2 + 1];\n                if (++count < maxCount && curlen == nextlen) continue;\n\n                if (count < minCount)\n                {\n                    do\n                    {\n                        Send_code(curlen, BlTree);\n                    } while (--count != 0);\n                }\n                else if (curlen != 0)\n                {\n                    if (curlen != prevlen)\n                    {\n                        Send_code(curlen, BlTree);\n                        count--;\n                    }\n\n                    Send_code(InternalConstants.REP_3_6, BlTree);\n                    Send_bits(count - 3, 2);\n                }\n                else if (count <= 10)\n                {\n                    Send_code(InternalConstants.REPZ_3_10, BlTree);\n                    Send_bits(count - 3, 3);\n                }\n                else\n                {\n                    Send_code(InternalConstants.REPZ_11_138, BlTree);\n                    Send_bits(count - 11, 7);\n                }\n\n                count = 0;\n                prevlen = curlen;\n                if (nextlen == 0)\n                {\n                    maxCount = 138;\n                    minCount = 3;\n                }\n                else if (curlen == nextlen)\n                {\n                    maxCount = 6;\n                    minCount = 3;\n                }\n                else\n                {\n                    maxCount = 7;\n                    minCount = 4;\n                }\n            }\n        }\n\n        private void Put_bytes(byte[] p, int start, int len)\n        {\n            Array.Copy(p, start, Pending, PendingCount, len);\n            PendingCount += len;\n        }\n\n        internal void Send_code(int c, short[] tree)\n        {\n            var c2 = c * 2;\n            Send_bits(tree[c2] & 0xffff, tree[c2 + 1] & 0xffff);\n        }\n\n        internal void Send_bits(int value, int length)\n        {\n            var len = length;\n            unchecked\n            {\n                if (BiValid > BufSize - len)\n                {\n                    BiBuf |= (short) ((value << BiValid) & 0xffff);\n                    Pending[PendingCount++] = (byte) BiBuf;\n                    Pending[PendingCount++] = (byte) (BiBuf >> 8);\n\n                    BiBuf = (short) ((uint) value >> (BufSize - BiValid));\n                    BiValid += len - BufSize;\n                }\n                else\n                {\n                    BiBuf |= (short) ((value << BiValid) & 0xffff);\n                    BiValid += len;\n                }\n            }\n        }\n\n        internal void Tr_align()\n        {\n            Send_bits(StaticTrees << 1, 3);\n            Send_code(EndBlock, StaticTree.lengthAndLiteralsTreeCodes);\n\n            Bi_flush();\n\n            if (1 + LastEobLen + 10 - BiValid < 9)\n            {\n                Send_bits(StaticTrees << 1, 3);\n                Send_code(EndBlock, StaticTree.lengthAndLiteralsTreeCodes);\n                Bi_flush();\n            }\n\n            LastEobLen = 7;\n        }\n\n        internal bool Tr_tally(int dist, int lc)\n        {\n            Pending[DistanceOffset + LastLit * 2] = unchecked((byte) ((uint) dist >> 8));\n            Pending[DistanceOffset + LastLit * 2 + 1] = unchecked((byte) dist);\n            Pending[LengthOffset + LastLit] = unchecked((byte) lc);\n            LastLit++;\n\n            if (dist == 0)\n            {\n                DynLtree[lc * 2]++;\n            }\n            else\n            {\n                Matches++;\n                dist--;\n                DynLtree[(Tree.LengthCode[lc] + InternalConstants.LITERALS + 1) * 2]++;\n                DynDtree[Tree.DistanceCode(dist) * 2]++;\n            }\n\n            if ((LastLit & 0x1fff) != 0 || (int) CompressionLevel <= 2)\n                return LastLit == LitBufsize - 1 || LastLit == LitBufsize;\n\n            var outLength = LastLit << 3;\n            var inLength = Strstart - BlockStart;\n            int dcode;\n            for (dcode = 0; dcode < InternalConstants.D_CODES; dcode++)\n                outLength = (int) (outLength + DynDtree[dcode * 2] * (5L + Tree.ExtraDistanceBits[dcode]));\n            outLength >>= 3;\n            if (Matches < LastLit / 2 && outLength < inLength / 2)\n                return true;\n\n            return LastLit == LitBufsize - 1 || LastLit == LitBufsize;\n        }\n\n        internal void send_compressed_block(short[] ltree, short[] dtree)\n        {\n            var lx = 0;\n\n            if (LastLit != 0)\n                do\n                {\n                    var ix = DistanceOffset + lx * 2;\n                    var distance = ((Pending[ix] << 8) & 0xff00) |\n                                   (Pending[ix + 1] & 0xff);\n                    var lc = Pending[LengthOffset + lx] & 0xff;\n                    lx++;\n\n                    if (distance == 0)\n                    {\n                        Send_code(lc, ltree); \n                    }\n                    else\n                    {\n                        int code = Tree.LengthCode[lc];\n\n                        Send_code(code + InternalConstants.LITERALS + 1, ltree);\n                        var extra = Tree.ExtraLengthBits[code];\n                        if (extra != 0)\n                        {\n                            lc -= Tree.LengthBase[code];\n                            Send_bits(lc, extra);\n                        }\n\n                        distance--; \n                        code = Tree.DistanceCode(distance);\n\n                        Send_code(code, dtree);\n\n                        extra = Tree.ExtraDistanceBits[code];\n                        if (extra == 0) continue;\n\n                        distance -= Tree.DistanceBase[code];\n                        Send_bits(distance, extra);\n                    }\n                } while (lx < LastLit);\n\n            Send_code(EndBlock, ltree);\n            LastEobLen = ltree[EndBlock * 2 + 1];\n        }\n\n        internal void Set_data_type()\n        {\n            var n = 0;\n            var asciiFreq = 0;\n            var binFreq = 0;\n            while (n < 7)\n            {\n                binFreq += DynLtree[n * 2];\n                n++;\n            }\n\n            while (n < 128)\n            {\n                asciiFreq += DynLtree[n * 2];\n                n++;\n            }\n\n            while (n < InternalConstants.LITERALS)\n            {\n                binFreq += DynLtree[n * 2];\n                n++;\n            }\n\n            DataType = (sbyte) (binFreq > asciiFreq >> 2 ? ZBinary : ZAscii);\n        }\n\n        internal void Bi_flush()\n        {\n            if (BiValid == 16)\n            {\n                Pending[PendingCount++] = (byte) BiBuf;\n                Pending[PendingCount++] = (byte) (BiBuf >> 8);\n                BiBuf = 0;\n                BiValid = 0;\n            }\n            else if (BiValid >= 8)\n            {\n                Pending[PendingCount++] = (byte) BiBuf;\n                BiBuf >>= 8;\n                BiValid -= 8;\n            }\n        }\n\n        internal void Bi_windup()\n        {\n            if (BiValid > 8)\n            {\n                Pending[PendingCount++] = (byte) BiBuf;\n                Pending[PendingCount++] = (byte) (BiBuf >> 8);\n            }\n            else if (BiValid > 0)\n            {\n                Pending[PendingCount++] = (byte) BiBuf;\n            }\n\n            BiBuf = 0;\n            BiValid = 0;\n        }\n\n        internal void Copy_block(int buf, int len, bool header)\n        {\n            Bi_windup(); \n            LastEobLen = 8; \n\n            if (header)\n                unchecked\n                {\n                    Pending[PendingCount++] = (byte) len;\n                    Pending[PendingCount++] = (byte) (len >> 8);\n                    Pending[PendingCount++] = (byte) ~len;\n                    Pending[PendingCount++] = (byte) (~len >> 8);\n                }\n\n            Put_bytes(Window, buf, len);\n        }\n\n        internal void Flush_block_only(bool eof)\n        {\n            Tr_flush_block(BlockStart >= 0 ? BlockStart : -1, Strstart - BlockStart, eof);\n            BlockStart = Strstart;\n            Codec.Flush_pending();\n        }\n\n        internal BlockState DeflateNone(FlushType flush)\n        {\n            var maxBlockSize = 0xffff;\n\n            if (maxBlockSize > Pending.Length - 5) maxBlockSize = Pending.Length - 5;\n\n            while (true)\n            {\n                if (Lookahead <= 1)\n                {\n                    FillWindow();\n                    if (Lookahead == 0 && flush == FlushType.None)\n                        return BlockState.NeedMore;\n\n                    if (Lookahead == 0)\n                        break;\n                }\n\n                Strstart += Lookahead;\n                Lookahead = 0;\n\n                var maxStart = BlockStart + maxBlockSize;\n                if (Strstart == 0 || Strstart >= maxStart)\n                {\n                    Lookahead = Strstart - maxStart;\n                    Strstart = maxStart;\n\n                    Flush_block_only(false);\n                    if (Codec.AvailableBytesOut == 0)\n                        return BlockState.NeedMore;\n                }\n\n                if (Strstart - BlockStart < WSize - MinLookahead) continue;\n\n                Flush_block_only(false);\n                if (Codec.AvailableBytesOut == 0)\n                    return BlockState.NeedMore;\n            }\n\n            Flush_block_only(flush == FlushType.Finish);\n            if (Codec.AvailableBytesOut == 0)\n                return flush == FlushType.Finish ? BlockState.FinishStarted : BlockState.NeedMore;\n\n            return flush == FlushType.Finish ? BlockState.FinishDone : BlockState.BlockDone;\n        }\n\n        internal void Tr_stored_block(int buf, int storedLen, bool eof)\n        {\n            Send_bits((StoredBlock << 1) + (eof ? 1 : 0), 3); \n            Copy_block(buf, storedLen, true); \n        }\n\n        internal void Tr_flush_block(int buf, int storedLen, bool eof)\n        {\n            int optLenb, staticLenb;\n            var maxBlindex = 0; \n\n            if (CompressionLevel > 0)\n            {\n                if (DataType == ZUnknown)\n                    Set_data_type();\n\n                TreeLiterals.Build_tree(this);\n                TreeDistances.Build_tree(this);\n\n                maxBlindex = Build_bl_tree();\n\n                optLenb = (OptLen + 3 + 7) >> 3;\n                staticLenb = (StaticLen + 3 + 7) >> 3;\n\n                if (staticLenb <= optLenb)\n                    optLenb = staticLenb;\n            }\n            else\n            {\n                optLenb = staticLenb = storedLen + 5; \n            }\n\n            if (storedLen + 4 <= optLenb && buf != -1)\n            {\n                Tr_stored_block(buf, storedLen, eof);\n            }\n            else if (staticLenb == optLenb)\n            {\n                Send_bits((StaticTrees << 1) + (eof ? 1 : 0), 3);\n                send_compressed_block(StaticTree.lengthAndLiteralsTreeCodes, StaticTree.distTreeCodes);\n            }\n            else\n            {\n                Send_bits((DynTrees << 1) + (eof ? 1 : 0), 3);\n                Send_all_trees(TreeLiterals.MaxCode + 1, TreeDistances.MaxCode + 1, maxBlindex + 1);\n                send_compressed_block(DynLtree, DynDtree);\n            }\n\n            InitializeBlocks();\n\n            if (eof) Bi_windup();\n        }\n\n        private void FillWindow()\n        {\n            do\n            {\n                var more = WindowSize - Lookahead - Strstart;\n\n                int n;\n                switch (more)\n                {\n                    case 0 when Strstart == 0 && Lookahead == 0:\n                        more = WSize;\n                        break;\n                    case -1:\n                        more--;\n                        break;\n                    default:\n                    {\n                        if (Strstart >= WSize + WSize - MinLookahead)\n                        {\n                            Array.Copy(Window, WSize, Window, 0, WSize);\n                            MatchStart -= WSize;\n                            Strstart -= WSize; \n                            BlockStart -= WSize;\n\n                            n = HashSize;\n                            var p = n;\n                            int m;\n                            do\n                            {\n                                m = Head[--p] & 0xffff;\n                                Head[p] = (short) (m >= WSize ? m - WSize : 0);\n                            } while (--n != 0);\n\n                            n = WSize;\n                            p = n;\n                            do\n                            {\n                                m = Prev[--p] & 0xffff;\n                                Prev[p] = (short) (m >= WSize ? m - WSize : 0);\n                            } while (--n != 0);\n\n                            more += WSize;\n                        }\n\n                        break;\n                    }\n                }\n\n                if (Codec.AvailableBytesIn == 0)\n                    return;\n\n                n = Codec.Read_buf(Window, Strstart + Lookahead, more);\n                Lookahead += n;\n\n                if (Lookahead < MinMatch) continue;\n\n                InsH = Window[Strstart] & 0xff;\n                InsH = ((InsH << HashShift) ^ (Window[Strstart + 1] & 0xff)) & HashMask;\n            } while (Lookahead < MinLookahead && Codec.AvailableBytesIn != 0);\n        }\n\n        internal BlockState DeflateFast(FlushType flush)\n        {\n            var hashHead = 0; \n\n            while (true)\n            {\n                if (Lookahead < MinLookahead)\n                {\n                    FillWindow();\n                    if (Lookahead < MinLookahead && flush == FlushType.None) return BlockState.NeedMore;\n\n                    if (Lookahead == 0)\n                        break; \n                }\n\n                if (Lookahead >= MinMatch)\n                {\n                    InsH = ((InsH << HashShift) ^ (Window[Strstart + (MinMatch - 1)] & 0xff)) & HashMask;\n                    hashHead = Head[InsH] & 0xffff;\n                    Prev[Strstart & WMask] = Head[InsH];\n                    Head[InsH] = unchecked((short) Strstart);\n                }\n\n                if (hashHead != 0L && ((Strstart - hashHead) & 0xffff) <= WSize - MinLookahead)\n                    if (CompressionStrategy != CompressionStrategy.HuffmanOnly)\n                        MatchLength = Longest_match(hashHead);\n                bool bflush;\n                if (MatchLength >= MinMatch)\n                {\n                    bflush = Tr_tally(Strstart - MatchStart, MatchLength - MinMatch);\n\n                    Lookahead -= MatchLength;\n\n                    if (MatchLength <= _config.MaxLazy && Lookahead >= MinMatch)\n                    {\n                        MatchLength--; \n                        do\n                        {\n                            Strstart++;\n\n                            InsH = ((InsH << HashShift) ^ (Window[Strstart + (MinMatch - 1)] & 0xff)) & HashMask;\n                            hashHead = Head[InsH] & 0xffff;\n                            Prev[Strstart & WMask] = Head[InsH];\n                            Head[InsH] = unchecked((short) Strstart);\n                        } while (--MatchLength != 0);\n\n                        Strstart++;\n                    }\n                    else\n                    {\n                        Strstart += MatchLength;\n                        MatchLength = 0;\n                        InsH = Window[Strstart] & 0xff;\n\n                        InsH = ((InsH << HashShift) ^ (Window[Strstart + 1] & 0xff)) & HashMask;\n                    }\n                }\n                else\n                {\n                    bflush = Tr_tally(0, Window[Strstart] & 0xff);\n                    Lookahead--;\n                    Strstart++;\n                }\n\n                if (!bflush) continue;\n\n                Flush_block_only(false);\n                if (Codec.AvailableBytesOut == 0)\n                    return BlockState.NeedMore;\n            }\n\n            Flush_block_only(flush == FlushType.Finish);\n            if (Codec.AvailableBytesOut != 0)\n                return flush == FlushType.Finish ? BlockState.FinishDone : BlockState.BlockDone;\n\n            return flush == FlushType.Finish ? BlockState.FinishStarted : BlockState.NeedMore;\n        }\n\n        internal BlockState DeflateSlow(FlushType flush)\n        {\n            var hashHead = 0;\n\n            while (true)\n            {\n                if (Lookahead < MinLookahead)\n                {\n                    FillWindow();\n                    if (Lookahead < MinLookahead && flush == FlushType.None)\n                        return BlockState.NeedMore;\n\n                    if (Lookahead == 0)\n                        break; \n                }\n\n                if (Lookahead >= MinMatch)\n                {\n                    InsH = ((InsH << HashShift) ^ (Window[Strstart + (MinMatch - 1)] & 0xff)) & HashMask;\n                    hashHead = Head[InsH] & 0xffff;\n                    Prev[Strstart & WMask] = Head[InsH];\n                    Head[InsH] = unchecked((short) Strstart);\n                }\n\n                PrevLength = MatchLength;\n                PrevMatch = MatchStart;\n                MatchLength = MinMatch - 1;\n\n                if (hashHead != 0 && PrevLength < _config.MaxLazy &&\n                    ((Strstart - hashHead) & 0xffff) <= WSize - MinLookahead)\n                {\n                    if (CompressionStrategy != CompressionStrategy.HuffmanOnly) MatchLength = Longest_match(hashHead);\n\n                    if (MatchLength <= 5 && (CompressionStrategy == CompressionStrategy.Filtered ||\n                                              MatchLength == MinMatch && Strstart - MatchStart > 4096))\n                        MatchLength = MinMatch - 1;\n                }\n\n                bool bflush;\n                if (PrevLength >= MinMatch && MatchLength <= PrevLength)\n                {\n                    var maxInsert = Strstart + Lookahead - MinMatch;\n                    bflush = Tr_tally(Strstart - 1 - PrevMatch, PrevLength - MinMatch);\n\n                    Lookahead -= PrevLength - 1;\n                    PrevLength -= 2;\n                    do\n                    {\n                        if (++Strstart > maxInsert) continue;\n\n                        InsH = ((InsH << HashShift) ^ (Window[Strstart + (MinMatch - 1)] & 0xff)) & HashMask;\n                        hashHead = Head[InsH] & 0xffff;\n                        Prev[Strstart & WMask] = Head[InsH];\n                        Head[InsH] = unchecked((short) Strstart);\n                    } while (--PrevLength != 0);\n\n                    MatchAvailable = 0;\n                    MatchLength = MinMatch - 1;\n                    Strstart++;\n\n                    if (!bflush) continue;\n\n                    Flush_block_only(false);\n                    if (Codec.AvailableBytesOut == 0)\n                        return BlockState.NeedMore;\n                }\n                else if (MatchAvailable != 0)\n                {\n                    bflush = Tr_tally(0, Window[Strstart - 1] & 0xff);\n\n                    if (bflush) Flush_block_only(false);\n                    Strstart++;\n                    Lookahead--;\n                    if (Codec.AvailableBytesOut == 0)\n                        return BlockState.NeedMore;\n                }\n                else\n                {\n                    MatchAvailable = 1;\n                    Strstart++;\n                    Lookahead--;\n                }\n            }\n\n            if (MatchAvailable != 0)\n            {\n                Tr_tally(0, Window[Strstart - 1] & 0xff);\n                MatchAvailable = 0;\n            }\n\n            Flush_block_only(flush == FlushType.Finish);\n\n            if (Codec.AvailableBytesOut != 0)\n                return flush == FlushType.Finish ? BlockState.FinishDone : BlockState.BlockDone;\n\n            return flush == FlushType.Finish ? BlockState.FinishStarted : BlockState.NeedMore;\n        }\n\n        internal int Longest_match(int curMatch)\n        {\n            var chainLength = _config.MaxChainLength; \n            var scan = Strstart;\n            var bestLen = PrevLength; \n            var limit = Strstart > WSize - MinLookahead ? Strstart - (WSize - MinLookahead) : 0;\n\n            var niceLength = _config.NiceLength;\n\n            var wmask = WMask;\n\n            var strend = Strstart + MaxMatch;\n            var scanEnd1 = Window[scan + bestLen - 1];\n            var scanEnd = Window[scan + bestLen];\n\n            if (PrevLength >= _config.GoodLength) chainLength >>= 2;\n\n            if (niceLength > Lookahead)\n                niceLength = Lookahead;\n\n            do\n            {\n                var match = curMatch;\n\n                if (Window[match + bestLen] != scanEnd ||\n                    Window[match + bestLen - 1] != scanEnd1 ||\n                    Window[match] != Window[scan] ||\n                    Window[++match] != Window[scan + 1])\n                    continue;\n\n                scan += 2;\n                match++;\n\n                do\n                {\n                } while (Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] &&\n                         Window[++scan] == Window[++match] && scan < strend);\n\n                var len = MaxMatch - (strend - scan);\n                scan = strend - MaxMatch;\n\n                if (len <= bestLen) continue;\n\n                MatchStart = curMatch;\n                bestLen = len;\n                if (len >= niceLength)\n                    break;\n\n                scanEnd1 = Window[scan + bestLen - 1];\n                scanEnd = Window[scan + bestLen];\n            } while ((curMatch = Prev[curMatch & wmask] & 0xffff) > limit && --chainLength != 0);\n\n            return bestLen <= Lookahead ? bestLen : Lookahead;\n        }\n\n        private bool _rfc1950BytesEmitted;\n        internal bool WantRfc1950HeaderBytes { get; set; } = true;\n\n        internal int Initialize(ZlibCodec codec, CompressionLevel level)\n        {\n            return Initialize(codec, level, ZlibConstants.WindowBitsMax);\n        }\n\n        internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits)\n        {\n            return Initialize(codec, level, bits, MemLevelDefault, CompressionStrategy.Default);\n        }\n\n        internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits,\n            CompressionStrategy compressionStrategy)\n        {\n            return Initialize(codec, level, bits, MemLevelDefault, compressionStrategy);\n        }\n\n        internal int Initialize(ZlibCodec codec, CompressionLevel level, int windowBits, int memLevel,\n            CompressionStrategy strategy)\n        {\n            Codec = codec;\n            Codec.Message = null;\n\n            if (windowBits < 9 || windowBits > 15)\n                throw new ZlibException(\"windowBits must be in the range 9..15.\");\n\n            if (memLevel < 1 || memLevel > MemLevelMax)\n                throw new ZlibException($\"memLevel must be in the range 1.. {MemLevelMax}\");\n\n            Codec.Dstate = this;\n\n            WBits = windowBits;\n            WSize = 1 << WBits;\n            WMask = WSize - 1;\n\n            HashBits = memLevel + 7;\n            HashSize = 1 << HashBits;\n            HashMask = HashSize - 1;\n            HashShift = (HashBits + MinMatch - 1) / MinMatch;\n\n            Window = new byte[WSize * 2];\n            Prev = new short[WSize];\n            Head = new short[HashSize];\n\n            LitBufsize = 1 << (memLevel + 6);\n\n            Pending = new byte[LitBufsize * 4];\n            DistanceOffset = LitBufsize;\n            LengthOffset = (1 + 2) * LitBufsize;\n\n            CompressionLevel = level;\n            CompressionStrategy = strategy;\n\n            Reset();\n            return ZlibConstants.ZOk;\n        }\n\n        internal void Reset()\n        {\n            Codec.TotalBytesIn = Codec.TotalBytesOut = 0;\n            Codec.Message = null;\n\n            PendingCount = 0;\n            NextPending = 0;\n\n            _rfc1950BytesEmitted = false;\n\n            Status = WantRfc1950HeaderBytes ? InitState : BusyState;\n            Codec._Adler32 = Adler.Adler32(0, null, 0, 0);\n\n            LastFlush = (int) FlushType.None;\n\n            InitializeTreeData();\n            _InitializeLazyMatch();\n        }\n\n        internal int End()\n        {\n            if (Status != InitState && Status != BusyState && Status != FinishState)\n                return ZlibConstants.ZStreamError;\n\n            Pending = null;\n            Head = null;\n            Prev = null;\n            Window = null;\n            return Status == BusyState ? ZlibConstants.ZDataError : ZlibConstants.ZOk;\n        }\n\n        private void SetDeflater()\n        {\n            switch (_config.Flavor)\n            {\n                case DeflateFlavor.Store:\n                    _deflateFunction = DeflateNone;\n                    break;\n\n                case DeflateFlavor.Fast:\n                    _deflateFunction = DeflateFast;\n                    break;\n\n                case DeflateFlavor.Slow:\n                    _deflateFunction = DeflateSlow;\n                    break;\n            }\n        }\n\n        internal int SetParams(CompressionLevel level, CompressionStrategy strategy)\n        {\n            var result = ZlibConstants.ZOk;\n\n            if (CompressionLevel != level)\n            {\n                var newConfig = Config.Lookup(level);\n\n                if (newConfig.Flavor != _config.Flavor && Codec.TotalBytesIn != 0)\n                    result = Codec.Deflate(FlushType.Partial);\n\n                CompressionLevel = level;\n                _config = newConfig;\n                SetDeflater();\n            }\n\n            CompressionStrategy = strategy;\n\n            return result;\n        }\n\n        internal int SetDictionary(byte[] dictionary)\n        {\n            var length = dictionary.Length;\n            var index = 0;\n\n            if (dictionary == null || Status != InitState)\n                throw new ZlibException(\"Stream error.\");\n\n            Codec._Adler32 = Adler.Adler32(Codec._Adler32, dictionary, 0, dictionary.Length);\n\n            if (length < MinMatch)\n                return ZlibConstants.ZOk;\n\n            if (length > WSize - MinLookahead)\n            {\n                length = WSize - MinLookahead;\n                index = dictionary.Length - length; \n            }\n\n            Array.Copy(dictionary, index, Window, 0, length);\n            Strstart = length;\n            BlockStart = length;\n\n            InsH = Window[0] & 0xff;\n            InsH = ((InsH << HashShift) ^ (Window[1] & 0xff)) & HashMask;\n\n            for (var n = 0; n <= length - MinMatch; n++)\n            {\n                InsH = ((InsH << HashShift) ^ (Window[n + (MinMatch - 1)] & 0xff)) & HashMask;\n                Prev[n & WMask] = Head[InsH];\n                Head[InsH] = (short) n;\n            }\n\n            return ZlibConstants.ZOk;\n        }\n\n        internal int Deflate(FlushType flush)\n        {\n            if (Codec.OutputBuffer == null ||\n                Codec.InputBuffer == null && Codec.AvailableBytesIn != 0 ||\n                Status == FinishState && flush != FlushType.Finish)\n            {\n                Codec.Message = ErrorMessage[ZlibConstants.ZNeedDict - ZlibConstants.ZStreamError];\n                throw new ZlibException($\"Something is fishy. [{Codec.Message}]\");\n            }\n\n            if (Codec.AvailableBytesOut == 0)\n            {\n                Codec.Message = ErrorMessage[ZlibConstants.ZNeedDict - ZlibConstants.ZBufError];\n                throw new ZlibException(\"OutputBuffer is full (AvailableBytesOut == 0)\");\n            }\n\n            var oldFlush = LastFlush;\n            LastFlush = (int) flush;\n\n            if (Status == InitState)\n            {\n                var header = (ZDeflated + ((WBits - 8) << 4)) << 8;\n                var levelFlags = (((int) CompressionLevel - 1) & 0xff) >> 1;\n\n                if (levelFlags > 3)\n                    levelFlags = 3;\n                header |= levelFlags << 6;\n                if (Strstart != 0)\n                    header |= PresetDict;\n                header += 31 - header % 31;\n\n                Status = BusyState;\n                unchecked\n                {\n                    Pending[PendingCount++] = (byte) (header >> 8);\n                    Pending[PendingCount++] = (byte) header;\n                }\n\n                if (Strstart != 0)\n                {\n                    Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0xFF000000) >> 24);\n                    Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0x00FF0000) >> 16);\n                    Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0x0000FF00) >> 8);\n                    Pending[PendingCount++] = (byte) (Codec._Adler32 & 0x000000FF);\n                }\n\n                Codec._Adler32 = Adler.Adler32(0, null, 0, 0);\n            }\n\n            if (PendingCount != 0)\n            {\n                Codec.Flush_pending();\n                if (Codec.AvailableBytesOut == 0)\n                {\n                    LastFlush = -1;\n                    return ZlibConstants.ZOk;\n                }\n            }\n            else if (Codec.AvailableBytesIn == 0 &&\n                     (int) flush <= oldFlush &&\n                     flush != FlushType.Finish)\n            {\n                return ZlibConstants.ZOk;\n            }\n\n            if (Status == FinishState && Codec.AvailableBytesIn != 0)\n            {\n                Codec.Message = ErrorMessage[ZlibConstants.ZNeedDict - ZlibConstants.ZBufError];\n                throw new ZlibException(\"status == FINISH_STATE && _codec.AvailableBytesIn != 0\");\n            }\n\n            if (Codec.AvailableBytesIn != 0 || Lookahead != 0 || flush != FlushType.None && Status != FinishState)\n            {\n                var bstate = _deflateFunction(flush);\n\n                if (bstate == BlockState.FinishStarted || bstate == BlockState.FinishDone) Status = FinishState;\n                switch (bstate)\n                {\n                    case BlockState.NeedMore:\n                    case BlockState.FinishStarted:\n                    {\n                        if (Codec.AvailableBytesOut == 0) LastFlush = -1; \n                        return ZlibConstants.ZOk;\n                    }\n\n                    case BlockState.BlockDone:\n                    {\n                        if (flush == FlushType.Partial)\n                        {\n                            Tr_align();\n                        }\n                        else\n                        {\n                            Tr_stored_block(0, 0, false);\n                            if (flush == FlushType.Full)\n                                for (var i = 0; i < HashSize; i++)\n                                    Head[i] = 0;\n                        }\n\n                        Codec.Flush_pending();\n                        if (Codec.AvailableBytesOut == 0)\n                        {\n                            LastFlush = -1; \n                            return ZlibConstants.ZOk;\n                        }\n\n                        break;\n                    }\n                }\n            }\n\n            if (flush != FlushType.Finish)\n                return ZlibConstants.ZOk;\n\n            if (!WantRfc1950HeaderBytes || _rfc1950BytesEmitted)\n                return ZlibConstants.ZStreamEnd;\n\n            Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0xFF000000) >> 24);\n            Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0x00FF0000) >> 16);\n            Pending[PendingCount++] = (byte) ((Codec._Adler32 & 0x0000FF00) >> 8);\n            Pending[PendingCount++] = (byte) (Codec._Adler32 & 0x000000FF);\n\n            Codec.Flush_pending();\n\n            _rfc1950BytesEmitted = true; \n\n            return PendingCount != 0 ? ZlibConstants.ZOk : ZlibConstants.ZStreamEnd;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/DeflateStream.cs",
    "content": "using System;\nusing System.IO;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public class DeflateStream : Stream\n    {\n        private bool _disposed;\n\n        protected override void Dispose(bool disposing)\n        {\n            try\n            {\n                if (_disposed) return;\n\n                if (disposing)\n                    BaseStream?.Close();\n                _disposed = true;\n            }\n            finally\n            {\n                base.Dispose(disposing);\n            }\n        }\n\n        internal ZlibBaseStream BaseStream;\n        internal Stream InnerStream;\n\n        public DeflateStream(Stream stream, CompressionMode mode)\n            : this(stream, mode, CompressionLevel.Default, false)\n        {\n        }\n\n        public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level)\n            : this(stream, mode, level, false)\n        {\n        }\n\n        public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen)\n            : this(stream, mode, CompressionLevel.Default, leaveOpen)\n        {\n        }\n\n        public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)\n        {\n            InnerStream = stream;\n            BaseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.Deflate, leaveOpen);\n        }\n\n        public int BufferSize\n        {\n            get => BaseStream.BufferSize;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"DeflateStream\");\n                if (BaseStream._workingBuffer != null)\n                    throw new ZlibException(\"The working buffer is already set.\");\n                if (value < ZlibConstants.WorkingBufferSizeMin)\n                    throw new ZlibException(\n                        $\"Don't be silly. {value} bytes?? Use a bigger buffer, at least {ZlibConstants.WorkingBufferSizeMin}.\");\n\n                BaseStream.BufferSize = value;\n            }\n        }\n\n        public override bool CanRead\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"DeflateStream\");\n\n                return BaseStream.Stream.CanRead;\n            }\n        }\n\n        public override bool CanSeek => false;\n\n        public override bool CanWrite\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"DeflateStream\");\n\n                return BaseStream.Stream.CanWrite;\n            }\n        }\n\n        public virtual FlushType FlushMode\n        {\n            get => BaseStream.FlushMode;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"DeflateStream\");\n\n                BaseStream.FlushMode = value;\n            }\n        }\n\n        public override long Length => throw new NotImplementedException();\n\n        public override long Position\n        {\n            get\n            {\n                switch (BaseStream._streamMode)\n                {\n                    case ZlibBaseStream.StreamMode.Writer:\n                        return BaseStream.Z.TotalBytesOut;\n                    case ZlibBaseStream.StreamMode.Reader:\n                        return BaseStream.Z.TotalBytesIn;\n                    default:\n                        return 0;\n                }\n            }\n            set => throw new NotImplementedException();\n        }\n\n        public CompressionStrategy Strategy\n        {\n            get => BaseStream.Strategy;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"DeflateStream\");\n\n                BaseStream.Strategy = value;\n            }\n        }\n\n        public virtual long TotalIn => BaseStream.Z.TotalBytesIn;\n\n        public virtual long TotalOut => BaseStream.Z.TotalBytesOut;\n\n        public static byte[] CompressBuffer(byte[] b)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new DeflateStream(ms, CompressionMode.Compress, CompressionLevel.BestCompression);\n\n            ZlibBaseStream.CompressBuffer(b, compressor);\n            return ms.ToArray();\n        }\n\n        public static byte[] CompressString(string s)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new DeflateStream(ms, CompressionMode.Compress, CompressionLevel.BestCompression);\n            ZlibBaseStream.CompressString(s, compressor);\n            return ms.ToArray();\n        }\n\n        public static byte[] UncompressBuffer(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor =\n                new DeflateStream(input, CompressionMode.Decompress);\n\n            return ZlibBaseStream.UncompressBuffer(compressed, decompressor);\n        }\n\n        public static string UncompressString(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor =\n                new DeflateStream(input, CompressionMode.Decompress);\n\n            return ZlibBaseStream.UncompressString(compressed, decompressor);\n        }\n\n        public override void Flush()\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"DeflateStream\");\n\n            BaseStream.Flush();\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"DeflateStream\");\n\n            return BaseStream.Read(buffer, offset, count);\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotImplementedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            throw new NotImplementedException();\n        }\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"DeflateStream\");\n\n            BaseStream.Write(buffer, offset, count);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/GZipStream.cs",
    "content": "using System;\nusing System.IO;\nusing System.Text;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public class GZipStream : Stream\n    {\n        public string Comment\n        {\n            get => _comment;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n\n                _comment = value;\n            }\n        }\n\n        public string FileName\n        {\n            get => _fileName;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n\n                _fileName = value;\n                if (_fileName == null)\n                    return;\n\n                if (_fileName.IndexOf(\"/\", StringComparison.Ordinal) != -1) _fileName = _fileName.Replace(\"/\", \"\\\\\");\n                if (_fileName.EndsWith(\"\\\\\"))\n                    throw new Exception(\"Illegal filename\");\n\n                if (_fileName.IndexOf(\"\\\\\", StringComparison.Ordinal) != -1)\n                    _fileName = Path.GetFileName(_fileName);\n            }\n        }\n\n        public DateTime? LastModified;\n\n        public int Crc32 { get; private set; }\n\n        private int _headerByteCount;\n        internal ZlibBaseStream BaseStream;\n        private bool _disposed;\n        private bool _firstReadDone;\n        private string _fileName;\n        private string _comment;\n\n        public GZipStream(Stream stream, CompressionMode mode)\n            : this(stream, mode, CompressionLevel.Default, false)\n        {\n        }\n\n        public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level)\n            : this(stream, mode, level, false)\n        {\n        }\n\n        public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen)\n            : this(stream, mode, CompressionLevel.Default, leaveOpen)\n        {\n        }\n\n        public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)\n        {\n            BaseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.Gzip, leaveOpen);\n        }\n\n        public virtual FlushType FlushMode\n        {\n            get => BaseStream.FlushMode;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n\n                BaseStream.FlushMode = value;\n            }\n        }\n\n        public int BufferSize\n        {\n            get => BaseStream.BufferSize;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n                if (BaseStream._workingBuffer != null)\n                    throw new ZlibException(\"The working buffer is already set.\");\n                if (value < ZlibConstants.WorkingBufferSizeMin)\n                    throw new ZlibException(\n                        $\"Don't be silly. {value} bytes?? Use a bigger buffer, at least {ZlibConstants.WorkingBufferSizeMin}.\");\n\n                BaseStream.BufferSize = value;\n            }\n        }\n\n        public virtual long TotalIn => BaseStream.Z.TotalBytesIn;\n\n        public virtual long TotalOut => BaseStream.Z.TotalBytesOut;\n\n        protected override void Dispose(bool disposing)\n        {\n            try\n            {\n                if (_disposed) return;\n\n                if (disposing && BaseStream != null)\n                {\n                    BaseStream.Close();\n                    Crc32 = BaseStream.Crc32;\n                }\n\n                _disposed = true;\n            }\n            finally\n            {\n                base.Dispose(disposing);\n            }\n        }\n\n        public override bool CanRead\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n\n                return BaseStream.Stream.CanRead;\n            }\n        }\n\n        public override bool CanSeek => false;\n\n        public override bool CanWrite\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"GZipStream\");\n\n                return BaseStream.Stream.CanWrite;\n            }\n        }\n\n        public override void Flush()\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"GZipStream\");\n\n            BaseStream.Flush();\n        }\n\n        public override long Length => throw new NotImplementedException();\n\n        public override long Position\n        {\n            get\n            {\n                switch (BaseStream._streamMode)\n                {\n                    case ZlibBaseStream.StreamMode.Writer:\n                        return BaseStream.Z.TotalBytesOut + _headerByteCount;\n                    case ZlibBaseStream.StreamMode.Reader:\n                        return BaseStream.Z.TotalBytesIn + BaseStream.GzipHeaderByteCount;\n                    default:\n                        return 0;\n                }\n            }\n\n            set => throw new NotImplementedException();\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"GZipStream\");\n\n            var n = BaseStream.Read(buffer, offset, count);\n\n            if (_firstReadDone) return n;\n\n            _firstReadDone = true;\n            FileName = BaseStream.GzipFileName;\n            Comment = BaseStream.GzipComment;\n\n            return n;\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotImplementedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            throw new NotImplementedException();\n        }\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"GZipStream\");\n\n            if (BaseStream._streamMode == ZlibBaseStream.StreamMode.Undefined)\n            {\n                if (BaseStream.WantCompress)\n                    _headerByteCount = EmitHeader();\n                else throw new InvalidOperationException();\n            }\n\n            BaseStream.Write(buffer, offset, count);\n        }\n\n        internal static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);\n        internal static readonly Encoding Iso8859dash1 = Encoding.GetEncoding(\"iso-8859-1\");\n\n        private int EmitHeader()\n        {\n            var commentBytes = Comment == null ? null : Iso8859dash1.GetBytes(Comment);\n            var filenameBytes = FileName == null ? null : Iso8859dash1.GetBytes(FileName);\n\n            if (commentBytes != null)\n            {\n                var cbLength = Comment == null ? 0 : commentBytes.Length + 1;\n                if (filenameBytes != null)\n                {\n                    var fnLength = FileName == null ? 0 : filenameBytes.Length + 1;\n\n                    var bufferLength = 10 + cbLength + fnLength;\n                    var header = new byte[bufferLength];\n                    var i = 0;\n\n                    header[i++] = 0x1F;\n                    header[i++] = 0x8B;\n\n                    header[i++] = 8;\n                    byte flag = 0;\n                    if (Comment != null)\n                        flag ^= 0x10;\n                    if (FileName != null)\n                        flag ^= 0x8;\n\n                    header[i++] = flag;\n\n                    if (!LastModified.HasValue)\n                        LastModified = DateTime.Now;\n                    var delta = LastModified.Value - UnixEpoch;\n                    var timet = (int) delta.TotalSeconds;\n                    Array.Copy(BitConverter.GetBytes(timet), 0, header, i, 4);\n                    i += 4;\n\n                    header[i++] = 0; \n                    header[i++] = 0xFF; \n\n                    if (fnLength != 0)\n                    {\n                        Array.Copy(filenameBytes, 0, header, i, fnLength - 1);\n                        i += fnLength - 1;\n                        header[i++] = 0; \n                    }\n\n                    if (cbLength != 0)\n                    {\n                        Array.Copy(commentBytes, 0, header, i, cbLength - 1);\n                        i += cbLength - 1;\n                        header[i++] = 0; \n                    }\n\n                    BaseStream.Stream.Write(header, 0, header.Length);\n\n                    return header.Length; \n                }\n            }\n\n            return 0;\n        }\n\n        public static byte[] CompressString(string s)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new GZipStream(ms, CompressionMode.Compress, CompressionLevel.BestCompression);\n            ZlibBaseStream.CompressString(s, compressor);\n            return ms.ToArray();\n        }\n\n        public static byte[] CompressBuffer(byte[] b)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new GZipStream(ms, CompressionMode.Compress, CompressionLevel.BestCompression);\n\n            ZlibBaseStream.CompressBuffer(b, compressor);\n            return ms.ToArray();\n        }\n\n        public static string UncompressString(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor = new GZipStream(input, CompressionMode.Decompress);\n            return ZlibBaseStream.UncompressString(compressed, decompressor);\n        }\n\n        public static byte[] UncompressBuffer(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor =\n                new GZipStream(input, CompressionMode.Decompress);\n\n            return ZlibBaseStream.UncompressBuffer(compressed, decompressor);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/InfTree.cs",
    "content": "using System;\nusing System.Collections.Generic;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal sealed class InfTree\n    {\n        internal const int Bmax = 15;\n\n        internal const int FixedBd = 5;\n        internal const int FixedBl = 9;\n\n        internal static readonly int[] Cpdext =\n        {\n            0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10,\n            10, 11, 11, 12, 12, 13, 13\n        };\n\n        internal static readonly int[] Cpdist =\n        {\n            1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385,\n            513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577\n        };\n\n        internal static readonly int[] Cplens =\n        {\n            3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59,\n            67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n        };\n\n        internal static readonly int[] Cplext =\n        {\n            0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4,\n            5, 5, 5, 5, 0, 112, 112\n        };\n\n        internal static readonly int[] FixedTd =\n        {\n            80, 5, 1, 87, 5, 257, 83, 5, 17, 91, 5, 4097, 81, 5, 5, 89, 5, 1025,\n            85, 5, 65, 93, 5, 16385, 80, 5, 3, 88, 5, 513, 84, 5, 33, 92, 5, 8193, 82, 5, 9, 90, 5, 2049, 86, 5, 129,\n            192, 5, 24577, 80, 5, 2, 87, 5, 385, 83, 5, 25, 91, 5, 6145, 81, 5, 7, 89, 5, 1537, 85, 5, 97, 93, 5, 24577,\n            80, 5, 4, 88, 5, 769, 84, 5, 49, 92, 5, 12289, 82, 5, 13, 90, 5, 3073, 86, 5, 193, 192, 5, 24577\n        };\n\n        internal static readonly int[] FixedTl =\n        {\n            96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96,\n            0, 8, 32, 0, 9, 160, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83,\n            7,\n            59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72,\n            0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13,\n            0,\n            8, 100, 0, 8, 36, 0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9,\n            152, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8,\n            140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9,\n            196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90,\n            0, 8, 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 180,\n            0,\n            8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8,\n            54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 236, 80, 7, 9,\n            0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0,\n            9, 188, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0,\n            8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9,\n            226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, 81, 7, 17, 0, 8,\n            105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258,\n            83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0,\n            8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7,\n            23, 0, 8, 109, 0, 8, 45, 0, 9, 186,\n            0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0,\n            8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, 80, 7,\n            7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43,\n            0, 9, 182, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0,\n            8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 174, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9,\n            238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8,\n            111, 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8,\n            115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8,\n            128,\n            0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 209, 81,\n            7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8,\n            20,\n            85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4,\n            0,\n            8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9,\n            217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 249, 80, 7, 3, 0, 8,\n            82,\n            0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 165,\n            0,\n            8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8,\n            58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7,\n            5,\n            0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0,\n            9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8,\n            126, 0, 8, 62, 0, 9, 221, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 189, 0, 8,\n            14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8,\n            49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6,\n            0, 8, 89, 0, 8, 25, 0, 9, 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0,\n            9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8,\n            117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9,\n            235,\n            80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0,\n            8, 45, 0, 9, 187, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7,\n            35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 167, 0, 8, 3, 0, 8, 131, 0, 8, 67,\n            0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0,\n            8, 107, 0, 8, 43, 0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8,\n            0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135,\n            0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 223, 82,\n            7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255\n        };\n\n        internal int[] C;\n        internal int[] Hn;\n        internal int[] R;\n        internal int[] U;\n        internal int[] V;\n        internal int[] X;\n\n        private const int Many = 1440;\n\n        private const int ZBufError = -5;\n        private const int ZDataError = -3;\n        private const int ZErrno = -1;\n        private const int ZMemError = -4;\n        private const int ZNeedDict = 2;\n        private const int ZOk = 0;\n        private const int ZStreamEnd = 1;\n        private const int ZStreamError = -2;\n        private const int ZVersionError = -6;\n\n        internal static int Inflate_trees_fixed(int[] bl, int[] bd, int[][] tl, int[][] td, ZlibCodec z)\n        {\n            bl[0] = FixedBl;\n            bd[0] = FixedBd;\n            tl[0] = FixedTl;\n            td[0] = FixedTd;\n            return ZOk;\n        }\n\n        internal int Inflate_trees_bits(int[] c, int[] bb, int[] tb, int[] hp, ZlibCodec z)\n        {\n            InitWorkArea(19);\n            Hn[0] = 0;\n            var result = Huft_build(c, 0, 19, 19, null, null, tb, bb, hp, Hn, V);\n\n            if (result == ZDataError)\n            {\n                z.Message = \"oversubscribed dynamic bit lengths tree\";\n            }\n            else if (result == ZBufError || bb[0] == 0)\n            {\n                z.Message = \"incomplete dynamic bit lengths tree\";\n                result = ZDataError;\n            }\n\n            return result;\n        }\n\n        internal int Inflate_trees_dynamic(int nl, int nd, int[] c, int[] bl, int[] bd, int[] tl, int[] td, int[] hp,\n            ZlibCodec z)\n        {\n            InitWorkArea(288);\n            Hn[0] = 0;\n            var result = Huft_build(c, 0, nl, 257, Cplens, Cplext, tl, bl, hp, Hn, V);\n            if (result != ZOk || bl[0] == 0)\n            {\n                if (result == ZDataError)\n                {\n                    z.Message = \"oversubscribed literal/length tree\";\n                }\n                else if (result != ZMemError)\n                {\n                    z.Message = \"incomplete literal/length tree\";\n                    result = ZDataError;\n                }\n\n                return result;\n            }\n\n            InitWorkArea(288);\n            result = Huft_build(c, nl, nd, 0, Cpdist, Cpdext, td, bd, hp, Hn, V);\n\n            switch (result)\n            {\n                case ZOk when (bd[0] != 0 || nl <= 257):\n                    return ZOk;\n                case ZDataError:\n                    z.Message = \"oversubscribed distance tree\";\n                    break;\n                case ZBufError:\n                    z.Message = \"incomplete distance tree\";\n                    result = ZDataError;\n                    break;\n                default:\n                {\n                    if (result != ZMemError)\n                    {\n                        z.Message = \"empty distance tree with lengths\";\n                        result = ZDataError;\n                    }\n\n                    break;\n                }\n            }\n\n            return result;\n        }\n\n        private int Huft_build(IReadOnlyList<int> b, int bindex, int n, int s, IReadOnlyList<int> d, IReadOnlyList<int> e, IList<int> t, IList<int> m, int[] hp,\n            IList<int> hn,\n            IList<int> v)\n        {\n            int j; \n            int y;\n\n            var p = 0;\n            var i = n;\n            do\n            {\n                C[b[bindex + p]]++;\n                p++;\n                i--; \n            } while (i != 0);\n\n            if (C[0] == n)\n            {\n                t[0] = -1;\n                m[0] = 0;\n                return ZOk;\n            }\n\n            var l = m[0];\n            for (j = 1; j <= Bmax; j++)\n                if (C[j] != 0)\n                    break;\n\n            var k = j;\n            if (l < j) l = j;\n            for (i = Bmax; i != 0; i--)\n                if (C[i] != 0)\n                    break;\n\n            var g = i;\n            if (l > i) l = i;\n            m[0] = l;\n\n            for (y = 1 << j; j < i; j++, y <<= 1)\n                if ((y -= C[j]) < 0)\n                    return ZDataError;\n\n            if ((y -= C[i]) < 0) return ZDataError;\n\n            C[i] += y;\n\n            X[1] = j = 0;\n            p = 1;\n            var xp = 2;\n            while (--i != 0)\n            {\n                X[xp] = j += C[p];\n                xp++;\n                p++;\n            }\n\n            i = 0;\n            p = 0;\n            do\n            {\n                if ((j = b[bindex + p]) != 0) v[X[j]++] = i;\n                p++;\n            } while (++i < n);\n\n            n = X[g];\n\n            X[0] = i = 0; \n            p = 0; \n            var h = -1;\n            var w = -l;\n            U[0] = 0; \n            var q = 0;\n            var z = 0;\n\n            for (; k <= g; k++)\n            {\n                var a = C[k]; \n                while (a-- != 0)\n                {\n                    int f; \n                    while (k > w + l)\n                    {\n                        h++;\n                        w += l; \n                        z = g - w;\n                        z = z > l ? l : z;\n                        if ((f = 1 << (j = k - w)) > a + 1)\n                        {\n                            f -= a + 1;\n                            xp = k;\n                            if (j < z)\n                                while (++j < z)\n                                {\n                                    if ((f <<= 1) <= C[++xp])\n                                        break; \n\n                                    f -= C[xp]; \n                                }\n                        }\n\n                        z = 1 << j; \n\n                        if (hn[0] + z > Many)\n                            return ZDataError; \n\n                        U[h] = q = hn[0]; \n                        hn[0] += z;\n\n                        if (h != 0)\n                        {\n                            X[h] = i; \n                            R[0] = (sbyte) j; \n                            R[1] = (sbyte) l; \n                            j = SharedUtils.UrShift(i, w - l);\n                            R[2] = q - U[h - 1] - j; \n                            Array.Copy(R, 0, hp, (U[h - 1] + j) * 3, 3); \n                        }\n                        else\n                        {\n                            t[0] = q; \n                        }\n                    }\n\n                    R[1] = (sbyte) (k - w);\n                    if (p >= n)\n                    {\n                        R[0] = 128 + 64; \n                    }\n                    else if (v[p] < s)\n                    {\n                        R[0] = (sbyte) (v[p] < 256 ? 0 : 32 + 64); \n                        R[2] = v[p++]; \n                    }\n                    else\n                    {\n                        R[0] = (sbyte) (e[v[p] - s] + 16 + 64);\n                        R[2] = d[v[p++] - s];\n                    }\n\n                    f = 1 << (k - w);\n                    for (j = SharedUtils.UrShift(i, w); j < z; j += f) Array.Copy(R, 0, hp, (q + j) * 3, 3);\n\n                    for (j = 1 << (k - 1); (i & j) != 0; j = SharedUtils.UrShift(j, 1)) i ^= j;\n                    i ^= j;\n\n                    var mask = (1 << w) - 1;\n                    while ((i & mask) != X[h])\n                    {\n                        h--; \n                        w -= l;\n                        mask = (1 << w) - 1;\n                    }\n                }\n            }\n\n            return y != 0 && g != 1 ? ZBufError : ZOk;\n        }\n\n        private void InitWorkArea(int vsize)\n        {\n            if (Hn == null)\n            {\n                Hn = new int[1];\n                V = new int[vsize];\n                C = new int[Bmax + 1];\n                R = new int[3];\n                U = new int[Bmax];\n                X = new int[Bmax + 1];\n            }\n            else\n            {\n                if (V.Length < vsize) V = new int[vsize];\n                Array.Clear(V, 0, vsize);\n                Array.Clear(C, 0, Bmax + 1);\n                R[0] = 0;\n                R[1] = 0;\n                R[2] = 0;\n                Array.Clear(U, 0, Bmax);\n                Array.Clear(X, 0, Bmax + 1);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/Inflate.cs",
    "content": "using System;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal static class InternalInflateConstants\n    {\n        internal static readonly int[] InflateMask =\n        {\n            0x00000000, 0x00000001, 0x00000003, 0x00000007,\n            0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f,\n            0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff,\n            0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff\n        };\n    }\n\n    internal sealed class InflateBlocks\n    {\n        private const int MANY = 1440;\n\n        internal static readonly int[] border = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};\n\n        internal ZlibCodec _codec;\n        internal int[] bb = new int[1];\n        internal int bitb;\n        internal int bitk;\n        internal int[] blens;\n        internal uint check;\n        internal object checkfn;\n        internal InflateCodes codes = new InflateCodes();\n        internal int end;\n        internal int[] hufts;\n        internal int index;\n        internal InfTree inftree = new InfTree();\n        internal int last;\n        internal int left;\n        private InflateBlockMode mode;\n        internal int readAt;\n        internal int table;\n        internal int[] tb = new int[1];\n        internal byte[] window;\n        internal int writeAt;\n\n        internal InflateBlocks(ZlibCodec codec, object checkfn, int w)\n        {\n            _codec = codec;\n            hufts = new int[MANY * 3];\n            window = new byte[w];\n            end = w;\n            this.checkfn = checkfn;\n            mode = InflateBlockMode.TYPE;\n            Reset();\n        }\n\n        internal int Flush(int r)\n        {\n            for (var pass = 0; pass < 2; pass++)\n            {\n                int nBytes;\n                if (pass == 0)\n                    nBytes = (readAt <= writeAt ? writeAt : end) - readAt;\n                else\n                    nBytes = writeAt - readAt;\n\n                if (nBytes == 0)\n                {\n                    if (r == ZlibConstants.ZBufError)\n                        r = ZlibConstants.ZOk;\n                    return r;\n                }\n\n                if (nBytes > _codec.AvailableBytesOut)\n                    nBytes = _codec.AvailableBytesOut;\n\n                if (nBytes != 0 && r == ZlibConstants.ZBufError)\n                    r = ZlibConstants.ZOk;\n\n                _codec.AvailableBytesOut -= nBytes;\n                _codec.TotalBytesOut += nBytes;\n\n                if (checkfn != null)\n                    _codec._Adler32 = check = Adler.Adler32(check, window, readAt, nBytes);\n\n                Array.Copy(window, readAt, _codec.OutputBuffer, _codec.NextOut, nBytes);\n                _codec.NextOut += nBytes;\n                readAt += nBytes;\n\n                if (readAt == end && pass == 0)\n                {\n                    readAt = 0;\n                    if (writeAt == end)\n                        writeAt = 0;\n                }\n                else\n                {\n                    pass++;\n                }\n            }\n\n            return r;\n        }\n\n        internal void Free()\n        {\n            Reset();\n            window = null;\n            hufts = null;\n        }\n\n        internal int Process(int r)\n        {\n            int t;\n\n            var p = _codec.NextIn;\n            var n = _codec.AvailableBytesIn;\n            var b = bitb;\n            var k = bitk;\n\n            var q = writeAt;\n            var m = q < readAt ? readAt - q - 1 : end - q;\n\n            while (true)\n                switch (mode)\n                {\n                    case InflateBlockMode.TYPE:\n\n                        while (k < 3)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                bitb = b;\n                                bitk = k;\n                                _codec.AvailableBytesIn = n;\n                                _codec.TotalBytesIn += p - _codec.NextIn;\n                                _codec.NextIn = p;\n                                writeAt = q;\n                                return Flush(r);\n                            }\n\n                            n--;\n                            b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        t = b & 7;\n                        last = t & 1;\n\n                        switch ((uint) t >> 1)\n                        {\n                            case 0: \n                                b >>= 3;\n                                k -= 3;\n                                t = k & 7; \n                                b >>= t;\n                                k -= t;\n                                mode = InflateBlockMode.LENS; \n                                break;\n\n                            case 1:\n                                var bl = new int[1];\n                                var bd = new int[1];\n                                var tl = new int[1][];\n                                var td = new int[1][];\n                                InfTree.Inflate_trees_fixed(bl, bd, tl, td, _codec);\n                                codes.Init(bl[0], bd[0], tl[0], 0, td[0], 0);\n                                b >>= 3;\n                                k -= 3;\n                                mode = InflateBlockMode.CODES;\n                                break;\n\n                            case 2:\n                                b >>= 3;\n                                k -= 3;\n                                mode = InflateBlockMode.TABLE;\n                                break;\n\n                            case 3:\n                                b >>= 3;\n                                k -= 3;\n                                mode = InflateBlockMode.BAD;\n                                _codec.Message = \"invalid block type\";\n                                r = ZlibConstants.ZDataError;\n                                bitb = b;\n                                bitk = k;\n                                _codec.AvailableBytesIn = n;\n                                _codec.TotalBytesIn += p - _codec.NextIn;\n                                _codec.NextIn = p;\n                                writeAt = q;\n                                return Flush(r);\n                        }\n\n                        break;\n\n                    case InflateBlockMode.LENS:\n\n                        while (k < 32)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                bitb = b;\n                                bitk = k;\n                                _codec.AvailableBytesIn = n;\n                                _codec.TotalBytesIn += p - _codec.NextIn;\n                                _codec.NextIn = p;\n                                writeAt = q;\n                                return Flush(r);\n                            }\n\n                            ;\n                            n--;\n                            b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        if (((~b >> 16) & 0xffff) != (b & 0xffff))\n                        {\n                            mode = InflateBlockMode.BAD;\n                            _codec.Message = \"invalid stored block lengths\";\n                            r = ZlibConstants.ZDataError;\n\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        left = b & 0xffff;\n                        b = k = 0;\n                        mode = left != 0\n                            ? InflateBlockMode.STORED\n                            : last != 0\n                                ? InflateBlockMode.DRY\n                                : InflateBlockMode.TYPE;\n                        break;\n\n                    case InflateBlockMode.STORED:\n                        if (n == 0)\n                        {\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        if (m == 0)\n                        {\n                            if (q == end && readAt != 0)\n                            {\n                                q = 0;\n                                m = q < readAt ? readAt - q - 1 : end - q;\n                            }\n\n                            if (m == 0)\n                            {\n                                writeAt = q;\n                                r = Flush(r);\n                                q = writeAt;\n                                m = q < readAt ? readAt - q - 1 : end - q;\n                                if (q == end && readAt != 0)\n                                {\n                                    q = 0;\n                                    m = q < readAt ? readAt - q - 1 : end - q;\n                                }\n\n                                if (m == 0)\n                                {\n                                    bitb = b;\n                                    bitk = k;\n                                    _codec.AvailableBytesIn = n;\n                                    _codec.TotalBytesIn += p - _codec.NextIn;\n                                    _codec.NextIn = p;\n                                    writeAt = q;\n                                    return Flush(r);\n                                }\n                            }\n                        }\n\n                        r = ZlibConstants.ZOk;\n\n                        t = left;\n                        if (t > n)\n                            t = n;\n                        if (t > m)\n                            t = m;\n                        Array.Copy(_codec.InputBuffer, p, window, q, t);\n                        p += t;\n                        n -= t;\n                        q += t;\n                        m -= t;\n                        if ((left -= t) != 0)\n                            break;\n\n                        mode = last != 0 ? InflateBlockMode.DRY : InflateBlockMode.TYPE;\n                        break;\n\n                    case InflateBlockMode.TABLE:\n\n                        while (k < 14)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                bitb = b;\n                                bitk = k;\n                                _codec.AvailableBytesIn = n;\n                                _codec.TotalBytesIn += p - _codec.NextIn;\n                                _codec.NextIn = p;\n                                writeAt = q;\n                                return Flush(r);\n                            }\n\n                            n--;\n                            b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        table = t = b & 0x3fff;\n                        if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)\n                        {\n                            mode = InflateBlockMode.BAD;\n                            _codec.Message = \"too many length or distance symbols\";\n                            r = ZlibConstants.ZDataError;\n\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);\n                        if (blens == null || blens.Length < t) blens = new int[t];\n                        else\n                            Array.Clear(blens, 0, t);\n\n                        b >>= 14;\n                        k -= 14;\n\n                        index = 0;\n                        mode = InflateBlockMode.BTREE;\n                        goto case InflateBlockMode.BTREE;\n\n                    case InflateBlockMode.BTREE:\n                        while (index < 4 + (table >> 10))\n                        {\n                            while (k < 3)\n                            {\n                                if (n != 0)\n                                {\n                                    r = ZlibConstants.ZOk;\n                                }\n                                else\n                                {\n                                    bitb = b;\n                                    bitk = k;\n                                    _codec.AvailableBytesIn = n;\n                                    _codec.TotalBytesIn += p - _codec.NextIn;\n                                    _codec.NextIn = p;\n                                    writeAt = q;\n                                    return Flush(r);\n                                }\n\n                                n--;\n                                b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                                k += 8;\n                            }\n\n                            blens[border[index++]] = b & 7;\n\n                            b >>= 3;\n                            k -= 3;\n                        }\n\n                        while (index < 19) blens[border[index++]] = 0;\n\n                        bb[0] = 7;\n                        t = inftree.Inflate_trees_bits(blens, bb, tb, hufts, _codec);\n                        if (t != ZlibConstants.ZOk)\n                        {\n                            r = t;\n                            if (r == ZlibConstants.ZDataError)\n                            {\n                                blens = null;\n                                mode = InflateBlockMode.BAD;\n                            }\n\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        index = 0;\n                        mode = InflateBlockMode.DTREE;\n                        goto case InflateBlockMode.DTREE;\n\n                    case InflateBlockMode.DTREE:\n                        while (true)\n                        {\n                            t = table;\n                            if (!(index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))) break;\n\n                            t = bb[0];\n\n                            while (k < t)\n                            {\n                                if (n != 0)\n                                {\n                                    r = ZlibConstants.ZOk;\n                                }\n                                else\n                                {\n                                    bitb = b;\n                                    bitk = k;\n                                    _codec.AvailableBytesIn = n;\n                                    _codec.TotalBytesIn += p - _codec.NextIn;\n                                    _codec.NextIn = p;\n                                    writeAt = q;\n                                    return Flush(r);\n                                }\n\n                                n--;\n                                b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                                k += 8;\n                            }\n\n                            t = hufts[(tb[0] + (b & InternalInflateConstants.InflateMask[t])) * 3 + 1];\n                            var c = hufts[(tb[0] + (b & InternalInflateConstants.InflateMask[t])) * 3 + 2];\n\n                            if (c < 16)\n                            {\n                                b >>= t;\n                                k -= t;\n                                blens[index++] = c;\n                            }\n                            else\n                            {\n                                var i = c == 18 ? 7 : c - 14;\n                                var j = c == 18 ? 11 : 3;\n\n                                while (k < t + i)\n                                {\n                                    if (n != 0)\n                                    {\n                                        r = ZlibConstants.ZOk;\n                                    }\n                                    else\n                                    {\n                                        bitb = b;\n                                        bitk = k;\n                                        _codec.AvailableBytesIn = n;\n                                        _codec.TotalBytesIn += p - _codec.NextIn;\n                                        _codec.NextIn = p;\n                                        writeAt = q;\n                                        return Flush(r);\n                                    }\n\n                                    n--;\n                                    b |= (_codec.InputBuffer[p++] & 0xff) << k;\n                                    k += 8;\n                                }\n\n                                b >>= t;\n                                k -= t;\n\n                                j += b & InternalInflateConstants.InflateMask[i];\n\n                                b >>= i;\n                                k -= i;\n\n                                i = index;\n                                t = table;\n                                if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) || c == 16 && i < 1)\n                                {\n                                    blens = null;\n                                    mode = InflateBlockMode.BAD;\n                                    _codec.Message = \"invalid bit length repeat\";\n                                    r = ZlibConstants.ZDataError;\n\n                                    bitb = b;\n                                    bitk = k;\n                                    _codec.AvailableBytesIn = n;\n                                    _codec.TotalBytesIn += p - _codec.NextIn;\n                                    _codec.NextIn = p;\n                                    writeAt = q;\n                                    return Flush(r);\n                                }\n\n                                c = c == 16 ? blens[i - 1] : 0;\n                                do\n                                {\n                                    blens[i++] = c;\n                                } while (--j != 0);\n\n                                index = i;\n                            }\n                        }\n\n                        tb[0] = -1;\n                    {\n                        int[] bl = {9};\n                        int[] bd = {6};\n                        var tl = new int[1];\n                        var td = new int[1];\n\n                        t = table;\n                        t = inftree.Inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f), blens, bl, bd, tl,\n                            td,\n                            hufts, _codec);\n\n                        if (t != ZlibConstants.ZOk)\n                        {\n                            if (t == ZlibConstants.ZDataError)\n                            {\n                                blens = null;\n                                mode = InflateBlockMode.BAD;\n                            }\n\n                            r = t;\n\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        codes.Init(bl[0], bd[0], hufts, tl[0], hufts, td[0]);\n                    }\n                        mode = InflateBlockMode.CODES;\n                        goto case InflateBlockMode.CODES;\n\n                    case InflateBlockMode.CODES:\n                        bitb = b;\n                        bitk = k;\n                        _codec.AvailableBytesIn = n;\n                        _codec.TotalBytesIn += p - _codec.NextIn;\n                        _codec.NextIn = p;\n                        writeAt = q;\n\n                        r = codes.Process(this, r);\n                        if (r != ZlibConstants.ZStreamEnd) return Flush(r);\n\n                        r = ZlibConstants.ZOk;\n                        p = _codec.NextIn;\n                        n = _codec.AvailableBytesIn;\n                        b = bitb;\n                        k = bitk;\n                        q = writeAt;\n                        m = q < readAt ? readAt - q - 1 : end - q;\n\n                        if (last == 0)\n                        {\n                            mode = InflateBlockMode.TYPE;\n                            break;\n                        }\n\n                        mode = InflateBlockMode.DRY;\n                        goto case InflateBlockMode.DRY;\n\n                    case InflateBlockMode.DRY:\n                        writeAt = q;\n                        r = Flush(r);\n                        q = writeAt;\n\n                        if (readAt != writeAt)\n                        {\n                            bitb = b;\n                            bitk = k;\n                            _codec.AvailableBytesIn = n;\n                            _codec.TotalBytesIn += p - _codec.NextIn;\n                            _codec.NextIn = p;\n                            writeAt = q;\n                            return Flush(r);\n                        }\n\n                        mode = InflateBlockMode.DONE;\n                        goto case InflateBlockMode.DONE;\n\n                    case InflateBlockMode.DONE:\n                        r = ZlibConstants.ZStreamEnd;\n                        bitb = b;\n                        bitk = k;\n                        _codec.AvailableBytesIn = n;\n                        _codec.TotalBytesIn += p - _codec.NextIn;\n                        _codec.NextIn = p;\n                        writeAt = q;\n                        return Flush(r);\n\n                    case InflateBlockMode.BAD:\n                        r = ZlibConstants.ZDataError;\n\n                        bitb = b;\n                        bitk = k;\n                        _codec.AvailableBytesIn = n;\n                        _codec.TotalBytesIn += p - _codec.NextIn;\n                        _codec.NextIn = p;\n                        writeAt = q;\n                        return Flush(r);\n\n                    default:\n                        r = ZlibConstants.ZStreamError;\n\n                        bitb = b;\n                        bitk = k;\n                        _codec.AvailableBytesIn = n;\n                        _codec.TotalBytesIn += p - _codec.NextIn;\n                        _codec.NextIn = p;\n                        writeAt = q;\n                        return Flush(r);\n                }\n        }\n\n        internal uint Reset()\n        {\n            var oldCheck = check;\n            mode = InflateBlockMode.TYPE;\n            bitk = 0;\n            bitb = 0;\n            readAt = writeAt = 0;\n\n            if (checkfn != null)\n                _codec._Adler32 = check = Adler.Adler32(0, null, 0, 0);\n            return oldCheck;\n        }\n\n        internal void SetDictionary(byte[] d, int start, int n)\n        {\n            Array.Copy(d, start, window, 0, n);\n            readAt = writeAt = n;\n        }\n\n        internal int SyncPoint()\n        {\n            return mode == InflateBlockMode.LENS ? 1 : 0;\n        }\n\n        private enum InflateBlockMode\n        {\n            TYPE = 0, // get type bits (3, including end bit)\n            LENS = 1, // get lengths for stored\n            STORED = 2, // processing stored block\n            TABLE = 3, // get table lengths\n            BTREE = 4, // get bit lengths tree for a dynamic block\n            DTREE = 5, // get length, distance trees for a dynamic block\n            CODES = 6, // processing fixed or dynamic block\n            DRY = 7, // output remaining window bytes\n            DONE = 8, // finished last block, done\n            BAD = 9 // ot a data error--stuck here\n        }\n    }\n\n    internal sealed class InflateCodes\n    {\n        internal int bitsToGet;\n        internal byte dbits;\n        internal int dist;\n        internal int[] dtree;\n        internal int dtree_index;\n        internal byte lbits;\n        internal int len;\n        internal int lit;\n        internal int[] ltree;\n        internal int ltree_index;\n        internal int mode;\n        internal int need;\n        internal int[] tree;\n        internal int tree_index;\n\n        private const int BADCODE = 9;\n        private const int COPY = 5;\n        private const int DIST = 3;\n        private const int DISTEXT = 4;\n        private const int END = 8;\n        private const int LEN = 1;\n        private const int LENEXT = 2;\n        private const int LIT = 6;\n        private const int START = 0;\n        private const int WASH = 7;\n\n        internal int InflateFast(int bl, int bd, int[] tl, int tlIndex, int[] td, int tdIndex, InflateBlocks s,\n            ZlibCodec z)\n        {\n            int c; \n\n            var p = z.NextIn;\n            var n = z.AvailableBytesIn;\n            var b = s.bitb;\n            var k = s.bitk;\n            var q = s.writeAt;\n            var m = q < s.readAt ? s.readAt - q - 1 : s.end - q;\n\n            var ml = InternalInflateConstants.InflateMask[bl];\n            var md = InternalInflateConstants.InflateMask[bd];\n\n            do\n            {\n                while (k < 20)\n                {\n                    n--;\n                    b |= (z.InputBuffer[p++] & 0xff) << k;\n                    k += 8;\n                }\n\n                var t = b & ml;\n                var tp = tl;\n                var tpIndex = tlIndex;\n                var tpIndexT3 = (tpIndex + t) * 3;\n                int e;\n                if ((e = tp[tpIndexT3]) == 0)\n                {\n                    b >>= tp[tpIndexT3 + 1];\n                    k -= tp[tpIndexT3 + 1];\n\n                    s.window[q++] = (byte) tp[tpIndexT3 + 2];\n                    m--;\n                    continue;\n                }\n\n                do\n                {\n                    b >>= tp[tpIndexT3 + 1];\n                    k -= tp[tpIndexT3 + 1];\n\n                    if ((e & 16) != 0)\n                    {\n                        e &= 15;\n                        c = tp[tpIndexT3 + 2] + (b & InternalInflateConstants.InflateMask[e]);\n\n                        b >>= e;\n                        k -= e;\n\n                        while (k < 15)\n                        {\n                            n--;\n                            b |= (z.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        t = b & md;\n                        tp = td;\n                        tpIndex = tdIndex;\n                        tpIndexT3 = (tpIndex + t) * 3;\n                        e = tp[tpIndexT3];\n\n                        do\n                        {\n                            b >>= tp[tpIndexT3 + 1];\n                            k -= tp[tpIndexT3 + 1];\n\n                            if ((e & 16) != 0)\n                            {\n                                e &= 15;\n                                while (k < e)\n                                {\n                                    n--;\n                                    b |= (z.InputBuffer[p++] & 0xff) << k;\n                                    k += 8;\n                                }\n\n                                var d = tp[tpIndexT3 + 2] + (b & InternalInflateConstants.InflateMask[e]);\n\n                                b >>= e;\n                                k -= e;\n\n                                m -= c;\n                                int r;\n                                if (q >= d)\n                                {\n                                    r = q - d;\n                                    if (q - r > 0 && 2 > q - r)\n                                    {\n                                        s.window[q++] = s.window[r++]; \n                                        s.window[q++] = s.window[r++]; \n                                        c -= 2;\n                                    }\n                                    else\n                                    {\n                                        Array.Copy(s.window, r, s.window, q, 2);\n                                        q += 2;\n                                        r += 2;\n                                        c -= 2;\n                                    }\n                                }\n                                else\n                                {\n                                    r = q - d;\n                                    do\n                                    {\n                                        r += s.end; \n                                    } while (r < 0); \n\n                                    e = s.end - r;\n                                    if (c > e)\n                                    {\n                                        c -= e; \n                                        if (q - r > 0 && e > q - r)\n                                        {\n                                            do\n                                            {\n                                                s.window[q++] = s.window[r++];\n                                            } while (--e != 0);\n                                        }\n                                        else\n                                        {\n                                            Array.Copy(s.window, r, s.window, q, e);\n                                            q += e;\n                                        }\n\n                                        r = 0; \n                                    }\n                                }\n\n                                if (q - r > 0 && c > q - r)\n                                {\n                                    do\n                                    {\n                                        s.window[q++] = s.window[r++];\n                                    } while (--c != 0);\n                                }\n                                else\n                                {\n                                    Array.Copy(s.window, r, s.window, q, c);\n                                    q += c;\n                                }\n\n                                break;\n                            }\n\n                            if ((e & 64) == 0)\n                            {\n                                t += tp[tpIndexT3 + 2];\n                                t += b & InternalInflateConstants.InflateMask[e];\n                                tpIndexT3 = (tpIndex + t) * 3;\n                                e = tp[tpIndexT3];\n                            }\n                            else\n                            {\n                                z.Message = \"invalid distance code\";\n\n                                c = z.AvailableBytesIn - n;\n                                c = k >> 3 < c ? k >> 3 : c;\n                                n += c;\n                                p -= c;\n                                k -= c << 3;\n\n                                s.bitb = b;\n                                s.bitk = k;\n                                z.AvailableBytesIn = n;\n                                z.TotalBytesIn += p - z.NextIn;\n                                z.NextIn = p;\n                                s.writeAt = q;\n\n                                return ZlibConstants.ZDataError;\n                            }\n                        } while (true);\n\n                        break;\n                    }\n\n                    if ((e & 64) == 0)\n                    {\n                        t += tp[tpIndexT3 + 2];\n                        t += b & InternalInflateConstants.InflateMask[e];\n                        tpIndexT3 = (tpIndex + t) * 3;\n                        if ((e = tp[tpIndexT3]) != 0) continue;\n\n                        b >>= tp[tpIndexT3 + 1];\n                        k -= tp[tpIndexT3 + 1];\n                        s.window[q++] = (byte) tp[tpIndexT3 + 2];\n                        m--;\n                        break;\n                    }\n\n                    if ((e & 32) != 0)\n                    {\n                        c = z.AvailableBytesIn - n;\n                        c = k >> 3 < c ? k >> 3 : c;\n                        n += c;\n                        p -= c;\n                        k -= c << 3;\n\n                        s.bitb = b;\n                        s.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        s.writeAt = q;\n\n                        return ZlibConstants.ZStreamEnd;\n                    }\n\n                    z.Message = \"invalid literal/length code\";\n\n                    c = z.AvailableBytesIn - n;\n                    c = k >> 3 < c ? k >> 3 : c;\n                    n += c;\n                    p -= c;\n                    k -= c << 3;\n\n                    s.bitb = b;\n                    s.bitk = k;\n                    z.AvailableBytesIn = n;\n                    z.TotalBytesIn += p - z.NextIn;\n                    z.NextIn = p;\n                    s.writeAt = q;\n\n                    return ZlibConstants.ZDataError;\n                } while (true);\n            } while (m >= 258 && n >= 10);\n\n            c = z.AvailableBytesIn - n;\n            c = k >> 3 < c ? k >> 3 : c;\n            n += c;\n            p -= c;\n            k -= c << 3;\n\n            s.bitb = b;\n            s.bitk = k;\n            z.AvailableBytesIn = n;\n            z.TotalBytesIn += p - z.NextIn;\n            z.NextIn = p;\n            s.writeAt = q;\n\n            return ZlibConstants.ZOk;\n        }\n\n        internal void Init(int bl, int bd, int[] tl, int tlIndex, int[] td, int tdIndex)\n        {\n            mode = START;\n            lbits = (byte) bl;\n            dbits = (byte) bd;\n            ltree = tl;\n            ltree_index = tlIndex;\n            dtree = td;\n            dtree_index = tdIndex;\n            tree = null;\n        }\n\n        internal int Process(InflateBlocks blocks, int r)\n        {\n            int j; \n            int tindex;\n            int e; \n\n            var z = blocks._codec;\n\n            var p = z.NextIn;\n            var n = z.AvailableBytesIn;\n            var b = blocks.bitb;\n            var k = blocks.bitk;\n            var q = blocks.writeAt;\n            var m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n\n            while (true)\n                switch (mode)\n                {\n                    case START:\n                        if (m >= 258 && n >= 10)\n                        {\n                            blocks.bitb = b;\n                            blocks.bitk = k;\n                            z.AvailableBytesIn = n;\n                            z.TotalBytesIn += p - z.NextIn;\n                            z.NextIn = p;\n                            blocks.writeAt = q;\n                            r = InflateFast(lbits, dbits, ltree, ltree_index, dtree, dtree_index, blocks, z);\n\n                            p = z.NextIn;\n                            n = z.AvailableBytesIn;\n                            b = blocks.bitb;\n                            k = blocks.bitk;\n                            q = blocks.writeAt;\n                            m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n\n                            if (r != ZlibConstants.ZOk)\n                            {\n                                mode = r == ZlibConstants.ZStreamEnd ? WASH : BADCODE;\n                                break;\n                            }\n                        }\n\n                        need = lbits;\n                        tree = ltree;\n                        tree_index = ltree_index;\n\n                        mode = LEN;\n                        goto case LEN;\n\n                    case LEN:\n                        j = need;\n\n                        while (k < j)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                blocks.bitb = b;\n                                blocks.bitk = k;\n                                z.AvailableBytesIn = n;\n                                z.TotalBytesIn += p - z.NextIn;\n                                z.NextIn = p;\n                                blocks.writeAt = q;\n                                return blocks.Flush(r);\n                            }\n\n                            n--;\n                            b |= (z.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        tindex = (tree_index + (b & InternalInflateConstants.InflateMask[j])) * 3;\n\n                        b >>= tree[tindex + 1];\n                        k -= tree[tindex + 1];\n\n                        e = tree[tindex];\n\n                        if (e == 0)\n                        {\n                            lit = tree[tindex + 2];\n                            mode = LIT;\n                            break;\n                        }\n\n                        if ((e & 16) != 0)\n                        {\n                            bitsToGet = e & 15;\n                            len = tree[tindex + 2];\n                            mode = LENEXT;\n                            break;\n                        }\n\n                        if ((e & 64) == 0)\n                        {\n                            need = e;\n                            tree_index = tindex / 3 + tree[tindex + 2];\n                            break;\n                        }\n\n                        if ((e & 32) != 0)\n                        {\n                            mode = WASH;\n                            break;\n                        }\n\n                        mode = BADCODE; \n                        z.Message = \"invalid literal/length code\";\n                        r = ZlibConstants.ZDataError;\n\n                        blocks.bitb = b;\n                        blocks.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        blocks.writeAt = q;\n                        return blocks.Flush(r);\n\n                    case LENEXT: \n                        j = bitsToGet;\n\n                        while (k < j)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                blocks.bitb = b;\n                                blocks.bitk = k;\n                                z.AvailableBytesIn = n;\n                                z.TotalBytesIn += p - z.NextIn;\n                                z.NextIn = p;\n                                blocks.writeAt = q;\n                                return blocks.Flush(r);\n                            }\n\n                            n--;\n                            b |= (z.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        len += b & InternalInflateConstants.InflateMask[j];\n\n                        b >>= j;\n                        k -= j;\n\n                        need = dbits;\n                        tree = dtree;\n                        tree_index = dtree_index;\n                        mode = DIST;\n                        goto case DIST;\n\n                    case DIST: \n                        j = need;\n\n                        while (k < j)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                blocks.bitb = b;\n                                blocks.bitk = k;\n                                z.AvailableBytesIn = n;\n                                z.TotalBytesIn += p - z.NextIn;\n                                z.NextIn = p;\n                                blocks.writeAt = q;\n                                return blocks.Flush(r);\n                            }\n\n                            n--;\n                            b |= (z.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        tindex = (tree_index + (b & InternalInflateConstants.InflateMask[j])) * 3;\n\n                        b >>= tree[tindex + 1];\n                        k -= tree[tindex + 1];\n\n                        e = tree[tindex];\n                        if ((e & 0x10) != 0)\n                        {\n                            bitsToGet = e & 15;\n                            dist = tree[tindex + 2];\n                            mode = DISTEXT;\n                            break;\n                        }\n\n                        if ((e & 64) == 0)\n                        {\n                            need = e;\n                            tree_index = tindex / 3 + tree[tindex + 2];\n                            break;\n                        }\n\n                        mode = BADCODE; \n                        z.Message = \"invalid distance code\";\n                        r = ZlibConstants.ZDataError;\n\n                        blocks.bitb = b;\n                        blocks.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        blocks.writeAt = q;\n                        return blocks.Flush(r);\n\n                    case DISTEXT: \n                        j = bitsToGet;\n\n                        while (k < j)\n                        {\n                            if (n != 0)\n                            {\n                                r = ZlibConstants.ZOk;\n                            }\n                            else\n                            {\n                                blocks.bitb = b;\n                                blocks.bitk = k;\n                                z.AvailableBytesIn = n;\n                                z.TotalBytesIn += p - z.NextIn;\n                                z.NextIn = p;\n                                blocks.writeAt = q;\n                                return blocks.Flush(r);\n                            }\n\n                            n--;\n                            b |= (z.InputBuffer[p++] & 0xff) << k;\n                            k += 8;\n                        }\n\n                        dist += b & InternalInflateConstants.InflateMask[j];\n\n                        b >>= j;\n                        k -= j;\n\n                        mode = COPY;\n                        goto case COPY;\n\n                    case COPY:\n                        var f = q - dist;\n                        while (f < 0)\n                            f += blocks.end; \n                        while (len != 0)\n                        {\n                            if (m == 0)\n                            {\n                                if (q == blocks.end && blocks.readAt != 0)\n                                {\n                                    q = 0;\n                                    m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n                                }\n\n                                if (m == 0)\n                                {\n                                    blocks.writeAt = q;\n                                    r = blocks.Flush(r);\n                                    q = blocks.writeAt;\n                                    m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n\n                                    if (q == blocks.end && blocks.readAt != 0)\n                                    {\n                                        q = 0;\n                                        m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n                                    }\n\n                                    if (m == 0)\n                                    {\n                                        blocks.bitb = b;\n                                        blocks.bitk = k;\n                                        z.AvailableBytesIn = n;\n                                        z.TotalBytesIn += p - z.NextIn;\n                                        z.NextIn = p;\n                                        blocks.writeAt = q;\n                                        return blocks.Flush(r);\n                                    }\n                                }\n                            }\n\n                            blocks.window[q++] = blocks.window[f++];\n                            m--;\n\n                            if (f == blocks.end)\n                                f = 0;\n                            len--;\n                        }\n\n                        mode = START;\n                        break;\n\n                    case LIT: \n                        if (m == 0)\n                        {\n                            if (q == blocks.end && blocks.readAt != 0)\n                            {\n                                q = 0;\n                                m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n                            }\n\n                            if (m == 0)\n                            {\n                                blocks.writeAt = q;\n                                r = blocks.Flush(r);\n                                q = blocks.writeAt;\n                                m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n\n                                if (q == blocks.end && blocks.readAt != 0)\n                                {\n                                    q = 0;\n                                    m = q < blocks.readAt ? blocks.readAt - q - 1 : blocks.end - q;\n                                }\n\n                                if (m == 0)\n                                {\n                                    blocks.bitb = b;\n                                    blocks.bitk = k;\n                                    z.AvailableBytesIn = n;\n                                    z.TotalBytesIn += p - z.NextIn;\n                                    z.NextIn = p;\n                                    blocks.writeAt = q;\n                                    return blocks.Flush(r);\n                                }\n                            }\n                        }\n\n                        r = ZlibConstants.ZOk;\n\n                        blocks.window[q++] = (byte) lit;\n                        m--;\n\n                        mode = START;\n                        break;\n\n                    case WASH: \n                        if (k > 7)\n                        {\n                            k -= 8;\n                            n++;\n                            p--; \n                        }\n\n                        blocks.writeAt = q;\n                        r = blocks.Flush(r);\n                        q = blocks.writeAt;\n\n                        if (blocks.readAt != blocks.writeAt)\n                        {\n                            blocks.bitb = b;\n                            blocks.bitk = k;\n                            z.AvailableBytesIn = n;\n                            z.TotalBytesIn += p - z.NextIn;\n                            z.NextIn = p;\n                            blocks.writeAt = q;\n                            return blocks.Flush(r);\n                        }\n\n                        mode = END;\n                        goto case END;\n\n                    case END:\n                        r = ZlibConstants.ZStreamEnd;\n                        blocks.bitb = b;\n                        blocks.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        blocks.writeAt = q;\n                        return blocks.Flush(r);\n\n                    case BADCODE: \n\n                        r = ZlibConstants.ZDataError;\n\n                        blocks.bitb = b;\n                        blocks.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        blocks.writeAt = q;\n                        return blocks.Flush(r);\n\n                    default:\n                        r = ZlibConstants.ZStreamError;\n\n                        blocks.bitb = b;\n                        blocks.bitk = k;\n                        z.AvailableBytesIn = n;\n                        z.TotalBytesIn += p - z.NextIn;\n                        z.NextIn = p;\n                        blocks.writeAt = q;\n                        return blocks.Flush(r);\n                }\n        }\n    }\n\n    internal sealed class InflateManager\n    {\n        internal bool HandleRfc1950HeaderBytes { get; set; } = true;\n\n        private enum InflateManagerMode\n        {\n            Method = 0,\n            Flag = 1, \n            Dict4 = 2, \n            Dict3 = 3, \n            Dict2 = 4, \n            Dict1 = 5, \n            Dict0 = 6, \n            Blocks = 7, \n            Check4 = 8, \n            Check3 = 9, \n            Check2 = 10, \n            Check1 = 11,\n            Done = 12, \n            Bad = 13 \n        }\n\n        internal ZlibCodec Codec;\n        internal InflateBlocks Blocks;\n        internal uint ComputedCheck;\n        internal uint ExpectedCheck;\n        internal int Marker;\n        internal int Method;\n        internal int Wbits;\n\n        private const int PresetDict = 0x20;\n\n        private const int ZDeflated = 8;\n\n        private static readonly byte[] Mark = {0, 0, 0xff, 0xff};\n\n        private InflateManagerMode _mode;\n\n        public InflateManager()\n        {\n        }\n\n        public InflateManager(bool expectRfc1950HeaderBytes)\n        {\n            HandleRfc1950HeaderBytes = expectRfc1950HeaderBytes;\n        }\n\n        internal int End()\n        {\n            Blocks?.Free();\n            Blocks = null;\n            return ZlibConstants.ZOk;\n        }\n\n        internal int Inflate(FlushType flush)\n        {\n            if (Codec.InputBuffer == null)\n                throw new ZlibException(\"InputBuffer is null. \");\n\n            const int f = ZlibConstants.ZOk;\n            var r = ZlibConstants.ZBufError;\n\n            while (true)\n                switch (_mode)\n                {\n                    case InflateManagerMode.Method:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        if (((Method = Codec.InputBuffer[Codec.NextIn++]) & 0xf) != ZDeflated)\n                        {\n                            _mode = InflateManagerMode.Bad;\n                            Codec.Message = $\"unknown compression method (0x{Method:X2})\";\n                            Marker = 5; \n                            break;\n                        }\n\n                        if ((Method >> 4) + 8 > Wbits)\n                        {\n                            _mode = InflateManagerMode.Bad;\n                            Codec.Message = $\"invalid window size ({(Method >> 4) + 8})\";\n                            Marker = 5;\n                            break;\n                        }\n\n                        _mode = InflateManagerMode.Flag;\n                        break;\n\n                    case InflateManagerMode.Flag:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        var b = Codec.InputBuffer[Codec.NextIn++] & 0xff;\n\n                        if (((Method << 8) + b) % 31 != 0)\n                        {\n                            _mode = InflateManagerMode.Bad;\n                            Codec.Message = \"incorrect header check\";\n                            Marker = 5; \n                            break;\n                        }\n\n                        _mode = (b & PresetDict) == 0\n                            ? InflateManagerMode.Blocks\n                            : InflateManagerMode.Dict4;\n                        break;\n\n                    case InflateManagerMode.Dict4:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck = (uint) ((Codec.InputBuffer[Codec.NextIn++] << 24) & 0xff000000);\n                        _mode = InflateManagerMode.Dict3;\n                        break;\n\n                    case InflateManagerMode.Dict3:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) ((Codec.InputBuffer[Codec.NextIn++] << 16) & 0x00ff0000);\n                        _mode = InflateManagerMode.Dict2;\n                        break;\n\n                    case InflateManagerMode.Dict2:\n\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) ((Codec.InputBuffer[Codec.NextIn++] << 8) & 0x0000ff00);\n                        _mode = InflateManagerMode.Dict1;\n                        break;\n\n                    case InflateManagerMode.Dict1:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) (Codec.InputBuffer[Codec.NextIn++] & 0x000000ff);\n                        Codec._Adler32 = ExpectedCheck;\n                        _mode = InflateManagerMode.Dict0;\n                        return ZlibConstants.ZNeedDict;\n\n                    case InflateManagerMode.Dict0:\n                        _mode = InflateManagerMode.Bad;\n                        Codec.Message = \"need dictionary\";\n                        Marker = 0; \n                        return ZlibConstants.ZStreamError;\n\n                    case InflateManagerMode.Blocks:\n                        r = Blocks.Process(r);\n                        if (r == ZlibConstants.ZDataError)\n                        {\n                            _mode = InflateManagerMode.Bad;\n                            Marker = 0; \n                            break;\n                        }\n\n                        if (r == ZlibConstants.ZOk)\n                            r = f;\n\n                        if (r != ZlibConstants.ZStreamEnd)\n                            return r;\n\n                        r = f;\n                        ComputedCheck = Blocks.Reset();\n                        if (!HandleRfc1950HeaderBytes)\n                        {\n                            _mode = InflateManagerMode.Done;\n                            return ZlibConstants.ZStreamEnd;\n                        }\n\n                        _mode = InflateManagerMode.Check4;\n                        break;\n\n                    case InflateManagerMode.Check4:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck = (uint) ((Codec.InputBuffer[Codec.NextIn++] << 24) & 0xff000000);\n                        _mode = InflateManagerMode.Check3;\n                        break;\n\n                    case InflateManagerMode.Check3:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) ((Codec.InputBuffer[Codec.NextIn++] << 16) & 0x00ff0000);\n                        _mode = InflateManagerMode.Check2;\n                        break;\n\n                    case InflateManagerMode.Check2:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) ((Codec.InputBuffer[Codec.NextIn++] << 8) & 0x0000ff00);\n                        _mode = InflateManagerMode.Check1;\n                        break;\n\n                    case InflateManagerMode.Check1:\n                        if (Codec.AvailableBytesIn == 0)\n                            return r;\n\n                        r = f;\n                        Codec.AvailableBytesIn--;\n                        Codec.TotalBytesIn++;\n                        ExpectedCheck += (uint) (Codec.InputBuffer[Codec.NextIn++] & 0x000000ff);\n                        if (ComputedCheck != ExpectedCheck)\n                        {\n                            _mode = InflateManagerMode.Bad;\n                            Codec.Message = \"incorrect data check\";\n                            Marker = 5; \n                            break;\n                        }\n\n                        _mode = InflateManagerMode.Done;\n                        return ZlibConstants.ZStreamEnd;\n\n                    case InflateManagerMode.Done:\n                        return ZlibConstants.ZStreamEnd;\n\n                    case InflateManagerMode.Bad:\n                        throw new ZlibException($\"Bad state ({Codec.Message})\");\n\n                    default:\n                        throw new ZlibException(\"Stream error.\");\n                }\n        }\n\n        internal int Initialize(ZlibCodec codec, int w)\n        {\n            Codec = codec;\n            Codec.Message = null;\n            Blocks = null;\n\n            if (w < 8 || w > 15)\n            {\n                End();\n                throw new ZlibException(\"Bad window size.\");\n            }\n\n            Wbits = w;\n\n            Blocks = new InflateBlocks(codec,\n                HandleRfc1950HeaderBytes ? this : null,\n                1 << w);\n\n            Reset();\n            return ZlibConstants.ZOk;\n        }\n\n        internal int Reset()\n        {\n            Codec.TotalBytesIn = Codec.TotalBytesOut = 0;\n            Codec.Message = null;\n            _mode = HandleRfc1950HeaderBytes ? InflateManagerMode.Method : InflateManagerMode.Blocks;\n            Blocks.Reset();\n            return ZlibConstants.ZOk;\n        }\n\n        internal int SetDictionary(byte[] dictionary)\n        {\n            var index = 0;\n            var length = dictionary.Length;\n            if (_mode != InflateManagerMode.Dict0)\n                throw new ZlibException(\"Stream error.\");\n\n            if (Adler.Adler32(1, dictionary, 0, dictionary.Length) != Codec._Adler32)\n                return ZlibConstants.ZDataError;\n\n            Codec._Adler32 = Adler.Adler32(0, null, 0, 0);\n\n            if (length >= 1 << Wbits)\n            {\n                length = (1 << Wbits) - 1;\n                index = dictionary.Length - length;\n            }\n\n            Blocks.SetDictionary(dictionary, index, length);\n            _mode = InflateManagerMode.Blocks;\n            return ZlibConstants.ZOk;\n        }\n\n        internal int Sync()\n        {\n            int n;\n\n            if (_mode != InflateManagerMode.Bad)\n            {\n                _mode = InflateManagerMode.Bad;\n                Marker = 0;\n            }\n\n            if ((n = Codec.AvailableBytesIn) == 0)\n                return ZlibConstants.ZBufError;\n\n            var p = Codec.NextIn;\n            var m = Marker;\n\n            while (n != 0 && m < 4)\n            {\n                if (Codec.InputBuffer[p] == Mark[m]) m++;\n                else if (Codec.InputBuffer[p] != 0) m = 0;\n                else m = 4 - m;\n                p++;\n                n--;\n            }\n\n            Codec.TotalBytesIn += p - Codec.NextIn;\n            Codec.NextIn = p;\n            Codec.AvailableBytesIn = n;\n            Marker = m;\n\n            if (m != 4) return ZlibConstants.ZDataError;\n\n            var r = Codec.TotalBytesIn;\n            var w = Codec.TotalBytesOut;\n            Reset();\n            Codec.TotalBytesIn = r;\n            Codec.TotalBytesOut = w;\n            _mode = InflateManagerMode.Blocks;\n            return ZlibConstants.ZOk;\n        }\n\n        internal int SyncPoint(ZlibCodec z)\n        {\n            return Blocks.SyncPoint();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/Iso8859Dash1Encoding.cs",
    "content": "using System;\nusing System.Text;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public class Iso8859Dash1Encoding : Encoding\n    {\n        public static int CharacterCount => 256;\n\n        public override string WebName => \"iso-8859-1\";\n\n        public override int GetByteCount(char[] chars, int index, int count)\n        {\n            return count;\n        }\n\n        public override int GetBytes(char[] chars, int start, int count, byte[] bytes, int byteIndex)\n        {\n            if (chars == null)\n                throw new ArgumentNullException(nameof(chars), \"null array\");\n\n            if (bytes == null)\n                throw new ArgumentNullException(nameof(bytes), \"null array\");\n\n            if (start < 0)\n                throw new ArgumentOutOfRangeException(nameof(start));\n            if (count < 0)\n                throw new ArgumentOutOfRangeException(nameof(count));\n\n            if (chars.Length - start < count)\n                throw new ArgumentOutOfRangeException(nameof(chars));\n\n            if (byteIndex < 0 || byteIndex > bytes.Length)\n                throw new ArgumentOutOfRangeException(nameof(byteIndex));\n\n            for (var i = 0; i < count; i++)\n            {\n                var c = chars[start + i]; \n\n                if (c >= '\\x00FF') \n                    bytes[byteIndex + i] = (byte) '?';\n                else\n                    bytes[byteIndex + i] = (byte) c;\n            }\n\n            return count;\n        }\n\n        public override int GetCharCount(byte[] bytes, int index, int count)\n        {\n            return count;\n        }\n\n        public override int GetChars(byte[] bytes, int start, int count, char[] chars, int charIndex)\n        {\n            if (chars == null)\n                throw new ArgumentNullException(nameof(chars), \"null array\");\n\n            if (bytes == null)\n                throw new ArgumentNullException(nameof(bytes), \"null array\");\n\n            if (start < 0)\n                throw new ArgumentOutOfRangeException(nameof(start));\n            if (count < 0)\n                throw new ArgumentOutOfRangeException(nameof(count));\n\n            if (bytes.Length - start < count)\n                throw new ArgumentOutOfRangeException(nameof(bytes));\n\n            if (charIndex < 0 || charIndex > chars.Length)\n                throw new ArgumentOutOfRangeException(nameof(charIndex));\n\n            for (var i = 0; i < count; i++)\n                chars[charIndex + i] = (char) bytes[i + start];\n\n            return count;\n        }\n\n        public override int GetMaxByteCount(int charCount)\n        {\n            return charCount;\n        }\n\n        public override int GetMaxCharCount(int byteCount)\n        {\n            return byteCount;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/ParallelDeflateOutputStream.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Threading;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal class WorkItem\n    {\n        public byte[] Buffer;\n        public byte[] Compressed;\n        public int CompressedBytesAvailable;\n        public ZlibCodec Compressor;\n        public int Crc;\n        public int Index;\n        public int InputBytesAvailable;\n        public int Ordinal;\n\n        public WorkItem(int size,\n            CompressionLevel compressLevel,\n            CompressionStrategy strategy,\n            int ix)\n        {\n            Buffer = new byte[size];\n            var n = size + (size / 32768 + 1) * 5 * 2;\n            Compressed = new byte[n];\n            Compressor = new ZlibCodec();\n            Compressor.InitializeDeflate(compressLevel, false);\n            Compressor.OutputBuffer = Compressed;\n            Compressor.InputBuffer = Buffer;\n            Index = ix;\n        }\n    }\n\n    public class ParallelDeflateOutputStream : Stream\n    {\n        private const int IoBufferSizeDefault = 64 * 1024;\n        private const int BufferPairsPerCore = 4;\n\n        private List<WorkItem> _pool;\n        private readonly bool _leaveOpen;\n        private bool _emitting;\n        private Stream _outStream;\n        private int _maxBufferPairs;\n        private int _bufferSize = IoBufferSizeDefault;\n        private AutoResetEvent _newlyCompressedBlob;\n\n        private readonly object _outputLock = new object();\n\n        private bool _isClosed;\n        private bool _firstWriteDone;\n        private int _currentlyFilling;\n        private int _lastFilled;\n        private int _lastWritten;\n        private int _latestCompressed;\n        private Crc32 _runningCrc;\n        private readonly object _latestLock = new object();\n        private Queue<int> _toWrite;\n        private Queue<int> _toFill;\n        private readonly CompressionLevel _compressLevel;\n        private volatile Exception _pendingException;\n        private bool _handlingException;\n        private readonly object _eLock = new object(); \n\n        private readonly TraceBits _desiredTrace =\n            TraceBits.Session |\n            TraceBits.Compress |\n            TraceBits.WriteTake |\n            TraceBits.WriteEnter |\n            TraceBits.EmitEnter |\n            TraceBits.EmitDone |\n            TraceBits.EmitLock |\n            TraceBits.EmitSkip |\n            TraceBits.EmitBegin;\n\n        public ParallelDeflateOutputStream(Stream stream)\n            : this(stream, CompressionLevel.Default, CompressionStrategy.Default, false)\n        {\n        }\n\n        public ParallelDeflateOutputStream(Stream stream, CompressionLevel level)\n            : this(stream, level, CompressionStrategy.Default, false)\n        {\n        }\n\n        public ParallelDeflateOutputStream(Stream stream, bool leaveOpen)\n            : this(stream, CompressionLevel.Default, CompressionStrategy.Default, leaveOpen)\n        {\n        }\n\n        public ParallelDeflateOutputStream(Stream stream, CompressionLevel level, bool leaveOpen)\n            : this(stream, CompressionLevel.Default, CompressionStrategy.Default, leaveOpen)\n        {\n        }\n\n        public ParallelDeflateOutputStream(Stream stream,\n            CompressionLevel level,\n            CompressionStrategy strategy,\n            bool leaveOpen)\n        {\n            _outStream = stream;\n            _compressLevel = level;\n            Strategy = strategy;\n            _leaveOpen = leaveOpen;\n            MaxBufferPairs = 16; \n        }\n\n        public CompressionStrategy Strategy { get; }\n\n        public int MaxBufferPairs\n        {\n            get => _maxBufferPairs;\n            set\n            {\n                if (value < 4)\n                    throw new ArgumentException(\"MaxBufferPairs\",\n                        \"Value must be 4 or greater.\");\n\n                _maxBufferPairs = value;\n            }\n        }\n\n        public int BufferSize\n        {\n            get => _bufferSize;\n            set\n            {\n                if (value < 1024)\n                    throw new ArgumentOutOfRangeException(\"BufferSize\",\n                        \"BufferSize must be greater than 1024 bytes\");\n\n                _bufferSize = value;\n            }\n        }\n\n        public int Crc32 { get; private set; }\n\n        public long BytesProcessed { get; private set; }\n\n        private void InitializePoolOfWorkItems()\n        {\n            _toWrite = new Queue<int>();\n            _toFill = new Queue<int>();\n            _pool = new List<WorkItem>();\n            var nTasks = BufferPairsPerCore * Environment.ProcessorCount;\n            nTasks = Math.Min(nTasks, _maxBufferPairs);\n            for (var i = 0; i < nTasks; i++)\n            {\n                _pool.Add(new WorkItem(_bufferSize, _compressLevel, Strategy, i));\n                _toFill.Enqueue(i);\n            }\n\n            _newlyCompressedBlob = new AutoResetEvent(false);\n            _runningCrc = new Crc32();\n            _currentlyFilling = -1;\n            _lastFilled = -1;\n            _lastWritten = -1;\n            _latestCompressed = -1;\n        }\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            var mustWait = false;\n\n            if (_isClosed)\n                throw new InvalidOperationException();\n\n            if (_pendingException != null)\n            {\n                _handlingException = true;\n                var pe = _pendingException;\n                _pendingException = null;\n                throw pe;\n            }\n\n            if (count == 0)\n                return;\n\n            if (!_firstWriteDone)\n            {\n                InitializePoolOfWorkItems();\n                _firstWriteDone = true;\n            }\n\n            do\n            {\n                EmitPendingBuffers(false, mustWait);\n\n                mustWait = false;\n                int ix;\n                if (_currentlyFilling >= 0)\n                {\n                    ix = _currentlyFilling;\n                }\n                else\n                {\n                    if (_toFill.Count == 0)\n                    {\n                        mustWait = true;\n                        continue;\n                    }\n\n                    ix = _toFill.Dequeue();\n                    ++_lastFilled; \n                }\n\n                var workitem = _pool[ix];\n\n                var limit = workitem.Buffer.Length - workitem.InputBytesAvailable > count\n                    ? count\n                    : workitem.Buffer.Length - workitem.InputBytesAvailable;\n\n                workitem.Ordinal = _lastFilled;\n\n                Buffer.BlockCopy(buffer,\n                    offset,\n                    workitem.Buffer,\n                    workitem.InputBytesAvailable,\n                    limit);\n\n                count -= limit;\n                offset += limit;\n                workitem.InputBytesAvailable += limit;\n                if (workitem.InputBytesAvailable == workitem.Buffer.Length)\n                {\n                    if (!ThreadPool.QueueUserWorkItem(DeflateOne, workitem))\n                        throw new Exception(\"Cannot enqueue workitem\");\n\n                    _currentlyFilling = -1;\n                }\n                else\n                {\n                    _currentlyFilling = ix;\n                }\n            } while (count > 0);\n        }\n\n        private void FlushFinish()\n        {\n            var buffer = new byte[128];\n            var compressor = new ZlibCodec\n            {\n                InputBuffer = null,\n                NextIn = 0,\n                AvailableBytesIn = 0,\n                OutputBuffer = buffer,\n                NextOut = 0,\n                AvailableBytesOut = buffer.Length\n            };\n\n            var rc = compressor.Deflate(FlushType.Finish);\n\n            if (rc != ZlibConstants.ZStreamEnd && rc != ZlibConstants.ZOk)\n                throw new Exception(\"deflating: \" + compressor.Message);\n\n            if (buffer.Length - compressor.AvailableBytesOut > 0)\n            {\n                _outStream.Write(buffer, 0, buffer.Length - compressor.AvailableBytesOut);\n            }\n\n            compressor.EndDeflate();\n\n            Crc32 = _runningCrc.Crc32Result;\n        }\n\n        private void Flush(bool lastInput)\n        {\n            if (_isClosed)\n                throw new InvalidOperationException();\n\n            if (_emitting)\n                return;\n\n            if (_currentlyFilling >= 0)\n            {\n                var workitem = _pool[_currentlyFilling];\n                DeflateOne(workitem);\n                _currentlyFilling = -1; \n            }\n\n            if (lastInput)\n            {\n                EmitPendingBuffers(true, false);\n                FlushFinish();\n            }\n            else\n            {\n                EmitPendingBuffers(false, false);\n            }\n        }\n\n        public override void Flush()\n        {\n            if (_pendingException != null)\n            {\n                _handlingException = true;\n                var pe = _pendingException;\n                _pendingException = null;\n                throw pe;\n            }\n\n            if (_handlingException)\n                return;\n\n            Flush(false);\n        }\n\n        public override void Close()\n        {\n            if (_pendingException != null)\n            {\n                _handlingException = true;\n                var pe = _pendingException;\n                _pendingException = null;\n                throw pe;\n            }\n\n            if (_handlingException)\n                return;\n\n            if (_isClosed)\n                return;\n\n            Flush(true);\n\n            if (!_leaveOpen)\n                _outStream.Close();\n\n            _isClosed = true;\n        }\n\n        public new void Dispose()\n        {\n            Close();\n            _pool = null;\n            Dispose(true);\n        }\n\n        public void Reset(Stream stream)\n        {\n            if (!_firstWriteDone)\n                return;\n\n            _toWrite.Clear();\n            _toFill.Clear();\n            foreach (var workitem in _pool)\n            {\n                _toFill.Enqueue(workitem.Index);\n                workitem.Ordinal = -1;\n            }\n\n            _firstWriteDone = false;\n            BytesProcessed = 0L;\n            _runningCrc = new Crc32();\n            _isClosed = false;\n            _currentlyFilling = -1;\n            _lastFilled = -1;\n            _lastWritten = -1;\n            _latestCompressed = -1;\n            _outStream = stream;\n        }\n\n        private void EmitPendingBuffers(bool doAll, bool mustWait)\n        {\n            if (_emitting)\n                return;\n\n            _emitting = true;\n            if (doAll || mustWait)\n                _newlyCompressedBlob.WaitOne();\n\n            do\n            {\n                var firstSkip = -1;\n                var millisecondsToWait = doAll ? 200 : mustWait ? -1 : 0;\n                int nextToWrite;\n                do\n                {\n                    if (Monitor.TryEnter(_toWrite, millisecondsToWait))\n                    {\n                        nextToWrite = -1;\n                        try\n                        {\n                            if (_toWrite.Count > 0)\n                                nextToWrite = _toWrite.Dequeue();\n                        }\n                        finally\n                        {\n                            Monitor.Exit(_toWrite);\n                        }\n\n                        if (nextToWrite < 0) continue;\n\n                        var workitem = _pool[nextToWrite];\n                        if (workitem.Ordinal != _lastWritten + 1)\n                        {\n                            lock (_toWrite)\n                            {\n                                _toWrite.Enqueue(nextToWrite);\n                            }\n\n                            if (firstSkip == nextToWrite)\n                            {\n                                _newlyCompressedBlob.WaitOne();\n                                firstSkip = -1;\n                            }\n                            else if (firstSkip == -1)\n                            {\n                                firstSkip = nextToWrite;\n                            }\n\n                            continue;\n                        }\n\n                        firstSkip = -1;\n\n                        _outStream.Write(workitem.Compressed, 0, workitem.CompressedBytesAvailable);\n                        _runningCrc.Combine(workitem.Crc, workitem.InputBytesAvailable);\n                        BytesProcessed += workitem.InputBytesAvailable;\n                        workitem.InputBytesAvailable = 0;\n\n                        _lastWritten = workitem.Ordinal;\n                        _toFill.Enqueue(workitem.Index);\n\n                        if (millisecondsToWait == -1)\n                            millisecondsToWait = 0;\n                    }\n                    else\n                    {\n                        nextToWrite = -1;\n                    }\n                } while (nextToWrite >= 0);\n            } while (doAll && _lastWritten != _latestCompressed);\n\n            _emitting = false;\n        }\n\n        private void DeflateOne(object wi)\n        {\n            var workitem = (WorkItem) wi;\n            try\n            {\n                var crc = new Crc32();\n\n                crc.SlurpBlock(workitem.Buffer, 0, workitem.InputBytesAvailable);\n\n                DeflateOneSegment(workitem);\n\n                workitem.Crc = crc.Crc32Result;\n\n                lock (_latestLock)\n                {\n                    if (workitem.Ordinal > _latestCompressed)\n                        _latestCompressed = workitem.Ordinal;\n                }\n\n                lock (_toWrite)\n                {\n                    _toWrite.Enqueue(workitem.Index);\n                }\n\n                _newlyCompressedBlob.Set();\n            }\n            catch (Exception exc1)\n            {\n                lock (_eLock)\n                {\n                    if (_pendingException != null)\n                        _pendingException = exc1;\n                }\n            }\n        }\n\n        private void DeflateOneSegment(WorkItem workitem)\n        {\n            var compressor = workitem.Compressor;\n            compressor.ResetDeflate();\n            compressor.NextIn = 0;\n\n            compressor.AvailableBytesIn = workitem.InputBytesAvailable;\n\n            compressor.NextOut = 0;\n            compressor.AvailableBytesOut = workitem.Compressed.Length;\n            do\n            {\n                compressor.Deflate(FlushType.None);\n            } while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0);\n\n            compressor.Deflate(FlushType.Sync);\n\n            workitem.CompressedBytesAvailable = (int) compressor.TotalBytesOut;\n        }\n\n        [Flags]\n        private enum TraceBits : uint\n        {\n            None = 0,\n            NotUsed1 = 1,\n            EmitLock = 2,\n            EmitEnter = 4, \n            EmitBegin = 8, \n            EmitDone = 16,\n            EmitSkip = 32, \n            EmitAll = 58,\n            Flush = 64,\n            Lifecycle = 128, \n            Session = 256, \n            Synch = 512,\n            Instance = 1024,\n            Compress = 2048, \n            Write = 4096,\n            WriteEnter = 8192, \n            WriteTake = 16384, \n            All = 0xffffffff\n        }\n\n        public override bool CanSeek => false;\n\n        public override bool CanRead => false;\n\n        public override bool CanWrite => _outStream.CanWrite;\n\n        public override long Length => throw new NotSupportedException();\n\n        public override long Position\n        {\n            get => _outStream.Position;\n            set => throw new NotSupportedException();\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            throw new NotSupportedException();\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotSupportedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            throw new NotSupportedException();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/Tree.cs",
    "content": "using System;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal sealed class Tree\n    {\n        internal static readonly sbyte[] BlOrder = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};\n\n        internal static readonly int[] DistanceBase =\n        {\n            0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192,\n            256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576\n        };\n\n        internal static readonly int[] ExtraBlbits = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7};\n\n        internal static readonly int[] ExtraDistanceBits =\n        {\n            0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,\n            7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13\n        };\n\n        internal static readonly int[] ExtraLengthBits =\n        {\n            0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,\n            3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0\n        };\n\n        internal static readonly int[] LengthBase =\n        {\n            0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28,\n            32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0\n        };\n\n        internal static readonly sbyte[] LengthCode =\n        {\n            0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11,\n            12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,\n            16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17,\n            18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,\n            20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n            21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n            22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n            23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n            24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n            24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n            25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,\n            25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,\n            26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\n            26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\n            27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,\n            27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28\n        };\n\n        internal short[] DynTree;\n\n        internal int MaxCode;\n\n        internal StaticTree StaticTree;\n\n        private static readonly sbyte[] DistCode =\n        {\n            0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,\n            8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,\n            10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n            11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n            12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n            12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n            13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,\n            13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,\n            14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\n            14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\n            14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\n            14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\n            15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\n            15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\n            15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\n            15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,\n            0, 0, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21,\n            22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,\n            24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n            25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,\n            26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\n            26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,\n            27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,\n            27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,\n            28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n            28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n            28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n            28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n            29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\n            29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\n            29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,\n            29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29\n        };\n\n        private static readonly int HeapSize = 2 * InternalConstants.L_CODES + 1;\n\n        internal static int Bi_reverse(int code, int len)\n        {\n            var res = 0;\n            do\n            {\n                res |= code & 1;\n                code >>= 1; \n                res <<= 1;\n            } while (--len > 0);\n\n            return res >> 1;\n        }\n\n        internal static int DistanceCode(int dist)\n        {\n            return dist < 256\n                ? DistCode[dist]\n                : DistCode[256 + SharedUtils.UrShift(dist, 7)];\n        }\n\n        internal static void Gen_codes(short[] tree, int maxCode, short[] blCount)\n        {\n            var nextCode = new short[InternalConstants.MAX_BITS + 1];\n            short code = 0; \n            int bits; \n            int n; \n\n            for (bits = 1; bits <= InternalConstants.MAX_BITS; bits++)\n                unchecked\n                {\n                    nextCode[bits] = code = (short) ((code + blCount[bits - 1]) << 1);\n                }\n\n            for (n = 0; n <= maxCode; n++)\n            {\n                int len = tree[n * 2 + 1];\n                if (len == 0)\n                    continue;\n\n                tree[n * 2] = unchecked((short) Bi_reverse(nextCode[len]++, len));\n            }\n        }\n\n        internal void Build_tree(DeflateManager s)\n        {\n            var tree = DynTree;\n            var stree = StaticTree.treeCodes;\n            var elems = StaticTree.elems;\n            int n;\n            var maxCode = -1;\n            int node; \n\n            s.HeapLen = 0;\n            s.HeapMax = HeapSize;\n\n            for (n = 0; n < elems; n++)\n                if (tree[n * 2] != 0)\n                {\n                    s.Heap[++s.HeapLen] = maxCode = n;\n                    s.Depth[n] = 0;\n                }\n                else\n                {\n                    tree[n * 2 + 1] = 0;\n                }\n\n            while (s.HeapLen < 2)\n            {\n                node = s.Heap[++s.HeapLen] = maxCode < 2 ? ++maxCode : 0;\n                tree[node * 2] = 1;\n                s.Depth[node] = 0;\n                s.OptLen--;\n                if (stree != null)\n                    s.StaticLen -= stree[node * 2 + 1];\n            }\n\n            MaxCode = maxCode;\n\n            for (n = s.HeapLen / 2; n >= 1; n--)\n                s.Pqdownheap(tree, n);\n\n            node = elems; \n            do\n            {\n                n = s.Heap[1];\n                s.Heap[1] = s.Heap[s.HeapLen--];\n                s.Pqdownheap(tree, 1);\n                var m = s.Heap[1];\n\n                s.Heap[--s.HeapMax] = n; \n                s.Heap[--s.HeapMax] = m;\n\n                tree[node * 2] = unchecked((short) (tree[n * 2] + tree[m * 2]));\n                s.Depth[node] = (sbyte) (Math.Max((byte) s.Depth[n], (byte) s.Depth[m]) + 1);\n                tree[n * 2 + 1] = tree[m * 2 + 1] = (short) node;\n\n                s.Heap[1] = node++;\n                s.Pqdownheap(tree, 1);\n            } while (s.HeapLen >= 2);\n\n            s.Heap[--s.HeapMax] = s.Heap[1];\n\n            Gen_bitlen(s);\n            Gen_codes(tree, maxCode, s.BlCount);\n        }\n\n        internal void Gen_bitlen(DeflateManager s)\n        {\n            var tree = DynTree;\n            var stree = StaticTree.treeCodes;\n            var extra = StaticTree.extraBits;\n            var baseRenamed = StaticTree.extraBase;\n            var maxLength = StaticTree.maxLength;\n            int h;\n            int n; \n            int bits;\n            var overflow = 0; \n\n            for (bits = 0; bits <= InternalConstants.MAX_BITS; bits++)\n                s.BlCount[bits] = 0;\n\n            tree[s.Heap[s.HeapMax] * 2 + 1] = 0; \n\n            for (h = s.HeapMax + 1; h < HeapSize; h++)\n            {\n                n = s.Heap[h];\n                bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;\n                if (bits > maxLength)\n                {\n                    bits = maxLength;\n                    overflow++;\n                }\n\n                tree[n * 2 + 1] = (short) bits;\n\n                if (n > MaxCode)\n                    continue; \n\n                s.BlCount[bits]++;\n                var xbits = 0;\n                if (n >= baseRenamed)\n                    xbits = extra[n - baseRenamed];\n                var f = tree[n * 2]; \n                s.OptLen += f * (bits + xbits);\n                if (stree != null)\n                    s.StaticLen += f * (stree[n * 2 + 1] + xbits);\n            }\n\n            if (overflow == 0)\n                return;\n\n            do\n            {\n                bits = maxLength - 1;\n                while (s.BlCount[bits] == 0)\n                    bits--;\n                s.BlCount[bits]--; \n                s.BlCount[bits + 1] = (short) (s.BlCount[bits + 1] + 2); \n                s.BlCount[maxLength]--;\n                overflow -= 2;\n            } while (overflow > 0);\n\n            for (bits = maxLength; bits != 0; bits--)\n            {\n                n = s.BlCount[bits];\n                while (n != 0)\n                {\n                    var m = s.Heap[--h]; \n                    if (m > MaxCode)\n                        continue;\n\n                    if (tree[m * 2 + 1] != bits)\n                    {\n                        s.OptLen = (int) (s.OptLen + (bits - (long) tree[m * 2 + 1]) * tree[m * 2]);\n                        tree[m * 2 + 1] = (short) bits;\n                    }\n\n                    n--;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/Zlib.cs",
    "content": "using System;\nusing System.IO;\nusing System.Runtime.InteropServices;\nusing System.Text;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public enum FlushType\n    {\n        None = 0,\n        Partial,\n        Sync,\n        Full,\n        Finish\n    }\n\n    public enum CompressionLevel\n    {\n        None = 0,\n        Level0 = 0,\n        BestSpeed = 1,\n        Level1 = 1,\n        Level2 = 2,\n        Level3 = 3,\n        Level4 = 4,\n        Level5 = 5,\n        Default = 6,\n        Level6 = 6,\n        Level7 = 7,\n        Level8 = 8,\n        BestCompression = 9,\n        Level9 = 9\n    }\n\n    public enum CompressionStrategy\n    {\n        Default = 0,\n        Filtered = 1,\n        HuffmanOnly = 2\n    }\n\n    public enum CompressionMode\n    {\n        Compress = 0,\n        Decompress = 1\n    }\n\n    [Guid(\"ebc25cf6-9120-4283-b972-0e5520d0000E\")]\n    public class ZlibException : Exception\n    {\n        public ZlibException()\n        {\n        }\n\n        public ZlibException(string s)\n            : base(s)\n        {\n        }\n    }\n\n    internal class SharedUtils\n    {\n        public static int UrShift(int number, int bits)\n        {\n            return (int) ((uint) number >> bits);\n        }\n\n#if NOT\n    /// <summary>\n    /// Performs an unsigned bitwise right shift with the specified number\n    /// </summary>\n    /// <param name=\"number\">Number to operate on</param>\n    /// <param name=\"bits\">Ammount of bits to shift</param>\n    /// <returns>The resulting number from the shift operation</returns>\n        public static long URShift(long number, int bits)\n        {\n            return (long) ((UInt64)number >> bits);\n        }\n#endif\n\n        /// <summary>\n        ///     Reads a number of characters from the current source TextReader and writes the data to\n        ///     the target array at the specified index.\n        /// </summary>\n        /// <param name=\"sourceTextReader\">The source TextReader to read from</param>\n        /// <param name=\"target\">Contains the array of characteres read from the source TextReader.</param>\n        /// <param name=\"start\">The starting index of the target array.</param>\n        /// <param name=\"count\">The maximum number of characters to read from the source TextReader.</param>\n        /// <returns>\n        ///     The number of characters read. The number will be less than or equal to count depending\n        ///     on the data available in the source TextReader. Returns -1 if the end of the stream is reached.\n        /// </returns>\n        public static int ReadInput(TextReader sourceTextReader, byte[] target, int start, int count)\n        {\n            // Returns 0 bytes if not enough space in target\n            if (target.Length == 0)\n                return 0;\n\n            var charArray = new char[target.Length];\n            var bytesRead = sourceTextReader.Read(charArray, start, count);\n\n            // Returns -1 if EOF\n            if (bytesRead == 0)\n                return -1;\n\n            for (var index = start; index < start + bytesRead; index++)\n                target[index] = (byte) charArray[index];\n\n            return bytesRead;\n        }\n\n        internal static byte[] ToByteArray(string sourceString)\n        {\n            return Encoding.UTF8.GetBytes(sourceString);\n        }\n\n        internal static char[] ToCharArray(byte[] byteArray)\n        {\n            return Encoding.UTF8.GetChars(byteArray);\n        }\n    }\n\n    internal static class InternalConstants\n    {\n        internal static readonly int MAX_BITS = 15;\n        internal static readonly int BL_CODES = 19;\n        internal static readonly int D_CODES = 30;\n        internal static readonly int LITERALS = 256;\n        internal static readonly int LENGTH_CODES = 29;\n        internal static readonly int L_CODES = LITERALS + 1 + LENGTH_CODES;\n\n        // Bit length codes must not exceed MAX_BL_BITS bits\n        internal static readonly int MAX_BL_BITS = 7;\n\n        // repeat previous bit length 3-6 times (2 bits of repeat count)\n        internal static readonly int REP_3_6 = 16;\n\n        // repeat a zero length 3-10 times (3 bits of repeat count)\n        internal static readonly int REPZ_3_10 = 17;\n\n        // repeat a zero length 11-138 times (7 bits of repeat count)\n        internal static readonly int REPZ_11_138 = 18;\n    }\n\n    internal sealed class StaticTree\n    {\n        internal static readonly short[] lengthAndLiteralsTreeCodes =\n        {\n            12, 8, 140, 8, 76, 8, 204, 8, 44, 8, 172, 8, 108, 8, 236, 8,\n            28, 8, 156, 8, 92, 8, 220, 8, 60, 8, 188, 8, 124, 8, 252, 8,\n            2, 8, 130, 8, 66, 8, 194, 8, 34, 8, 162, 8, 98, 8, 226, 8,\n            18, 8, 146, 8, 82, 8, 210, 8, 50, 8, 178, 8, 114, 8, 242, 8,\n            10, 8, 138, 8, 74, 8, 202, 8, 42, 8, 170, 8, 106, 8, 234, 8,\n            26, 8, 154, 8, 90, 8, 218, 8, 58, 8, 186, 8, 122, 8, 250, 8,\n            6, 8, 134, 8, 70, 8, 198, 8, 38, 8, 166, 8, 102, 8, 230, 8,\n            22, 8, 150, 8, 86, 8, 214, 8, 54, 8, 182, 8, 118, 8, 246, 8,\n            14, 8, 142, 8, 78, 8, 206, 8, 46, 8, 174, 8, 110, 8, 238, 8,\n            30, 8, 158, 8, 94, 8, 222, 8, 62, 8, 190, 8, 126, 8, 254, 8,\n            1, 8, 129, 8, 65, 8, 193, 8, 33, 8, 161, 8, 97, 8, 225, 8,\n            17, 8, 145, 8, 81, 8, 209, 8, 49, 8, 177, 8, 113, 8, 241, 8,\n            9, 8, 137, 8, 73, 8, 201, 8, 41, 8, 169, 8, 105, 8, 233, 8,\n            25, 8, 153, 8, 89, 8, 217, 8, 57, 8, 185, 8, 121, 8, 249, 8,\n            5, 8, 133, 8, 69, 8, 197, 8, 37, 8, 165, 8, 101, 8, 229, 8,\n            21, 8, 149, 8, 85, 8, 213, 8, 53, 8, 181, 8, 117, 8, 245, 8,\n            13, 8, 141, 8, 77, 8, 205, 8, 45, 8, 173, 8, 109, 8, 237, 8,\n            29, 8, 157, 8, 93, 8, 221, 8, 61, 8, 189, 8, 125, 8, 253, 8,\n            19, 9, 275, 9, 147, 9, 403, 9, 83, 9, 339, 9, 211, 9, 467, 9,\n            51, 9, 307, 9, 179, 9, 435, 9, 115, 9, 371, 9, 243, 9, 499, 9,\n            11, 9, 267, 9, 139, 9, 395, 9, 75, 9, 331, 9, 203, 9, 459, 9,\n            43, 9, 299, 9, 171, 9, 427, 9, 107, 9, 363, 9, 235, 9, 491, 9,\n            27, 9, 283, 9, 155, 9, 411, 9, 91, 9, 347, 9, 219, 9, 475, 9,\n            59, 9, 315, 9, 187, 9, 443, 9, 123, 9, 379, 9, 251, 9, 507, 9,\n            7, 9, 263, 9, 135, 9, 391, 9, 71, 9, 327, 9, 199, 9, 455, 9,\n            39, 9, 295, 9, 167, 9, 423, 9, 103, 9, 359, 9, 231, 9, 487, 9,\n            23, 9, 279, 9, 151, 9, 407, 9, 87, 9, 343, 9, 215, 9, 471, 9,\n            55, 9, 311, 9, 183, 9, 439, 9, 119, 9, 375, 9, 247, 9, 503, 9,\n            15, 9, 271, 9, 143, 9, 399, 9, 79, 9, 335, 9, 207, 9, 463, 9,\n            47, 9, 303, 9, 175, 9, 431, 9, 111, 9, 367, 9, 239, 9, 495, 9,\n            31, 9, 287, 9, 159, 9, 415, 9, 95, 9, 351, 9, 223, 9, 479, 9,\n            63, 9, 319, 9, 191, 9, 447, 9, 127, 9, 383, 9, 255, 9, 511, 9,\n            0, 7, 64, 7, 32, 7, 96, 7, 16, 7, 80, 7, 48, 7, 112, 7,\n            8, 7, 72, 7, 40, 7, 104, 7, 24, 7, 88, 7, 56, 7, 120, 7,\n            4, 7, 68, 7, 36, 7, 100, 7, 20, 7, 84, 7, 52, 7, 116, 7,\n            3, 8, 131, 8, 67, 8, 195, 8, 35, 8, 163, 8, 99, 8, 227, 8\n        };\n\n        internal static readonly short[] distTreeCodes =\n        {\n            0, 5, 16, 5, 8, 5, 24, 5, 4, 5, 20, 5, 12, 5, 28, 5,\n            2, 5, 18, 5, 10, 5, 26, 5, 6, 5, 22, 5, 14, 5, 30, 5,\n            1, 5, 17, 5, 9, 5, 25, 5, 5, 5, 21, 5, 13, 5, 29, 5,\n            3, 5, 19, 5, 11, 5, 27, 5, 7, 5, 23, 5\n        };\n\n        internal static readonly StaticTree Literals;\n        internal static readonly StaticTree Distances;\n        internal static readonly StaticTree BitLengths;\n        internal int elems; // max number of elements in the tree\n        internal int extraBase; // base index for extra_bits\n        internal int[] extraBits; // extra bits for each code or null\n        internal int maxLength; // max bit length for the codes\n\n        internal short[] treeCodes; // static tree or null\n\n        static StaticTree()\n        {\n            Literals = new StaticTree(lengthAndLiteralsTreeCodes, Tree.ExtraLengthBits, InternalConstants.LITERALS + 1,\n                InternalConstants.L_CODES, InternalConstants.MAX_BITS);\n            Distances = new StaticTree(distTreeCodes, Tree.ExtraDistanceBits, 0, InternalConstants.D_CODES,\n                InternalConstants.MAX_BITS);\n            BitLengths = new StaticTree(null, Tree.ExtraBlbits, 0, InternalConstants.BL_CODES,\n                InternalConstants.MAX_BL_BITS);\n        }\n\n        private StaticTree(short[] treeCodes, int[] extraBits, int extraBase, int elems, int maxLength)\n        {\n            this.treeCodes = treeCodes;\n            this.extraBits = extraBits;\n            this.extraBase = extraBase;\n            this.elems = elems;\n            this.maxLength = maxLength;\n        }\n    }\n\n    /// <summary>\n    ///     Computes an Adler-32 checksum.\n    /// </summary>\n    /// <remarks>\n    ///     The Adler checksum is similar to a CRC checksum, but faster to compute, though less reliable.\n    ///     It is used in producing RFC1950 compressed streams. The Adler checksum is a required part of\n    ///     the \"ZLIB\" standard. Applications will almost never need to use this class directly.\n    /// </remarks>\n    /// <exclude />\n    public sealed class Adler\n    {\n        // largest prime smaller than 65536\n        private static readonly uint BASE = 65521;\n\n        // NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1\n        private static readonly int NMAX = 5552;\n\n#pragma warning disable 3001\n#pragma warning disable 3002\n\n        /// <summary>\n        ///     Calculates the Adler32 checksum.\n        /// </summary>\n        /// <remarks>\n        ///     <para>This is used within ZLIB. You probably don't need to use this directly.</para>\n        /// </remarks>\n        /// <example>\n        ///     To compute an Adler32 checksum on a byte array:\n        ///     <code>\n        ///    var adler = Adler.Adler32(0, null, 0, 0);\n        ///    adler = Adler.Adler32(adler, buffer, index, length);\n        /// </code>\n        /// </example>\n        public static uint Adler32(uint adler, byte[] buf, int index, int len)\n        {\n            if (buf == null)\n                return 1;\n\n            var s1 = adler & 0xffff;\n            var s2 = (adler >> 16) & 0xffff;\n\n            while (len > 0)\n            {\n                var k = len < NMAX ? len : NMAX;\n                len -= k;\n                while (k >= 16)\n                {\n                    //s1 += (buf[index++] & 0xff); s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    s1 += buf[index++];\n                    s2 += s1;\n                    k -= 16;\n                }\n\n                if (k != 0)\n                    do\n                    {\n                        s1 += buf[index++];\n                        s2 += s1;\n                    } while (--k != 0);\n\n                s1 %= BASE;\n                s2 %= BASE;\n            }\n\n            return (s2 << 16) | s1;\n        }\n\n#pragma warning restore 3001\n#pragma warning restore 3002\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/ZlibBaseStream.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Text;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    internal enum ZlibStreamFlavor\n    {\n        Zlib = 1950,\n        Deflate = 1951,\n        Gzip = 1952\n    }\n\n    internal class ZlibBaseStream : Stream\n    {\n        protected internal ZlibCodec Z; \n\n        protected internal StreamMode _streamMode = StreamMode.Undefined;\n        protected internal FlushType FlushMode;\n        protected internal ZlibStreamFlavor Flavor;\n        protected internal CompressionMode CompressionMode;\n        protected internal CompressionLevel Level;\n        protected internal bool LeaveOpen;\n        protected internal byte[] _workingBuffer;\n        protected internal int BufferSize = ZlibConstants.WorkingBufferSizeDefault;\n        protected internal byte[] Buf1 = new byte[1];\n\n        protected internal Stream Stream;\n        protected internal CompressionStrategy Strategy = CompressionStrategy.Default;\n\n        private readonly Crc32 _crc;\n\n        protected internal string GzipFileName;\n        protected internal string GzipComment;\n        protected internal DateTime GzipMtime;\n        protected internal int GzipHeaderByteCount;\n\n        internal int Crc32 => _crc?.Crc32Result ?? 0;\n\n        public ZlibBaseStream(Stream stream,\n            CompressionMode compressionMode,\n            CompressionLevel level,\n            ZlibStreamFlavor flavor,\n            bool leaveOpen)\n        {\n            FlushMode = FlushType.None;\n            Stream = stream;\n            LeaveOpen = leaveOpen;\n            CompressionMode = compressionMode;\n            Flavor = flavor;\n            Level = level;\n            if (flavor == ZlibStreamFlavor.Gzip) _crc = new Crc32();\n        }\n\n        protected internal bool WantCompress => CompressionMode == CompressionMode.Compress;\n\n        private ZlibCodec z\n        {\n            get\n            {\n                if (Z != null) return Z;\n\n                var wantRfc1950Header = Flavor == ZlibStreamFlavor.Zlib;\n                Z = new ZlibCodec();\n                if (CompressionMode == CompressionMode.Decompress)\n                {\n                    Z.InitializeInflate(wantRfc1950Header);\n                }\n                else\n                {\n                    Z.Strategy = Strategy;\n                    Z.InitializeDeflate(Level, wantRfc1950Header);\n                }\n\n                return Z;\n            }\n        }\n\n        private byte[] WorkingBuffer => _workingBuffer ??= new byte[BufferSize];\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            _crc?.SlurpBlock(buffer, offset, count);\n\n            if (_streamMode == StreamMode.Undefined)\n                _streamMode = StreamMode.Writer;\n            else if (_streamMode != StreamMode.Writer)\n                throw new ZlibException(\"Cannot Write after Reading.\");\n\n            if (count == 0)\n                return;\n\n            z.InputBuffer = buffer;\n            Z.NextIn = offset;\n            Z.AvailableBytesIn = count;\n            bool done;\n            do\n            {\n                Z.OutputBuffer = WorkingBuffer;\n                Z.NextOut = 0;\n                Z.AvailableBytesOut = _workingBuffer.Length;\n                var rc = WantCompress\n                    ? Z.Deflate(FlushMode)\n                    : Z.Inflate(FlushMode);\n                if (rc != ZlibConstants.ZOk && rc != ZlibConstants.ZStreamEnd)\n                    throw new ZlibException((WantCompress ? \"de\" : \"in\") + \"flating: \" + Z.Message);\n\n                Stream.Write(_workingBuffer, 0, _workingBuffer.Length - Z.AvailableBytesOut);\n\n                done = Z.AvailableBytesIn == 0 && Z.AvailableBytesOut != 0;\n\n                if (Flavor == ZlibStreamFlavor.Gzip && !WantCompress)\n                    done = Z.AvailableBytesIn == 8 && Z.AvailableBytesOut != 0;\n            } while (!done);\n        }\n\n        private void Finish()\n        {\n            if (Z == null)\n                return;\n\n            switch (_streamMode)\n            {\n                case StreamMode.Writer:\n                {\n                    bool done;\n                    do\n                    {\n                        Z.OutputBuffer = WorkingBuffer;\n                        Z.NextOut = 0;\n                        Z.AvailableBytesOut = _workingBuffer.Length;\n                        var rc = WantCompress\n                            ? Z.Deflate(FlushType.Finish)\n                            : Z.Inflate(FlushType.Finish);\n\n                        if (rc != ZlibConstants.ZStreamEnd && rc != ZlibConstants.ZOk)\n                        {\n                            var verb = (WantCompress ? \"de\" : \"in\") + \"flating\";\n                            if (Z.Message == null)\n                                throw new ZlibException($\"{verb}: (rc = {rc})\");\n\n                            throw new ZlibException(verb + \": \" + Z.Message);\n                        }\n\n                        if (_workingBuffer.Length - Z.AvailableBytesOut > 0)\n                            Stream.Write(_workingBuffer, 0, _workingBuffer.Length - Z.AvailableBytesOut);\n\n                        done = Z.AvailableBytesIn == 0 && Z.AvailableBytesOut != 0;\n                        if (Flavor == ZlibStreamFlavor.Gzip && !WantCompress)\n                            done = Z.AvailableBytesIn == 8 && Z.AvailableBytesOut != 0;\n                    } while (!done);\n\n                    Flush();\n\n                    if (Flavor == ZlibStreamFlavor.Gzip)\n                    {\n                        if (WantCompress)\n                        {\n                            var c1 = _crc.Crc32Result;\n                            Stream.Write(BitConverter.GetBytes(c1), 0, 4);\n                            var c2 = (int) (_crc.TotalBytesRead & 0x00000000FFFFFFFF);\n                            Stream.Write(BitConverter.GetBytes(c2), 0, 4);\n                        }\n                        else\n                        {\n                            throw new ZlibException(\"Writing with decompression is not supported.\");\n                        }\n                    }\n\n                    break;\n                }\n\n                case StreamMode.Reader:\n                {\n                    if (Flavor == ZlibStreamFlavor.Gzip)\n                    {\n                        if (!WantCompress)\n                        {\n                            if (Z.TotalBytesOut == 0L)\n                                return;\n\n                            var trailer = new byte[8];\n\n                            if (Z.AvailableBytesIn < 8)\n                            {\n                                Array.Copy(Z.InputBuffer, Z.NextIn, trailer, 0, Z.AvailableBytesIn);\n                                var bytesNeeded = 8 - Z.AvailableBytesIn;\n                                var bytesRead = Stream.Read(trailer,\n                                    Z.AvailableBytesIn,\n                                    bytesNeeded);\n                                if (bytesNeeded != bytesRead)\n                                    throw new ZlibException(\n                                        $\"Missing or incomplete GZIP trailer. Expected 8 bytes, got {Z.AvailableBytesIn + bytesRead}.\");\n                            }\n                            else\n                            {\n                                Array.Copy(Z.InputBuffer, Z.NextIn, trailer, 0, trailer.Length);\n                            }\n\n                            var crc32Expected = BitConverter.ToInt32(trailer, 0);\n                            var crc32Actual = _crc.Crc32Result;\n                            var isizeExpected = BitConverter.ToInt32(trailer, 4);\n                            var isizeActual = (int) (Z.TotalBytesOut & 0x00000000FFFFFFFF);\n\n                            if (crc32Actual != crc32Expected)\n                                throw new ZlibException(\n                                    $\"Bad CRC32 in GZIP trailer. (actual({crc32Actual:X8})!=expected({crc32Expected:X8}))\");\n\n                            if (isizeActual != isizeExpected)\n                                throw new ZlibException(\n                                    $\"Bad size in GZIP trailer. (actual({isizeActual})!=expected({isizeExpected}))\");\n                        }\n                        else\n                        {\n                            throw new ZlibException(\"Reading with compression is not supported.\");\n                        }\n                    }\n\n                    break;\n                }\n            }\n        }\n\n        private void End()\n        {\n            if (z == null)\n                return;\n\n            if (WantCompress) Z.EndDeflate();\n            else Z.EndInflate();\n            Z = null;\n        }\n\n        public override void Close()\n        {\n            if (Stream == null)\n                return;\n\n            try\n            {\n                Finish();\n            }\n            finally\n            {\n                End();\n                if (!LeaveOpen)\n                    Stream.Close();\n                Stream = null;\n            }\n        }\n\n        public override void Flush()\n        {\n            Stream.Flush();\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotImplementedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            Stream.SetLength(value);\n        }\n\n        private bool _nomoreinput;\n\n        private string ReadZeroTerminatedString()\n        {\n            var list = new List<byte>();\n            var done = false;\n            do\n            {\n                var n = Stream.Read(Buf1, 0, 1);\n                if (n != 1)\n                    throw new ZlibException(\"Unexpected EOF reading GZIP header.\");\n\n                if (Buf1[0] == 0)\n                    done = true;\n                else\n                    list.Add(Buf1[0]);\n            } while (!done);\n\n            var a = list.ToArray();\n            return GZipStream.Iso8859dash1.GetString(a, 0, a.Length);\n        }\n\n        private int ReadAndValidateGzipHeader()\n        {\n            var totalBytesRead = 0;\n            var header = new byte[10];\n            var n = Stream.Read(header, 0, header.Length);\n\n            if (n == 0)\n                return 0;\n\n            if (n != 10)\n                throw new ZlibException(\"Not a valid GZIP stream.\");\n\n            if (header[0] != 0x1F || header[1] != 0x8B || header[2] != 8)\n                throw new ZlibException(\"Bad GZIP header.\");\n\n            var timet = BitConverter.ToInt32(header, 4);\n            GzipMtime = GZipStream.UnixEpoch.AddSeconds(timet);\n            totalBytesRead += n;\n            if ((header[3] & 0x04) == 0x04)\n            {\n                n = Stream.Read(header, 0, 2); \n                totalBytesRead += n;\n\n                var extraLength = (short) (header[0] + header[1] * 256);\n                var extra = new byte[extraLength];\n                n = Stream.Read(extra, 0, extra.Length);\n                if (n != extraLength)\n                    throw new ZlibException(\"Unexpected end-of-file reading GZIP header.\");\n\n                totalBytesRead += n;\n            }\n\n            if ((header[3] & 0x08) == 0x08)\n                GzipFileName = ReadZeroTerminatedString();\n            if ((header[3] & 0x10) == 0x010)\n                GzipComment = ReadZeroTerminatedString();\n            if ((header[3] & 0x02) == 0x02)\n                Read(Buf1, 0, 1); \n\n            return totalBytesRead;\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            if (_streamMode == StreamMode.Undefined)\n            {\n                if (!Stream.CanRead)\n                    throw new ZlibException(\"The stream is not readable.\");\n\n                _streamMode = StreamMode.Reader;\n                z.AvailableBytesIn = 0;\n                if (Flavor == ZlibStreamFlavor.Gzip)\n                {\n                    GzipHeaderByteCount = ReadAndValidateGzipHeader();\n                    if (GzipHeaderByteCount == 0)\n                        return 0;\n                }\n            }\n\n            if (_streamMode != StreamMode.Reader)\n                throw new ZlibException(\"Cannot Read after Writing.\");\n\n            if (count == 0)\n                return 0;\n            if (_nomoreinput && WantCompress)\n                return 0; \n\n            if (buffer == null)\n                throw new ArgumentNullException(nameof(buffer));\n            if (count < 0)\n                throw new ArgumentOutOfRangeException(nameof(count));\n            if (offset < buffer.GetLowerBound(0))\n                throw new ArgumentOutOfRangeException(nameof(offset));\n            if (offset + count > buffer.GetLength(0))\n                throw new ArgumentOutOfRangeException(nameof(count));\n\n            int rc;\n\n            Z.OutputBuffer = buffer;\n            Z.NextOut = offset;\n            Z.AvailableBytesOut = count;\n\n            Z.InputBuffer = WorkingBuffer;\n\n            do\n            {\n                if (Z.AvailableBytesIn == 0 && !_nomoreinput)\n                {\n                    Z.NextIn = 0;\n                    Z.AvailableBytesIn = Stream.Read(_workingBuffer, 0, _workingBuffer.Length);\n                    if (Z.AvailableBytesIn == 0)\n                        _nomoreinput = true;\n                }\n\n                rc = WantCompress\n                    ? Z.Deflate(FlushMode)\n                    : Z.Inflate(FlushMode);\n\n                if (_nomoreinput && rc == ZlibConstants.ZBufError)\n                    return 0;\n\n                if (rc != ZlibConstants.ZOk && rc != ZlibConstants.ZStreamEnd)\n                    throw new ZlibException($\"{(WantCompress ? \"de\" : \"in\")}flating:  rc={rc}  msg={Z.Message}\");\n\n                if ((_nomoreinput || rc == ZlibConstants.ZStreamEnd) && Z.AvailableBytesOut == count)\n                    break; \n            }\n\n            while (Z.AvailableBytesOut > 0 && !_nomoreinput && rc == ZlibConstants.ZOk);\n\n            if (Z.AvailableBytesOut > 0)\n            {\n                if (_nomoreinput)\n                    if (WantCompress)\n                    {\n                        rc = Z.Deflate(FlushType.Finish);\n\n                        if (rc != ZlibConstants.ZOk && rc != ZlibConstants.ZStreamEnd)\n                            throw new ZlibException($\"Deflating:  rc={rc}  msg={Z.Message}\");\n                    }\n            }\n\n            rc = count - Z.AvailableBytesOut;\n\n            _crc?.SlurpBlock(buffer, offset, rc);\n\n            return rc;\n        }\n\n        public override bool CanRead => Stream.CanRead;\n\n        public override bool CanSeek => Stream.CanSeek;\n\n        public override bool CanWrite => Stream.CanWrite;\n\n        public override long Length => Stream.Length;\n\n        public override long Position\n        {\n            get => throw new NotImplementedException();\n            set => throw new NotImplementedException();\n        }\n\n        internal enum StreamMode\n        {\n            Writer,\n            Reader,\n            Undefined\n        }\n\n        public static void CompressString(string s, Stream compressor)\n        {\n            var uncompressed = Encoding.UTF8.GetBytes(s);\n            using (compressor)\n            {\n                compressor.Write(uncompressed, 0, uncompressed.Length);\n            }\n        }\n\n        public static void CompressBuffer(byte[] b, Stream compressor)\n        {\n            using (compressor)\n            {\n                compressor.Write(b, 0, b.Length);\n            }\n        }\n\n        public static string UncompressString(byte[] compressed, Stream decompressor)\n        {\n            var working = new byte[1024];\n            var encoding = Encoding.UTF8;\n            using var output = new MemoryStream();\n            using (decompressor)\n            {\n                int n;\n                while ((n = decompressor.Read(working, 0, working.Length)) != 0) output.Write(working, 0, n);\n            }\n\n            output.Seek(0, SeekOrigin.Begin);\n            var sr = new StreamReader(output, encoding);\n            return sr.ReadToEnd();\n        }\n\n        public static byte[] UncompressBuffer(byte[] compressed, Stream decompressor)\n        {\n            var working = new byte[1024];\n            using var output = new MemoryStream();\n            using (decompressor)\n            {\n                int n;\n                while ((n = decompressor.Read(working, 0, working.Length)) != 0) output.Write(working, 0, n);\n            }\n\n            return output.ToArray();\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/ZlibCodec.cs",
    "content": "using System;\nusing Interop = System.Runtime.InteropServices;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    [Interop.Guid(\"ebc25cf6-9120-4283-b972-0e5520d0000D\")]\n    [Interop.ComVisible(true)]\n#if !NETCF\n    [Interop.ClassInterface(Interop.ClassInterfaceType.AutoDispatch)]\n#endif\n    public sealed class ZlibCodec\n    {\n        internal uint _Adler32;\n\n        public int AvailableBytesIn;\n        public int AvailableBytesOut;\n\n        public CompressionLevel CompressLevel = CompressionLevel.Default;\n\n        internal DeflateManager Dstate;\n\n        public byte[] InputBuffer;\n\n        internal InflateManager Istate;\n\n        public string Message;\n\n        public int NextIn;\n        public int NextOut;\n\n        public byte[] OutputBuffer;\n\n        public CompressionStrategy Strategy = CompressionStrategy.Default;\n\n        public long TotalBytesIn;\n        public long TotalBytesOut;\n\n        public int WindowBits = ZlibConstants.WindowBitsDefault;\n\n        public ZlibCodec()\n        {\n        }\n\n        public ZlibCodec(CompressionMode mode)\n        {\n            switch (mode)\n            {\n                case CompressionMode.Compress:\n                {\n                    var rc = InitializeDeflate();\n                    if (rc != ZlibConstants.ZOk)\n                        throw new ZlibException(\"Cannot initialize for deflate.\");\n\n                    break;\n                }\n\n                case CompressionMode.Decompress:\n                {\n                    var rc = InitializeInflate();\n                    if (rc != ZlibConstants.ZOk)\n                        throw new ZlibException(\"Cannot initialize for inflate.\");\n\n                    break;\n                }\n\n                default:\n                    throw new ZlibException(\"Invalid ZlibStreamFlavor.\");\n            }\n        }\n\n        public int Adler32 => (int) _Adler32;\n\n        public int InitializeInflate()\n        {\n            return InitializeInflate(WindowBits);\n        }\n\n        public int InitializeInflate(bool expectRfc1950Header)\n        {\n            return InitializeInflate(WindowBits, expectRfc1950Header);\n        }\n\n        public int InitializeInflate(int windowBits)\n        {\n            WindowBits = windowBits;\n            return InitializeInflate(windowBits, true);\n        }\n\n        public int InitializeInflate(int windowBits, bool expectRfc1950Header)\n        {\n            WindowBits = windowBits;\n            if (Dstate != null)\n                throw new ZlibException(\"You may not call InitializeInflate() after calling InitializeDeflate().\");\n\n            Istate = new InflateManager(expectRfc1950Header);\n            return Istate.Initialize(this, windowBits);\n        }\n\n        public int Inflate(FlushType flush)\n        {\n            if (Istate == null)\n                throw new ZlibException(\"No Inflate State!\");\n\n            return Istate.Inflate(flush);\n        }\n\n        public int EndInflate()\n        {\n            if (Istate == null)\n                throw new ZlibException(\"No Inflate State!\");\n\n            var ret = Istate.End();\n            Istate = null;\n            return ret;\n        }\n\n        public int SyncInflate()\n        {\n            if (Istate == null)\n                throw new ZlibException(\"No Inflate State!\");\n\n            return Istate.Sync();\n        }\n\n        public int InitializeDeflate()\n        {\n            return _InternalInitializeDeflate(true);\n        }\n\n        public int InitializeDeflate(CompressionLevel level)\n        {\n            CompressLevel = level;\n            return _InternalInitializeDeflate(true);\n        }\n\n        public int InitializeDeflate(CompressionLevel level, bool wantRfc1950Header)\n        {\n            CompressLevel = level;\n            return _InternalInitializeDeflate(wantRfc1950Header);\n        }\n\n        public int InitializeDeflate(CompressionLevel level, int bits)\n        {\n            CompressLevel = level;\n            WindowBits = bits;\n            return _InternalInitializeDeflate(true);\n        }\n\n        public int InitializeDeflate(CompressionLevel level, int bits, bool wantRfc1950Header)\n        {\n            CompressLevel = level;\n            WindowBits = bits;\n            return _InternalInitializeDeflate(wantRfc1950Header);\n        }\n\n        private int _InternalInitializeDeflate(bool wantRfc1950Header)\n        {\n            if (Istate != null)\n                throw new ZlibException(\"You may not call InitializeDeflate() after calling InitializeInflate().\");\n\n            Dstate = new DeflateManager {WantRfc1950HeaderBytes = wantRfc1950Header};\n\n            return Dstate.Initialize(this, CompressLevel, WindowBits, Strategy);\n        }\n\n        public int Deflate(FlushType flush)\n        {\n            if (Dstate == null)\n                throw new ZlibException(\"No Deflate State!\");\n\n            return Dstate.Deflate(flush);\n        }\n\n        public int EndDeflate()\n        {\n            if (Dstate == null)\n                throw new ZlibException(\"No Deflate State!\");\n\n            Dstate = null;\n            return ZlibConstants.ZOk; ;\n        }\n\n        public void ResetDeflate()\n        {\n            if (Dstate == null)\n                throw new ZlibException(\"No Deflate State!\");\n\n            Dstate.Reset();\n        }\n\n        public int SetDeflateParams(CompressionLevel level, CompressionStrategy strategy)\n        {\n            if (Dstate == null)\n                throw new ZlibException(\"No Deflate State!\");\n\n            return Dstate.SetParams(level, strategy);\n        }\n\n        public int SetDictionary(byte[] dictionary)\n        {\n            if (Istate != null)\n                return Istate.SetDictionary(dictionary);\n\n            if (Dstate != null)\n                return Dstate.SetDictionary(dictionary);\n\n            throw new ZlibException(\"No Inflate or Deflate state!\");\n        }\n\n        internal void Flush_pending()\n        {\n            var len = Dstate.PendingCount;\n\n            if (len > AvailableBytesOut)\n                len = AvailableBytesOut;\n            if (len == 0)\n                return;\n\n            if (Dstate.Pending.Length <= Dstate.NextPending ||\n                OutputBuffer.Length <= NextOut ||\n                Dstate.Pending.Length < Dstate.NextPending + len ||\n                OutputBuffer.Length < NextOut + len)\n                throw new ZlibException(\n                    $\"Invalid State. (pending.Length={Dstate.Pending.Length}, pendingCount={Dstate.PendingCount})\");\n\n            Array.Copy(Dstate.Pending, Dstate.NextPending, OutputBuffer, NextOut, len);\n\n            NextOut += len;\n            Dstate.NextPending += len;\n            TotalBytesOut += len;\n            AvailableBytesOut -= len;\n            Dstate.PendingCount -= len;\n            if (Dstate.PendingCount == 0) Dstate.NextPending = 0;\n        }\n\n        internal int Read_buf(byte[] buf, int start, int size)\n        {\n            var len = AvailableBytesIn;\n\n            if (len > size)\n                len = size;\n            if (len == 0)\n                return 0;\n\n            AvailableBytesIn -= len;\n\n            if (Dstate.WantRfc1950HeaderBytes) _Adler32 = Adler.Adler32(_Adler32, InputBuffer, NextIn, len);\n            Array.Copy(InputBuffer, NextIn, buf, start, len);\n            NextIn += len;\n            TotalBytesIn += len;\n            return len;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/ZlibConstants.cs",
    "content": "namespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public static class ZlibConstants\n    {\n        public const int WindowBitsMax = 15; \n        public const int WindowBitsDefault = WindowBitsMax;\n\n        public const int ZOk = 0;\n        public const int ZStreamEnd = 1;\n        public const int ZNeedDict = 2;\n        public const int ZStreamError = -2;\n        public const int ZDataError = -3;\n        public const int ZBufError = -5;\n\n        public const int WorkingBufferSizeDefault = 16384;\n\n        public const int WorkingBufferSizeMin = 1024;\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Compression/ZLib/ZlibStream.cs",
    "content": "using System;\nusing System.IO;\n\nnamespace ClashRoyale.Utilities.Compression.ZLib\n{\n    public class ZlibStream : Stream\n    {\n        internal ZlibBaseStream _baseStream;\n        private bool _disposed;\n\n        public ZlibStream(Stream stream, CompressionMode mode)\n            : this(stream, mode, CompressionLevel.Default, false)\n        {\n        }\n\n        public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level)\n            : this(stream, mode, level, false)\n        {\n        }\n\n        public ZlibStream(Stream stream, CompressionMode mode, bool leaveOpen)\n            : this(stream, mode, CompressionLevel.Default, leaveOpen)\n        {\n        }\n\n        public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)\n        {\n            _baseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.Zlib, leaveOpen);\n        }\n\n        public int BufferSize\n        {\n            get => _baseStream.BufferSize;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"ZlibStream\");\n                if (_baseStream._workingBuffer != null)\n                    throw new ZlibException(\"The working buffer is already set.\");\n                if (value < ZlibConstants.WorkingBufferSizeMin)\n                    throw new ZlibException(\n                        $\"Don't be silly. {value} bytes?? Use a bigger buffer, at least {ZlibConstants.WorkingBufferSizeMin}.\");\n\n                _baseStream.BufferSize = value;\n            }\n        }\n\n        public override bool CanRead\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"ZlibStream\");\n\n                return _baseStream.Stream.CanRead;\n            }\n        }\n\n        public override bool CanSeek => false;\n\n        public override bool CanWrite\n        {\n            get\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"ZlibStream\");\n\n                return _baseStream.Stream.CanWrite;\n            }\n        }\n\n        public virtual FlushType FlushMode\n        {\n            get => _baseStream.FlushMode;\n            set\n            {\n                if (_disposed)\n                    throw new ObjectDisposedException(\"ZlibStream\");\n\n                _baseStream.FlushMode = value;\n            }\n        }\n\n        public override long Length => throw new NotSupportedException();\n\n        public override long Position\n        {\n            get\n            {\n                switch (_baseStream._streamMode)\n                {\n                    case ZlibBaseStream.StreamMode.Writer:\n                        return _baseStream.Z.TotalBytesOut;\n                    case ZlibBaseStream.StreamMode.Reader:\n                        return _baseStream.Z.TotalBytesIn;\n                    default:\n                        return 0;\n                }\n            }\n\n            set => throw new NotSupportedException();\n        }\n\n        public virtual long TotalIn => _baseStream.Z.TotalBytesIn;\n\n        public virtual long TotalOut => _baseStream.Z.TotalBytesOut;\n\n        protected override void Dispose(bool disposing)\n        {\n            try\n            {\n                if (_disposed) return;\n\n                if (disposing)\n                    _baseStream?.Close();\n                _disposed = true;\n            }\n            finally\n            {\n                base.Dispose(disposing);\n            }\n        }\n\n        public static byte[] CompressBuffer(byte[] b, CompressionLevel compressionLevel)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new ZlibStream(ms, CompressionMode.Compress, compressionLevel);\n\n            ZlibBaseStream.CompressBuffer(b, compressor);\n            return ms.ToArray();\n        }\n\n        public static byte[] CompressString(string s, CompressionLevel compressionLevel)\n        {\n            using var ms = new MemoryStream();\n            Stream compressor =\n                new ZlibStream(ms, CompressionMode.Compress, compressionLevel);\n            ZlibBaseStream.CompressString(s, compressor);\n            return ms.ToArray();\n        }\n\n        public static byte[] UncompressBuffer(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor =\n                new ZlibStream(input, CompressionMode.Decompress);\n\n            return ZlibBaseStream.UncompressBuffer(compressed, decompressor);\n        }\n\n        public static string UncompressString(byte[] compressed)\n        {\n            using var input = new MemoryStream(compressed);\n            Stream decompressor =\n                new ZlibStream(input, CompressionMode.Decompress);\n\n            return ZlibBaseStream.UncompressString(compressed, decompressor);\n        }\n\n        public override void Flush()\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"ZlibStream\");\n\n            _baseStream.Flush();\n        }\n\n        public override int Read(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"ZlibStream\");\n\n            return _baseStream.Read(buffer, offset, count);\n        }\n\n        public override long Seek(long offset, SeekOrigin origin)\n        {\n            throw new NotSupportedException();\n        }\n\n        public override void SetLength(long value)\n        {\n            throw new NotSupportedException();\n        }\n\n\n        public override void Write(byte[] buffer, int offset, int count)\n        {\n            if (_disposed)\n                throw new ObjectDisposedException(\"ZlibStream\");\n\n            _baseStream.Write(buffer, offset, count);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Crypto/Rc4.cs",
    "content": "﻿using System;\nusing System.Text;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Utilities.Crypto\n{\n    public class Rc4\n    {\n        public Rc4(byte[] key)\n        {\n            Key = Ksa(key);\n        }\n\n        public byte[] Key { get; set; }\n        public byte I { get; set; }\n        public byte J { get; set; }\n\n        public byte Prga()\n        {\n            I = (byte) ((I + 1) % 256);\n            J = (byte) ((J + Key[I]) % 256);\n\n            var temp = Key[I];\n            Key[I] = Key[J];\n            Key[J] = temp;\n\n            return Key[(Key[I] + Key[J]) % 256];\n        }\n\n        public static byte[] Ksa(byte[] key)\n        {\n            var s = new byte[256];\n\n            for (var i = 0; i != 256; i++)\n                s[i] = (byte) i;\n\n            byte j = 0;\n\n            for (var i = 0; i != 256; i++)\n            {\n                j = (byte) ((j + s[i] + key[i % key.Length]) % 256);\n\n                var temp = s[i];\n                s[i] = s[j];\n                s[j] = temp;\n            }\n\n            return s;\n        }\n    }\n\n    public class Rc4Core\n    {\n        public Rc4Core(string key, string nonce)\n        {\n            InitializeCiphers(Encoding.UTF8.GetBytes(key + nonce));\n        }\n\n        public Rc4 Encryptor { get; set; }\n\n        public Rc4 Decryptor { get; set; }\n\n        public static byte[] GenerateNonce\n        {\n            get\n            {\n                var random = new Random();\n                var buffer = new byte[random.Next(15, 25)];\n                random.NextBytes(buffer);\n                return buffer;\n            }\n        }\n\n        public void Encrypt(ref IByteBuffer data)\n        {\n            for (var k = 0; k < data.ReadableBytes; k++)\n            {\n                var b = data.GetByte(k) ^ Encryptor.Prga();\n                data.SetByte(k, b);\n            }\n        }\n\n        public void Decrypt(ref IByteBuffer data)\n        {\n            for (var k = 0; k < data.ReadableBytes; k++)\n            {\n                var b = data.GetByte(k) ^ Decryptor.Prga();\n                data.SetByte(k, b);\n            }\n        }\n\n        public void Encrypt(ref byte[] data)\n        {\n            if (data == null)\n                throw new ArgumentNullException(nameof(data));\n\n            for (var k = 0; k < data.Length; k++)\n                data[k] ^= Encryptor.Prga();\n        }\n\n        public void Decrypt(ref byte[] data)\n        {\n            if (data == null)\n                throw new ArgumentNullException(nameof(data));\n\n            for (var k = 0; k < data.Length; k++)\n                data[k] ^= Decryptor.Prga();\n        }\n\n        public void InitializeCiphers(byte[] key)\n        {\n            Encryptor = new Rc4(key);\n            Decryptor = new Rc4(key);\n\n            for (var k = 0; k < key.Length; k++)\n            {\n                Encryptor.Prga();\n                Decryptor.Prga();\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Extensions.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace ClashRoyale.Utilities\n{\n    public static class ExtensionMethods\n    {\n        public static void UpdateOrInsert<T>(this List<T> list, int index, T item)\n        {\n            if (list.ElementAtOrDefault(index) != null)\n                list[index] = item;\n            else\n                list.Insert(index, item);\n        }\n\n        public static string ToReadableString(this TimeSpan span)\n        {\n            var formatted =\n                $\"{(span.Duration().Days > 0 ? $\"{span.Days:0}d, \" : string.Empty)}{(span.Duration().Hours > 0 ? $\"{span.Hours:0}h, \" : string.Empty)}{(span.Duration().Minutes > 0 ? $\"{span.Minutes:0}m, \" : string.Empty)}{(span.Duration().Seconds > 0 ? $\"{span.Seconds:0}s\" : string.Empty)}\";\n\n            if (formatted.EndsWith(\", \")) formatted = formatted.Substring(0, formatted.Length - 2);\n\n            if (string.IsNullOrEmpty(formatted)) formatted = \"0s\";\n\n            return formatted;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/LogicRandom.cs",
    "content": "﻿namespace ClashRoyale.Utilities\n{\n    public class LogicRandom\n    {\n        private int _seed = -237100689;\n\n        public int Rand(int a2)\n        {\n            int result; \n\n            if (a2 >= 1)\n            {\n                var v3 = _seed; \n                var v4 = v3 ^ (v3 << 13) ^ ((v3 ^ (v3 << 13)) >> 17);\n                var v5 = v4 ^ (32 * v4); \n                _seed = v5;\n                int v6; \n                if (v5 <= -1) v6 = -v5;\n                else v6 = v5;\n                result = v6 % a2;\n            }\n            else\n                result = 0;\n\n            return result;\n        }\n\n        public void SetIteratedRandomSeed(int rndSeed)\n        {\n            _seed = rndSeed;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleAvatar.cs",
    "content": "﻿using Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleAvatar\n    {\n        [JsonProperty(\"accountId.hi\")] public int HighId { get; set; }\n        [JsonProperty(\"accountId.lo\")] public int LowId { get; set; }\n        [JsonProperty(\"expLevel\")] public int ExpLevel { get; set; }\n        [JsonProperty(\"expPoints\")] public int ExpPoints { get; set; }\n        [JsonProperty(\"name\")] public string Name { get; set; }\n        [JsonProperty(\"clan_name\")] public string ClanName { get; set; }\n        [JsonProperty(\"arena\")] public int Arena { get; set; }\n        [JsonProperty(\"badge\")] public int ClanBadge { get; set; }\n        [JsonProperty(\"clan_id_hi\")] public int ClanHighId { get; set; }\n        [JsonProperty(\"clan_id_lo\")] public int ClanLowId { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleCommand.cs",
    "content": "﻿using Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleCommand\n    {\n        [JsonProperty(\"t\")] public int Tick { get; set; }\n        [JsonProperty(\"t2\")] public int Tick2 { get; set; }\n        [JsonProperty(\"idHi\")] public int HighId { get; set; }\n        [JsonProperty(\"idLo\")] public int LowId { get; set; }\n        [JsonProperty(\"idx\")] public int Idx { get; set; }\n        [JsonProperty(\"gid\")] public int GlobalId { get; set; }\n        [JsonProperty(\"px\")] public int PositionX { get; set; }\n        [JsonProperty(\"py\")] public int PositionY { get; set; }\n        [JsonProperty(\"sid\")] public int Sid = -1;\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleCommandStorage.cs",
    "content": "﻿using Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleCommandStorage\n    {\n        [JsonProperty(\"ct\")] public int CommandType { get; set; }\n        [JsonProperty(\"c\")] public LogicBattleCommand Command = new LogicBattleCommand();\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleEvent.cs",
    "content": "﻿using System.Collections.Generic;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleEvent\n    {\n        [JsonProperty(\"type\")] public int Type { get; set; }\n        [JsonProperty(\"id_hi\")] public int HighId { get; set; }\n        [JsonProperty(\"id_lo\")] public int LowId { get; set; }\n        [JsonProperty(\"params\")] public List<int> Params = new List<int>();\n        [JsonProperty(\"ticks\")] public List<int> Ticks = new List<int>();\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleInfo.cs",
    "content": "﻿using System.Collections.Generic;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleInfo\n    {\n        [JsonProperty(\"gmt\")] public int Gmt = 1;\n        [JsonProperty(\"gamemode\")] public int Gamemode = 72000006;\n        [JsonProperty(\"arena\")] public int Arena = 54000012;\n        [JsonProperty(\"location\")] public int Location = 15000013;\n\n        [JsonProperty(\"deck0\")] public List<LogicBattleSpell> Deck0 = new List<LogicBattleSpell>();\n        [JsonProperty(\"deck1\")] public List<LogicBattleSpell> Deck1 = new List<LogicBattleSpell>();\n        [JsonProperty(\"avatar0\")] public LogicBattleAvatar Avatar0 = new LogicBattleAvatar();\n        [JsonProperty(\"avatar1\")] public LogicBattleAvatar Avatar1 = new LogicBattleAvatar();\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/LogicBattleSpell.cs",
    "content": "﻿using Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle\n{\n    public class LogicBattleSpell\n    {\n        [JsonProperty(\"d\")] public int Id { get; set; }\n        [JsonProperty(\"l\")] public int Level { get; set; }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Models/Battle/Replay/LogicReplay.cs",
    "content": "﻿using System.Collections.Generic;\nusing ClashRoyale.Utilities.Utils;\nusing Newtonsoft.Json;\n\nnamespace ClashRoyale.Utilities.Models.Battle.Replay\n{\n    public class LogicReplay\n    {\n        [JsonProperty(\"battle\")] public LogicBattleInfo Battle = new LogicBattleInfo();\n        [JsonProperty(\"cmd\")] public List<LogicBattleCommandStorage> Commands = new List<LogicBattleCommandStorage>();\n        [JsonProperty(\"evt\")] public List<LogicBattleEvent> Events = new List<LogicBattleEvent>();\n        [JsonProperty(\"endTick\")] public int EndTick { get; set; }\n        [JsonProperty(\"rndSeed\")] public int RandomSeed { get; set; }\n        [JsonProperty(\"time\")] public int Time = TimeUtils.CurrentUnixTimestamp;\n\n        /// <summary>\n        /// Add an event to the replay\n        /// </summary>\n        /// <param name=\"type\"></param>\n        /// <param name=\"highId\"></param>\n        /// <param name=\"lowId\"></param>\n        /// <param name=\"tick\"></param>\n        /// <param name=\"param\"></param>\n        public void AddEvent(int type, int highId, int lowId, int tick, int param)\n        {\n            if (Events.FindIndex(x => x.Ticks.Contains(tick)) != -1) return; // required ??\n\n            var evt = new LogicBattleEvent {Type = type, HighId = highId, LowId = lowId};\n            evt.Ticks.Add(tick);\n            evt.Params.Add(param);\n            Events.Add(evt);\n        }\n\n        /// <summary>\n        /// Add a command to the replay\n        /// </summary>\n        /// <param name=\"type\"></param>\n        /// <param name=\"tick\"></param>\n        /// <param name=\"tick2\"></param>\n        /// <param name=\"highId\"></param>\n        /// <param name=\"lowId\"></param>\n        /// <param name=\"globalId\"></param>\n        /// <param name=\"positionX\"></param>\n        /// <param name=\"positionY\"></param>\n        public void AddCommand(int type, int tick, int tick2, int highId, int lowId, int globalId, int positionX, int positionY, int idx)\n        {\n            var cmdStorage = new LogicBattleCommandStorage\n            {\n                CommandType = type\n            };\n\n            var cmd = cmdStorage.Command;\n            cmd.Tick = tick;\n            cmd.Tick2 = tick2;\n            cmd.HighId = highId;\n            cmd.LowId = lowId;\n            cmd.GlobalId = globalId;\n            cmd.PositionX = positionX;\n            cmd.PositionY = positionY;\n            cmd.Idx = idx;\n\n            Commands.Add(cmdStorage);\n        }\n    }\n}\n"
  },
  {
    "path": "src/ClashRoyale.Utilities/Netty/Reader.cs",
    "content": "﻿using System.Text;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Utilities.Netty\n{\n    /// <summary>\n    ///     This implements a few extensions for games from supercell\n    /// </summary>\n    public static class Reader\n    {\n        /// <summary>\n        ///     Decodes a string based on the length\n        /// </summary>\n        /// <param name=\"byteBuffer\"></param>\n        /// <returns></returns>\n        public static string ReadScString(this IByteBuffer byteBuffer)\n        {\n            var length = byteBuffer.ReadInt();\n\n            if (length <= 0 || length > 900000)\n                return string.Empty;\n\n            return byteBuffer.ReadString(length, Encoding.UTF8);\n        }\n\n        /// <summary>\n        ///     Decodes a VInt (Variable Length Integer) - special greets to nameless who made this way smaller\n        /// </summary>\n        /// <param name=\"byteBuffer\"></param>\n        /// <returns></returns>\n        public static int ReadVInt(this IByteBuffer byteBuffer)\n        {\n            int b, sign = ((b = byteBuffer.ReadByte()) >> 6) & 1, i = b & 0x3F, offset = 6;\n\n            for (var j = 0; j < 4 && (b & 0x80) != 0; j++, offset += 7)\n                i |= ((b = byteBuffer.ReadByte()) & 0x7F) << offset;\n\n            return (b & 0x80) != 0 ? -1 : i | (sign == 1 && offset < 32 ? i | (int) (0xFFFFFFFF << offset) : i);\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Netty/Writer.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Text;\nusing ClashRoyale.Utilities.Compression.ZLib;\nusing DotNetty.Buffers;\n\nnamespace ClashRoyale.Utilities.Netty\n{\n    /// <summary>\n    ///     This implements a few extensions for games from supercell\n    /// </summary>\n    public static class Writer\n    {\n        /// <summary>\n        ///     Encodes a string based on the length\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"value\"></param>\n        public static void WriteScString(this IByteBuffer buffer, string value)\n        {\n            if (value == null)\n            {\n                buffer.WriteInt(-1);\n            }\n            else if (value.Length == 0)\n            {\n                buffer.WriteInt(0);\n            }\n            else\n            {\n                var bytes = Encoding.UTF8.GetBytes(value);\n\n                buffer.WriteInt(bytes.Length);\n                buffer.WriteString(value, Encoding.UTF8);\n            }\n        }\n\n        /// <summary>\n        ///     Encodes a VInt\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"value\"></param>\n        public static void WriteVInt(this IByteBuffer buffer, int value)\n        {\n            var temp = (value >> 25) & 0x40;\n            var flipped = value ^ (value >> 31);\n\n            temp |= value & 0x3F;\n            value >>= 6;\n\n            if ((flipped >>= 6) == 0)\n            {\n                buffer.WriteByte(temp);\n                return;\n            }\n\n            buffer.WriteByte(temp | 0x80);\n\n            do\n            {\n                buffer.WriteByte((value & 0x7F) | ((flipped >>= 7) != 0 ? 0x80 : 0));\n                value >>= 7;\n            } while (flipped != 0);\n        }\n\n        /// <summary>\n        ///     Encodes a \"NullVInt\"\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"count\"></param>\n        public static void WriteNullVInt(this IByteBuffer buffer, int count = 1)\n        {\n            for (var i = 0; i < count; i++)\n                buffer.WriteByte(0x7F);\n        }\n\n        /// <summary>\n        ///     Encode a compressed string\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"value\"></param>\n        public static void WriteCompressedString(this IByteBuffer buffer, string value)\n        {\n            var data = Encoding.UTF8.GetBytes(value);\n            var compressed = ZlibStream.CompressBuffer(data, CompressionLevel.Default);\n\n            buffer.WriteInt(compressed.Length + 4);\n            buffer.WriteIntLE(data.Length);\n\n            buffer.WriteBytes(compressed);\n        }\n\n        /// <summary>\n        ///     This method should be only used for testing.\n        /// </summary>\n        /// <param name=\"buffer\"></param>\n        /// <param name=\"value\"></param>\n        public static void WriteHex(this IByteBuffer buffer, string value)\n        {\n            var tmp = value.Replace(\"-\", string.Empty).Replace(\" \", string.Empty);\n            buffer.WriteBytes(Enumerable.Range(0, tmp.Length).Where(x => x % 2 == 0)\n                .Select(x => Convert.ToByte(tmp.Substring(x, 2), 16)).ToArray());\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Utils/GameUtils.cs",
    "content": "﻿using System;\n\nnamespace ClashRoyale.Utilities.Utils\n{\n    public class GameUtils\n    {\n        public static string GenerateToken\n        {\n            get\n            {\n                var random = new Random();\n                var token = string.Empty;\n\n                for (var i = 0; i < 40; i++)\n                    token += \"abcdefghijklmnopqrstuvwxyz0123456789\"[random.Next(36)];\n\n                return token;\n            }\n        }\n\n        public static bool IsHigherRoleThan(int role, int roleToCompare)\n        {\n            var table = new[] {1, 1, 4, 2, 3};\n            return role >= 5 || roleToCompare >= 5 || table[roleToCompare] < table[role];\n        }\n\n        // TODO\n        public static int Id(int classId, int instanceId)\n        {\n            if (classId >= 27) instanceId += 58;\n            if (classId == 28) instanceId += 14;\n\n            return instanceId + 1;\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Utils/ServerUtils.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Runtime.InteropServices;\nusing System.Security.Cryptography;\nusing System.Text;\n\nnamespace ClashRoyale.Utilities.Utils\n{\n    public class ServerUtils\n    {\n        public static string GetOsName()\n        {\n            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))\n                return \"Windows\";\n            if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))\n                return \"MacOS\";\n            if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))\n                return \"Linux\";\n\n            return \"Unknown-\" + Environment.OSVersion;\n        }\n\n        public static bool IsLinux()\n        {\n            return RuntimeInformation.IsOSPlatform(OSPlatform.Linux);\n        }\n\n        public static string GetChecksum(string text)\n        {\n            using var hasher = new SHA1CryptoServiceProvider();\n            return hasher.ComputeHash(Encoding.UTF8.GetBytes(text)).Aggregate(string.Empty,\n                (current, num) => current + num.ToString(\"x2\"));\n        }\n\n        public static string GetChecksum(byte[] data)\n        {\n            using var hasher = new SHA1CryptoServiceProvider();\n            return hasher.ComputeHash(data).Aggregate(string.Empty,\n                (current, num) => current + num.ToString(\"x2\"));\n        }\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.Utilities/Utils/TimeUtils.cs",
    "content": "﻿using System;\n\nnamespace ClashRoyale.Utilities.Utils\n{\n    public class TimeUtils\n    {\n        public static int GetSecondsUntilNextMonth\n        {\n            get\n            {\n                var now = DateTime.UtcNow;\n\n                if (now.Month != 12)\n                    return (int) (new DateTime(now.Year, now.Month + 1, 1, now.Hour,\n                                      now.Minute, now.Second) - now).TotalSeconds;\n\n                return (int) (new DateTime(now.Year + 1, 1, 1, now.Hour,\n                                  now.Minute, now.Second) - now).TotalSeconds;\n            }\n        }\n\n        public static int GetSecondsUntilTomorrow\n        {\n            get\n            {\n                var now = DateTime.UtcNow;\n                var tomorrow = now.AddDays(1).Date;\n\n                return (int) (tomorrow - now).TotalSeconds;\n            }\n        }\n\n        public static int CurrentUnixTimestamp => (int) DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;\n    }\n}"
  },
  {
    "path": "src/ClashRoyale.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.28809.33\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"ClashRoyale\", \"ClashRoyale\\ClashRoyale.csproj\", \"{9D0CA4C8-4661-4D51-AE5D-5EDB16C9C796}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Tools\", \"Tools\", \"{D6D54D90-8753-44E8-8A0E-850B590D0453}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"ClashRoyale.CsvConverter\", \"ClashRoyale.CsvConverter\\ClashRoyale.CsvConverter.csproj\", \"{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"ClashRoyale.Battles\", \"ClashRoyale.Battles\\ClashRoyale.Battles.csproj\", \"{40433C6F-5D54-4197-9C05-49D7DA9797EE}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"ClashRoyale.Utilities\", \"ClashRoyale.Utilities\\ClashRoyale.Utilities.csproj\", \"{7F835EF1-3FC7-40A5-81C4-502071DBEB1F}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ClashRoyale.Management\", \"ClashRoyale.Management\\ClashRoyale.Management.csproj\", \"{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ClashRoyale.Simulator\", \"ClashRoyale.Simulator\\ClashRoyale.Simulator.csproj\", \"{6132A0FD-CB59-45FF-92B8-51095CAD26FE}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{9D0CA4C8-4661-4D51-AE5D-5EDB16C9C796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{9D0CA4C8-4661-4D51-AE5D-5EDB16C9C796}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{9D0CA4C8-4661-4D51-AE5D-5EDB16C9C796}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9D0CA4C8-4661-4D51-AE5D-5EDB16C9C796}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{40433C6F-5D54-4197-9C05-49D7DA9797EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{40433C6F-5D54-4197-9C05-49D7DA9797EE}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{40433C6F-5D54-4197-9C05-49D7DA9797EE}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{40433C6F-5D54-4197-9C05-49D7DA9797EE}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{7F835EF1-3FC7-40A5-81C4-502071DBEB1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{7F835EF1-3FC7-40A5-81C4-502071DBEB1F}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{7F835EF1-3FC7-40A5-81C4-502071DBEB1F}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{7F835EF1-3FC7-40A5-81C4-502071DBEB1F}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{88C8CC7B-7860-4E22-A8AD-6A6BCC7B13FD}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{6132A0FD-CB59-45FF-92B8-51095CAD26FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{6132A0FD-CB59-45FF-92B8-51095CAD26FE}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{6132A0FD-CB59-45FF-92B8-51095CAD26FE}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{6132A0FD-CB59-45FF-92B8-51095CAD26FE}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\t\t{5640CE8D-2965-4DA2-A20F-79FA2D97DC6A} = {D6D54D90-8753-44E8-8A0E-850B590D0453}\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {EAFDB0A5-529C-498E-8A90-5389E2B0CF3B}\n\tEndGlobalSection\nEndGlobal\n"
  }
]