145 skills found · Page 1 of 5
cyang-kth / FmmFast map matching, an open source framework in C++
graphhopper / Map MatchingThe map matching functionality is now located in the main repository https://github.com/graphhopper/graphhopper#map-matching
chrisneagu / FTC Skystone Dark Angels Romania 2020NOTICE This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season. If you are looking for the current season's FTC SDK software, please visit the new and permanent home of the public FTC SDK: FtcRobotController repository Welcome! This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. Getting Started If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system: FTC Blocks Online Tutorial Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards. Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. If you are a git user, you can clone the most current version of the repository: git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). Getting Help User Documentation and Tutorials FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link: SKYSTONE Online Documentation Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system. Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website: FTC Javadoc Documentation Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders: The folder "apk" contains the .apk files for the FTC Driver Station and FTC Robot Controller apps. The folder "javadoc" contains the JavaDoc user documentation for the FTC SDK. Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: FTC Technology Forum Release Information Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. New features Adds support for calling custom Java classes from Blocks OpModes (fixes SkyStone issue #161). Classes must be in the org.firstinspires.ftc.teamcode package. Methods must be public static and have no more than 21 parameters. Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. Adds telemetry API method for setting display format Classic Monospace HTML (certain tags only) Adds blocks support for switching cameras. Adds Blocks support for TensorFlow Object Detection with a custom model. Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) Adds new warnings which can be disabled in the Advanced RC Settings Mismatched app versions warning Unnecessary 2.4 GHz WiFi usage warning REV Hub is running outdated firmware (older than version 1.8.2) Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID Attempts to auto-detect gamepad type based on USB VID and PID If gamepad VID and PID is not known, use type specified by user for that VID and PID If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped If only one gamepad is assigned and it drops: it can be recovered If two gamepads are assigned, and have different VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have different VID/PID signatures, and BOTH drop: both will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and BOTH drop: neither will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. There is currently one known edge case: if there are two gamepads with the same VID/PID signature plugged in, but only one is assigned, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. Adds landscape user interface to Driver Station New feature: practice timer with audio cues New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. Removes the deprecated LinearOpMode methods waitOneFullHardwareCycle() and waitForNextHardwareCycle() Enhancements Handles RS485 address of Control Hub automatically The Control Hub is automatically given a reserved address Existing configuration files will continue to work All addresses in the range of 1-10 are still available for Expansion Hubs The Control Hub light will now normally be solid green, without blinking to indicate the address The Control Hub will not be shown on the Expansion Hub Address Change settings page Improves REV Hub firmware updater The user can now choose between all available firmware update files Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. Text was added to clarify that Expansion Hubs can only be updated via USB. Firmware update speed was reduced to improve reliability Allows REV Hub firmware to be updated directly from the Manage webpage Improves log viewer on Robot Controller Horizontal scrolling support (no longer word wrapped) Supports pinch-to-zoom Uses a monospaced font Error messages are highlighted New color scheme Attempts to force-stop a runaway/stuck OpMode without restarting the entire app Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. Makes various tweaks to the Self Inspect screen Renames "OS version" entry to "Android version" Renames "WiFi Direct Name" to "WiFi Name" Adds Control Hub OS version, when viewing the report of a Control Hub Hides the airplane mode entry, when viewing the report of a Control Hub Removes check for ZTE Speed Channel Changer Shows firmware version for all Expansion and Control Hubs Reworks network settings portion of Manage page All network settings are now applied with a single click The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band Improves OnBotJava New light and dark themes replace the old themes (chaos, github, chrome,...) the new default theme is light and will be used when you first update to this version OnBotJava now has a tabbed editor Read-only offline mode Improves function of "exit" menu item on Robot Controller and Driver Station Now guaranteed to be fully stopped and unloaded from memory Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition Improves error message shown when the Driver Station and Robot Controller are incompatible with each other Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. Tint phone battery icons on Driver Station when low/critical. Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configuration files Improve I2C read performance Very large improvement on Control Hub; up to ~2x faster with small (e.g. 6 byte) reads Not as apparent on Expansion Hubs connected to a phone Update/refresh build infrastructure Update to 'androidx' support library from 'com.android.support:appcompat', which is end-of-life Update targetSdkVersion and compileSdkVersion to 28 Update Android Studio's Android plugin to latest Fix reported build timestamp in 'About' screen Add sample illustrating manual webcam use: ConceptWebcam Bug fixes Fixes SkyStone issue #248 Fixes SkyStone issue #232 and modifies bulk caching semantics to allow for cache-preserving MANUAL/AUTO transitions. Improves performance when REV 2M distance sensor is unplugged Improves readability of Toast messages on certain devices Allows a Driver Station to connect to a Robot Controller after another has disconnected Improves generation of fake serial numbers for UVC cameras which do not provide a real serial number Previously some devices would assign such cameras a serial of 0:0 and fail to open and start streaming Fixes ftc_app issue #638. Fixes a slew of bugs with the Vuforia camera monitor including: Fixes bug where preview could be displayed with a wonky aspect ratio Fixes bug where preview could be cut off in landscape Fixes bug where preview got totally messed up when rotating phone Fixes bug where crosshair could drift off target when using webcams Fixes issue in UVC driver on some devices (ftc_app 681) if streaming was started/stopped multiple times in a row Issue manifested as kernel panic on devices which do not have this kernel patch. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. The Tech Team believes that the root cause of the issue is a bug in the Linux kernel XHCI driver. A workaround was implemented in the SDK UVC driver. Fixes bug in UVC driver where often half the frames from the camera would be dropped (e.g. only 15FPS delivered during a streaming session configured for 30FPS). Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. Fixes a potential exploitation issue of CVE-2019-11358 in OnBotJava Fixes changing the address of an Expansion Hub with additional Expansion Hubs connected to it Preserves the Control Hub's network connection when "Restart Robot" is selected Fixes issue where device scans would fail while the Robot was restarting Fix RenderScript usage Use androidx.renderscript variant: increased compatibility Use RenderScript in Java mode, not native: simplifies build Fixes webcam-frame-to-bitmap conversion problem: alpha channel wasn't being initialized, only R, G, & B Fixes possible arithmetic overflow in Deadline Fixes deadlock in Vuforia webcam support which could cause 5-second delays when stopping OpMode Version 5.4 (20200108-101156) Fixes SkyStone issue #88 Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. Fixes SkyStone issue #61 Fixes SkyStone issue #142 Fixes ftc_app issue #417 by adding more current and voltage monitoring capabilities for REV Hubs. Fixes a crash sometimes caused by OnBotJava activity Improves OnBotJava autosave functionality ftc_app #738 Fixes system responsiveness issue when an Expansion Hub is disconnected Fixes issue where IMU initialization could prevent Op Modes from stopping Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text Adds and improves Expansion Hub-related warnings Improves Expansion Hub low battery warning Displays the warning immediately after the hub reports it Specifies whether the condition is current or occurred temporarily during an OpMode run Displays which hubs reported low battery Displays warning when hub loses and regains power during an OpMode run Fixes the hub's LED pattern after this condition Displays warning when Expansion Hub is not responding to commands Specifies whether the condition is current or occurred temporarily during an OpMode run Clarifies warning when Expansion Hub is not present at startup Specifies that this condition requires a Robot Restart before the hub can be used. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. Adds bulk read functionality for REV Hubs A bulk caching mode must be set at the Hub level with LynxModule#setBulkCachingMode(). This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode.OFF (default): All hardware calls operate as usual. Bulk data can read through LynxModule#getBulkData() and processed manually. BulkCachingMode.AUTO: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with LynxModule#clearBulkCache(), although this is not recommended. (advanced users) BulkCachingMode.MANUAL: Same as BulkCachingMode.AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 Adds new ConceptMotorBulkRead sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. Version 5.3 (20191004-112306) Fixes external USB/UVC webcam support Makes various bugfixes and improvements to Blocks page, including but not limited to: Many visual tweaks Browser zoom and window resize behave better Resizing the Java preview pane works better and more consistently across browsers The Java preview pane consistently gets scrollbars when needed The Java preview pane is hidden by default on phones Internet Explorer 11 should work Large dropdown lists display properly on lower res screens Disabled buttons are now visually identifiable as disabled A warning is shown if a user selects a TFOD sample, but their device is not compatible Warning messages in a Blocks op mode are now visible by default. Adds goBILDA 5201 and 5202 motors to Robot Configurator Adds PIDF Annotation values to AndyMark, goBILDA and TETRIX motor configurations. This has the effect of causing the RUN_USING_ENCODERS and RUN_TO_POSITION modes to use PIDF vs PID closed loop control on these motors. This should provide more responsive, yet stable, speed control. PIDF adds Feedforward control to the basic PID control loop. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently. The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded (drag or friction), the more noticable the PIDF improvement will be. Fixes startup crash on Android 10 Fixes ftc_app issue #712 (thanks to FROGbots-4634) Fixes ftc_app issue #542 Allows "A" and lowercase letters when naming device through RC and DS apps. Version 5.2 (20190905-083277) Fixes extra-wide margins on settings activities, and placement of the new configuration button Adds Skystone Vuforia image target data. Includes sample Skystone Vuforia Navigation op modes (Java). Includes sample Skystone Vuforia Navigation op modes (Blocks). Adds TensorFlow inference model (.tflite) for Skystone game elements. Includes sample Skystone TensorFlow op modes (Java). Includes sample Skystone TensorFlow op modes (Blocks). Removes older (season-specific) sample op modes. Includes 64-bit support (to comply with Google Play requirements). Protects against Stuck OpModes when a Restart Robot is requested. (Thanks to FROGbots-4634) (ftc_app issue #709) Blocks related changes: Fixes bug with blocks generated code when hardware device name is a java or javascript reserved word. Shows generated java code for blocks, even when hardware items are missing from the active configuration. Displays warning icon when outdated Vuforia and TensorFlow blocks are used (SkyStone issue #27) Version 5.1 (20190820-222104) Defines default PIDF parameters for the following motors: REV Core Hex Motor REV 20:1 HD Hex Motor REV 40:1 HD Hex Motor Adds back button when running on a device without a system back button (such as a Control Hub) Allows a REV Control Hub to update the firmware on a REV Expansion Hub via USB Fixes SkyStone issue #9 Fixes ftc_app issue #715 Prevents extra DS User clicks by filtering based on current state. Prevents incorrect DS UI state changes when receiving new OpMode list from RC Adds support for REV Color Sensor V3 Adds a manual-refresh DS Camera Stream for remotely viewing RC camera frames. To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. This feature is automatically enabled when using Vuforia or TFOD—no additional RC configuration is required for typical use cases. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution. To use custom streams, consult the API docs for CameraStreamServer#setSource and CameraStreamSource. Adds many Star Wars sounds to RobotController resources. Added SKYSTONE Sounds Chooser Sample Program. Switches out startup, connect chimes, and error/warning sounds for Star Wars sounds Updates OnBot Java to use a WebSocket for communication with the robot The OnBot Java page no longer has to do a full refresh when a user switches from editing one file to another Known issues: Camera Stream The Vuforia camera stream inherits the issues present in the phone preview (namely ftc_app issue #574). This problem does not affect the TFOD camera stream even though it receives frames from Vuforia. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired. OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab. Version 5.0 (built on 19.06.14) Support for the REV Robotics Control Hub. Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station. Adds calibration for Logitech C270 Updates build tooling and target SDK. Compliance with Google's permissions infrastructure (Required after build tooling update). Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Fixes ftctechnh/ftc_app issues 621, 713. Miscellaneous bug fixes and improvements. Version 4.3 (built on 18.10.31) Includes missing TensorFlow-related libraries and files. Version 4.2 (built on 18.10.30) Includes fix to avoid deadlock situation with WatchdogMonitor which could result in USB communication errors. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover. robotControllerLog.txt would have error messages that included the words "E RobotCore: lynx xmit lock: #### abandoning lock:" Includes fix to correctly list the parent module address for a REV Robotics Expansion Hub in a configuration (.xml) file. Bug in versions 4.0 and 4.1 would incorrect list the address module for a parent REV Robotics device as "1". If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added requirement for ACCESS_COARSE_LOCATION to allow a Driver Station running Android Oreo to scan for Wi-Fi Direct devices. Added google() repo to build.gradle because aapt2 must be downloaded from the google() repository beginning with version 3.2 of the Android Gradle Plugin. Important Note: Android Studio users will need to be connected to the Internet the first time build the ftc_app project. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.android.tools.lint:lint-gradle:26.1.4" (or similar). Added support for REV Spark Mini motor controller as part of the configuration menu for a servo/PWM port on the REV Expansion Hub. Provide examples for playing audio files in an Op Mode. Block Development Tool Changes Includes a fix for a problem with the Velocity blocks that were reported in the FTC Technology forum (Blocks Programming subforum). Change the "Save completed successfully." message to a white color so it will contrast with a green background. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for 2018-2019 game. TensorFlow lite can recognize Gold Mineral and Silver Mineral from 2018-2019 game. Example Java and Block op modes are included to show how to determine the relative position of the gold block (left, center, right). Version 4.1 (released on 18.09.24) Changes include: Fix to prevent crash when deprecated configuration annotations are used. Change to allow FTC Robot Controller APK to be auto-updated using FIRST Global Control Hub update scripts. Removed samples for non supported / non legal hardware. Improvements to Telemetry.addData block with "text" socket. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. Version 4.0 (released on 18.09.12) Changes include: Initial support for UVC compatible cameras If UVC camera has a unique serial number, RC will detect and enumerate by serial number. If UVC camera lacks a unique serial number, RC will only support one camera of that type connected. Calibration settings for a few cameras are included (see TeamCode/src/main/res/xml/teamwebcamcalibrations.xml for details). User can upload calibration files from Program and Manage web interface. UVC cameras seem to draw a fair amount of electrical current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. Updated sample Vuforia Navigation and VuMark Op Modes to demonstrate how to use an internal phone-based camera and an external UVC webcam. Support for improved motor control. REV Robotics Expansion Hub firmware 1.8 and greater will support a feed forward mechanism for closed loop motor control. FTC SDK has been modified to support PIDF coefficients (proportional, integral, derivative, and feed forward). FTC Blocks development tool modified to include PIDF programming blocks. Deprecated older PID-related methods and variables. REV's 1.8.x PIDF-related changes provide a more linear and accurate way to control a motor. Wireless Added 5GHz support for wireless channel changing for those devices that support it. Tested with Moto G5 and E4 phones. Also tested with other (currently non-approved) phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process (when performed through Robot Controller app). User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware. If user is updating an Expansion Hub's firmware through a USB connection, he/she does not have to disconnect RS485 connection to other Expansion Hubs. The user still must use a USB connection to update an Expansion Hub's firmware. The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS485 connection. If an Expansion Hub accidentally gets "bricked" the Robot Controller app is now more likely to recognize the Hub when it scans the USB bus. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt. Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. Resiliency FTC software can detect and enable an FTDI reset feature that is available with REV Robotics v1.8 Expansion Hub firmware and greater. When enabled, the Expansion Hub can detect if it hasn't communicated with the Robot Controller over the FTDI (USB) connection. If the Hub hasn't heard from the Robot Controller in a while, it will reset the FTDI connection. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Support for USB connected UVC webcams. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF (proportional, integral, derivative and feed forward) motor control. Added formatting options (under Telemetry and Miscellaneous categories) so user can set how many decimal places to display a numerical value. Support to play audio files (which are uploaded through Blocks web interface) on Driver Station in addition to the Robot Controller. Fixed bug with Download Image of Blocks feature. Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. The REV Robotics Expansion Hub supports these enhanced methods. Enhanced methods include methods to get/set motor velocity (in encoder pulses per second), get/set PIDF coefficients, etc.. Modest Improvements in Logging Decrease frequency of battery checker voltage statements. Removed non-FTC related log statements (wherever possible). Introduced a "Match Logging" feature. Under "Settings" a user can enable/disable this feature (it's disabled by default). If enabled, user provides a "Match Number" through the Driver Station user interface (top of the screen). The Match Number is used to create a log file specifically with log statements from that particular Op Mode run. Match log files are stored in /sdcard/FIRST/matlogs on the Robot Controller. Once an op mode run is complete, the Match Number is cleared. This is a convenient way to create a separate match log with statements only related to a specific op mode run. New Devices Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added configuration option for REV 20:1 HD Hex Motor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Miscellaneous Fixed some errors in the definitions for acceleration and velocity in our javadoc documentation. Added ability to play audio files on Driver Station When user is configuring an Expansion Hub, the LED on the Expansion Hub will change blink pattern (purple-cyan) to indicate which Hub is currently being configured. Renamed I2cSensorType to I2cDeviceType. Added an external sample Op Mode that demonstrates localization using 2018-2019 (Rover Ruckus presented by QualComm) Vuforia targets. Added an external sample Op Mode that demonstrates how to use the REV Robotics 2m Laser Distance Sensor. Added an external sample Op Mode that demonstrates how to use the REV Robotics Blinkin LED Controller. Re-categorized external Java sample Op Modes to "TeleOp" instead of "Autonomous". Known issues: Initial support for UVC compatible cameras UVC cameras seem to draw significant amount of current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. There might be a possible deadlock which causes the RC to become unresponsive when using a UVC webcam with a Nougat Android Robot Controller. Wireless When user selects a wireless channel, this channel does not necessarily persist if the phone is power cycled. Tech Team is hoping to eventually address this issue in a future release. Issue has been present since apps were introduced (i.e., it is not new with the v4.0 release). Wireless channel is not currently displayed for WiFi Direct connections. Miscellaneous The blink indication feature that shows which Expansion Hub is currently being configured does not work for a newly created configuration file. User has to first save a newly created configuration file and then close and re-edit the file in order for blink indicator to work. Version 3.6 (built on 17.12.18) Changes include: Blocks Changes Uses updated Google Blockly software to allow users to edit their op modes on Apple iOS devices (including iPad and iPhone). Improvement in Blocks tool to handle corrupt op mode files. Autonomous op modes should no longer get switched back to tele-op after re-opening them to be edited. The system can now detect type mismatches during runtime and alert the user with a message on the Driver Station. Updated javadoc documentation for setPower() method to reflect correct range of values (-1 to +1). Modified VuforiaLocalizerImpl to allow for user rendering of frames Added a user-overrideable onRenderFrame() method which gets called by the class's renderFrame() method. Version 3.5 (built on 17.10.30) Changes with version 3.5 include: Introduced a fix to prevent random op mode stops, which can occur after the Robot Controller app has been paused and then resumed (for example, when a user temporarily turns off the display of the Robot Controller phone, and then turns the screen back on). Introduced a fix to prevent random op mode stops, which were previously caused by random peer disconnect events on the Driver Station. Fixes issue where log files would be closed on pause of the RC or DS, but not re-opened upon resume. Fixes issue with battery handler (voltage) start/stop race. Fixes issue where Android Studio generated op modes would disappear from available list in certain situations. Fixes problem where OnBot Java would not build on REV Robotics Control Hub. Fixes problem where OnBot Java would not build if the date and time on the Robot Controller device was "rewound" (set to an earlier date/time). Improved error message on OnBot Java that occurs when renaming a file fails. Removed unneeded resources from android.jar binaries used by OnBot Java to reduce final size of Robot Controller app. Added MR_ANALOG_TOUCH_SENSOR block to Blocks Programming Tool. Version 3.4 (built on 17.09.06) Changes with version 3.4 include: Added telemetry.update() statement for BlankLinearOpMode template. Renamed sample Block op modes to be more consistent with Java samples. Added some additional sample Block op modes. Reworded OnBot Java readme slightly. Version 3.3 (built on 17.09.04) This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool. Changes with verion 3.3 include: Android Studio ftc_app project has been updated to use Gradle Plugin 2.3.3. Android Studio ftc_app project is already using gradle 3.5 distribution. Robot Controller log has been renamed to /sdcard/RobotControllerLog.txt (note that this change was actually introduced w/ v3.2). Improvements in I2C reliability. Optimized I2C read for REV Expansion Hub, with v1.7 firmware or greater. Updated all external/samples (available through OnBot and in Android project folder). Vuforia Added support for VuMarks that will be used for the 2017-2018 season game. Blocks Update to latest Google Blockly release. Sample op modes can be selected as a template when creating new op mode. Fixed bug where the blocks would disappear temporarily when mouse button is held down. Added blocks for Range.clip and Range.scale. User can now disable/enable Block op modes. Fix to prevent occasional Blocks deadlock. OnBot Java Significant improvements with autocomplete function for OnBot Java editor. Sample op modes can be selected as a template when creating new op mode. Fixes and changes to complete hardware setup feature. Updated (and more useful) onBot welcome message. Known issues: Android Studio After updating to the new v3.3 Android Studio project folder, if you get error messages indicating "InvalidVirtualFileAccessException" then you might need to do a File->Invalidate Caches / Restart to clear the error. OnBot Java Sometimes when you push the build button to build all op modes, the RC returns an error message that the build failed. If you press the build button a second time, the build typically suceeds. Version 3.2 (built on 17.08.02) This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser. The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly. The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio. Changes with version 3.2 include: Enhanced web-based development tools Introduction of OnBot Java Development Tool. Web-based programming and management features are "always on" (user no longer needs to put Robot Controller into programming mode). Web-based management interface (where user can change Robot Controller name and also easily download Robot Controller log file). OnBot Java, Blocks and Management features available from web based interface. Blocks Programming Development Tool: Changed "LynxI2cColorRangeSensor" block to "REV Color/range sensor" block. Fixed tooltip for ColorSensor.isLightOn block. Added blocks for ColorSensor.getNormalizedColors and LynxI2cColorRangeSensor.getNormalizedColors. Added example op modes for digital touch sensor and REV Robotics Color Distance sensor. User selectable color themes. Includes many minor enhancements and fixes (too numerous to list). Known issues: Auto complete function is incomplete and does not support the following (for now): Access via this keyword Access via super keyword Members of the super cloass, not overridden by the class Any methods provided in the current class Inner classes Can't handle casted objects Any objects coming from an parenthetically enclosed expression Version 3.10 (built on 17.05.09) This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software. Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot. Changes include: Blocks changes Added VuforiaTrackableDefaultListener.getPose and Vuforia.trackPose blocks. Added optimized blocks support for Vuforia extended tracking. Added atan2 block to the math category. Added useCompetitionFieldTargetLocations parameter to Vuforia.initialize block. If set to false, the target locations are placed at (0,0,0) with target orientation as specified in https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java tutorial op mode. Incorporates additional improvements to USB comm layer to improve system resiliency (to recover from a greater number of communication disruptions). Additional Notes Regarding Version 3.00 (built on 17.04.13) In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes: Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future. Version 3.00 (built on 17.04.13) *** Use this version of the software at YOUR OWN RISK!!! *** This software is being released as an "alpha" version. Use this version at your own risk! This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system. Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use). *** Use this version of the software at YOUR OWN RISK!!! *** Changes include: Major rework of sensor-related infrastructure. Includes rewriting sensor classes to implement synchronous I2C communication. Fix to reset Autonomous timer back to 30 seconds. Implementation of specific motor profiles for approved 12V motors (includes Tetrix, AndyMark, Matrix and REV models). Modest improvements to enhance Wi-Fi P2P pairing. Fixes telemetry log addition race. Publishes all the sources (not just a select few). Includes Block programming improvements Addition of optimized Vuforia blocks. Auto scrollbar to projects and sounds pages. Fixed blocks paste bug. Blocks execute after while-opModeIsActive loop (to allow for cleanup before exiting op mode). Added gyro integratedZValue block. Fixes bug with projects page for Firefox browser. Added IsSpeaking block to AndroidTextToSpeech. Implements support for the REV Robotics Expansion Hub Implements support for integral REV IMU (physically installed on I2C bus 0, uses same Bosch BNO055 9 axis absolute orientation sensor as Adafruit 9DOF abs orientation sensor). - Implements support for REV color/range/light sensor. Provides support to update Expansion Hub firmware through FTC SDK. Detects REV firmware version and records in log file. Includes support for REV Control Hub (note that the REV Control Hub is not yet approved for FTC use). Implements FTC Blocks programming support for REV Expansion Hub and sensor hardware. Detects and alerts when I2C device disconnect. Version 2.62 (built on 17.01.07) Added null pointer check before calling modeToByte() in finishModeSwitchIfNecessary method for ModernRoboticsUsbDcMotorController class. Changes to enhance Modern Robotics USB protocol robustness. Version 2.61 (released on 16.12.19) Blocks Programming mode changes: Fix to correct issue when an exception was thrown because an OpticalDistanceSensor object appears twice in the hardware map (the second time as a LightSensor). Version 2.6 (released on 16.12.16) Fixes for Gyro class: Improve (decrease) sensor refresh latency. fix isCalibrating issues. Blocks Programming mode changes: Blocks now ignores a device in the configuration xml if the name is empty. Other devices work in configuration work fine. Version 2.5 (internal release on released on 16.12.13) Blocks Programming mode changes: Added blocks support for AdafruitBNO055IMU. Added Download Op Mode button to FtcBocks.html. Added support for copying blocks in one OpMode and pasting them in an other OpMode. The clipboard content is stored on the phone, so the programming mode server must be running. Modified Utilities section of the toolbox. In Programming Mode, display information about the active connections. Fixed paste location when workspace has been scrolled. Added blocks support for the android Accelerometer. Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AdafruitBNO055IMU.Parameters. Added type safety to blocks for AnalogInput. Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad. Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor. Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity. Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer.Parameters. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added type safety to blocks for enums in AdafruitBNO055IMU.Parameters. Added type safety to blocks for AndroidAccelerometer, AndroidGyroscope, AndroidOrientation, and AndroidTextToSpeech. Version 2.4 (released on 16.11.13) Fix to avoid crashing for nonexistent resources. Blocks Programming mode changes: Added blocks to support OpenGLMatrix, MatrixF, and VectorF. Added blocks to support AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit, and TempUnit. Added blocks to support Acceleration. Added blocks to support LinearOpMode.getRuntime. Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Added blocks to support Quaternion, Velocity, Orientation, AngularVelocity. Added blocks to support VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. Fixed toolbox entry for openGLMatrix_rotation_withAxesArgs. When user downloads Blocks-generated op mode, only the .blk file is downloaded. When user uploads Blocks-generated op mode (.blk file), Javascript code is auto generated. Added DbgLog support. Added logging when a blocks file is read/written. Fixed bug to properly render blocks even if missing devices from configuration file. Added support for additional characters (not just alphanumeric) for the block file names (for download and upload). Added support for OpMode flavor (“Autonomous” or “TeleOp”) and group. Changes to Samples to prevent tutorial issues. Incorporated suggested changes from public pull 216 (“Replace .. paths”). Remove Servo Glitches when robot stopped. if user hits “Cancels” when editing a configuration file, clears the unsaved changes and reverts to original unmodified configuration. Added log info to help diagnose why the Robot Controller app was terminated (for example, by watch dog function). Added ability to transfer log from the controller. Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry.update() for LinearOpMode in a timely manner, data added for telemetry might get lost if size limit is exceeded. Version 2.35 (released on 16.10.06) Blockly programming mode - Removed unnecesary idle() call from blocks for new project. Version 2.30 (released on 16.10.05) Blockly programming mode: Mechanism added to save Blockly op modes from Programming Mode Server onto local device To avoid clutter, blocks are displayed in categorized folders Added support for DigitalChannel Added support for ModernRoboticsI2cCompassSensor Added support for ModernRoboticsI2cRangeSensor Added support for VoltageSensor Added support for AnalogInput Added support for AnalogOutput Fix for CompassSensor setMode block Vuforia Fix deadlock / make camera data available while Vuforia is running. Update to Vuforia 6.0.117 (recommended by Vuforia and Google to close security loophole). Fix for autonomous 30 second timer bug (where timer was in effect, even though it appeared to have timed out). opModeIsActive changes to allow cleanup after op mode is stopped (with enforced 2 second safety timeout). Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Added digital I/O sample. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Version 2.20 (released on 16.09.08) Support for Modern Robotics Compass Sensor. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Fixed bug so that IrSeekerSensorV3 device is accessible as IrSeekerSensor in hardwareMap. Modified computer vision code to require an individual Vuforia license (per legal requirement from PTC). Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller. Version 2.10 (released on 16.09.03) Support for Adafruit IMU. Improvements to ModernRoboticsI2cGyro class Block on reset of z axis. isCalibrating() returns true while gyro is calibration. Updated sample gyro program. Blockly enhancements support for android.graphics.Color. added support for ElapsedTime. improved look and legibility of blocks. support for compass sensor. support for ultrasonic sensor. support for IrSeeker. support for LED. support for color sensor. support for CRServo prompt user to configure robot before using programming mode. Provides ability to disable audio cues. various bug fixes and improvements. Version 2.00 (released on 16.08.19) This is the new release for the upcoming 2016-2017 FIRST Tech Challenge Season. Channel change is enabled in the FTC Robot Controller app for Moto G 2nd and 3rd Gen phones. Users can now use annotations to register/disable their Op Modes. Changes in the Android SDK, JDK and build tool requirements (minsdk=19, java 1.7, build tools 23.0.3). Standardized units in analog input. Cleaned up code for existing analog sensor classes. setChannelMode and getChannelMode were REMOVED from the DcMotorController class. This is important - we no longer set the motor modes through the motor controller. setMode and getMode were added to the DcMotor class. ContinuousRotationServo class has been added to the FTC SDK. Range.clip() method has been overloaded so it can support this operation for int, short and byte integers. Some changes have been made (new methods added) on how a user can access items from the hardware map. Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Prototype Blockly Programming Mode has been added to FTC Robot Controller. Users can place the Robot Controller into this mode, and then use a device (such as a laptop) that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller. Users can now configure the robot remotely through the FTC Driver Station app. Android Studio project supports Android Studio 2.1.x and compile SDK Version 23 (Marshmallow). Vuforia Computer Vision SDK integrated into FTC SDK. Users can use sample vision targets to get localization information on a standard FTC field. Project structure has been reorganized so that there is now a TeamCode package that users can use to place their local/custom Op Modes into this package. Inspection function has been integrated into the FTC Robot Controller and Driver Station Apps (Thanks Team HazMat… 9277 & 10650!). Audio cues have been incorporated into FTC SDK. Swap mechanism added to FTC Robot Controller configuration activity. For example, if you have two motor controllers on a robot, and you misidentified them in your configuration file, you can use the Swap button to swap the devices within the configuration file (so you do not have to manually re-enter in the configuration info for the two devices). Fix mechanism added to all user to replace an electronic module easily. For example, suppose a servo controller dies on your robot. You replace the broken module with a new module, which has a different serial number from the original servo controller. You can use the Fix button to automatically reconfigure your configuration file to use the serial number of the new module. Improvements made to fix resiliency and responsiveness of the system. For LinearOpMode the user now must for a telemetry.update() to update the telemetry data on the driver station. This update() mechanism ensures that the driver station gets the updated data properly and at the same time. The Auto Configure function of the Robot Controller is now template based. If there is a commonly used robot configuration, a template can be created so that the Auto Configure mechanism can be used to quickly configure a robot of this type. The logic to detect a runaway op mode (both in the LinearOpMode and OpMode types) and to abort the run, then auto recover has been improved/implemented. Fix has been incorporated so that Logitech F310 gamepad mappings will be correct for Marshmallow users. Release 16.07.08 For the ftc_app project, the gradle files have been modified to support Android Studio 2.1.x. Release 16.03.30 For the MIT App Inventor, the design blocks have new icons that better represent the function of each design component. Some changes were made to the shutdown logic to ensure the robust shutdown of some of our USB services. A change was made to LinearOpMode so as to allow a given instance to be executed more than once, which is required for the App Inventor. Javadoc improved/updated. Release 16.03.09 Changes made to make the FTC SDK synchronous (significant change!) waitOneFullHardwareCycle() and waitForNextHardwareCycle() are no longer needed and have been deprecated. runOpMode() (for a LinearOpMode) is now decoupled from the system's hardware read/write thread. loop() (for an OpMode) is now decoupled from the system's hardware read/write thread. Methods are synchronous. For example, if you call setMode(DcMotorController.RunMode.RESET_ENCODERS) for a motor, the encoder is guaranteed to be reset when the method call is complete. For legacy module (NXT compatible), user no longer has to toggle between read and write modes when reading from or writing to a legacy device. Changes made to enhance reliability/robustness during ESD event. Changes made to make code thread safe. Debug keystore added so that user-generated robot controller APKs will all use the same signed key (to avoid conflicts if a team has multiple developer laptops for example). Firmware version information for Modern Robotics modules are now logged. Changes made to improve USB comm reliability and robustness. Added support for voltage indicator for legacy (NXT-compatible) motor controllers. Changes made to provide auto stop capabilities for op modes. A LinearOpMode class will stop when the statements in runOpMode() are complete. User does not have to push the stop button on the driver station. If an op mode is stopped by the driver station, but there is a run away/uninterruptible thread persisting, the app will log an error message then force itself to crash to stop the runaway thread. Driver Station UI modified to display lowest measured voltage below current voltage (12V battery). Driver Station UI modified to have color background for current voltage (green=good, yellow=caution, red=danger, extremely low voltage). javadoc improved (edits and additional classes). Added app build time to About activity for driver station and robot controller apps. Display local IP addresses on Driver Station About activity. Added I2cDeviceSynchImpl. Added I2cDeviceSync interface. Added seconds() and milliseconds() to ElapsedTime for clarity. Added getCallbackCount() to I2cDevice. Added missing clearI2cPortActionFlag. Added code to create log messages while waiting for LinearOpMode shutdown. Fix so Wifi Direct Config activity will no longer launch multiple times. Added the ability to specify an alternate i2c address in software for the Modern Robotics gyro. Release 16.02.09 Improved battery checker feature so that voltage values get refreshed regularly (every 250 msec) on Driver Station (DS) user interface. Improved software so that Robot Controller (RC) is much more resilient and “self-healing” to USB disconnects: If user attempts to start/restart RC with one or more module missing, it will display a warning but still start up. When running an op mode, if one or more modules gets disconnected, the RC & DS will display warnings,and robot will keep on working in spite of the missing module(s). If a disconnected module gets physically reconnected the RC will auto detect the module and the user will regain control of the recently connected module. Warning messages are more helpful (identifies the type of module that’s missing plus its USB serial number). Code changes to fix the null gamepad reference when users try to reference the gamepads in the init() portion of their op mode. NXT light sensor output is now properly scaled. Note that teams might have to readjust their light threshold values in their op modes. On DS user interface, gamepad icon for a driver will disappear if the matching gamepad is disconnected or if that gamepad gets designated as a different driver. Robot Protocol (ROBOCOL) version number info is displayed in About screen on RC and DS apps. Incorporated a display filter on pairing screen to filter out devices that don’t use the “-“ format. This filter can be turned off to show all WiFi Direct devices. Updated text in License file. Fixed formatting error in OpticalDistanceSensor.toString(). Fixed issue on with a blank (“”) device name that would disrupt WiFi Direct Pairing. Made a change so that the WiFi info and battery info can be displayed more quickly on the DS upon connecting to RC. Improved javadoc generation. Modified code to make it easier to support language localization in the future. Release 16.01.04 Updated compileSdkVersion for apps Prevent Wifi from entering power saving mode removed unused import from driver station Corrrected "Dead zone" joystick code. LED.getDeviceName and .getConnectionInfo() return null apps check for ROBOCOL_VERSION mismatch Fix for Telemetry also has off-by-one errors in its data string sizing / short size limitations error User telemetry output is sorted. added formatting variants to DbgLog and RobotLog APIs code modified to allow for a long list of op mode names. changes to improve thread safety of RobocolDatagramSocket Fix for "missing hardware leaves robot controller disconnected from driver station" error fix for "fast tapping of Init/Start causes problems" (toast is now only instantiated on UI thread). added some log statements for thread life cycle. moved gamepad reset logic inside of initActiveOpMode() for robustness changes made to mitigate risk of race conditions on public methods. changes to try and flag when WiFi Direct name contains non-printable characters. fix to correct race condition between .run() and .close() in ReadWriteRunnableStandard. updated FTDI driver made ReadWriteRunnableStanard interface public. fixed off-by-one errors in Command constructor moved specific hardware implmentations into their own package. moved specific gamepad implemnatations to the hardware library. changed LICENSE file to new BSD version. fixed race condition when shutting down Modern Robotics USB devices. methods in the ColorSensor classes have been synchronized. corrected isBusy() status to reflect end of motion. corrected "back" button keycode. the notSupported() method of the GyroSensor class was changed to protected (it should not be public). Release 15.11.04.001 Added Support for Modern Robotics Gyro. The GyroSensor class now supports the MR Gyro Sensor. Users can access heading data (about Z axis) Users can also access raw gyro data (X, Y, & Z axes). Example MRGyroTest.java op mode included. Improved error messages More descriptive error messages for exceptions in user code. Updated DcMotor API Enable read mode on new address in setI2cAddress Fix so that driver station app resets the gamepads when switching op modes. USB-related code changes to make USB comm more responsive and to display more explicit error messages. Fix so that USB will recover properly if the USB bus returns garbage data. Fix USB initializtion race condition. Better error reporting during FTDI open. More explicit messages during USB failures. Fixed bug so that USB device is closed if event loop teardown method was not called. Fixed timer UI issue Fixed duplicate name UI bug (Legacy Module configuration). Fixed race condition in EventLoopManager. Fix to keep references stable when updating gamepad. For legacy Matrix motor/servo controllers removed necessity of appending "Motor" and "Servo" to controller names. Updated HT color sensor driver to use constants from ModernRoboticsUsbLegacyModule class. Updated MR color sensor driver to use constants from ModernRoboticsUsbDeviceInterfaceModule class. Correctly handle I2C Address change in all color sensors Updated/cleaned up op modes. Updated comments in LinearI2cAddressChange.java example op mode. Replaced the calls to "setChannelMode" with "setMode" (to match the new of the DcMotor method). Removed K9AutoTime.java op mode. Added MRGyroTest.java op mode (demonstrates how to use MR Gyro Sensor). Added MRRGBExample.java op mode (demonstrates how to use MR Color Sensor). Added HTRGBExample.java op mode (demonstrates how to use HT legacy color sensor). Added MatrixControllerDemo.java (demonstrates how to use legacy Matrix controller). Updated javadoc documentation. Updated release .apk files for Robot Controller and Driver Station apps. Release 15.10.06.002 Added support for Legacy Matrix 9.6V motor/servo controller. Cleaned up build.gradle file. Minor UI and bug fixes for driver station and robot controller apps. Throws error if Ultrasonic sensor (NXT) is not configured for legacy module port 4 or 5. Release 15.08.03.001 New user interfaces for FTC Driver Station and FTC Robot Controller apps. An init() method is added to the OpMode class. For this release, init() is triggered right before the start() method. Eventually, the init() method will be triggered when the user presses an "INIT" button on driver station. The init() and loop() methods are now required (i.e., need to be overridden in the user's op mode). The start() and stop() methods are optional. A new LinearOpMode class is introduced. Teams can use the LinearOpMode mode to create a linear (not event driven) program model. Teams can use blocking statements like Thread.sleep() within a linear op mode. The API for the Legacy Module and Core Device Interface Module have been updated. Support for encoders with the Legacy Module is now working. The hardware loop has been updated for better performance.
wannesm / LeuvenMapMatchingLeuven.MapMatching toolbox for aligning GPS measurements to locations on a map.
jagodki / Offline MapMatchinga QGIS-plugin for matching a trajectory with a network using a Hidden Markov Model and Viterbi algorithm
Luca Pappalardos code for working with and plotting Wyscout data
bmwcarit / Offline Map MatchingMatches a sequence of GPS coordinates to road segments
libing64 / Slam2dLow drift 2D lidar slam with scan-to-scan match and scan-to-map match.
zinkcious / MapMatching腾云阁高精度车辆追踪算法大赛。给定地图数据和汽车的gps定位数据,通过地图匹配算法得出汽车行驶过了哪些道路
addy90 / Map Matching 2High Performance Map Matching with Markov Decision Processes (MDPs) and Hidden Markov Models (HMMs).
abhir98 / RansomwareProject Summary This project was developed for the Computer Security course at my academic degree. Basically, it will encrypt your files in background using AES-256-CTR, a strong encryption algorithm, using RSA-4096 to secure the exchange with the server, optionally using the Tor SOCKS5 Proxy. The base functionality is what you see in the famous ransomware Cryptolocker. The project is composed by three parts, the server, the malware and the unlocker. The server store the victim's identification key along with the encryption key used by the malware. The malware encrypt with a RSA-4096 (RSA-OAEP-4096 + SHA256) public key any payload before send then to the server. This approach with the optional Tor Proxy and a .onion domain allow you to hide almost completely your server. Features Run in Background (or not) Encrypt files using AES-256-CTR(Counter Mode) with random IV for each file. Multithreaded. RSA-4096 to secure the client/server communication. Includes an Unlocker. Optional TOR Proxy support. Use an AES CTR Cypher with stream encryption to avoid load an entire file into memory. Walk all drives by default. Docker image for compilation. Building the binaries DON'T RUN ransomware.exe IN YOUR PERSONAL MACHINE, EXECUTE ONLY IN A TEST ENVIRONMENT! I'm not resposible if you acidentally encrypt all of your disks! First of all download the project outside your $GOPATH: git clone github.com/mauri870/ransomware cd ransomware If you have Docker skip to the next section. You need Go at least 1.11.2 with the $GOPATH/bin in your $PATH and $GOROOT pointing to your Go installation folder. For me: export GOPATH=~/gopath export PATH=$PATH:$GOPATH/bin export GOROOT=/usr/local/go Build the project require a lot of steps, like the RSA key generation, build three binaries, embed manifest files, so, let's leave make do your job: make deps make You can build the server for windows with make -e GOOS=windows. Docker ./build-docker.sh make Config Parameters You can change some of the configs during compilation. Instead of run only make, you can use the following variables: HIDDEN='-H windowsgui' # optional. If present the malware will run in background USE_TOR=true # optional. If present the malware will download the Tor proxy and use it to contact the server SERVER_HOST=mydomain.com # the domain used to connect to your server. localhost, 0.0.0.0, 127.0.0.1 works too if you run the server on the same machine as the malware SERVER_PORT=8080 # the server port, if using a domain you can set this to 80 GOOS=linux # the target os to compile the server. Eg: darwin, linux, windows Example: make -e USE_TOR=true SERVER_HOST=mydomain.com SERVER_PORT=80 GOOS=darwin The SERVER_ variables above only apply to the malware. The server has a flag --port that you can use to change the port that it will listen on. DON'T RUN ransomware.exe IN YOUR PERSONAL MACHINE, EXECUTE ONLY IN A TEST ENVIRONMENT! I'm not resposible if you acidentally encrypt all of your disks! Step by Step Demo and How it Works For this demo I'll use two machines, my personal linux machine and a windows 10 VM. For the sake of simplicity, I have a folder mapped to the VM, so I can compile from my linux and copy to the vm. In this demo we will use the Ngrok tool, this will allow us to expose our server using a domain, but you can use your own domain or ip address if you want. We are also going to enable the Tor transport, so .onion domains will work without problems. First of all lets start our external domain: ngrok http 8080 This command will give us a url like http://2af7161c.ngrok.io. Keep this command running otherwise the malware won't reach our server. Let's compile the binaries (remember to replace the domain): make -e SERVER_HOST=2af7161c.ngrok.io SERVER_PORT=80 USE_TOR=true The SERVER_PORT needs to be 80 in this case, since ngrok redirects 2af7161c.ngrok.io:80 to your local server port 8080. After build, a binary called ransomware.exe, and unlocker.exe along with a folder called server will be generated in the bin folder. The execution of ransomware.exe and unlocker.exe (even if you use a diferent GOOS variable during compilation) is locked to windows machines only. Enter the server directory from another terminal and start it: cd bin/server && ./server --port 8080 To make sure that all is working correctly, make a http request to http://2af7161c.ngrok.io: curl http://2af7161c.ngrok.io If you see a OK and some logs in the server output you are ready to go. Now move the ransomware.exe and unlocker.exe to the VM along with some dummy files to test the malware. You can take a look at cmd/common.go to see some configuration options like file extensions to match, directories to scan, skipped folders, max size to match a file among others. Then simply run the ransomware.exe and see the magic happens 😄. The window that you see can be hidden using the HIDDEN option described in the compilation section. After download, extract and start the Tor proxy, the malware waits until the tor bootstrapping is done and then proceed with the key exchange with the server. The client/server handshake takes place and the client payload, encrypted with an RSA-4096 public key must be correctly decrypted on the server. The victim identification and encryption keys are stored in a Golang embedded database called BoltDB (it also persists on disk). When completed we get into the find, match and encrypt phase, up to N-cores workers start to encrypt files matched by the patterns defined. This proccess is really quick and in seconds all of your files will be gone. The encryption key exchanged with the server was used to encrypt all of your files. Each file has a random primitive called IV, generated individually and saved as the first 16 bytes of the encrypted content. The algorithm used is AES-256-CTR, a good AES cypher with streaming mode of operation such that the file size is left intact. The only two sources of information available about what just happen are the READ_TO_DECRYPT.html and FILES_ENCRYPTED.html in the Desktop. In theory, to decrypt your files you need to send an amount of BTC to the attacker's wallet, followed by a contact sending your ID(located on the file created on desktop). If the attacker can confirm your payment it will possibly(or maybe not) return your encryption key and the unlocker.exe and you can use then to recover your files. This exchange can be accomplished in several ways and WILL NOT be implemented in this project for obvious reasons. Let's suppose you get your encryption key back. To recover the correct key point to the following url: curl -k http://2af7161c.ngrok.io/api/keys/:id Where :id is your identification stored in the file on desktop. After, run the unlocker.exe by double click and follow the instructions. That's it, got your files back 😄 The server has only two endpoints: POST api/keys/add - Used by the malware to persist new keys. Some verifications are made, like the verification of the RSA autenticity. Returns 204 (empty content) in case of success or a json error. GET api/keys/:id - Id is a 32 characters parameter, representing an Id already persisted. Returns a json containing the encryption key or a json error The end As you can see, building a functional ransomware, with some of the best existing algorithms is not difficult, anyone with some programming skills can build that in any programming language.
amillb / PgMapMatchmap-matching of GPS traces
klonnet23 / Helloy Word{ "releases": { "2.0.4": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta1": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta0": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693", "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688", "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.3": [ "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.2": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693" ], "2.0.1": [ "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688" ], "2.0.0": [ "[New] You can now choose to bring your changes with you to a new branch or stash them on the current branch when switching branches - #6107", "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[New] Repositories grouped by owner, and recent repositories listed at top - #6923 #7132", "[New] Suggested next steps now includes suggestion to create a pull request after publishing a branch - #7505", "[Added] .resx syntax highlighting - #7235. Thanks @say25!", "[Added] \"Exit\" menu item now has accelerator and access key - #6507. Thanks @AndreiMaga!", "[Added] Help menu entry to view documentation about keyboard shortcuts - #7184", "[Added] \"Discard all changes\" action under Branch menu - #7394. Thanks @ahuth!", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Fixed] Emoji rendering in app when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Conflicts banners do not hide after aborting operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Unable to switch keyboard layout and retain keyboard focus while using commit form - #6366. Thanks @AndreiMaga!", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Menus disabled by activity in inactive repositories - #6313", "[Fixed] Race condition with Git remote lookup may cause push to incorrect remote - #6986", "[Fixed] Restore GitHub Desktop to main screen if external monitor removed - #7418 #2107. Thanks @say25!", "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] \"Automatically Switch Theme\" on macOS checks theme on launch - #7116. Thanks @say25!", "[Improved] \"Add\" button in repository list should always be visible - #6646", "[Improved] Pull Requests list loads and updates pull requests from GitHub more quickly - #7501 #7163", "[Improved] Indicator hidden in Pull Requests list when there are no open pull requests - #7258", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Alignment of icons in repository list - #7133", "[Improved] Command line interface warning when using \"github open\" with a remote URL - #7452. Thanks @msztech!", "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] Styles for manual resolution button in \"Resolve Conflicts\" dialog - #7302", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Visual progress on \"Remove Repository\" and \"Discard Changes\" dialogs - #7015. Thanks @HashimotoYT!", "[Improved] Menu items now aware of force push state and preference to confirm repository removal - #4976 #7138", "[Removed] Branch and pull request filter text persistence - #7437", "[Removed] \"Discard all changes\" context menu item from Changes list - #7394. Thanks @ahuth!" ], "1.7.1-beta1": [ "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] Show explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Alignment of entries in repository list - #7133" ], "1.7.0-beta9": [ "[Fixed] Add warning when renaming a branch with a stash - #7283", "[Fixed] Restore Desktop to main screen when external monitor removed - #7418 #2107. Thanks @say25!", "[Improved] Performance for bringing uncommitted changes to another branch - #7474" ], "1.7.0-beta8": [ "[Added] Accelerator and access key to \"Exit\" menu item - #6507. Thanks @AndreiMaga!", "[Fixed] Pressing \"Shift\" + \"Alt\" in Commit summary moves input-focus to app menu - #6366. Thanks @AndreiMaga!", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Improved] Command line interface warns with helpful message when given a remote URL - #7452. Thanks @msztech!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] \"Pull Requests\" list reflects pull requests from GitHub more quickly - #7501", "[Removed] Branch and pull request filter text persistence - #7437" ], "1.7.0-beta7": [ "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] \"Stashed changes\" button accessibility improvements - #7274", "[Improved] Performance improvements for bringing changes to another branch - #7471", "[Improved] Performance improvements for detecting conflicts from a restored stash - #7476" ], "1.7.0-beta6": [ "[Fixed] Stash viewer does not disable restore button when changes present - #7409", "[Fixed] Stash viewer does not center \"no content\" text - #7299", "[Fixed] Stash viewer pane width not remembered between sessions - #7416", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Stash not cleaned up when it conflicts with working directory contents - #7383", "[Improved] Branch names remain accurate in dialog when stashing and switching branches - #7402", "[Improved] Moved \"Discard all changes\" to Branch menu to prevent unintentionally discarding all changes - #7394. Thanks @ahuth!", "[Improved] UI responsiveness when using keyboard to choose branch in rebase flow - #7407" ], "1.7.0-beta5": [ "[Fixed] Handle warnings if stash creation encounters file permission issue - #7351", "[Fixed] Add \"View stash entry\" action to suggested next steps - #7353", "[Fixed] Handle and recover from failed rebase flow starts - #7223", "[Fixed] Reverse button order when viewing a stash on macOS - #7273", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Rebase success banner always includes base branch name - #7220", "[Improved] Added explanatory text for \"Restore\" button for stashes - #7303", "[Improved] Ask for confirmation before discarding stash - #7348", "[Improved] Order stashed changes files alphabetically - #7327", "[Improved] Clarify \"Overwrite Stash Confirmation\" dialog text - #7361", "[Improved] Message shown in rebase setup when target branch is already rebased - #7343", "[Improved] Update stashing prompt verbiage - #7393.", "[Improved] Update \"Start Rebase\" dialog verbiage - #7391", "[Improved] Changes list now reflects what will be committed when handling rebase conflicts - #7006" ], "1.7.0-beta4": [ "[Fixed] Manual conflict resolution choice not updated when resolving rebase conflicts - #7255", "[Fixed] Menu items don't display the expected verbiage for force push and removing a repository - #4976 #7138" ], "1.7.0-beta3": [ "[New] Users can choose to bring changes with them to a new branch or stash them on the current branch when switching branches - #6107", "[Added] GitHub Desktop keyboard shortcuts available in Help menu - #7184", "[Added] .resx file extension highlighting support - #7235. Thanks @say25!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Improved] Warn users before rebase if operation will require a force push after rebase complete - #6963", "[Improved] Do not show the number of pull requests when there are no open pull requests - #7258", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Manual Conflicts button styling - #7302", "[Improved] \"Add\" button in repository list should always be visible - #6646" ], "1.7.0-beta2": [ "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Merge/Rebase conflicts banners do not clear when aborting the operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Improved] Pull requests load faster and PR build status updates automatically - #7163" ], "1.7.0-beta1": [ "[New] Recently opened repositories appear at the top of the repository list - #7132", "[Fixed] Error when selecting diff text while diff is updating - #7131", "[Fixed] Crash when unable to create log file on disk - #7096", "[Fixed] Race condition with remote lookup could cause push to go to incorrect remote - #6986", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Prevent menus from being disabled by activity in inactive repositories - #6313", "[Fixed] \"Automatically Switch Theme\" on macOS does not check theme on launch - #7116. Thanks @say25!", "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Emoji rendering in app broken when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Improved] Visual feedback on \"Remove Repository\" and \"Discard Changes\" dialogs to show progress - #7015. Thanks @HashimotoYT!", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027" ], "1.6.6": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.6-test1": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.5": [ "[Fixed] Publish Repository does not let you publish to an organization on your Enterprise account - #7052" ], "1.6.5-beta2": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.5-beta1": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.4": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta1": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta0": [ "[Removed] Option to discard when files would be overwritten by a checkout - #7016" ], "1.6.3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Fixed] Context menu does not open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Fixed] Display question mark in image when no commit selected in dark theme - #6915. Thanks @say25!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and update illustration in dark theme when no local changes exist - #6894", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Moving mouse pointer outside visible diff while selecting a range of lines in a partial commit now automatically scrolls the diff - #658", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!", "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!" ], "1.6.3-beta4": [ "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!" ], "1.6.3-beta3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Added] Provide option to discard when files would be overwritten by a checkout - #6755. Thanks @mathieudutour!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and fix illustration to work in the dark theme when there are no local changes - #6894", "[Fixed] Display question mark image when there is no commit selected in dark theme - #6915. Thanks @say25!", "[Improved] Group and filter repositories by owner - #6923", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451" ], "1.6.3-beta2": [ "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Improved] Moving the mouse pointer outside of the visible diff while selecting a range of lines in a partial commit will now automatically scroll the diff - #658" ], "1.6.3-beta1": [ "[New] Branches that have been merged and deleted on GitHub.com will now be pruned after two weeks - #750", "[Fixed] Context menu doesn't open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Upgrade to Electron v3 - #6391" ], "1.6.2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349", "[Improved] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Updated verbiage for ignoring the files - #6689. Thanks @PaulViola!" ], "1.6.2-beta3": [ "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349" ], "1.6.2-beta2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758" ], "1.6.2-beta1": [ "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Menu state updating to address race condition - #6643", "[Improved] Updated verbiage when clicking on changed files to make it more explicit what will occur when you ignore the file(s) - #6689. Thanks @PaulViola!" ], "1.6.2-beta0": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.1": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.0": [ "[New] Help users add their first repo during onboarding - #6474", "[New] \"No local changes\" view helpfully suggests next actions for you to take - #6445", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Only execute menu action a single time upon hitting Enter - #5344", "[Fixed] Show autocompletion of GitHub handles and issues properly in commit description field - #6459", "[Improved] Repository list when no repositories found - #5566 #6474", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Don't show merge success banner when attempted merge doesn't complete - #6282", "[Improved] Capitalize menu items appropriately on macOS - #6469" ], "1.6.0-beta3": [ "[Fixed] Autocomplete selection does not overflow text area - #6459", "[Fixed] No local changes views incorrectly rendering ampersands - #6596", "[Improved] Capitalization of menu items on macOS - #6469" ], "1.6.0-beta2": [ "[New] \"No local changes\" view makes it easy to find and accomplish common actions - #6445", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Merge success banner no longer shown when attempted merge doesn't complete - #6282" ], "1.6.0-beta1": [ "[New] Help users add their first repo during onboarding - #6474", "[Added] Include ability for users to add new repositories when there are none available - #5566 #6474", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Enter when using keyboard to navigate app menu executed menu action twice - #5344", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!" ], "1.5.2-beta0": [], "1.5.1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix \"Open In External Editor\" for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the \"Clone a Repository\" dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta6": [ "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta5": [ "[Improved] Commit conflicted files warning - #6381", "[Improved] Dismissable merge conflict dialog and associated banner - #6379 #6380", "[Fixed] Fix feature flag for readme overwrite warning so that it shows on beta - #6412" ], "1.5.1-beta4": [ "[Improved] Display warning if existing readme file will be overwritten - #6338. Thanks @Daniel-McCarthy!", "[Improved] Add check for attempts to commit >100 MB files without Git LFS - #997. Thanks @Daniel-McCarthy!", "[Improved] Merge conflicts dialog visual updates - #6377" ], "1.5.1-beta3": [ "[Improved] Maintains state on tabs for different methods of cloning repositories - #5937" ], "1.5.1-beta2": [ "[Improved] Clarified internal documentation - #6348. Thanks @bblarney!" ], "1.5.1-beta1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix 'Open In External Editor' for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the ‘Clone a Repository’ dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!" ], "1.5.1-beta0": [], "1.5.0": [ "[New] Clone, create, or add repositories right from the repository dropdown - #5878", "[New] Drag-and-drop to add local repositories from macOS tray icon - #5048", "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Notify users when a merge is successfully completed - #5851", "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Display current branch in header of merge dialog - #6027", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Update license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta5": [], "1.5.0-beta4": [ "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!" ], "1.5.0-beta3": [], "1.5.0-beta2": [ "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Notify users when a merge is successfully completed - #5851", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Improved] Merge dialog displays current branch in header - #6027", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Updated license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta1": [ "[New] Repository switcher has a convenient \"Add\" button to add other repositories - #5878", "[New] macOS tray icon now supports drag-and-drop to add local repositories - #5048", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890" ], "1.4.4-beta0": [], "1.4.3": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Added] Add keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Emoji autocomplete not rendering in some situations - #5859", "[Fixed] Release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Avoid unnecessarily reloading commit history - #5470", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta2": [ "[Added] Added keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Fix release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Avoid unnecessarily reloading commit history - #5470" ], "1.4.3-beta1": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Fixed] Fix emoji autocomplete not rendering in some situations - #5859", "[Fixed] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta0": [], "1.4.2": [ "[New] Show resolved conflicts as resolved in Changes pane - #5609", "[Added] Add Terminator, MATE Terminal, and Terminology shells - #5753. Thanks @joaomlneto!", "[Fixed] Update embedded Git to version 2.19.1 for security vulnerability fix", "[Fixed] Always show commit history list when History tab is clicked - #5783. Thanks @JKirkYuan!", "[Fixed] Stop overriding the protocol of a detected GitHub repository - #5721", "[Fixed] Update sign in error message - #5766. Thanks @tiagodenoronha!", "[Fixed] Correct overflowing T&C and License Notices dialogs - #5756. Thanks @amarsiingh!", "[Improved] Add default commit message for single-file commits - #5240. Thanks @lean257!", "[Improved] Refresh commit list faster after reverting commit via UI - #5752", "[Improved] Add repository path to Remove repository dialog - #5805. Thanks @NickCraver!", "[Improved] Display whether user entered incorrect username or email address - #5775. Thanks @tiagodenoronha!", "[Improved] Update Discard Changes dialog text when discarding all changes - #5744. Thanks @Daniel-McCarthy!" ], "1.4.2-beta0": [], "1.4.1-test2": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1-test1": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta0": [], "1.4.0": [ "[New] When an update is available for GitHub Desktop, release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Fixed] Caret in co-author selector is hidden when dark theme enabled - #5589", "[Fixed] Authenticating to GitHub Enterprise fails when user has no emails defined - #5585", "[Improved] Avoid multiple lookups of default remote - #5399" ], "1.4.0-beta3": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta2": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta1": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta0": [], "1.3.5": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta1": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit summary description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta0": [], "1.3.4": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta1": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta0": [], "1.3.3": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-beta1": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-test6": ["Testing infrastructure changes"], "1.3.3-test5": ["Testing the new CircleCI config changes"], "1.3.3-test4": ["Testing the new CircleCI config changes"], "1.3.3-test3": ["Testing the new CircleCI config changes"], "1.3.3-test2": ["Testing the new CircleCI config changes"], "1.3.3-test1": ["Testing the new CircleCI config changes"], "1.3.2": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.2-beta1": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta7": [], "1.3.0-beta6": [], "1.3.0-beta5": [ "[Fixed] Ensure commit message is cleared after successful commit - #4046", "[Fixed] History omits latest commit from list - #5243" ], "1.3.0-beta4": [ "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069" ], "1.3.0-beta3": [ "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta2": [ "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158" ], "1.2.7-test3": ["Test deployment for electron version bump."], "1.3.0-beta1": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes count and ahead/behind information - #2259", "[Added] Syntax highlighting for PowerShell files- #5081. Thanks @say25!", "[Fixed] Display something when repository is located at drive root - #4924", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Improved] Repository list badge style tweaks and tweaks for dark theme - #5095", "[Improved] Change primary button color to blue for dark theme - #5074" ], "1.2.7-test2": ["Test deployment for electron version bump."], "1.2.7-test1": ["Sanity check deployment for refactored scripts"], "1.2.7-beta0": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6-beta0": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.5": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.4": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.4-beta5": [], "1.2.4-beta4": [ "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745" ], "1.2.4-test1": [ "Confirming latest Git LFS version addresses reported issues" ], "1.2.4-beta3": [ "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!" ], "1.2.4-beta2": [], "1.2.4-beta1": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.3": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-beta1": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-test1": [ "Confirming switch from uglify-es to babel-minify addresses minification issue - #4871" ], "1.2.2": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Restore text selection highlighting in diffs - #4818" ], "1.2.2-beta1": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Text selection highlighting in diffs is back - #4818" ], "1.2.1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-test1": ["Upgraded embedded Git to 2.17.0"], "1.2.1-beta1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-beta0": [], "1.1.2-test6": ["Testing the Webpack v4 output from the project"], "1.2.0": [ "[New] History now has ability to compare to another branch and merge outstanding commits", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[Added] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] 'Open in Shell' on Linux ensures Git is on PATH - #4619. Thanks @ziggy42!", "[Fixed] Pressing 'Enter' on filtered Pull Request does not checkout - #4673", "[Fixed] Alert icon shrinks in rename dialog when branch name is long - #4566", "[Fixed] 'Open in Desktop' performs fetch to ensure branch exists before checkout - #3006", "[Fixed] 'Open in Default Program' on Windows changes the window title - #4446", "[Fixed] Skip fast-forwarding when there are many eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' always opens a new instance - #4381", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429.", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta7": [], "1.1.2-beta6": [ "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Fixed] Open in Shell on Linux ensures Git is available on the user's PATH - #4619. Thanks @ziggy42!", "[Fixed] Keyboard focus issues when navigating Pull Request list - #4673", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!" ], "1.1.2-test5": ["Actually upgrading fs-extra to v6 in the app"], "1.1.2-test4": ["Upgrading fs-extra to v6"], "1.1.2-beta5": [ "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Fixed] Prevent icon from shrinking in rename dialog - #4566" ], "1.1.2-beta4": [ "[New] New Compare tab allowing visualization of the relationship between branches", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459" ], "1.1.2-beta3": [ "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] Fetch to ensure \"Open in Desktop\" has a branch to checkout - #3006", "[Fixed] Handle the click event when opening a binary file - #4446", "[Fixed] Skip fast-forwarding when there are a lot of eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429." ], "1.1.2-test3": ["[New] Comparison Branch demo build"], "1.1.2-test2": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-test1": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-beta2": [ "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[New] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' does not use existing window - #4381", "[Fixed] Always ask for confirmation when discarding all changes - #4423", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta1": [], "1.1.1": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior for Pull Request list does not match Branch List - #3597", "[Fixed] Keep caret position after inserting completion for emoji/mention - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable commit summary and description inputs while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when all entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Fixed] Attempt to focus the application window on macOS after signing in via the browser - #4126", "[Fixed] Refresh issues when user manually fetches - #4076", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link after the password dialog to match expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!", "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta4": [ "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta3": [], "1.1.1-beta2": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior should match that of Branch List - #3972", "[Fixed] Keep caret position after inserting completion - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable input fields summary and description while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link to after the password dialog to maintain expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!" ], "1.1.1-test2": ["[Improved] Electron 1.8.3 upgrade (again)"], "1.1.1-test1": [ "[Improved] Forcing a focus on the window after the OAuth dance is done" ], "1.1.1-beta1": [], "1.1.0": [ "[New] Check out pull requests from collaborators or forks from within Desktop", "[New] View the commit status of the branch when it has an open pull request", "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Added] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Update layout of branch blankslate image - #4011", "[Fixed] Expanded avatar stack in commit summary gets cut off - #3884", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Avoid crash when unable to launch shell - #3954", "[Fixed] Ensure renames are detected when viewing commit diffs - #3673", "[Fixed] Fetch default remote if it differs from the current - #4056", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Handle error when \"where\" is not on PATH - #3882 #3825", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Update branch button text from \"New\" to \"New Branch\" - #4032", "[Improved] Add fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911", "[Improved] Show fetch progress when initializing remote for fork - #3953", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!", "[Improved] Error handling around ENOENT - #3954", "[Improved] Clear repository filter text when switching tabs - #3787. Thanks @reyronald!", "[Improved] Allow window to accept single click on focus - #3843", "[Improved] Disable drag-and-drop interaction when a popup is in the foreground - #3996" ], "1.1.0-beta3": [ "[Fixed] Fetch default remote if it differs from the current - #4056" ], "1.1.0-beta2": [ "[Improved] Update embedded Git to improve error handling when using stdin - #4058" ], "1.1.0-beta1": [ "[Improved] Add 'Branch' to 'New' branch button - #4032", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!" ], "1.0.14-beta5": [ "[Fixed] Improve detection of pull requests associated with current branch - #3991", "[Fixed] Disable drag-and-drop interaction when a popup is in the foreground - #3996", "[Fixed] Branch blank slate image out of position - #4011" ], "1.0.14-beta4": [ "[New] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Crash when unable to launch shell - #3954", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Enable fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!" ], "1.0.14-test1": ["[Improved] Electron 1.8.2 upgrade"], "1.0.14-beta3": [ "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Improved] Show progress when initializing remote for fork - #3953" ], "1.0.14-beta2": [ "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Fixed] Allow window to accept single click on focus - #3843", "[Fixed] Expanded avatar list hidden behind commit details - #3884", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911" ], "1.0.14-beta1": ["[New] Commit together with co-authors - #3879"], "1.0.13": [ "[New] Commit together with co-authors - #3879", "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allow double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.13-test1": [ "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allows double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Pull Request store may not have status defined - #3869", "[Fixed] Render the Pull Request badge when no commit statuses found - #3608" ], "1.0.13-beta1": [ "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.12": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta1": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta0": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521", "[Fixed] Preserve the selected pull request when a manual fetch is done - #3524", "[Fixed] Update pull request badge after switching branches or pull requests - #3454", "[Fixed] Restore keyboard arrow navigation for pull request list - #3499" ], "1.0.11": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521" ], "1.0.11-test0": [ "[Improved] now with a new major version of electron-packager" ], "1.0.11-beta0": [ "[Improved] Refresh the pull requests list after fetching - #3503", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] URL encode branch names when creating a pull request - #3509", "[Fixed] Windows: detecting available editors and shells now works even when the group policy blocks write registry access - #3105 #3405" ], "1.0.10": [ "[New] ColdFusion Builder is now a supported external editor - #3336 #3321. Thanks @AtomicCons!", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell on Windows too - #3455. Thanks @JordanMussi!", "[New] Swift is now syntax highlighted - #3305. Thanks @agisilaos!", "[New] Vue.js is now syntax highlighted - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted - #3356. Thanks @agisilaos!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[New] Objective-C is now syntax highlighted - #3355. Thanks @koenpunt!", "[New] SQL is now syntax highlighted - #3389. Thanks @say25!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta3": [ "[New] Change \"Create Pull Request\" to \"Show Pull Request\" when there is already a pull request open for the branch - #2524", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell - #3455. Thanks @JordanMussi!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[Improved] Use the same colors in pull request dropdown as we use on GitHub.com - #3451", "[Improved] Fancy pull request loading animations - #2868", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Refresh the pull request list when the Push/Pull/Fetch button is clicked - #3448", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta2": [ "[New] SQL is now syntax highlighted! - #3389. Thanks @say25!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304" ], "1.0.10-beta1": [ "[New] Vue.js code is now syntax highlighted! - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted! - #3356. Thanks @agisilaos!", "[New] Highlight .m as Objective-C - #3355. Thanks @koenpunt!", "[Improved] Use smarter middle truncation for branch names - #3357", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!" ], "1.0.10-beta0": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta1": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta0": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8-beta0": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7-beta0": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.6": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.5": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!", "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-beta1": [ "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-test1": [], "1.0.5-test0": [], "1.0.5-beta0": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!" ], "1.0.4": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917" ], "1.0.4-beta1": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917 #2917" ], "1.0.4-beta0": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.3": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.2": [ "[Improved] Better message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta1": [ "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta0": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1-beta0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0-beta3": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.1": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "1.0.0-beta2": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.0": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.8.2": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[New] Option to opt-out of confirming discarding changes - #2681", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta1": [ "[New] Option to to opt-out of confirming discarding changes - #2681", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta0": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646" ], "0.8.1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488", "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Ensure the repository list is always accessible - #2648" ], "0.8.1-beta4": [ "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502" ], "0.8.1-beta3": [ "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541" ], "0.8.1-beta2": [ "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520" ], "0.8.1-beta1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488" ], "0.8.1-beta0": [], "0.8.0": [ "[New] Added commit context menu - #2434", "[New] Added 'Open in External Editor' - #2009", "[New] Can choose whether a branch should be deleted on the remote as well as locally - #2136", "[New] Support authenticating with non-GitHub servers - #852", "[New] Added the ability to revert a commit - #752", "[New] Added a keyboard shortcut for opening the repository in the shell - #2138", "[Improved] Copied diff text no longer includes the line changetype markers - #1499", "[Improved] Fetch if a push fails because they need to pull first - #2431", "[Improved] Discard changes performance - #1889", "[Fixed] Show 'Add Repository' dialog when repository is dragged onto the app - #2442", "[Fixed] Dialog component did not remove event handler - #2469", "[Fixed] Open in External Editor context menu - #2475", "[Fixed] Update to Git 2.14.1 to fix security vulnerability - #2432", "[Fixed] Recent branches disappearing after renaming a branch - #2426", "[Fixed] Changing the default branch on GitHub.com is now reflected in the app - #1489", "[Fixed] Swap around some callouts for no repositories - #2447", "[Fixed] Darker unfocused selection color - #1669", "[Fixed] Increase the max sidebar width - #1588", "[Fixed] Don't say \"Publish this branch to GitHub\" for non-GitHub repositories - #1498", "[Fixed] macOS: Protocol schemes not getting registered - #2429", "[Fixed] Patches which contain the \"no newline\" marker would fail to apply - #2123", "[Fixed] Close the autocompletion popover when it loses focus - #2358", "[Fixed] Clear the selected org when switching Publish Repository tabs - #2386", "[Fixed] 'Create Without Pushing' button throwing an exception while opening a pull request - #2368", "[Fixed] Windows: Don't removing the running app out from under itself when there are updates pending - #2373", "[Fixed] Windows: Respect `core.autocrlf` and `core.safeclrf` when modifying the .gitignore - #1535", "[Fixed] Windows: Fix opening the app from the command line - #2396" ], "0.7.3-beta5": [], "0.7.3-beta4": [], "0.7.3-beta3": [], "0.7.3-beta2": [], "0.7.3-beta1": [], "0.7.3-beta0": [], "0.7.2": ["[Fixed] Issues with auto-updating to 0.7.1."], "0.7.2-beta0": [], "0.7.1": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Improved] Version text is now copiable - #1935", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta5": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta4": [], "0.7.1-beta3": [], "0.7.1-beta2": [], "0.7.1-beta1": [], "0.7.1-beta0": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299" ], "0.7.0": [ "[New] Added the Branch > Create Pull Request menu item - #2135", "[New] Added the `github` command line tool - #696", "[Improved] Better error message when publishing a repository fails - #2089", "[Improved] Windows: Don't recreate the desktop shortcut if it's been deleted - #1759", "[Fixed] Cloning a repository's wiki - #1624", "[Fixed] Don't call GitHub Enterprise GitHub.com - #2094", "[Fixed] Don't push after publishing a new repository if the branch is unborn - #2086", "[Fixed] Don't close dialogs when clicking the title bar - #2056", "[Fixed] Windows: Clicking 'Show in Explorer' doesn't bring Explorer to the front - #2127", "[Fixed] Windows: Opening links doesn't bring the browser to the front - #1945", "[Fixed] macOS: Closing the window wouldn't exit fullscreen - #1901", "[Fixed] Scale blankslate images so they look nicer on high resolution displays - #1946", "[Fixed] Windows: Installer not completing or getting stuck in a loop - #1875 #1863", "[Fixed] Move the 'Forgot Password' link to fix the tab order of the sign in view - #2200" ], "0.6.3-beta7": [], "0.6.3-beta6": [], "0.6.3-beta5": [], "0.6.3-beta4": [], "0.6.3-beta3": [], "0.6.3-beta2": [], "0.6.3-beta1": [], "0.6.3-beta0": [], "0.6.2": [ "[New] Link to User Guides from the Help menu - #1963", "[New] Added the 'Open in External Editor' contextual menu item to changed files - #2023", "[New] Added the 'Show' and 'Open Command Prompt' contextual menu items to repositories - #1554", "[New] Windows: Support self-signed or untrusted certificates - #671", "[New] Copy the SHA to the clipboard when clicked - #1501", "[Improved] Provide the option of initializing a new repository when adding a directory that isn't already one - #969", "[Improved] Link to the working directory when there are no changes - #1871", "[Improved] Hitting Enter when selecting a base branch creates the new branch - #1780", "[Improved] Prefix repository names with their owner if they are ambiguous - #1848", "[Fixed] Sort and filter licenses like GitHub.com - #1987", "[Fixed] Long branch names not getting truncated in the Rename Branch dialog - #1891", "[Fixed] Prune old log files - #1540", "[Fixed] Ensure the local path is valid before trying to create a new repository - #1487", "[Fixed] Support cloning repository wikis - #1624", "[Fixed] Disable the Select All checkbox when there are no changes - #1389", "[Fixed] Changed docx files wouldn't show anything in the diff panel - #1990", "[Fixed] Disable the Merge button when there are no commits to merge - #1359", "[Fixed] Username/password authentication not working for GitHub Enterprise - #2064", "[Fixed] Better error messages when an API call fails - #2017", "[Fixed] Create the 'logs' directory if it doesn't exist - #1550", "[Fixed] Enable the 'Remove' menu item for missing repositories - #1776" ], "0.6.1": [ "[Fixed] Properly log stats opt in/out - #1949", "[Fixed] Source maps for exceptions in the main process - #1957", "[Fixed] Styling of the exception dialog - #1956", "[Fixed] Handle ambiguous references - #1947", "[Fixed] Handle non-ASCII text in diffs - #1970", "[Fixed] Uncaught exception when hitting the arrow keys after showing autocompletions - #1971", "[Fixed] Clear the organizations list when publishing a new repository and switching between tabs - #1969", "[Fixed] Push properly when a tracking branch has a different name from the local branch - #1967", "[Improved] Warn when line endings will change - #1906" ], "0.6.0": [ "[Fixed] Issue autocompletion not working for older issues - #1814", "[Fixed] GitHub repository association not working for repositories with some remote URL formats - #1826 #1679", "[Fixed] Don't try to delete a remote branch that no longer exists - #1829", "[Fixed] Tokens created by development builds would be used in production builds but wouldn't work - #1727", "[Fixed] Submodules can now be added - #708", "[Fixed] Properly handle the case where a file is added to the index but removed from the working tree - #1310", "[Fixed] Use a local image for the default avatar - #1621", "[Fixed] Make the file path in diffs selectable - #1768", "[Improved] More logging! - #1823", "[Improved] Better error message when trying to add something that's not a repository - #1747", "[Improved] Copy the shell environment into the app's environment - #1796", "[Improved] Updated to Git 2.13.0 - #1897", "[Improved] Add 'Reveal' to the contextual menu for changed files - #1566", "[Improved] Better handling of large diffs - #1818 #1524", "[Improved] App launch time - #1900" ], "0.5.9": [ "[New] Added Zoom In and Zoom Out - #1217", "[Fixed] Various errors when on an unborn branch - #1450", "[Fixed] Disable push/pull menu items when there is no remote - #1448", "[Fixed] Better error message when the GitHub Enterprise version is too old - #1628", "[Fixed] Error parsing non-JSON responses - #1505 #1522", "[Fixed] Updated the 'Install Git' help documentation link - #1797", "[Fixed] Disable menu items while in the Welcome flow - #1529", "[Fixed] Windows: Fall back to HOME if Document cannot be found - #1825", "[Improved] Close the window when an exception occurs - #1562", "[Improved] Always use merge when pulling - #1627", "[Improved] Move the 'New Branch' menu item into the Branch menu - #1757", "[Improved] Remove Repository's default button is now Cancel - #1751", "[Improved] Only fetch the default remote - #1435", "[Improved] Faster commits with many files - #1405", "[Improved] Measure startup time more reliably - #1798", "[Improved] Prefer the GitHub repository name instead of the name on disk - #664" ], "0.5.8": [ "[Fixed] Switching tabs in Preferences/Settings or Repository Settings would close the dialog - #1724", "[Improved] Standardized colors which improves contrast and readability - #1713" ], "0.5.7": [ "[Fixed] Windows: Handle protocol events which launch the app - #1582", "[Fixed] Opting out of stats reporting in the Welcome flow - #1698", "[Fixed] Commit description text being too light - #1695", "[Fixed] Exception on startup if the app was activated too quickly - #1564", "[Improved] Default directory for cloning now - #1663", "[Improved] Accessibility support - #1289", "[Improved] Lovely blank slate illustrations - #1708" ], "0.5.6": [ "[Fixed] macOS: The buttons in the Untrusted Server dialog not doing anything - #1622", "[Fixed] Better warning in Rename Branch when the branch will be created with a different name than was entered - #1480", "[Fixed] Provide a tooltip for commit summaries in the History list - #1483", "[Fixed] Prevent the Update Available banner from getting squished - #1632", "[Fixed] Title bar not responding to double-clicks - #1590 #1655", "[Improved] Discard All Changes is now accessible by right-clicking the file column header - #1635" ], "0.5.5": [ "[Fixed] Save the default path after creating a new repository - #1486", "[Fixed] Only let the user launch the browser once for the OAuth flow - #1427", "[Fixed] Don't linkify invalid URLs - #1456", "[Fixed] Excessive padding in the Merge Branch dialog - #1577", "[Fixed] Octicon pixel alignment issues - #1584", "[Fixed] Windows: Invoking some menu items would break the window's snapped state - #1603", "[Fixed] macOS: Errors authenticating while pushing - #1514", "[Fixed] Don't linkify links in the History list or in Undo - #1548 #1608 #1474", "[Fixed] Diffs not working when certain git config values were set - #1559" ], "0.5.4": [ "[Fixed] The release notes URL pointed to the wrong page - #1503", "[Fixed] Only create the `logs` directory if it doesn't already exist - #1510", "[Fixed] Uncaught exception creating a new repository if you aren't a member of any orgs - #1507", "[Fixed] Only report the first uncaught exception - #1517", "[Fixed] Include the name of the default branch in the New Branch dialog - #1449", "[Fixed] Uncaught exception if a network error occurred while loading user email addresses - #1522 #1508", "[Fixed] Uncaught exception while performing a contextual menu action - #1532", "[Improved] Move all error logging to the main process - #1473", "[Improved] Stats reporting reliability - #1561" ], "0.5.3": [ "[Fixed] Display of large image diffs - #1494", "[Fixed] Discard Changes spacing - #1495" ], "0.5.2": [ "[Fixed] Display errors that happen while publishing a repository - #1396", "[Fixed] Menu items not updating - #1462", "[Fixed] Always select the first changed file - #1306", "[Fixed] macOS: Use Title Case consistently - #1477 #1481", "[Fixed] Create Branch padding - #1479", "[Fixed] Bottom padding in commit descriptions - #1345", "[Improved] Dialog polish - #1451", "[Improved] Store logs in a logs directory - #1370", "[Improved] New Welcome illustrations - #1471", "[Improved] Request confirmation before removing a repository - #1233", "[Improved] Windows icon polish - #1457" ], "0.5.1": [ "[New] Windows: A nice little gif while installing the app - #1440", "[Fixed] Disable pinch zoom - #1431", "[Fixed] Don't show carriage return indicators in diffs - #1444", "[Fixed] History wouldn't update after switching branches - #1446", "[Improved] Include more information in exception reports - #1429", "[Improved] Updated Terms and Conditions - #1438", "[Improved] Sub-pixel anti-aliasing in some lists - #1452", "[Improved] Windows: A new application identifier, less likely to collide with other apps - #1441" ], "0.5.0": [ "[Added] Menu item for showing the app logs - #1349", "[Fixed] Don't let the two-factor authentication dialog be submitted while it's empty - #1386", "[Fixed] Undo Commit showing the wrong commit - #1373", "[Fixed] Windows: Update the icon used for the installer - #1410", "[Fixed] Undoing the first commit - #1401", "[Fixed] A second window would be opened during the OAuth dance - #1382", "[Fixed] Don't include the comment from the default merge commit message - #1367", "[Fixed] Show progress while committing - #923", "[Fixed] Windows: Merge Branch sizing would be wrong on high DPI monitors - #1210", "[Fixed] Windows: Resize the app from the top left corner - #1424", "[Fixed] Changing the destination path for cloning a repository now appends the repository's name - #1408", "[Fixed] The blank slate view could be visible briefly when the app launched - #1398", "[Improved] Performance updating menu items - #1321", "[Improved] Windows: Dim the title bar when the app loses focus - #1189" ], "0.0.39": ["[Fixed] An uncaught exception when adding a user - #1394"], "0.0.38": [ "[New] Shiny new icon! - #1221", "[New] More helpful blank slate view - #871", "[Fixed] Don't allow Undo while pushing/pulling/fetching - #1047", "[Fixed] Updating the default branch on GitHub wouldn't be reflected in the app - #1028 #1314", "[Fixed] Long repository names would overflow their container - #1331", "[Fixed] Removed development menu items in production builds - #1031 #1251 #1323 #1340", "[Fixed] Create Branch no longer changes as it's animating closed - #1304", "[Fixed] Windows: Cut / Copy / Paste menu items not working - #1379", "[Improved] Show a better error message when the user tries to authenticate with a personal access token - #1313", "[Improved] Link to the repository New Issue page from the Help menu - #1349", "[Improved] Clone in Desktop opens the Clone dialog - #918" ], "0.0.37": [ "[Fixed] Better display of the 'no newline at end of file' indicator - #1253", "[Fixed] macOS: Destructive dialogs now use the expected button order - #1315", "[Fixed] Display of submodule paths - #785", "[Fixed] Incomplete stats submission - #1337", "[Improved] Redesigned welcome flow - #1254", "[Improved] App launch time - #1225", "[Improved] Handle uncaught exceptions - #1106" ], "0.0.36": [ "[Fixed] Bugs around associating an email address with a GitHub user - #975", "[Fixed] Use the correct reference name for an unborn branch - #1283", "[Fixed] Better diffs for renamed files - #980", "[Fixed] Typo in Create Branch - #1303", "[Fixed] Don't allow whitespace-only branch names - #1288", "[Improved] Focus ring polish - #1287", "[Improved] Less intrusive update notifications - #1136", "[Improved] Faster launch time on Windows - #1309", "[Improved] Faster git information refreshing - #1305", "[Improved] More consistent use of sentence case on Windows - #1316", "[Improved] Autocomplete polish - #1241" ], "0.0.35": [ "[New] Show push/pull/fetch progress - #1238", "[Fixed] macOS: Add the Zoom menu item - #1260", "[Fixed] macOS: Don't show the titlebar while full screened - #1247", "[Fixed] Windows: Updates would make the app unresponsive - #1269", "[Fixed] Windows: Keyboard navigation in menus - #1293", "[Fixed] Windows: Repositories list item not working - #1293", "[Fixed] Auto updater errors not being propagated properly - #1266", "[Fixed] Only show the current branch tooltip on the branches button - #1275", "[Fixed] Double path truncation - #1270", "[Fixed] Sometimes toggling a file's checkbox would get undone - #1248", "[Fixed] Uncaught exception when internet connectivity was lost - #1048", "[Fixed] Cloned repositories wouldn't be associated with their GitHub repository - #1285", "[Improved] Better performance on large repositories - #1281", "[Improved] Commit summary is now expandable when the summary is long - #519", "[Improved] The SHA in historical commits is now selectable - #1154", "[Improved] The Create Branch dialog was polished and refined - #1137" ], "0.0.34": [ "[New] macOS: Users can choose whether to accept untrusted certificates - #671", "[New] Windows: Users are prompted to install git when opening a shell if it is not installed - #813", "[New] Checkout progress is shown if branch switching takes a while - #1208", "[New] Commit summary and description are automatically populated for merge conflicts - #1228", "[Fixed] Cloning repositories while not signed in - #1163", "[Fixed] Merge commits are now created as merge commits - #1216", "[Fixed] Display of diffs with /r newline - #1234", "[Fixed] Windows: Maximized windows are no longer positioned slightly off screen - #1202", "[Fixed] JSON parse errors - #1243", "[Fixed] GitHub Enterprise repositories were not associated with the proper Enterprise repository - #1242", "[Fixed] Timestamps in the Branches list would wrap - #1255", "[Fixed] Merges created from pulling wouldn't use the right git author - #1262", "[Improved] Check for update errors are suppressed if they happen in the background - #1104, #1195", "[Improved] The shortcut to show the repositories list is now command or control-T - #1220", "[Improved] Command or control-W now closes open dialogs - #949", "[Improved] Less memory usage while parsing large diffs - #1235" ], "0.0.33": ["[Fixed] Update Now wouldn't update now - #1209"], "0.0.32": [ "[New] You can now disable stats reporting from Preferences > Advanced - #1120", "[New] Acknowledgements are now available from About - #810", "[New] Open pull requests from dot com in the app - #808", "[Fixed] Don't show background fetch errors - #875", "[Fixed] No more surprise and delight - #620", "[Fixed] Can't discard renamed files - #1177", "[Fixed] Logging out of one account would log out of all accounts - #1192", "[Fixed] Renamed files truncation - #695", "[Fixed] Git on Windows now integrates with the system certificate store - #706", "[Fixed] Cloning with an account/repoository shortcut would always fail - #1150", "[Fixed] OS version reporting - #1130", "[Fixed] Publish a new repository would always fail - #1046", "[Fixed] Authentication would fail for the first repository after logging in - #1118", "[Fixed] Don't flood the user with errors if a repository disappears on disk - #1132", "[Improved] The Merge dialog uses the Branches list instead of a drop down menu - #749", "[Improved] Lots of design polish - #1188, #1183, #1170, #1184, #1181, #1179, #1142, #1125" ], "0.0.31": [ "[New] Prompt user to login when authentication error occurs - #903", "[New] Windows application has a new app menu, replaces previous hamburger menu - #991", "[New] Refreshed colours to align with GitHub website scheme - #1077", "[New] Custom about dialog on all platforms - #1102", "[Fixed] Improved error handling when probing for a GitHub Enterprise server - #1026", "[Fixed] User can cancel 2FA flow - #1057", "[Fixed] Tidy up current set of menu items - #1063", "[Fixed] Manually focus the window when a URL action has been received - #1072", "[Fixed] Disable middle-click event to prevent new windows being launched - #1074", "[Fixed] Pre-fill the account name in the Welcome wizard, not login - #1078", "[Fixed] Diffs wouldn't work if an external diff program was configured - #1123", "[Improved] Lots of design polish work - #1113, #1099, #1094, #1077" ], "0.0.30": [ "[Fixed] Crash when invoking menu item due to incorrect method signature - #1041" ], "0.0.29": [ "[New] Commit summary and description fields now display issues and mentions as links for GitHub repositories - #941", "[New] Show placeholder when the repository cannot be found on disk - #946", "[New] New Repository actions moved out of popover and into new menu - #1018", "[Fixed] Display a helpful error message when an unverified user signs into GitHub Desktop - #1010", "[Fixed] Fix kerning issue when access keys displayed - #1033", "[Fixed] Protected branches show a descriptive error when the push is rejected - #1036", "[Fixed] 'Open in shell' on Windows opens to repository location - #1037" ], "0.0.28": ["[Fixed] Bumping release notes to test deployments again"], "0.0.27": [ "[Fixed] 2FA dialog when authenticating has information for SMS authentication - #1009", "[Fixed] Autocomplete for users handles accounts containing `-` - #1008" ], "0.0.26": [ "[Fixed] Address deployment issue by properly documenting release notes" ], "0.0.25": [ "[Added] Autocomplete displays user matches - #942", "[Fixed] Handle Enter key in repository and branch list when no matches exist - #995", "[Fixed] 'Add Repository' button displays in dropdown when repository list empty - #984", "[Fixed] Correct icon displayed for non-GitHub repository - #964 #955", "[Fixed] Enter key when inside dialog submits form - #956", "[Fixed] Updated URL handler entry on macOS - #945", "[Fixed] Commit button is disabled while commit in progress - #940", "[Fixed] Handle index state change when gitginore change is discarded - #935", "[Fixed] 'Create New Branch' view squashes branch list when expanded - #927", "[Fixed] Application creates repository path if it doesn't exist on disk - #925", "[Improved] Preferences sign-in flow updated to standalone dialogs - #961" ], "0.0.24": ["Changed a thing", "Added another thing"] } }
cosbidev / PyTracka Map-Matching-based Python Toolbox for Vehicle Trajectory Reconstruction
rairyuu / PDR With Map MatchingA solution for indoor positioning. Based on PDR. With map matching. Using chest mounted IMU. Got 1st place in IPIN 2017 competition Track 2. Got 2nd place in IPIN 2018 competition Track 2 (0.2m worse than 1st).
dh-orko / Help Me Get Rid Of Unhumans/* JS */ gapi.loaded_0(function(_){var window=this; var ha,ia,ja,ma,sa,na,ta,ya,Ja;_.ea=function(a){return function(){return _.da[a].apply(this,arguments)}};_._DumpException=function(a){throw a;};_.da=[];ha="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};ia="undefined"!=typeof window&&window===this?this:"undefined"!=typeof window.global&&null!=window.global?window.global:this;ja=function(){ja=function(){};ia.Symbol||(ia.Symbol=ma)}; ma=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();sa=function(){ja();var a=ia.Symbol.iterator;a||(a=ia.Symbol.iterator=ia.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ha(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return na(this)}});sa=function(){}};na=function(a){var b=0;return ta(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};ta=function(a){sa();a={next:a};a[ia.Symbol.iterator]=function(){return this};return a}; _.wa=function(a){sa();var b=a[window.Symbol.iterator];return b?b.call(a):na(a)};_.xa="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};if("function"==typeof Object.setPrototypeOf)ya=Object.setPrototypeOf;else{var Ba;a:{var Ca={a:!0},Da={};try{Da.__proto__=Ca;Ba=Da.a;break a}catch(a){}Ba=!1}ya=Ba?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}_.Fa=ya; Ja=function(a,b){if(b){var c=ia;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ha(c,a,{configurable:!0,writable:!0,value:b})}};Ja("Array.prototype.find",function(a){return a?a:function(a,c){a:{var b=this;b instanceof String&&(b=String(b));for(var e=b.length,f=0;f<e;f++){var h=b[f];if(a.call(c,h,f,b)){a=h;break a}}a=void 0}return a}});var Ka=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)}; Ja("WeakMap",function(a){function b(a){Ka(a,d)||ha(a,d,{value:{}})}function c(a){var c=Object[a];c&&(Object[a]=function(a){b(a);return c(a)})}if(function(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(n){return!1}}())return a;var d="$jscomp_hidden_"+Math.random();c("freeze");c("preventExtensions");c("seal");var e=0,f=function(a){this.Aa=(e+=Math.random()+ 1).toString();if(a){ja();sa();a=_.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};f.prototype.set=function(a,c){b(a);if(!Ka(a,d))throw Error("a`"+a);a[d][this.Aa]=c;return this};f.prototype.get=function(a){return Ka(a,d)?a[d][this.Aa]:void 0};f.prototype.has=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)};f.prototype["delete"]=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)?delete a[d][this.Aa]:!1};return f}); Ja("Map",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a(_.wa([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(q){return!1}}())return a;ja();sa();var b=new window.WeakMap,c=function(a){this.lf= {};this.Pe=f();this.size=0;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){var c=d(this,a);c.list||(c.list=this.lf[c.id]=[]);c.ke?c.ke.value=b:(c.ke={next:this.Pe,Pi:this.Pe.Pi,head:this.Pe,key:a,value:b},c.list.push(c.ke),this.Pe.Pi.next=c.ke,this.Pe.Pi=c.ke,this.size++);return this};c.prototype["delete"]=function(a){a=d(this,a);return a.ke&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.lf[a.id],a.ke.Pi.next=a.ke.next,a.ke.next.Pi= a.ke.Pi,a.ke.head=null,this.size--,!0):!1};c.prototype.clear=function(){this.lf={};this.Pe=this.Pe.Pi=f();this.size=0};c.prototype.has=function(a){return!!d(this,a).ke};c.prototype.get=function(a){return(a=d(this,a).ke)&&a.value};c.prototype.entries=function(){return e(this,function(a){return[a.key,a.value]})};c.prototype.keys=function(){return e(this,function(a){return a.key})};c.prototype.values=function(){return e(this,function(a){return a.value})};c.prototype.forEach=function(a,b){for(var c=this.entries(), d;!(d=c.next()).done;)d=d.value,a.call(b,d[1],d[0],this)};c.prototype[window.Symbol.iterator]=c.prototype.entries;var d=function(a,c){var d=c&&typeof c;"object"==d||"function"==d?b.has(c)?d=b.get(c):(d=""+ ++h,b.set(c,d)):d="p_"+c;var e=a.lf[d];if(e&&Ka(a.lf,d))for(a=0;a<e.length;a++){var f=e[a];if(c!==c&&f.key!==f.key||c===f.key)return{id:d,list:e,index:a,ke:f}}return{id:d,list:e,index:-1,ke:void 0}},e=function(a,b){var c=a.Pe;return ta(function(){if(c){for(;c.head!=a.Pe;)c=c.Pi;for(;c.next!=c.head;)return c= c.next,{done:!1,value:b(c)};c=null}return{done:!0,value:void 0}})},f=function(){var a={};return a.Pi=a.next=a.head=a},h=0;return c}); Ja("Set",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),d=new a(_.wa([b]));if(!d.has(b)||1!=d.size||d.add(b)!=d||1!=d.size||d.add({x:4})!=d||2!=d.size)return!1;var e=d.entries(),f=e.next();if(f.done||f.value[0]!=b||f.value[1]!=b)return!1;f=e.next();return f.done||f.value[0]==b||4!=f.value[0].x||f.value[1]!=f.value[0]?!1:e.next().done}catch(h){return!1}}())return a;ja();sa();var b=function(a){this.V= new window.Map;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)this.add(b.value)}this.size=this.V.size};b.prototype.add=function(a){this.V.set(a,a);this.size=this.V.size;return this};b.prototype["delete"]=function(a){a=this.V["delete"](a);this.size=this.V.size;return a};b.prototype.clear=function(){this.V.clear();this.size=0};b.prototype.has=function(a){return this.V.has(a)};b.prototype.entries=function(){return this.V.entries()};b.prototype.values=function(){return this.V.values()};b.prototype.keys= b.prototype.values;b.prototype[window.Symbol.iterator]=b.prototype.values;b.prototype.forEach=function(a,b){var c=this;this.V.forEach(function(d){return a.call(b,d,d,c)})};return b});_.La=_.La||{};_.m=this;_.r=function(a){return void 0!==a};_.u=function(a){return"string"==typeof a}; _.Ma=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.Oa=function(a){return"array"==_.Ma(a)};_.Pa="closure_uid_"+(1E9*Math.random()>>>0);_.Qa=Date.now||function(){return+new Date};_.w=function(a,b){a=a.split(".");var c=_.m;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&_.r(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; _.z=function(a,b){function c(){}c.prototype=b.prototype;a.H=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ep=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}}; _.Ta=window.osapi=window.osapi||{}; window.___jsl=window.___jsl||{}; (window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},csi:{rate:.01},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1}, "oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage",loggingUrl:"https://accounts.google.com/o/oauth2/client_log"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/:session_prefix:_/widget/render/badge?usegapi=1"},":socialhost:":"https://apis.google.com",":im_socialhost:":"https://plus.googleapis.com",domains_suggest:{url:"https://domains.google.com/suggest/flow"}, card:{params:{s:"#",userid:"&"},url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",":gplus_url:":"https://plus.google.com",plusone:{url:":socialhost:/:session_prefix:_/+1/fastbutton?usegapi=1"},plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true&usegapi=1"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle?usegapi=1"},plus_followers:{url:":socialhost:/_/im/_/widget/render/plus/followers?usegapi=1"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi=1"}, appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},page:{url:":socialhost:/:session_prefix:_/widget/render/page?usegapi=1"},person:{url:":socialhost:/:session_prefix:_/widget/render/person?usegapi=1"},community:{url:":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi=1"},follow:{url:":socialhost:/:session_prefix:_/widget/render/follow?usegapi=1"},commentcount:{url:":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi=1"},comments:{url:":socialhost:/:session_prefix:_/widget/render/comments?usegapi=1"}, youtube:{url:":socialhost:/:session_prefix:_/widget/render/youtube?usegapi=1"},reportabuse:{url:":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi=1"},additnow:{url:":socialhost:/additnow/additnow.html"},udc_webconsentflow:{url:"https://myaccount.google.com/webconsent?usegapi=1"},appfinder:{url:"https://gsuite.google.com/:session_prefix:marketplace/appfinder?usegapi=1"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"pos.plusones.list":!0, "pos.plusones.get":!0,"pos.plusones.insert":!0,"pos.plusones.delete":!0,"pos.plusones.getSignupState":!0},versions:{pos:"v1"},rpc:"/rpc",root:"https://content.googleapis.com","root-1p":"https://clients6.google.com",useGapiForXd3:!0,xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:!1}},report:{apis:["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.client\\..*"],rate:1E-4},client:{perApiBatch:!0}}); var Za,eb,fb;_.Ua=function(a){return"number"==typeof a};_.Va=function(){};_.Wa=function(a){var b=_.Ma(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.Xa=function(a){return"function"==_.Ma(a)};_.Ya=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};Za=0;_.bb=function(a){return a[_.Pa]||(a[_.Pa]=++Za)};eb=function(a,b,c){return a.call.apply(a.bind,arguments)}; fb=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};_.A=function(a,b,c){_.A=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?eb:fb;return _.A.apply(null,arguments)}; _.ib=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(_.u(a))return _.u(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.jb=Array.prototype.lastIndexOf?function(a,b){return Array.prototype.lastIndexOf.call(a,b,a.length-1)}:function(a,b){var c=a.length-1;0>c&&(c=Math.max(0,a.length+c));if(_.u(a))return _.u(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1}; _.lb=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};_.mb=Array.prototype.filter?function(a,b){return Array.prototype.filter.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=[],e=0,f=_.u(a)?a.split(""):a,h=0;h<c;h++)if(h in f){var k=f[h];b.call(void 0,k,h,a)&&(d[e++]=k)}return d}; _.nb=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e=_.u(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d};_.ob=Array.prototype.some?function(a,b,c){return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1}; _.qb=Array.prototype.every?function(a,b,c){return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};_.rb=function(a,b){return 0<=(0,_.ib)(a,b)}; var vb;_.sb=function(a){return/^[\s\xa0]*$/.test(a)};_.tb=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};_.ub=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)}; _.xb=function(a,b){var c=0;a=(0,_.tb)(String(a)).split(".");b=(0,_.tb)(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",h=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];if(0==f[0].length&&0==h[0].length)break;c=vb(0==f[1].length?0:(0,window.parseInt)(f[1],10),0==h[1].length?0:(0,window.parseInt)(h[1],10))||vb(0==f[2].length,0==h[2].length)||vb(f[2],h[2]);f=f[3];h=h[3]}while(0==c)}return c}; vb=function(a,b){return a<b?-1:a>b?1:0};_.yb=2147483648*Math.random()|0; a:{var Bb=_.m.navigator;if(Bb){var Cb=Bb.userAgent;if(Cb){_.Ab=Cb;break a}}_.Ab=""}_.Db=function(a){return-1!=_.Ab.indexOf(a)};var Fb;_.Eb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};Fb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.Gb=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Fb.length;f++)c=Fb[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}}; _.Hb=function(){return _.Db("Opera")};_.Ib=function(){return _.Db("Trident")||_.Db("MSIE")};_.Lb=function(){return _.Db("iPhone")&&!_.Db("iPod")&&!_.Db("iPad")};_.Mb=function(){return _.Lb()||_.Db("iPad")||_.Db("iPod")};var Nb=function(a){Nb[" "](a);return a},Sb;Nb[" "]=_.Va;_.Qb=function(a,b){try{return Nb(a[b]),!0}catch(c){}return!1};Sb=function(a,b){var c=Rb;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var gc,hc,Rb,pc;_.Tb=_.Hb();_.C=_.Ib();_.Ub=_.Db("Edge");_.Vb=_.Ub||_.C;_.Wb=_.Db("Gecko")&&!(-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge"))&&!(_.Db("Trident")||_.Db("MSIE"))&&!_.Db("Edge");_.Xb=-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge");_.Yb=_.Xb&&_.Db("Mobile");_.Zb=_.Db("Macintosh");_.$b=_.Db("Windows");_.ac=_.Db("Linux")||_.Db("CrOS");_.bc=_.Db("Android");_.cc=_.Lb();_.dc=_.Db("iPad");_.ec=_.Db("iPod");_.fc=_.Mb(); gc=function(){var a=_.m.document;return a?a.documentMode:void 0};a:{var ic="",jc=function(){var a=_.Ab;if(_.Wb)return/rv:([^\);]+)(\)|;)/.exec(a);if(_.Ub)return/Edge\/([\d\.]+)/.exec(a);if(_.C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(_.Xb)return/WebKit\/(\S+)/.exec(a);if(_.Tb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();jc&&(ic=jc?jc[1]:"");if(_.C){var kc=gc();if(null!=kc&&kc>(0,window.parseFloat)(ic)){hc=String(kc);break a}}hc=ic}_.lc=hc;Rb={}; _.mc=function(a){return Sb(a,function(){return 0<=_.xb(_.lc,a)})};_.oc=function(a){return Number(_.nc)>=a};var qc=_.m.document;pc=qc&&_.C?gc()||("CSS1Compat"==qc.compatMode?(0,window.parseInt)(_.lc,10):5):void 0;_.nc=pc; var sc,wc,xc,yc,zc,Ac,Bc,Cc;_.rc=function(a,b){return _.da[a]=b};_.tc=function(a){return Array.prototype.concat.apply([],arguments)};_.uc=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};_.vc=function(a,b){return 0==a.lastIndexOf(b,0)};wc=/&/g;xc=/</g;yc=/>/g;zc=/"/g;Ac=/'/g;Bc=/\x00/g;Cc=/[\x00&<>"']/; _.Dc=function(a){if(!Cc.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(wc,"&"));-1!=a.indexOf("<")&&(a=a.replace(xc,"<"));-1!=a.indexOf(">")&&(a=a.replace(yc,">"));-1!=a.indexOf('"')&&(a=a.replace(zc,"""));-1!=a.indexOf("'")&&(a=a.replace(Ac,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Bc,"�"));return a};_.Fc=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};_.Gc=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1}; var Hc,Ic;Hc=!_.C||_.oc(9);Ic=!_.Wb&&!_.C||_.C&&_.oc(9)||_.Wb&&_.mc("1.9.1");_.Jc=_.C&&!_.mc("9");_.Kc=_.C||_.Tb||_.Xb;_.Lc=_.C&&!_.oc(9);var Mc;_.Nc=function(){this.uw="";this.bP=Mc};_.Nc.prototype.Ch=!0;_.Nc.prototype.dg=function(){return this.uw};_.Nc.prototype.toString=function(){return"Const{"+this.uw+"}"};_.Oc=function(a){return a instanceof _.Nc&&a.constructor===_.Nc&&a.bP===Mc?a.uw:"type_error:Const"};Mc={};_.Pc=function(a){var b=new _.Nc;b.uw=a;return b};_.Pc(""); var Qc;_.Rc=function(){this.bC="";this.lP=Qc};_.Rc.prototype.Ch=!0;_.Rc.prototype.dg=function(){return this.bC};_.Rc.prototype.GA=!0;_.Rc.prototype.kl=function(){return 1};_.Sc=function(a){if(a instanceof _.Rc&&a.constructor===_.Rc&&a.lP===Qc)return a.bC;_.Ma(a);return"type_error:TrustedResourceUrl"};_.Uc=function(a){return _.Tc(_.Oc(a))};Qc={};_.Tc=function(a){var b=new _.Rc;b.bC=a;return b}; var Yc,Vc,Zc;_.Wc=function(){this.Zl="";this.VO=Vc};_.Wc.prototype.Ch=!0;_.Wc.prototype.dg=function(){return this.Zl};_.Wc.prototype.GA=!0;_.Wc.prototype.kl=function(){return 1};_.Xc=function(a){if(a instanceof _.Wc&&a.constructor===_.Wc&&a.VO===Vc)return a.Zl;_.Ma(a);return"type_error:SafeUrl"};Yc=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;_.$c=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)}; _.ad=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)};Vc={};Zc=function(a){var b=new _.Wc;b.Zl=a;return b};Zc("about:blank"); _.dd=function(){this.aC="";this.UO=_.bd};_.dd.prototype.Ch=!0;_.bd={};_.dd.prototype.dg=function(){return this.aC};_.dd.prototype.Bi=function(a){this.aC=a;return this};_.ed=(new _.dd).Bi("");_.gd=function(){this.$B="";this.TO=_.fd};_.gd.prototype.Ch=!0;_.fd={};_.id=function(a){a=_.Oc(a);return 0===a.length?hd:(new _.gd).Bi(a)};_.gd.prototype.dg=function(){return this.$B};_.gd.prototype.Bi=function(a){this.$B=a;return this};var hd=(new _.gd).Bi(""); var jd;_.kd=function(){this.Zl="";this.SO=jd;this.qG=null};_.kd.prototype.GA=!0;_.kd.prototype.kl=function(){return this.qG};_.kd.prototype.Ch=!0;_.kd.prototype.dg=function(){return this.Zl};_.ld=function(a){if(a instanceof _.kd&&a.constructor===_.kd&&a.SO===jd)return a.Zl;_.Ma(a);return"type_error:SafeHtml"};jd={};_.nd=function(a,b){return(new _.kd).Bi(a,b)};_.kd.prototype.Bi=function(a,b){this.Zl=a;this.qG=b;return this};_.nd("<!DOCTYPE html>",0);_.od=_.nd("",0);_.pd=_.nd("<br>",0); _.qd=function(a,b){b=b instanceof _.Wc?b:_.ad(b);a.href=_.Xc(b)};var wd,yd,Ad;_.td=function(a){return a?new _.rd(_.sd(a)):sc||(sc=new _.rd)};_.ud=function(a,b){return _.u(b)?a.getElementById(b):b}; _.vd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(a.querySelectorAll&&a.querySelector&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,h;h=a[f];f++)b==h.nodeName&&(d[e++]=h);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;h=a[f];f++)b=h.className,"function"==typeof b.split&&_.rb(b.split(/\s+/),c)&&(d[e++]=h);d.length=e;return d}return a}; _.xd=function(a,b){_.Eb(b,function(b,d){b&&b.Ch&&(b=b.dg());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:wd.hasOwnProperty(d)?a.setAttribute(wd[d],b):_.vc(d,"aria-")||_.vc(d,"data-")?a.setAttribute(d,b):a[d]=b})};wd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; _.zd=function(a,b){var c=String(b[0]),d=b[1];if(!Hc&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',_.Dc(d.name),'"');if(d.type){c.push(' type="',_.Dc(d.type),'"');var e={};_.Gb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(_.u(d)?c.className=d:_.Oa(d)?c.className=d.join(" "):_.xd(c,d));2<b.length&&yd(a,c,b,2);return c}; yd=function(a,b,c,d){function e(c){c&&b.appendChild(_.u(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];!_.Wa(f)||_.Ya(f)&&0<f.nodeType?e(f):(0,_.lb)(Ad(f)?_.uc(f):f,e)}};_.Bd=function(a){return window.document.createElement(String(a))};_.Dd=function(a){if(1!=a.nodeType)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0}; _.Ed=function(a,b){yd(_.sd(a),a,arguments,1)};_.Fd=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};_.Gd=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};_.Hd=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};_.Id=function(a){var b,c=a.parentNode;if(c&&11!=c.nodeType){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return _.Hd(a)}}; _.Jd=function(a){return Ic&&void 0!=a.children?a.children:(0,_.mb)(a.childNodes,function(a){return 1==a.nodeType})};_.Kd=function(a){return _.Ya(a)&&1==a.nodeType};_.Ld=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};_.sd=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document}; _.Md=function(a,b){if("textContent"in a)a.textContent=b;else if(3==a.nodeType)a.data=String(b);else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else _.Fd(a),a.appendChild(_.sd(a).createTextNode(String(b)))};Ad=function(a){if(a&&"number"==typeof a.length){if(_.Ya(a))return"function"==typeof a.item||"string"==typeof a.item;if(_.Xa(a))return"function"==typeof a.item}return!1}; _.rd=function(a){this.Va=a||_.m.document||window.document};_.g=_.rd.prototype;_.g.Ea=_.td;_.g.RC=_.ea(0);_.g.mb=function(){return this.Va};_.g.S=function(a){return _.ud(this.Va,a)};_.g.getElementsByTagName=function(a,b){return(b||this.Va).getElementsByTagName(String(a))};_.g.ma=function(a,b,c){return _.zd(this.Va,arguments)};_.g.createElement=function(a){return this.Va.createElement(String(a))};_.g.createTextNode=function(a){return this.Va.createTextNode(String(a))}; _.g.vb=function(){var a=this.Va;return a.parentWindow||a.defaultView};_.g.appendChild=function(a,b){a.appendChild(b)};_.g.append=_.Ed;_.g.canHaveChildren=_.Dd;_.g.xe=_.Fd;_.g.GI=_.Gd;_.g.removeNode=_.Hd;_.g.qR=_.Id;_.g.xz=_.Jd;_.g.isElement=_.Kd;_.g.contains=_.Ld;_.g.Eh=_.ea(1); /* gapi.loader.OBJECT_CREATE_TEST_OVERRIDE &&*/ _.Nd=window;_.Qd=window.document;_.Rd=_.Nd.location;_.Sd=/\[native code\]/;_.Td=function(a,b,c){return a[b]=a[b]||c};_.D=function(){var a;if((a=Object.create)&&_.Sd.test(a))a=a(null);else{a={};for(var b in a)a[b]=void 0}return a};_.Ud=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};_.Vd=function(a,b){a=a||{};for(var c in a)_.Ud(a,c)&&(b[c]=a[c])};_.Wd=_.Td(_.Nd,"gapi",{}); _.Xd=function(a,b,c){var d=new RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=new RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(d.exec(a)||b.exec(a)))try{c=(0,window.decodeURIComponent)(a[2])}catch(e){}return c};_.Yd=new RegExp(/^/.source+/([a-zA-Z][-+.a-zA-Z0-9]*:)?/.source+/(\/\/[^\/?#]*)?/.source+/([^?#]*)?/.source+/(\?([^#]*))?/.source+/(#((#|[^#])*))?/.source+/$/.source); _.Zd=new RegExp(/(%([^0-9a-fA-F%]|[0-9a-fA-F]([^0-9a-fA-F%])?)?)*/.source+/%($|[^0-9a-fA-F]|[0-9a-fA-F]($|[^0-9a-fA-F]))/.source,"g");_.$d=new RegExp(/\/?\??#?/.source+"("+/[\/?#]/i.source+"|"+/[\uD800-\uDBFF]/i.source+"|"+/%[c-f][0-9a-f](%[89ab][0-9a-f]){0,2}(%[89ab]?)?/i.source+"|"+/%[0-9a-f]?/i.source+")$","i"); _.be=function(a,b,c){_.ae(a,b,c,"add","at")};_.ae=function(a,b,c,d,e){if(a[d+"EventListener"])a[d+"EventListener"](b,c,!1);else if(a[e+"tachEvent"])a[e+"tachEvent"]("on"+b,c)};_.ce=_.Td(_.Nd,"___jsl",_.D());_.Td(_.ce,"I",0);_.Td(_.ce,"hel",10);var ee,fe,ge,he,ie,je,ke;ee=function(a){var b=window.___jsl=window.___jsl||{};b[a]=b[a]||[];return b[a]};fe=function(a){var b=window.___jsl=window.___jsl||{};b.cfg=!a&&b.cfg||{};return b.cfg};ge=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)}; he=function(a,b,c){if(b&&"object"===typeof b)for(var d in b)!Object.prototype.hasOwnProperty.call(b,d)||c&&"___goc"===d&&"undefined"===typeof b[d]||(a[d]&&b[d]&&"object"===typeof a[d]&&"object"===typeof b[d]&&!ge(a[d])&&!ge(b[d])?he(a[d],b[d]):b[d]&&"object"===typeof b[d]?(a[d]=ge(b[d])?[]:{},he(a[d],b[d])):a[d]=b[d])}; ie=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);try{var b=window.JSON.parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(c){}return"object"===typeof b?b:{}}}; je=function(a,b){var c={___goc:void 0};a.length&&a[a.length-1]&&Object.hasOwnProperty.call(a[a.length-1],"___goc")&&"undefined"===typeof a[a.length-1].___goc&&(c=a.pop());he(c,b);a.push(c)}; ke=function(a){fe(!0);var b=window.___gcfg,c=ee("cu"),d=window.___gu;b&&b!==d&&(je(c,b),window.___gu=b);b=ee("cu");var e=window.document.scripts||window.document.getElementsByTagName("script")||[];d=[];var f=[];f.push.apply(f,ee("us"));for(var h=0;h<e.length;++h)for(var k=e[h],l=0;l<f.length;++l)k.src&&0==k.src.indexOf(f[l])&&d.push(k);0==d.length&&0<e.length&&e[e.length-1].src&&d.push(e[e.length-1]);for(e=0;e<d.length;++e)d[e].getAttribute("gapi_processed")||(d[e].setAttribute("gapi_processed",!0), (f=d[e])?(h=f.nodeType,f=3==h||4==h?f.nodeValue:f.textContent||f.innerText||f.innerHTML||""):f=void 0,(f=ie(f))&&b.push(f));a&&je(c,a);d=ee("cd");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);d=ee("ci");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);a=0;for(b=c.length;a<b;++a)he(fe(),c[a],!0)};_.H=function(a,b){var c=fe();if(!a)return c;a=a.split("/");for(var d=0,e=a.length;c&&"object"===typeof c&&d<e;++d)c=c[a[d]];return d===a.length&&void 0!==c?c:b}; _.le=function(a,b){var c;if("string"===typeof a){var d=c={};a=a.split("/");for(var e=0,f=a.length;e<f-1;++e){var h={};d=d[a[e]]=h}d[a[e]]=b}else c=a;ke(c)}; var me=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),_.Td(_.ce,"ci",[]).push(a),window.__GOOGLEAPIS=void 0)};me&&me();ke();_.w("gapi.config.get",_.H);_.w("gapi.config.update",_.le); _.ne=function(a,b){var c=b||window.document;if(c.getElementsByClassName)a=c.getElementsByClassName(a)[0];else{c=window.document;var d=b||c;a=d.querySelectorAll&&d.querySelector&&a?d.querySelector(a?"."+a:""):_.vd(c,"*",a,b)[0]||null}return a||null}; var xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ze,$e,af,bf,ef,ff;ze=void 0;Ae=function(a){try{return _.m.JSON.parse.call(_.m.JSON,a)}catch(b){return!1}};Be=function(a){return Object.prototype.toString.call(a)};Ce=Be(0);De=Be(new Date(0));Ee=Be(!0);Fe=Be("");Ge=Be({});He=Be([]); Ie=function(a,b){if(b)for(var c=0,d=b.length;c<d;++c)if(a===b[c])throw new TypeError("Converting circular structure to JSON");d=typeof a;if("undefined"!==d){c=Array.prototype.slice.call(b||[],0);c[c.length]=a;b=[];var e=Be(a);if(null!=a&&"function"===typeof a.toJSON&&(Object.prototype.hasOwnProperty.call(a,"toJSON")||(e!==He||a.constructor!==Array&&a.constructor!==Object)&&(e!==Ge||a.constructor!==Array&&a.constructor!==Object)&&e!==Fe&&e!==Ce&&e!==Ee&&e!==De))return Ie(a.toJSON.call(a),c);if(null== a)b[b.length]="null";else if(e===Ce)a=Number(a),(0,window.isNaN)(a)||(0,window.isNaN)(a-a)?a="null":-0===a&&0>1/a&&(a="-0"),b[b.length]=String(a);else if(e===Ee)b[b.length]=String(!!Number(a));else{if(e===De)return Ie(a.toISOString.call(a),c);if(e===He&&Be(a.length)===Ce){b[b.length]="[";var f=0;for(d=Number(a.length)>>0;f<d;++f)f&&(b[b.length]=","),b[b.length]=Ie(a[f],c)||"null";b[b.length]="]"}else if(e==Fe&&Be(a.length)===Ce){b[b.length]='"';f=0;for(c=Number(a.length)>>0;f<c;++f)d=String.prototype.charAt.call(a, f),e=String.prototype.charCodeAt.call(a,f),b[b.length]="\b"===d?"\\b":"\f"===d?"\\f":"\n"===d?"\\n":"\r"===d?"\\r":"\t"===d?"\\t":"\\"===d||'"'===d?"\\"+d:31>=e?"\\u"+(e+65536).toString(16).substr(1):32<=e&&65535>=e?d:"\ufffd";b[b.length]='"'}else if("object"===d){b[b.length]="{";d=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e=Ie(a[f],c),void 0!==e&&(d++&&(b[b.length]=","),b[b.length]=Ie(f),b[b.length]=":",b[b.length]=e));b[b.length]="}"}else return}return b.join("")}};Je=/[\0-\x07\x0b\x0e-\x1f]/; Ke=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/;Le=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/;Me=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/;Ne=/"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g;Oe=/-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g;Pe=/[ \t\n\r]+/g;Qe=/[^"]:/;Re=/""/g;Se=/true|false|null/g;Te=/00/;Ue=/[\{]([^0\}]|0[^:])/;Ve=/(^|\[)[,:]|[,:](\]|\}|[,:]|$)/;We=/[^\[,:][\[\{]/;Xe=/^(\{|\}|\[|\]|,|:|0)+/;Ze=/\u2028/g; $e=/\u2029/g; af=function(a){a=String(a);if(Je.test(a)||Ke.test(a)||Le.test(a)||Me.test(a))return!1;var b=a.replace(Ne,'""');b=b.replace(Oe,"0");b=b.replace(Pe,"");if(Qe.test(b))return!1;b=b.replace(Re,"0");b=b.replace(Se,"0");if(Te.test(b)||Ue.test(b)||Ve.test(b)||We.test(b)||!b||(b=b.replace(Xe,"")))return!1;a=a.replace(Ze,"\\u2028").replace($e,"\\u2029");b=void 0;try{b=ze?[Ae(a)]:eval("(function (var_args) {\n return Array.prototype.slice.call(arguments, 0);\n})(\n"+a+"\n)")}catch(c){return!1}return b&&1=== b.length?b[0]:!1};bf=function(){var a=((_.m.document||{}).scripts||[]).length;if((void 0===xe||void 0===ze||ye!==a)&&-1!==ye){xe=ze=!1;ye=-1;try{try{ze=!!_.m.JSON&&'{"a":[3,true,"1970-01-01T00:00:00.000Z"]}'===_.m.JSON.stringify.call(_.m.JSON,{a:[3,!0,new Date(0)],c:function(){}})&&!0===Ae("true")&&3===Ae('[{"a":3}]')[0].a}catch(b){}xe=ze&&!Ae("[00]")&&!Ae('"\u0007"')&&!Ae('"\\0"')&&!Ae('"\\v"')}finally{ye=a}}};_.cf=function(a){if(-1===ye)return!1;bf();return(xe?Ae:af)(a)}; _.df=function(a){if(-1!==ye)return bf(),ze?_.m.JSON.stringify.call(_.m.JSON,a):Ie(a)};ef=!Date.prototype.toISOString||"function"!==typeof Date.prototype.toISOString||"1970-01-01T00:00:00.000Z"!==(new Date(0)).toISOString(); ff=function(){var a=Date.prototype.getUTCFullYear.call(this);return[0>a?"-"+String(1E6-a).substr(1):9999>=a?String(1E4+a).substr(1):"+"+String(1E6+a).substr(1),"-",String(101+Date.prototype.getUTCMonth.call(this)).substr(1),"-",String(100+Date.prototype.getUTCDate.call(this)).substr(1),"T",String(100+Date.prototype.getUTCHours.call(this)).substr(1),":",String(100+Date.prototype.getUTCMinutes.call(this)).substr(1),":",String(100+Date.prototype.getUTCSeconds.call(this)).substr(1),".",String(1E3+Date.prototype.getUTCMilliseconds.call(this)).substr(1), "Z"].join("")};Date.prototype.toISOString=ef?ff:Date.prototype.toISOString; _.w("gadgets.json.stringify",_.df);_.w("gadgets.json.parse",_.cf); _.Xj=window.gapi&&window.gapi.util||{}; _.Zj=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!==a&&"chrome-search"!==a&&"app"!==a)throw Error("L`"+a);c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0, d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}; _.Xj.Qa=function(a){return _.Zj(a)}; _.qe=window.console;_.ue=function(a){_.qe&&_.qe.log&&_.qe.log(a)};_.ve=function(){}; _.I=_.I||{}; _.I=_.I||{}; (function(){var a=null;_.I.xc=function(b){var c="undefined"===typeof b;if(null!==a&&c)return a;var d={};b=b||window.location.href;var e=b.indexOf("?"),f=b.indexOf("#");b=(-1===f?b.substr(e+1):[b.substr(e+1,f-e-1),"&",b.substr(f+1)].join("")).split("&");e=window.decodeURIComponent?window.decodeURIComponent:window.unescape;f=0;for(var h=b.length;f<h;++f){var k=b[f].indexOf("=");if(-1!==k){var l=b[f].substring(0,k);k=b[f].substring(k+1);k=k.replace(/\+/g," ");try{d[l]=e(k)}catch(n){}}}c&&(a=d);return d}; _.I.xc()})(); _.w("gadgets.util.getUrlParameters",_.I.xc); _.Xd(_.Nd.location.href,"rpctoken")&&_.be(_.Qd,"unload",function(){}); var dm=function(){this.$r={tK:Xl?"../"+Xl:null,NQ:Yl,GH:Zl,C9:$l,eu:am,l$:bm};this.Ee=_.Nd;this.gK=this.JQ;this.tR=/MSIE\s*[0-8](\D|$)/.test(window.navigator.userAgent);if(this.$r.tK){this.Ee=this.$r.GH(this.Ee,this.$r.tK);var a=this.Ee.document,b=a.createElement("script");b.setAttribute("type","text/javascript");b.text="window.doPostMsg=function(w,s,o) {window.setTimeout(function(){w.postMessage(s,o);},0);};";a.body.appendChild(b);this.gK=this.Ee.doPostMsg}this.kD={};this.FD={};a=(0,_.A)(this.hA, this);_.be(this.Ee,"message",a);_.Td(_.ce,"RPMQ",[]).push(a);this.Ee!=this.Ee.parent&&cm(this,this.Ee.parent,'{"h":"'+(0,window.escape)(this.Ee.name)+'"}',"*")},em=function(a){var b=null;0===a.indexOf('{"h":"')&&a.indexOf('"}')===a.length-2&&(b=(0,window.unescape)(a.substring(6,a.length-2)));return b},fm=function(a){if(!/^\s*{/.test(a))return!1;a=_.cf(a);return null!==a&&"object"===typeof a&&!!a.g}; dm.prototype.hA=function(a){var b=String(a.data);(0,_.ve)("gapi.rpc.receive("+$l+"): "+(!b||512>=b.length?b:b.substr(0,512)+"... ("+b.length+" bytes)"));var c=0!==b.indexOf("!_");c||(b=b.substring(2));var d=fm(b);if(!c&&!d){if(!d&&(c=em(b))){if(this.kD[c])this.kD[c]();else this.FD[c]=1;return}var e=a.origin,f=this.$r.NQ;this.tR?_.Nd.setTimeout(function(){f(b,e)},0):f(b,e)}};dm.prototype.Dc=function(a,b){".."===a||this.FD[a]?(b(),delete this.FD[a]):this.kD[a]=b}; var cm=function(a,b,c,d){var e=fm(c)?"":"!_";(0,_.ve)("gapi.rpc.send("+$l+"): "+(!c||512>=c.length?c:c.substr(0,512)+"... ("+c.length+" bytes)"));a.gK(b,e+c,d)};dm.prototype.JQ=function(a,b,c){a.postMessage(b,c)};dm.prototype.send=function(a,b,c){(a=this.$r.GH(this.Ee,a))&&!a.closed&&cm(this,a,b,c)}; var gm,hm,im,jm,km,lm,mm,nm,Xl,$l,om,pm,qm,rm,Zl,am,sm,tm,ym,zm,Bm,bm,Dm,Cm,um,vm,Em,Yl,Fm,Gm;gm=0;hm=[];im={};jm={};km=_.I.xc;lm=km();mm=lm.rpctoken;nm=lm.parent||_.Qd.referrer;Xl=lm.rly;$l=Xl||(_.Nd!==_.Nd.top||_.Nd.opener)&&_.Nd.name||"..";om=null;pm={};qm=function(){};rm={send:qm,Dc:qm}; Zl=function(a,b){"/"==b.charAt(0)&&(b=b.substring(1),a=_.Nd.top);for(b=b.split("/");b.length;){var c=b.shift();"{"==c.charAt(0)&&"}"==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(".."===c)a=a==a.parent?a.opener:a.parent;else if(".."!==c&&a.frames[c]){if(a=a.frames[c],!("postMessage"in a))throw"Not a window";}else return null}return a};am=function(a){return(a=im[a])&&a.zk}; sm=function(a){if(a.f in{})return!1;var b=a.t,c=im[a.r];a=a.origin;return c&&(c.zk===b||!c.zk&&!b)&&(a===c.origin||"*"===c.origin)};tm=function(a){var b=a.id.split("/"),c=b[b.length-1],d=a.origin;return function(a){var b=a.origin;return a.f==c&&(d==b||"*"==d)}};_.wm=function(a,b,c){a=um(a);jm[a.name]={Lg:b,Nq:a.Nq,zo:c||sm};vm()};_.xm=function(a){delete jm[um(a).name]};ym={};zm=function(a,b){(a=ym["_"+a])&&a[1](this)&&a[0].call(this,b)}; Bm=function(a){var b=a.c;if(!b)return qm;var c=a.r,d=a.g?"legacy__":"";return function(){var a=[].slice.call(arguments,0);a.unshift(c,d+"__cb",null,b);_.Am.apply(null,a)}};bm=function(a){om=a};Dm=function(a){pm[a]||(pm[a]=_.Nd.setTimeout(function(){pm[a]=!1;Cm(a)},0))};Cm=function(a){var b=im[a];if(b&&b.ready){var c=b.dC;for(b.dC=[];c.length;)rm.send(a,_.df(c.shift()),b.origin)}};um=function(a){return 0===a.indexOf("legacy__")?{name:a.substring(8),Nq:!0}:{name:a,Nq:!1}}; vm=function(){for(var a=_.H("rpc/residenceSec")||60,b=(new Date).getTime()/1E3,c=0,d;d=hm[c];++c){var e=d.hm;if(!e||0<a&&b-d.timestamp>a)hm.splice(c,1),--c;else{var f=e.s,h=jm[f]||jm["*"];if(h)if(hm.splice(c,1),--c,e.origin=d.origin,d=Bm(e),e.callback=d,h.zo(e)){if("__cb"!==f&&!!h.Nq!=!!e.g)break;e=h.Lg.apply(e,e.a);void 0!==e&&d(e)}else(0,_.ve)("gapi.rpc.rejected("+$l+"): "+f)}}};Em=function(a,b,c){hm.push({hm:a,origin:b,timestamp:(new Date).getTime()/1E3});c||vm()}; Yl=function(a,b){a=_.cf(a);Em(a,b,!1)};Fm=function(a){for(;a.length;)Em(a.shift(),this.origin,!0);vm()};Gm=function(a){var b=!1;a=a.split("|");var c=a[0];0<=c.indexOf("/")&&(b=!0);return{id:c,origin:a[1]||"*",QA:b}}; _.Hm=function(a,b,c,d){var e=Gm(a);d&&(_.Nd.frames[e.id]=_.Nd.frames[e.id]||d);a=e.id;if(!im.hasOwnProperty(a)){c=c||null;d=e.origin;if(".."===a)d=_.Xj.Qa(nm),c=c||mm;else if(!e.QA){var f=_.Qd.getElementById(a);f&&(f=f.src,d=_.Xj.Qa(f),c=c||km(f).rpctoken)}"*"===e.origin&&d||(d=e.origin);im[a]={zk:c,dC:[],origin:d,xY:b,mK:function(){var b=a;im[b].ready=1;Cm(b)}};rm.Dc(a,im[a].mK)}return im[a].mK}; _.Am=function(a,b,c,d){a=a||"..";_.Hm(a);a=a.split("|",1)[0];var e=b,f=[].slice.call(arguments,3),h=c,k=$l,l=mm,n=im[a],p=k,q=Gm(a);if(n&&".."!==a){if(q.QA){if(!(l=im[a].xY)){l=om?om.substring(1).split("/"):[$l];p=l.length-1;for(var t=_.Nd.parent;t!==_.Nd.top;){var x=t.parent;if(!p--){for(var v=null,y=x.frames.length,F=0;F<y;++F)x.frames[F]==t&&(v=F);l.unshift("{"+v+"}")}t=x}l="/"+l.join("/")}p=l}else p=k="..";l=n.zk}h&&q?(n=sm,q.QA&&(n=tm(q)),ym["_"+ ++gm]=[h,n],h=gm):h=null;f={s:e,f:k,r:p,t:l,c:h, a:f};e=um(e);f.s=e.name;f.g=e.Nq;im[a].dC.push(f);Dm(a)};if("function"===typeof _.Nd.postMessage||"object"===typeof _.Nd.postMessage)rm=new dm,_.wm("__cb",zm,function(){return!0}),_.wm("_processBatch",Fm,function(){return!0}),_.Hm(".."); _.Of=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};_.Pf=function(a,b){a:{for(var c=a.length,d=_.u(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:_.u(a)?a.charAt(b):a[b]};_.Qf=[];_.Rf=[];_.Sf=!1;_.Tf=function(a){_.Qf[_.Qf.length]=a;if(_.Sf)for(var b=0;b<_.Rf.length;b++)a((0,_.A)(_.Rf[b].wrap,_.Rf[b]))}; _.Hg=function(a){return function(){return a}}(!0); var Ng;_.Ig=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,_.Ig);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};_.z(_.Ig,Error);_.Ig.prototype.name="CustomError";_.Jg=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};_.Kg=function(a){var b={},c;for(c in a)b[c]=a[c];return b};_.Lg=function(a,b){a.src=_.Sc(b)};_.Mg=function(a){return a};Ng=function(a,b){this.FQ=a;this.lY=b;this.mv=0;this.Pe=null}; Ng.prototype.get=function(){if(0<this.mv){this.mv--;var a=this.Pe;this.Pe=a.next;a.next=null}else a=this.FQ();return a};Ng.prototype.put=function(a){this.lY(a);100>this.mv&&(this.mv++,a.next=this.Pe,this.Pe=a)}; var Og,Qg,Rg,Pg;Og=function(a){_.m.setTimeout(function(){throw a;},0)};_.Sg=function(a){a=Pg(a);!_.Xa(_.m.setImmediate)||_.m.Window&&_.m.Window.prototype&&!_.Db("Edge")&&_.m.Window.prototype.setImmediate==_.m.setImmediate?(Qg||(Qg=Rg()),Qg(a)):_.m.setImmediate(a)}; Rg=function(){var a=_.m.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!_.Db("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host;a=(0,_.A)(function(a){if(("*"== d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!_.Ib()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(_.r(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var b=window.document.createElement("SCRIPT"); b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};window.document.documentElement.appendChild(b)}:function(a){_.m.setTimeout(a,0)}};Pg=_.Mg;_.Tf(function(a){Pg=a}); var Tg=function(){this.Ow=this.Co=null},Vg=new Ng(function(){return new Ug},function(a){a.reset()});Tg.prototype.add=function(a,b){var c=Vg.get();c.set(a,b);this.Ow?this.Ow.next=c:this.Co=c;this.Ow=c};Tg.prototype.remove=function(){var a=null;this.Co&&(a=this.Co,this.Co=this.Co.next,this.Co||(this.Ow=null),a.next=null);return a};var Ug=function(){this.next=this.scope=this.Lg=null};Ug.prototype.set=function(a,b){this.Lg=a;this.scope=b;this.next=null}; Ug.prototype.reset=function(){this.next=this.scope=this.Lg=null}; var Wg,Xg,Yg,Zg,ah;_.$g=function(a,b){Wg||Xg();Yg||(Wg(),Yg=!0);Zg.add(a,b)};Xg=function(){if(-1!=String(_.m.Promise).indexOf("[native code]")){var a=_.m.Promise.resolve(void 0);Wg=function(){a.then(ah)}}else Wg=function(){_.Sg(ah)}};Yg=!1;Zg=new Tg;ah=function(){for(var a;a=Zg.remove();){try{a.Lg.call(a.scope)}catch(b){Og(b)}Vg.put(a)}Yg=!1}; _.bh=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0};_.ch=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var eh,fh,ph,nh;_.dh=function(a,b){this.Da=0;this.Si=void 0;this.Tm=this.yj=this.hb=null;this.iu=this.bz=!1;if(a!=_.Va)try{var c=this;a.call(b,function(a){c.Xg(2,a)},function(a){c.Xg(3,a)})}catch(d){this.Xg(3,d)}};eh=function(){this.next=this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};eh.prototype.reset=function(){this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};fh=new Ng(function(){return new eh},function(a){a.reset()});_.gh=function(a,b,c){var d=fh.get();d.Yq=a;d.On=b;d.context=c;return d}; _.hh=function(a){if(a instanceof _.dh)return a;var b=new _.dh(_.Va);b.Xg(2,a);return b};_.ih=function(a){return new _.dh(function(b,c){c(a)})};_.kh=function(a,b,c){jh(a,b,c,null)||_.$g(_.Of(b,a))};_.mh=function(){var a,b,c=new _.dh(function(c,e){a=c;b=e});return new lh(c,a,b)};_.dh.prototype.then=function(a,b,c){return nh(this,_.Xa(a)?a:null,_.Xa(b)?b:null,c)};_.bh(_.dh);_.dh.prototype.Aw=function(a,b){return nh(this,null,a,b)}; _.dh.prototype.cancel=function(a){0==this.Da&&_.$g(function(){var b=new oh(a);ph(this,b)},this)};ph=function(a,b){if(0==a.Da)if(a.hb){var c=a.hb;if(c.yj){for(var d=0,e=null,f=null,h=c.yj;h&&(h.Wo||(d++,h.Ok==a&&(e=h),!(e&&1<d)));h=h.next)e||(f=h);e&&(0==c.Da&&1==d?ph(c,b):(f?(d=f,d.next==c.Tm&&(c.Tm=d),d.next=d.next.next):qh(c),rh(c,e,3,b)))}a.hb=null}else a.Xg(3,b)};_.th=function(a,b){a.yj||2!=a.Da&&3!=a.Da||sh(a);a.Tm?a.Tm.next=b:a.yj=b;a.Tm=b}; nh=function(a,b,c,d){var e=_.gh(null,null,null);e.Ok=new _.dh(function(a,h){e.Yq=b?function(c){try{var e=b.call(d,c);a(e)}catch(n){h(n)}}:a;e.On=c?function(b){try{var e=c.call(d,b);!_.r(e)&&b instanceof oh?h(b):a(e)}catch(n){h(n)}}:h});e.Ok.hb=a;_.th(a,e);return e.Ok};_.dh.prototype.z_=function(a){this.Da=0;this.Xg(2,a)};_.dh.prototype.A_=function(a){this.Da=0;this.Xg(3,a)}; _.dh.prototype.Xg=function(a,b){0==this.Da&&(this===b&&(a=3,b=new TypeError("Promise cannot resolve to itself")),this.Da=1,jh(b,this.z_,this.A_,this)||(this.Si=b,this.Da=a,this.hb=null,sh(this),3!=a||b instanceof oh||uh(this,b)))}; var jh=function(a,b,c,d){if(a instanceof _.dh)return _.th(a,_.gh(b||_.Va,c||null,d)),!0;if(_.ch(a))return a.then(b,c,d),!0;if(_.Ya(a))try{var e=a.then;if(_.Xa(e))return vh(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1},vh=function(a,b,c,d,e){var f=!1,h=function(a){f||(f=!0,c.call(e,a))},k=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,h,k)}catch(l){k(l)}},sh=function(a){a.bz||(a.bz=!0,_.$g(a.eR,a))},qh=function(a){var b=null;a.yj&&(b=a.yj,a.yj=b.next,b.next=null);a.yj||(a.Tm=null);return b}; _.dh.prototype.eR=function(){for(var a;a=qh(this);)rh(this,a,this.Da,this.Si);this.bz=!1};var rh=function(a,b,c,d){if(3==c&&b.On&&!b.Wo)for(;a&&a.iu;a=a.hb)a.iu=!1;if(b.Ok)b.Ok.hb=null,wh(b,c,d);else try{b.Wo?b.Yq.call(b.context):wh(b,c,d)}catch(e){xh.call(null,e)}fh.put(b)},wh=function(a,b,c){2==b?a.Yq.call(a.context,c):a.On&&a.On.call(a.context,c)},uh=function(a,b){a.iu=!0;_.$g(function(){a.iu&&xh.call(null,b)})},xh=Og,oh=function(a){_.Ig.call(this,a)};_.z(oh,_.Ig);oh.prototype.name="cancel"; var lh=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c}; _.Im=function(a){return new _.dh(a)}; _.Jm=_.Jm||{};_.Jm.oT=function(){var a=0,b=0;window.self.innerHeight?(a=window.self.innerWidth,b=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,b=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,b=window.document.body.clientHeight);return{width:a,height:b}}; _.Jm=_.Jm||{}; (function(){function a(a,c){window.getComputedStyle(a,"").getPropertyValue(c).match(/^([0-9]+)/);return(0,window.parseInt)(RegExp.$1,10)}_.Jm.Xc=function(){var b=_.Jm.oT().height,c=window.document.body,d=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&d.scrollHeight)return d.scrollHeight!==b?d.scrollHeight:d.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){b=0;for(c=[window.document.body];0<c.length;){var e=c.shift();d=e.childNodes;if("undefined"!== typeof e.style){var f=e.style.overflowY;f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.overflowY:null);if("visible"!=f&&"inherit"!=f&&(f=e.style.height,f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.height:""),0<f.length&&"auto"!=f))continue}for(e=0;e<d.length;e++){f=d[e];if("undefined"!==typeof f.offsetTop&&"undefined"!==typeof f.offsetHeight){var h=f.offsetTop+f.offsetHeight+a(f,"margin-bottom");b=Math.max(b,h)}c.push(f)}}return b+a(window.document.body,"border-bottom")+ a(window.document.body,"margin-bottom")+a(window.document.body,"padding-bottom")}if(c&&d)return e=d.scrollHeight,f=d.offsetHeight,d.clientHeight!==f&&(e=c.scrollHeight,f=c.offsetHeight),e>b?e>f?e:f:e<f?e:f}})(); var fl;fl=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/u\/(\d)\//; _.gl=function(a){var b=_.H("googleapis.config/sessionIndex");"string"===typeof b&&254<b.length&&(b=null);null==b&&(b=window.__X_GOOG_AUTHUSER);"string"===typeof b&&254<b.length&&(b=null);if(null==b){var c=window.google;c&&(b=c.authuser)}"string"===typeof b&&254<b.length&&(b=null);null==b&&(a=a||window.location.href,b=_.Xd(a,"authuser")||null,null==b&&(b=(b=a.match(fl))?b[1]:null));if(null==b)return null;b=String(b);254<b.length&&(b=null);return b}; var ll=function(){this.wj=-1};_.ml=function(){this.wj=64;this.Fc=[];this.Rx=[];this.rP=[];this.zv=[];this.zv[0]=128;for(var a=1;a<this.wj;++a)this.zv[a]=0;this.Dw=this.An=0;this.reset()};_.z(_.ml,ll);_.ml.prototype.reset=function(){this.Fc[0]=1732584193;this.Fc[1]=4023233417;this.Fc[2]=2562383102;this.Fc[3]=271733878;this.Fc[4]=3285377520;this.Dw=this.An=0}; var nl=function(a,b,c){c||(c=0);var d=a.rP;if(_.u(b))for(var e=0;16>e;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.Fc[0];c=a.Fc[1];var h=a.Fc[2],k=a.Fc[3],l=a.Fc[4];for(e=0;80>e;e++){if(40>e)if(20>e){f=k^c&(h^k);var n=1518500249}else f=c^h^k,n=1859775393;else 60>e?(f=c&h|k&(c|h),n=2400959708): (f=c^h^k,n=3395469782);f=(b<<5|b>>>27)+f+l+n+d[e]&4294967295;l=k;k=h;h=(c<<30|c>>>2)&4294967295;c=b;b=f}a.Fc[0]=a.Fc[0]+b&4294967295;a.Fc[1]=a.Fc[1]+c&4294967295;a.Fc[2]=a.Fc[2]+h&4294967295;a.Fc[3]=a.Fc[3]+k&4294967295;a.Fc[4]=a.Fc[4]+l&4294967295}; _.ml.prototype.update=function(a,b){if(null!=a){_.r(b)||(b=a.length);for(var c=b-this.wj,d=0,e=this.Rx,f=this.An;d<b;){if(0==f)for(;d<=c;)nl(this,a,d),d+=this.wj;if(_.u(a))for(;d<b;){if(e[f]=a.charCodeAt(d),++f,++d,f==this.wj){nl(this,e);f=0;break}}else for(;d<b;)if(e[f]=a[d],++f,++d,f==this.wj){nl(this,e);f=0;break}}this.An=f;this.Dw+=b}}; _.ml.prototype.digest=function(){var a=[],b=8*this.Dw;56>this.An?this.update(this.zv,56-this.An):this.update(this.zv,this.wj-(this.An-56));for(var c=this.wj-1;56<=c;c--)this.Rx[c]=b&255,b/=256;nl(this,this.Rx);for(c=b=0;5>c;c++)for(var d=24;0<=d;d-=8)a[b]=this.Fc[c]>>d&255,++b;return a}; _.ol=function(){this.jD=new _.ml};_.g=_.ol.prototype;_.g.reset=function(){this.jD.reset()};_.g.qM=function(a){this.jD.update(a)};_.g.pG=function(){return this.jD.digest()};_.g.HD=function(a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var b=[],c=0,d=a.length;c<d;++c)b.push(a.charCodeAt(c));this.qM(b)};_.g.Ig=function(){for(var a=this.pG(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}; var Lm,Km,Rm,Sm,Mm,Pm,Nm,Tm,Om;_.Qm=function(){if(Km){var a=new _.Nd.Uint32Array(1);Lm.getRandomValues(a);a=Number("0."+a[0])}else a=Mm,a+=(0,window.parseInt)(Nm.substr(0,20),16),Nm=Om(Nm),a/=Pm+Math.pow(16,20);return a};Lm=_.Nd.crypto;Km=!1;Rm=0;Sm=0;Mm=1;Pm=0;Nm="";Tm=function(a){a=a||_.Nd.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;Mm=Mm*b%Pm;0<Rm&&++Sm==Rm&&_.ae(_.Nd,"mousemove",Tm,"remove","de")};Om=function(a){var b=new _.ol;b.HD(a);return b.Ig()}; Km=!!Lm&&"function"==typeof Lm.getRandomValues;Km||(Pm=1E6*(window.screen.width*window.screen.width+window.screen.height),Nm=Om(_.Qd.cookie+"|"+_.Qd.location+"|"+(new Date).getTime()+"|"+Math.random()),Rm=_.H("random/maxObserveMousemove")||0,0!=Rm&&_.be(_.Nd,"mousemove",Tm)); var Vm,Zm,$m,an,bn,cn,dn,en,fn,gn,hn,jn,kn,on,qn,rn,sn,tn,un,vn;_.Um=function(a,b){b=b instanceof _.Wc?b:_.ad(b);a.href=_.Xc(b)};_.Wm=function(a){return!!a&&"object"===typeof a&&_.Sd.test(a.push)};_.Xm=function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1};_.Ym=function(a,b){if(!a)throw Error(b||"");};Zm=/&/g;$m=/</g;an=/>/g;bn=/"/g;cn=/'/g;dn=function(a){return String(a).replace(Zm,"&").replace($m,"<").replace(an,">").replace(bn,""").replace(cn,"'")};en=/[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g; fn=/%([a-f]|[0-9a-fA-F][a-f])/g;gn=/^(https?|ftp|file|chrome-extension):$/i; hn=function(a){a=String(a);a=a.replace(en,function(a){try{return(0,window.encodeURIComponent)(a)}catch(f){return(0,window.encodeURIComponent)(a.replace(/^[^%]+$/g,"\ufffd"))}}).replace(_.Zd,function(a){return a.replace(/%/g,"%25")}).replace(fn,function(a){return a.toUpperCase()});a=a.match(_.Yd)||[];var b=_.D(),c=function(a){return a.replace(/\\/g,"%5C").replace(/\^/g,"%5E").replace(/`/g,"%60").replace(/\{/g,"%7B").replace(/\|/g,"%7C").replace(/\}/g,"%7D")},d=!!(a[1]||"").match(gn);b.ep=c((a[1]|| "")+(a[2]||"")+(a[3]||(a[2]&&d?"/":"")));d=function(a){return c(a.replace(/\?/g,"%3F").replace(/#/g,"%23"))};b.query=a[5]?[d(a[5])]:[];b.rh=a[7]?[d(a[7])]:[];return b};jn=function(a){return a.ep+(0<a.query.length?"?"+a.query.join("&"):"")+(0<a.rh.length?"#"+a.rh.join("&"):"")};kn=function(a,b){var c=[];if(a)for(var d in a)if(_.Ud(a,d)&&null!=a[d]){var e=b?b(a[d]):a[d];c.push((0,window.encodeURIComponent)(d)+"="+(0,window.encodeURIComponent)(e))}return c}; _.ln=function(a,b,c,d){a=hn(a);a.query.push.apply(a.query,kn(b,d));a.rh.push.apply(a.rh,kn(c,d));return jn(a)}; _.mn=function(a,b){var c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));var d="";2E3<b.length&&(c=b,b=b.substr(0,2E3),b=b.replace(_.$d,""),d=c.substr(b.length));var e=a.createElement("div");a=a.createElement("a");c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));a.href=b;e.appendChild(a);e.innerHTML=e.innerHTML;b=String(e.firstChild.href);e.parentNode&&e.parentNode.removeChild(e);c=hn(b+d);b=c.ep;c.query.length&& (b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));return b};_.nn=/^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;on=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.pn=function(a,b){var c=_.Td(_.ce,"watt",_.D());_.Td(c,a,b)};qn=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/b\/(\d{10,21})\//; rn=function(a){var b=_.H("googleapis.config/sessionDelegate");"string"===typeof b&&21<b.length&&(b=null);null==b&&(b=(a=(a||window.location.href).match(qn))?a[1]:null);if(null==b)return null;b=String(b);21<b.length&&(b=null);return b};sn=function(){var a=_.ce.onl;if(!a){a=_.D();_.ce.onl=a;var b=_.D();a.e=function(a){var c=b[a];c&&(delete b[a],c())};a.a=function(a,d){b[a]=d};a.r=function(a){delete b[a]}}return a};tn=function(a,b){b=b.onload;return"function"===typeof b?(sn().a(a,b),b):null}; un=function(a){_.Ym(/^\w+$/.test(a),"Unsupported id - "+a);sn();return'onload="window.___jsl.onl.e("'+a+'")"'};vn=function(a){sn().r(a)}; var xn,yn,Cn;_.wn={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};xn={allowtransparency:!0,onload:!0};yn=0;_.zn=function(a,b){var c=0;do var d=b.id||["I",yn++,"_",(new Date).getTime()].join("");while(a.getElementById(d)&&5>++c);_.Ym(5>c,"Error creating iframe id");return d};_.An=function(a,b){return a?b+"/"+a:""}; _.Bn=function(a,b,c,d){var e={},f={};a.documentMode&&9>a.documentMode&&(e.hostiemode=a.documentMode);_.Vd(d.queryParams||{},e);_.Vd(d.fragmentParams||{},f);var h=d.pfname;var k=_.D();_.H("iframes/dropLegacyIdParam")||(k.id=c);k._gfid=c;k.parent=a.location.protocol+"//"+a.location.host;c=_.Xd(a.location.href,"parent");h=h||"";!h&&c&&(h=_.Xd(a.location.href,"_gfid","")||_.Xd(a.location.href,"id",""),h=_.An(h,_.Xd(a.location.href,"pfname","")));h||(c=_.cf(_.Xd(a.location.href,"jcp","")))&&"object"== typeof c&&(h=_.An(c.id,c.pfname));k.pfname=h;d.connectWithJsonParam&&(h={},h.jcp=_.df(k),k=h);h=_.Xd(b,"rpctoken")||e.rpctoken||f.rpctoken;h||(h=d.rpctoken||String(Math.round(1E8*_.Qm())),k.rpctoken=h);d.rpctoken=h;_.Vd(k,d.connectWithQueryParams?e:f);k=a.location.href;a=_.D();(h=_.Xd(k,"_bsh",_.ce.bsh))&&(a._bsh=h);(k=_.ce.dpo?_.ce.h:_.Xd(k,"jsh",_.ce.h))&&(a.jsh=k);d.hintInFragment?_.Vd(a,f):_.Vd(a,e);return _.ln(b,e,f,d.paramsSerializer)}; Cn=function(a){_.Ym(!a||_.nn.test(a),"Illegal url for new iframe - "+a)}; _.Dn=function(a,b,c,d,e){Cn(c.src);var f,h=tn(d,c),k=h?un(d):"";try{window.document.all&&(f=a.createElement('<iframe frameborder="'+dn(String(c.frameborder))+'" scrolling="'+dn(String(c.scrolling))+'" '+k+' name="'+dn(String(c.name))+'"/>'))}catch(n){}finally{f||(f=a.createElement("iframe"),h&&(f.onload=function(){f.onload=null;h.call(this)},vn(d)))}f.setAttribute("ng-non-bindable","");for(var l in c)a=c[l],"style"===l&&"object"===typeof a?_.Vd(a,f.style):xn[l]||f.setAttribute(l,String(a));(l=e&& e.beforeNode||null)||e&&e.dontclear||on(b);b.insertBefore(f,l);f=l?l.previousSibling:b.lastChild;c.allowtransparency&&(f.allowTransparency=!0);return f}; var En,Hn;En=/^:[\w]+$/;_.Fn=/:([a-zA-Z_]+):/g;_.Gn=function(){var a=_.gl()||"0",b=rn();var c=_.gl(void 0)||a;var d=rn(void 0),e="";c&&(e+="u/"+(0,window.encodeURIComponent)(String(c))+"/");d&&(e+="b/"+(0,window.encodeURIComponent)(String(d))+"/");c=e||null;(e=(d=!1===_.H("isLoggedIn"))?"_/im/":"")&&(c="");var f=_.H("iframes/:socialhost:"),h=_.H("iframes/:im_socialhost:");return Vm={socialhost:f,ctx_socialhost:d?h:f,session_index:a,session_delegate:b,session_prefix:c,im_prefix:e}}; Hn=function(a,b){return _.Gn()[b]||""};_.In=function(a){return _.mn(_.Qd,a.replace(_.Fn,Hn))};_.Jn=function(a){var b=a;En.test(a)&&(b=_.H("iframes/"+b.substring(1)+"/url"),_.Ym(!!b,"Unknown iframe url config for - "+a));return _.In(b)}; _.Kn=function(a,b,c){var d=c||{};c=d.attributes||{};_.Ym(!(d.allowPost||d.forcePost)||!c.onload,"onload is not supported by post iframe (allowPost or forcePost)");a=_.Jn(a);c=b.ownerDocument||_.Qd;var e=_.zn(c,d);a=_.Bn(c,a,e,d);var f=_.D();_.Vd(_.wn,f);_.Vd(d.attributes,f);f.name=f.id=e;f.src=a;d.eurl=a;var h=d||{},k=!!h.allowPost;if(h.forcePost||k&&2E3<a.length){h=hn(a);f.src="";f["data-postorigin"]=a;a=_.Dn(c,b,f,e);if(-1!=window.navigator.userAgent.indexOf("WebKit")){var l=a.contentWindow.document; l.open();f=l.createElement("div");k={};var n=e+"_inner";k.name=n;k.src="";k.style="display:none";_.Dn(c,f,k,n,d)}f=(d=h.query[0])?d.split("&"):[];d=[];for(k=0;k<f.length;k++)n=f[k].split("=",2),d.push([(0,window.decodeURIComponent)(n[0]),(0,window.decodeURIComponent)(n[1])]);h.query=[];f=jn(h);_.Ym(_.nn.test(f),"Invalid URL: "+f);h=c.createElement("form");h.action=f;h.method="POST";h.target=e;h.style.display="none";for(e=0;e<d.length;e++)f=c.createElement("input"),f.type="hidden",f.name=d[e][0],f.value= d[e][1],h.appendChild(f);b.appendChild(h);h.submit();h.parentNode.removeChild(h);l&&l.close();b=a}else b=_.Dn(c,b,f,e,d);return b}; _.Ln=function(a){this.R=a};_.g=_.Ln.prototype;_.g.value=function(){return this.R};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(9); var Mn=function(a){this.R=a};_.g=Mn.prototype;_.g.no=function(a){this.R.anchor=a;return this};_.g.vf=function(){return this.R.anchor};_.g.IC=function(a){this.R.anchorPosition=a;return this};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width}; _.Nn=function(a){this.R=a||{}};_.g=_.Nn.prototype;_.g.value=function(){return this.R};_.g.setUrl=function(a){this.R.url=a;return this};_.g.getUrl=function(){return this.R.url};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(8);_.g.Zi=function(a){this.R.id=a};_.g.ka=function(){return this.R.id};_.g.tk=_.ea(10);_.On=function(a,b){a.R.queryParams=b;return a};_.Pn=function(a,b){a.R.relayOpen=b;return a};_.Nn.prototype.oo=_.ea(11);_.Nn.prototype.getContext=function(){return this.R.context}; _.Nn.prototype.Qc=function(){return this.R.openerIframe};_.Qn=function(a){return new Mn(a.R)};_.Nn.prototype.hn=function(){this.R.attributes=this.R.attributes||{};return new _.Ln(this.R.attributes)};_.Rn=function(a){a.R.connectWithQueryParams=!0;return a}; var Sn,Yn,Zn,$n,go,fo;_.Ln.prototype.zl=_.rc(9,function(){return this.R.style});_.Nn.prototype.zl=_.rc(8,function(){return this.R.style});Sn=function(a,b){a.R.onload=b};_.Tn=function(a){a.R.closeClickDetection=!0};_.Un=function(a){return a.R.rpctoken};_.Vn=function(a,b){a.R.messageHandlers=b;return a};_.Wn=function(a,b){a.R.messageHandlersFilter=b;return a};_.Xn=function(a){a.R.waitForOnload=!0;return a};Yn=function(a){return(a=a.R.timeout)?a:null}; _.bo=function(a,b,c){if(a){_.Ym(_.Wm(a),"arrayForEach was called with a non array value");for(var d=0;d<a.length;d++)b.call(c,a[d],d)}};_.co=function(a,b,c){if(a)if(_.Wm(a))_.bo(a,b,c);else{_.Ym("object"===typeof a,"objectForEach was called with a non object value");c=c||a;for(var d in a)_.Ud(a,d)&&void 0!==a[d]&&b.call(c,a[d],d)}}; _.eo=function(a){return new _.dh(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},h=function(a){c(a)},k=0,l;k<a.length;k++)l=a[k],_.kh(l,_.Of(f,k),h);else b(e)})};go=function(a){this.resolve=this.reject=null;this.promise=_.Im((0,_.A)(function(a,c){this.resolve=a;this.reject=c},this));a&&(this.promise=fo(this.promise,a))};fo=function(a,b){return a.then(function(a){try{b(a)}catch(d){}return a})}; _.ho=function(a){this.R=a||{}};_.z(_.ho,_.Nn);_.io=function(a,b){a.R.frameName=b;return a};_.ho.prototype.Cd=function(){return this.R.frameName};_.jo=function(a,b){a.R.rpcAddr=b;return a};_.ho.prototype.xl=function(){return this.R.rpcAddr};_.ko=function(a,b){a.R.retAddr=b;return a};_.lo=function(a){return a.R.retAddr};_.ho.prototype.Nh=function(a){this.R.origin=a;return this};_.ho.prototype.Qa=function(){return this.R.origin};_.ho.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.mo=function(a){return a.R.setRpcReady}; _.ho.prototype.qo=function(a){this.R.context=a};var no=function(a,b){a.R._rpcReadyFn=b};_.ho.prototype.Ha=function(){return this.R.iframeEl}; var oo,so,ro;oo=/^[\w\.\-]*$/;_.po=function(a){return a.wd===a.getContext().wd};_.M=function(){return!0};_.qo=function(a){for(var b=_.D(),c=0;c<a.length;c++)b[a[c]]=!0;return function(a){return!!b[a.wd]}};so=function(a,b,c){return function(d){if(!b.Fb){_.Ym(this.origin===b.wd,"Wrong origin "+this.origin+" != "+b.wd);var e=this.callback;d=ro(a,d,b);!c&&0<d.length&&_.eo(d).then(e)}}};ro=function(a,b,c){a=Zn[a];if(!a)return[];for(var d=[],e=0;e<a.length;e++)d.push(_.hh(a[e].call(c,b,c)));return d}; _.to=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");$n[a]={map:b,filter:c}};_.uo=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");_.Td($n,a,{map:{},filter:_.po}).map[b]=c};_.vo=function(a,b){_.Td($n,"_default",{map:{},filter:_.M}).map[a]=b;_.co(_.ao.Ge,function(c){c.register(a,b,_.M)})};_.wo=function(){return _.ao}; _.yo=function(a){a=a||{};this.Fb=!1;this.bK=_.D();this.Ge=_.D();this.Ee=a._window||_.Nd;this.yd=this.Ee.location.href;this.cK=(this.OB=xo(this.yd,"parent"))?xo(this.yd,"pfname"):"";this.Aa=this.OB?xo(this.yd,"_gfid")||xo(this.yd,"id"):"";this.uf=_.An(this.Aa,this.cK);this.wd=_.Xj.Qa(this.yd);if(this.Aa){var b=new _.ho;_.jo(b,a._parentRpcAddr||"..");_.ko(b,a._parentRetAddr||this.Aa);b.Nh(_.Xj.Qa(this.OB||this.yd));_.io(b,this.cK);this.hb=this.uj(b.value())}else this.hb=null};_.g=_.yo.prototype; _.g.Dn=_.ea(3);_.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Ge.length;a++)this.Ge[a].Ca();this.Fb=!0}};_.g.Cd=function(){return this.uf};_.g.vb=function(){return this.Ee};_.g.mb=function(){return this.Ee.document};_.g.gw=_.ea(12);_.g.Ez=function(a){return this.bK[a]}; _.g.uj=function(a){_.Ym(!this.Fb,"Cannot attach iframe in disposed context");a=new _.ho(a);a.xl()||_.jo(a,a.ka());_.lo(a)||_.ko(a,"..");a.Qa()||a.Nh(_.Xj.Qa(a.getUrl()));a.Cd()||_.io(a,_.An(a.ka(),this.uf));var b=a.Cd();if(this.Ge[b])return this.Ge[b];var c=a.xl(),d=c;a.Qa()&&(d=c+"|"+a.Qa());var e=_.lo(a),f=_.Un(a);f||(f=(f=a.Ha())&&(f.getAttribute("data-postorigin")||f.src)||a.getUrl(),f=_.Xd(f,"rpctoken"));no(a,_.Hm(d,e,f,a.R._popupWindow));d=((window.gadgets||{}).rpc||{}).setAuthToken;f&&d&&d(c, f);var h=new _.zo(this,c,b,a),k=a.R.messageHandlersFilter;_.co(a.R.messageHandlers,function(a,b){h.register(b,a,k)});_.mo(a)&&h.$i();_.Ao(h,"_g_rpcReady");return h};_.g.vC=function(a){_.io(a,null);var b=a.ka();!b||oo.test(b)&&!this.vb().document.getElementById(b)||(_.ue("Ignoring requested iframe ID - "+b),a.Zi(null))};var xo=function(a,b){var c=_.Xd(a,b);c||(c=_.cf(_.Xd(a,"jcp",""))[b]);return c||""}; _.yo.prototype.Tg=function(a){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var b=new _.ho(a);Bo(this,b);var c=b.Cd();if(c&&this.Ge[c])return this.Ge[c];this.vC(b);c=b.getUrl();_.Ym(c,"No url for new iframe");var d=b.R.queryParams||{};d.usegapi="1";_.On(b,d);d=this.ZH&&this.ZH(c,b);d||(d=b.R.where,_.Ym(!!d,"No location for new iframe"),c=_.Kn(c,d,a),b.R.iframeEl=c,d=c.getAttribute("id"));_.jo(b,d).Zi(d);b.Nh(_.Xj.Qa(b.R.eurl||""));this.iJ&&this.iJ(b,b.Ha());c=this.uj(a);c.aD&&c.aD(c,a); (a=b.R.onCreate)&&a(c);b.R.disableRelayOpen||c.Yo("_open");return c}; var Co=function(a,b,c){var d=b.R.canvasUrl;if(!d)return c;_.Ym(!b.R.allowPost&&!b.R.forcePost,"Post is not supported when using canvas url");var e=b.getUrl();_.Ym(e&&_.Xj.Qa(e)===a.wd&&_.Xj.Qa(d)===a.wd,"Wrong origin for canvas or hidden url "+d);b.setUrl(d);_.Xn(b);b.R.canvasUrl=null;return function(a){var b=a.vb(),d=b.location.hash;d=_.Jn(e)+(/#/.test(e)?d.replace(/^#/,"&"):d);b.location.replace(d);c&&c(a)}},Eo=function(a,b,c){var d=b.R.relayOpen;if(d){var e=a.hb;d instanceof _.zo?(e=d,_.Pn(b,0)): 0<Number(d)&&_.Pn(b,Number(d)-1);if(e){_.Ym(!!e.VJ,"Relaying iframe open is disabled");if(d=b.zl())if(d=_.Do[d])b.qo(a),d(b.value()),b.qo(null);b.R.openerIframe=null;c.resolve(e.VJ(b));return!0}}return!1},Io=function(a,b,c){var d=b.zl();if(d)if(_.Ym(!!_.Fo,"Defer style is disabled, when requesting style "+d),_.Go[d])Bo(a,b);else return Ho(d,function(){_.Ym(!!_.Go[d],"Fail to load style - "+d);c.resolve(a.open(b.value()))}),!0;return!1}; _.yo.prototype.open=function(a,b){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var c=new _.ho(a);b=Co(this,c,b);var d=new go(b);(b=c.getUrl())&&c.setUrl(_.Jn(b));if(Eo(this,c,d)||Io(this,c,d)||Eo(this,c,d))return d.promise;if(null!=Yn(c)){var e=(0,window.setTimeout)(function(){h.Ha().src="about:blank";d.reject({timeout:"Exceeded time limit of :"+Yn(c)+"milliseconds"})},Yn(c)),f=d.resolve;d.resolve=function(a){(0,window.clearTimeout)(e);f(a)}}c.R.waitForOnload&&Sn(c.hn(),function(){d.resolve(h)}); var h=this.Tg(a);c.R.waitForOnload||d.resolve(h);return d.promise};_.yo.prototype.pH=_.ea(13);_.zo=function(a,b,c,d){this.Fb=!1;this.Od=a;this.Ti=b;this.uf=c;this.ya=d;this.eo=_.lo(this.ya);this.wd=this.ya.Qa();this.jV=this.ya.Ha();this.OL=this.ya.R.where;this.Un=[];this.Yo("_default");a=this.ya.R.apis||[];for(b=0;b<a.length;b++)this.Yo(a[b]);this.Od.Ge[c]=this};_.g=_.zo.prototype;_.g.Dn=_.ea(2); _.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Un.length;a++)this.unregister(this.Un[a]);delete _.ao.Ge[this.Cd()];this.Fb=!0}};_.g.getContext=function(){return this.Od};_.g.xl=function(){return this.Ti};_.g.Cd=function(){return this.uf};_.g.Ha=function(){return this.jV};_.g.$a=function(){return this.OL};_.g.Ze=function(a){this.OL=a};_.g.$i=function(){(0,this.ya.R._rpcReadyFn)()};_.g.pL=function(a,b){this.ya.value()[a]=b};_.g.Mz=function(a){return this.ya.value()[a]};_.g.Ob=function(){return this.ya.value()}; _.g.ka=function(){return this.ya.ka()};_.g.Qa=function(){return this.wd};_.g.register=function(a,b,c){_.Ym(!this.Fb,"Cannot register handler on disposed iframe "+a);_.Ym((c||_.po)(this),"Rejecting untrusted message "+a);c=this.uf+":"+this.Od.uf+":"+a;1==_.Td(Zn,c,[]).push(b)&&(this.Un.push(a),_.wm(c,so(c,this,"_g_wasClosed"===a)))}; _.g.unregister=function(a,b){var c=this.uf+":"+this.Od.uf+":"+a,d=Zn[c];d&&(b?(b=_.Xm.call(d,b),0<=b&&d.splice(b,1)):d.splice(0,d.length),0==d.length&&(b=_.Xm.call(this.Un,a),0<=b&&this.Un.splice(b,1),_.xm(c)))};_.g.YS=function(){return this.Un};_.g.Yo=function(a){this.Dx=this.Dx||[];if(!(0<=_.Xm.call(this.Dx,a))){this.Dx.push(a);a=$n[a]||{map:{}};for(var b in a.map)_.Ud(a.map,b)&&this.register(b,a.map[b],a.filter)}}; _.g.send=function(a,b,c,d){_.Ym(!this.Fb,"Cannot send message to disposed iframe - "+a);_.Ym((d||_.po)(this),"Wrong target for message "+a);c=new go(c);_.Am(this.Ti,this.Od.uf+":"+this.uf+":"+a,c.resolve,b);return c.promise};_.Ao=function(a,b,c,d){return a.send(b,c,d,_.M)};_.zo.prototype.tX=function(a){return a};_.zo.prototype.ping=function(a,b){return _.Ao(this,"_g_ping",b,a)};Zn=_.D();$n=_.D();_.ao=new _.yo;_.vo("_g_rpcReady",_.zo.prototype.$i);_.vo("_g_discover",_.zo.prototype.YS); _.vo("_g_ping",_.zo.prototype.tX); var Ho,Bo;_.Go=_.D();_.Do=_.D();_.Fo=function(a){return _.Go[a]};Ho=function(a,b){_.Wd.load("gapi.iframes.style."+a,b)};Bo=function(a,b){var c=b.zl();if(c){b.Jd(null);var d=_.Go[c];_.Ym(d,"No such style: "+c);b.qo(a);d(b.value());b.qo(null)}};var Jo,Ko;Jo={height:!0,width:!0};Ko=/^(?!-*(?:expression|(?:moz-)?binding))(?:[.#]?-?(?:[_a-z0-9-]+)(?:-[_a-z0-9-]+)*-?|-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[a-z]{1,2}|%)?|!important|)$/i;_.Lo=function(a){"number"===typeof a&&(a=String(a)+"px");return a};_.zo.prototype.vb=function(){if(!_.po(this))return null;var a=this.ya.R._popupWindow;if(a)return a;var b=this.Ti.split("/");a=this.getContext().vb();for(var c=0;c<b.length&&a;c++){var d=b[c];a=".."===d?a==a.parent?a.opener:a.parent:a.frames[d]}return a}; var Mo=function(a,b){var c=a.hb,d=!0;b.filter&&(d=b.filter.call(b.yf,b.params));return _.hh(d).then(function(d){return d&&c?(b.aK&&b.aK.call(a,b.params),d=b.sender?b.sender(b.params):_.Ao(c,b.message,b.params),b.S_?d.then(function(){return!0}):!0):!1})}; _.yo.prototype.dy=function(a,b,c){a=Mo(this,{sender:function(a){var b=_.ao.hb;_.co(_.ao.Ge,function(c){c!==b&&_.Ao(c,"_g_wasClosed",a)});return _.Ao(b,"_g_closeMe",a)},message:"_g_closeMe",params:a,yf:c,filter:this.Ez("onCloseSelfFilter")});b=new go(b);b.resolve(a);return b.promise};_.yo.prototype.sC=function(a,b,c){a=a||{};b=new go(b);b.resolve(Mo(this,{message:"_g_restyleMe",params:a,yf:c,filter:this.Ez("onRestyleSelfFilter"),S_:!0,aK:this.pM}));return b.promise}; _.yo.prototype.pM=function(a){"auto"===a.height&&(a.height=_.Jm.Xc())};_.No=function(a){var b={};if(a)for(var c in a)_.Ud(a,c)&&_.Ud(Jo,c)&&Ko.test(a[c])&&(b[c]=a[c]);return b};_.g=_.zo.prototype;_.g.close=function(a,b){return _.Ao(this,"_g_close",a,b)};_.g.tr=function(a,b){return _.Ao(this,"_g_restyle",a,b)};_.g.bo=function(a,b){return _.Ao(this,"_g_restyleDone",a,b)};_.g.rQ=function(a){return this.getContext().dy(a,void 0,this)}; _.g.tY=function(a){if(a&&"object"===typeof a)return this.getContext().sC(a,void 0,this)};_.g.uY=function(a){var b=this.ya.R.onRestyle;b&&b.call(this,a,this);a=a&&"object"===typeof a?_.No(a):{};(b=this.Ha())&&a&&"object"===typeof a&&(_.Ud(a,"height")&&(a.height=_.Lo(a.height)),_.Ud(a,"width")&&(a.width=_.Lo(a.width)),_.Vd(a,b.style))}; _.g.sQ=function(a){var b=this.ya.R.onClose;b&&b.call(this,a,this);this.WF&&this.WF()||(b=this.Ha())&&b.parentNode&&b.parentNode.removeChild(b);if(b=this.ya.R.controller){var c={};c.frameName=this.Cd();_.Ao(b,"_g_disposeControl",c)}ro(this.uf+":"+this.Od.uf+":_g_wasClosed",a,this)};_.yo.prototype.bL=_.ea(14);_.yo.prototype.rL=_.ea(15);_.zo.prototype.sK=_.ea(16);_.zo.prototype.ik=function(a,b){this.register("_g_wasClosed",a,b)}; _.zo.prototype.V_=function(){delete this.getContext().Ge[this.Cd()];this.getContext().vb().setTimeout((0,_.A)(function(){this.Ca()},this),0)};_.vo("_g_close",_.zo.prototype.rQ);_.vo("_g_closeMe",_.zo.prototype.sQ);_.vo("_g_restyle",_.zo.prototype.tY);_.vo("_g_restyleMe",_.zo.prototype.uY);_.vo("_g_wasClosed",_.zo.prototype.V_); var Vo,Yo,Zo,$o;_.Nn.prototype.oo=_.rc(11,function(a){this.R.apis=a;return this});_.Nn.prototype.tk=_.rc(10,function(a){this.R.rpctoken=a;return this});_.Oo=function(a){a.R.show=!0;return a};_.Po=function(a,b){a.R.where=b;return a};_.Qo=function(a,b){a.R.onClose=b};_.Ro=function(a,b){a.rel="stylesheet";a.href=_.Sc(b)};_.So=function(a){this.R=a||{}};_.So.prototype.value=function(){return this.R};_.So.prototype.getIframe=function(){return this.R.iframe};_.To=function(a,b){a.R.role=b;return a}; _.So.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.So.prototype.tk=function(a){this.R.rpctoken=a;return this};_.Uo=function(a){a.R.selfConnect=!0;return a};Vo=function(a){this.R=a||{}};Vo.prototype.value=function(){return this.R};var Wo=function(a){var b=new Vo;b.R.role=a;return b};Vo.prototype.xH=function(){return this.R.role};Vo.prototype.Xb=function(a){this.R.handler=a;return this};Vo.prototype.Bb=function(){return this.R.handler};var Xo=function(a,b){a.R.filter=b;return a}; Vo.prototype.oo=function(a){this.R.apis=a;return this};Yo=function(a){a.R.runOnce=!0;return a};Zo=/^https?:\/\/[^\/%\\?#\s]+$/i;$o={longdesc:!0,name:!0,src:!0,frameborder:!0,marginwidth:!0,marginheight:!0,scrolling:!0,align:!0,height:!0,width:!0,id:!0,"class":!0,title:!0,tabindex:!0,hspace:!0,vspace:!0,allowtransparency:!0};_.ap=function(a,b,c){var d=a.Ti,e=b.eo;_.ko(_.jo(c,a.eo+"/"+b.Ti),e+"/"+d);_.io(c,b.Cd()).Nh(b.wd)};_.yo.prototype.fy=_.ea(17);_.g=_.zo.prototype; _.g.vQ=function(a){var b=new _.ho(a);a=new _.So(b.value());if(a.R.selfConnect)var c=this;else(_.Ym(Zo.test(b.Qa()),"Illegal origin for connected iframe - "+b.Qa()),c=this.Od.Ge[b.Cd()],c)?_.mo(b)&&(c.$i(),_.Ao(c,"_g_rpcReady")):(b=_.io(_.ko(_.jo((new _.ho).tk(_.Un(b)),b.xl()),_.lo(b)).Nh(b.Qa()),b.Cd()).$i(_.mo(b)),c=this.Od.uj(b.value()));b=this.Od;var d=a.R.role;a=a.R.data;bp(b);d=d||"";_.Td(b.hy,d,[]).push({yf:c.Cd(),data:a});cp(c,a,b.wB[d])}; _.g.aD=function(a,b){(new _.ho(b)).R._relayedDepth||(b={},_.Uo(_.To(new _.So(b),"_opener")),_.Ao(a,"_g_connect",b))}; _.g.VJ=function(a){var b=this,c=a.R.messageHandlers,d=a.R.messageHandlersFilter,e=a.R.onClose;_.Qo(_.Wn(_.Vn(a,null),null),null);_.mh();return _.Ao(this,"_g_open",a.value()).then(function(f){var h=new _.ho(f[0]),k=h.Cd();f=new _.ho;var l=b.eo,n=_.lo(h);_.ko(_.jo(f,b.Ti+"/"+h.xl()),n+"/"+l);_.io(f,k);f.Nh(h.Qa());f.oo(h.R.apis);f.tk(_.Un(a));_.Vn(f,c);_.Wn(f,d);_.Qo(f,e);(h=b.Od.Ge[k])||(h=b.Od.uj(f.value()));return h})}; _.g.vC=function(a){var b=a.getUrl();_.Ym(!b||_.nn.test(b),"Illegal url for new iframe - "+b);var c=a.hn().value();b={};for(var d in c)_.Ud(c,d)&&_.Ud($o,d)&&(b[d]=c[d]);_.Ud(c,"style")&&(d=c.style,"object"===typeof d&&(b.style=_.No(d)));a.value().attributes=b}; _.g.gX=function(a){a=new _.ho(a);this.vC(a);var b=a.R._relayedDepth||0;a.R._relayedDepth=b+1;a.R.openerIframe=this;_.mh();var c=_.Un(a);a.tk(null);return this.Od.open(a.value()).then((0,_.A)(function(a){var d=(new _.ho(a.Ob())).R.apis,f=new _.ho;_.ap(a,this,f);0==b&&_.To(new _.So(f.value()),"_opener");f.$i(!0);f.tk(c);_.Ao(a,"_g_connect",f.value());f=new _.ho;_.io(_.ko(_.jo(f.oo(d),a.xl()),a.eo),a.Cd()).Nh(a.Qa());return f.value()},this))};var bp=function(a){a.hy||(a.hy=_.D(),a.wB=_.D())}; _.yo.prototype.xx=function(a,b,c,d){bp(this);"object"===typeof a?(b=new Vo(a),c=b.xH()||""):(b=Xo(Wo(a).Xb(b).oo(c),d),c=a);d=this.hy[c]||[];a=!1;for(var e=0;e<d.length&&!a;e++)cp(this.Ge[d[e].yf],d[e].data,[b]),a=b.R.runOnce;c=_.Td(this.wB,c,[]);a||b.R.dontWait||c.push(b)};_.yo.prototype.vK=_.ea(18); var cp=function(a,b,c){c=c||[];for(var d=0;d<c.length;d++){var e=c[d];if(e&&a){var f=e.R.filter||_.po;if(a&&f(a)){f=e.R.apis||[];for(var h=0;h<f.length;h++)a.Yo(f[h]);e.Bb()&&e.Bb()(a,b);e.R.runOnce&&(c.splice(d,1),--d)}}}};_.yo.prototype.sj=function(a,b,c){this.xx(Yo(Xo(Wo("_opener").Xb(a).oo(b),c)).value())};_.zo.prototype.sY=function(a){this.getContext().sj(function(b){b.send("_g_wasRestyled",a,void 0,_.M)},null,_.M)};var dp=_.ao.hb;dp&&dp.register("_g_restyleDone",_.zo.prototype.sY,_.M); _.vo("_g_connect",_.zo.prototype.vQ);var ep={};ep._g_open=_.zo.prototype.gX;_.to("_open",ep,_.M); _.w("gapi.iframes.create",_.Kn); _.zo.prototype.sK=_.rc(16,function(a,b){this.register("_g_wasRestyled",a,b)});_.g=_.yo.prototype;_.g.rL=_.rc(15,function(a){this.gw("onRestyleSelfFilter",a)});_.g.bL=_.rc(14,function(a){this.gw("onCloseSelfFilter",a)});_.g.pH=_.rc(13,function(){return this.hb});_.g.gw=_.rc(12,function(a,b){this.bK[a]=b});_.g.Dn=_.rc(3,function(){return this.Fb});_.zo.prototype.Dn=_.rc(2,function(){return this.Fb});_.w("gapi.iframes.registerStyle",function(a,b){_.Go[a]=b}); _.w("gapi.iframes.registerBeforeOpenStyle",function(a,b){_.Do[a]=b});_.w("gapi.iframes.getStyle",_.Fo);_.w("gapi.iframes.getBeforeOpenStyle",function(a){return _.Do[a]});_.w("gapi.iframes.registerIframesApi",_.to);_.w("gapi.iframes.registerIframesApiHandler",_.uo);_.w("gapi.iframes.getContext",_.wo);_.w("gapi.iframes.SAME_ORIGIN_IFRAMES_FILTER",_.po);_.w("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.M);_.w("gapi.iframes.makeWhiteListIframesFilter",_.qo);_.w("gapi.iframes.Context",_.yo); _.w("gapi.iframes.Context.prototype.isDisposed",_.yo.prototype.Dn);_.w("gapi.iframes.Context.prototype.getWindow",_.yo.prototype.vb);_.w("gapi.iframes.Context.prototype.getFrameName",_.yo.prototype.Cd);_.w("gapi.iframes.Context.prototype.getGlobalParam",_.yo.prototype.Ez);_.w("gapi.iframes.Context.prototype.setGlobalParam",_.yo.prototype.gw);_.w("gapi.iframes.Context.prototype.open",_.yo.prototype.open);_.w("gapi.iframes.Context.prototype.openChild",_.yo.prototype.Tg); _.w("gapi.iframes.Context.prototype.getParentIframe",_.yo.prototype.pH);_.w("gapi.iframes.Context.prototype.closeSelf",_.yo.prototype.dy);_.w("gapi.iframes.Context.prototype.restyleSelf",_.yo.prototype.sC);_.w("gapi.iframes.Context.prototype.setCloseSelfFilter",_.yo.prototype.bL);_.w("gapi.iframes.Context.prototype.setRestyleSelfFilter",_.yo.prototype.rL);_.w("gapi.iframes.Iframe",_.zo);_.w("gapi.iframes.Iframe.prototype.isDisposed",_.zo.prototype.Dn); _.w("gapi.iframes.Iframe.prototype.getContext",_.zo.prototype.getContext);_.w("gapi.iframes.Iframe.prototype.getFrameName",_.zo.prototype.Cd);_.w("gapi.iframes.Iframe.prototype.getId",_.zo.prototype.ka);_.w("gapi.iframes.Iframe.prototype.register",_.zo.prototype.register);_.w("gapi.iframes.Iframe.prototype.unregister",_.zo.prototype.unregister);_.w("gapi.iframes.Iframe.prototype.send",_.zo.prototype.send);_.w("gapi.iframes.Iframe.prototype.applyIframesApi",_.zo.prototype.Yo); _.w("gapi.iframes.Iframe.prototype.getIframeEl",_.zo.prototype.Ha);_.w("gapi.iframes.Iframe.prototype.getSiteEl",_.zo.prototype.$a);_.w("gapi.iframes.Iframe.prototype.setSiteEl",_.zo.prototype.Ze);_.w("gapi.iframes.Iframe.prototype.getWindow",_.zo.prototype.vb);_.w("gapi.iframes.Iframe.prototype.getOrigin",_.zo.prototype.Qa);_.w("gapi.iframes.Iframe.prototype.close",_.zo.prototype.close);_.w("gapi.iframes.Iframe.prototype.restyle",_.zo.prototype.tr); _.w("gapi.iframes.Iframe.prototype.restyleDone",_.zo.prototype.bo);_.w("gapi.iframes.Iframe.prototype.registerWasRestyled",_.zo.prototype.sK);_.w("gapi.iframes.Iframe.prototype.registerWasClosed",_.zo.prototype.ik);_.w("gapi.iframes.Iframe.prototype.getParam",_.zo.prototype.Mz);_.w("gapi.iframes.Iframe.prototype.setParam",_.zo.prototype.pL);_.w("gapi.iframes.Iframe.prototype.ping",_.zo.prototype.ping); var LM=function(a,b){a.R.data=b;return a};_.yo.prototype.vK=_.rc(18,function(a,b){a=_.Td(this.wB,a,[]);if(b)for(var c=0,d=!1;!d&&c<a.length;c++)a[c].Oe===b&&(d=!0,a.splice(c,1));else a.splice(0,a.length)}); _.yo.prototype.fy=_.rc(17,function(a,b){a=new _.So(a);var c=new _.So(b),d=_.mo(a);b=a.getIframe();var e=c.getIframe();if(e){var f=_.Un(a),h=new _.ho;_.ap(b,e,h);LM(_.To((new _.So(h.value())).tk(f),a.R.role),a.R.data).$i(d);var k=new _.ho;_.ap(e,b,k);LM(_.To((new _.So(k.value())).tk(f),c.R.role),c.R.data).$i(!0);_.Ao(b,"_g_connect",h.value(),function(){d||_.Ao(e,"_g_connect",k.value())});d&&_.Ao(e,"_g_connect",k.value())}else c={},LM(_.To(_.Uo(new _.So(c)),a.R.role),a.R.data),_.Ao(b,"_g_connect",c)}); _.w("gapi.iframes.Context.prototype.addOnConnectHandler",_.yo.prototype.xx);_.w("gapi.iframes.Context.prototype.removeOnConnectHandler",_.yo.prototype.vK);_.w("gapi.iframes.Context.prototype.addOnOpenerHandler",_.yo.prototype.sj);_.w("gapi.iframes.Context.prototype.connectIframes",_.yo.prototype.fy); _.ak=window.googleapis&&window.googleapis.server||{}; (function(){function a(a,b){if(!(a<c)&&d)if(2===a&&d.warn)d.warn(b);else if(3===a&&d.error)try{d.error(b)}catch(h){}else d.log&&d.log(b)}var b=function(b){a(1,b)};_.Ra=function(b){a(2,b)};_.Sa=function(b){a(3,b)};_.oe=function(){};b.INFO=1;b.WARNING=2;b.NONE=4;var c=1,d=window.console?window.console:window.opera?window.opera.postError:void 0;return b})(); _.pe=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(_.Wa(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var h=0;h<f;h++)a[e+h]=d[h]}else a.push(d)}}; _.I=_.I||{};_.I.Hs=function(a,b,c,d){"undefined"!=typeof a.addEventListener?a.addEventListener(b,c,d):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+b,c):_.Ra("cannot attachBrowserEvent: "+b)};_.I.VX=function(a){var b=window;b.removeEventListener?b.removeEventListener("mousemove",a,!1):b.detachEvent?b.detachEvent("onmousemove",a):_.Ra("cannot removeBrowserEvent: mousemove")}; _.bk=function(){function a(){e[0]=1732584193;e[1]=4023233417;e[2]=2562383102;e[3]=271733878;e[4]=3285377520;p=n=0}function b(a){for(var b=h,c=0;64>c;c+=4)b[c/4]=a[c]<<24|a[c+1]<<16|a[c+2]<<8|a[c+3];for(c=16;80>c;c++)a=b[c-3]^b[c-8]^b[c-14]^b[c-16],b[c]=(a<<1|a>>>31)&4294967295;a=e[0];var d=e[1],f=e[2],k=e[3],l=e[4];for(c=0;80>c;c++){if(40>c)if(20>c){var n=k^d&(f^k);var p=1518500249}else n=d^f^k,p=1859775393;else 60>c?(n=d&f|k&(d|f),p=2400959708):(n=d^f^k,p=3395469782);n=((a<<5|a>>>27)&4294967295)+ n+l+p+b[c]&4294967295;l=k;k=f;f=(d<<30|d>>>2)&4294967295;d=a;a=n}e[0]=e[0]+a&4294967295;e[1]=e[1]+d&4294967295;e[2]=e[2]+f&4294967295;e[3]=e[3]+k&4294967295;e[4]=e[4]+l&4294967295}function c(a,c){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var d=[],e=0,h=a.length;e<h;++e)d.push(a.charCodeAt(e));a=d}c||(c=a.length);d=0;if(0==n)for(;d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64;for(;d<c;)if(f[n++]=a[d++],p++,64==n)for(n=0,b(f);d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64} function d(){var a=[],d=8*p;56>n?c(k,56-n):c(k,64-(n-56));for(var h=63;56<=h;h--)f[h]=d&255,d>>>=8;b(f);for(h=d=0;5>h;h++)for(var l=24;0<=l;l-=8)a[d++]=e[h]>>l&255;return a}for(var e=[],f=[],h=[],k=[128],l=1;64>l;++l)k[l]=0;var n,p;a();return{reset:a,update:c,digest:d,Ig:function(){for(var a=d(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}}}; _.ck=function(){function a(a){var b=_.bk();b.update(a);return b.Ig()}var b=window.crypto;if(b&&"function"==typeof b.getRandomValues)return function(){var a=new window.Uint32Array(1);b.getRandomValues(a);return Number("0."+a[0])};var c=_.H("random/maxObserveMousemove");null==c&&(c=-1);var d=0,e=Math.random(),f=1,h=1E6*(window.screen.width*window.screen.width+window.screen.height),k=function(a){a=a||window.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;f=f*b% h;0<c&&++d==c&&_.I.VX(k)};0!=c&&_.I.Hs(window,"mousemove",k,!1);var l=a(window.document.cookie+"|"+window.document.location+"|"+(new Date).getTime()+"|"+e);return function(){var b=f;b+=(0,window.parseInt)(l.substr(0,20),16);l=a(l);return b/(h+Math.pow(16,20))}}(); _.w("shindig.random",_.ck); _.I=_.I||{};(function(){var a=[];_.I.P9=function(b){a.push(b)};_.I.c$=function(){for(var b=0,c=a.length;b<c;++b)a[b]()}})(); _.we=function(){var a=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;a&&_.le(a());return{register:function(a,c,d){d&&d(_.H())},get:function(a){return _.H(a)},update:function(a,c){if(c)throw"Config replacement is not supported";_.le(a)},Pb:function(){}}}(); _.w("gadgets.config.register",_.we.register);_.w("gadgets.config.get",_.we.get);_.w("gadgets.config.init",_.we.Pb);_.w("gadgets.config.update",_.we.update); var jf;_.gf=function(){var a=_.Qd.readyState;return"complete"===a||"interactive"===a&&-1==window.navigator.userAgent.indexOf("MSIE")};_.hf=function(a){if(_.gf())a();else{var b=!1,c=function(){if(!b)return b=!0,a.apply(this,arguments)};_.Nd.addEventListener?(_.Nd.addEventListener("load",c,!1),_.Nd.addEventListener("DOMContentLoaded",c,!1)):_.Nd.attachEvent&&(_.Nd.attachEvent("onreadystatechange",function(){_.gf()&&c.apply(this,arguments)}),_.Nd.attachEvent("onload",c))}};jf=jf||{};jf.HK=null; jf.zJ=null;jf.uu=null;jf.frameElement=null; jf=jf||{}; jf.ZD||(jf.ZD=function(){function a(a,b,c){"undefined"!=typeof window.addEventListener?window.addEventListener(a,b,c):"undefined"!=typeof window.attachEvent&&window.attachEvent("on"+a,b);"message"===a&&(window.___jsl=window.___jsl||{},a=window.___jsl,a.RPMQ=a.RPMQ||[],a.RPMQ.push(b))}function b(a){var b=_.cf(a.data);if(b&&b.f){(0,_.oe)("gadgets.rpc.receive("+window.name+"): "+a.data);var d=_.K.Bl(b.f);e&&("undefined"!==typeof a.origin?a.origin!==d:a.domain!==/^.+:\/\/([^:]+).*/.exec(d)[1])?_.Sa("Invalid rpc message origin. "+ d+" vs "+(a.origin||"")):c(b,a.origin)}}var c,d,e=!0;return{ZG:function(){return"wpm"},RV:function(){return!0},Pb:function(f,h){_.we.register("rpc",null,function(a){"true"===String((a&&a.rpc||{}).disableForceSecure)&&(e=!1)});c=f;d=h;a("message",b,!1);d("..",!0);return!0},Dc:function(a){d(a,!0);return!0},call:function(a,b,c){var d=_.K.Bl(a),e=_.K.bF(a);d?window.setTimeout(function(){var a=_.df(c);(0,_.oe)("gadgets.rpc.send("+window.name+"): "+a);e.postMessage(a,d)},0):".."!=a&&_.Sa("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message"); return!0}}}()); if(window.gadgets&&window.gadgets.rpc)"undefined"!=typeof _.K&&_.K||(_.K=window.gadgets.rpc,_.K.config=_.K.config,_.K.register=_.K.register,_.K.unregister=_.K.unregister,_.K.qK=_.K.registerDefault,_.K.oM=_.K.unregisterDefault,_.K.RG=_.K.forceParentVerifiable,_.K.call=_.K.call,_.K.kq=_.K.getRelayUrl,_.K.Ph=_.K.setRelayUrl,_.K.ew=_.K.setAuthToken,_.K.Hr=_.K.setupReceiver,_.K.fl=_.K.getAuthToken,_.K.kC=_.K.removeReceiver,_.K.uH=_.K.getRelayChannel,_.K.nK=_.K.receive,_.K.pK=_.K.receiveSameDomain,_.K.Qa= _.K.getOrigin,_.K.Bl=_.K.getTargetOrigin,_.K.bF=_.K._getTargetWin,_.K.xP=_.K._parseSiblingId);else{_.K=function(){function a(a,b){if(!aa[a]){var c=R;b||(c=ka);aa[a]=c;b=la[a]||[];for(var d=0;d<b.length;++d){var e=b[d];e.t=G[a];c.call(a,e.f,e)}la[a]=[]}}function b(){function a(){Ga=!0}N||("undefined"!=typeof window.addEventListener?window.addEventListener("unload",a,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onunload",a),N=!0)}function c(a,c,d,e,f){G[c]&&G[c]===d||(_.Sa("Invalid gadgets.rpc token. "+ G[c]+" vs "+d),ua(c,2));f.onunload=function(){J[c]&&!Ga&&(ua(c,1),_.K.kC(c))};b();e=_.cf((0,window.decodeURIComponent)(e))}function d(b,c){if(b&&"string"===typeof b.s&&"string"===typeof b.f&&b.a instanceof Array)if(G[b.f]&&G[b.f]!==b.t&&(_.Sa("Invalid gadgets.rpc token. "+G[b.f]+" vs "+b.t),ua(b.f,2)),"__ack"===b.s)window.setTimeout(function(){a(b.f,!0)},0);else{b.c&&(b.callback=function(a){_.K.call(b.f,(b.g?"legacy__":"")+"__cb",null,b.c,a)});if(c){var d=e(c);b.origin=c;var f=b.r;try{var h=e(f)}catch(Ha){}f&& h==d||(f=c);b.referer=f}c=(y[b.s]||y[""]).apply(b,b.a);b.c&&"undefined"!==typeof c&&_.K.call(b.f,"__cb",null,b.c,c)}}function e(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!== a&&"chrome-search"!==a)throw Error("p");c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0,d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}function f(a){if("/"==a.charAt(0)){var b=a.indexOf("|");return{id:0<b?a.substring(1,b):a.substring(1),origin:0<b?a.substring(b+1):null}}return null}function h(a){if("undefined"===typeof a||".."===a)return window.parent;var b=f(a);if(b)return window.top.frames[b.id];a=String(a);return(b=window.frames[a])?b:(b= window.document.getElementById(a))&&b.contentWindow?b.contentWindow:null}function k(a,b){if(!0!==J[a]){"undefined"===typeof J[a]&&(J[a]=0);var c=h(a);".."!==a&&null==c||!0!==R.Dc(a,b)?!0!==J[a]&&10>J[a]++?window.setTimeout(function(){k(a,b)},500):(aa[a]=ka,J[a]=!0):J[a]=!0}}function l(a){(a=F[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a}function n(a,b,c){b&&!/http(s)?:\/\/.+/.test(b)&& (0==b.indexOf("//")?b=window.location.protocol+b:"/"==b.charAt(0)?b=window.location.protocol+"//"+window.location.host+b:-1==b.indexOf("://")&&(b=window.location.protocol+"//"+b));F[a]=b;"undefined"!==typeof c&&(E[a]=!!c)}function p(a,b){b=b||"";G[a]=String(b);k(a,b)}function q(a){a=(a.passReferrer||"").split(":",2);za=a[0]||"none";pa=a[1]||"origin"}function t(b){"true"===String(b.useLegacyProtocol)&&(R=jf.uu||ka,R.Pb(d,a))}function x(a,b){function c(c){c=c&&c.rpc||{};q(c);var d=c.parentRelayUrl|| "";d=e(V.parent||b)+d;n("..",d,"true"===String(c.useLegacyProtocol));t(c);p("..",a)}!V.parent&&b?c({}):_.we.register("rpc",null,c)}function v(a,b,c){if(".."===a)x(c||V.rpctoken||V.ifpctok||"",b);else a:{var d=null;if("/"!=a.charAt(0)){if(!_.I)break a;d=window.document.getElementById(a);if(!d)throw Error("q`"+a);}d=d&&d.src;b=b||_.K.Qa(d);n(a,b);b=_.I.xc(d);p(a,c||b.rpctoken)}}var y={},F={},E={},G={},B=0,L={},J={},V={},aa={},la={},za=null,pa=null,ba=window.top!==window.self,qa=window.name,ua=function(){}, db=window.console,ra=db&&db.log&&function(a){db.log(a)}||function(){},ka=function(){function a(a){return function(){ra(a+": call ignored")}}return{ZG:function(){return"noop"},RV:function(){return!0},Pb:a("init"),Dc:a("setup"),call:a("call")}}();_.I&&(V=_.I.xc());var Ga=!1,N=!1,R=function(){if("rmr"==V.rpctx)return jf.HK;var a="function"===typeof window.postMessage?jf.ZD:"object"===typeof window.postMessage?jf.ZD:window.ActiveXObject?jf.zJ?jf.zJ:jf.uu:0<window.navigator.userAgent.indexOf("WebKit")? jf.HK:"Gecko"===window.navigator.product?jf.frameElement:jf.uu;a||(a=ka);return a}();y[""]=function(){ra("Unknown RPC service: "+this.s)};y.__cb=function(a,b){var c=L[a];c&&(delete L[a],c.call(this,b))};return{config:function(a){"function"===typeof a.MK&&(ua=a.MK)},register:function(a,b){if("__cb"===a||"__ack"===a)throw Error("r");if(""===a)throw Error("s");y[a]=b},unregister:function(a){if("__cb"===a||"__ack"===a)throw Error("t");if(""===a)throw Error("u");delete y[a]},qK:function(a){y[""]=a},oM:function(){delete y[""]}, RG:function(){},call:function(a,b,c,d){a=a||"..";var e="..";".."===a?e=qa:"/"==a.charAt(0)&&(e=_.K.Qa(window.location.href),e="/"+qa+(e?"|"+e:""));++B;c&&(L[B]=c);var h={s:b,f:e,c:c?B:0,a:Array.prototype.slice.call(arguments,3),t:G[a],l:!!E[a]};a:if("bidir"===za||"c2p"===za&&".."===a||"p2c"===za&&".."!==a){var k=window.location.href;var l="?";if("query"===pa)l="#";else if("hash"===pa)break a;l=k.lastIndexOf(l);l=-1===l?k.length:l;k=k.substring(0,l)}else k=null;k&&(h.r=k);if(".."===a||null!=f(a)|| window.document.getElementById(a))(k=aa[a])||null===f(a)||(k=R),0===b.indexOf("legacy__")&&(k=R,h.s=b.substring(8),h.c=h.c?h.c:B),h.g=!0,h.r=e,k?(E[a]&&(k=jf.uu),!1===k.call(a,e,h)&&(aa[a]=ka,R.call(a,e,h))):la[a]?la[a].push(h):la[a]=[h]},kq:l,Ph:n,ew:p,Hr:v,fl:function(a){return G[a]},kC:function(a){delete F[a];delete E[a];delete G[a];delete J[a];delete aa[a]},uH:function(){return R.ZG()},nK:function(a,b){4<a.length?R.V7(a,d):c.apply(null,a.concat(b))},pK:function(a){a.a=Array.prototype.slice.call(a.a); window.setTimeout(function(){d(a)},0)},Qa:e,Bl:function(a){var b=null,c=l(a);c?b=c:(c=f(a))?b=c.origin:".."==a?b=V.parent:(a=window.document.getElementById(a))&&"iframe"===a.tagName.toLowerCase()&&(b=a.src);return e(b)},Pb:function(){!1===R.Pb(d,a)&&(R=ka);ba?v(".."):_.we.register("rpc",null,function(a){a=a.rpc||{};q(a);t(a)})},bF:h,xP:f,c0:"__ack",E5:qa||"..",T5:0,S5:1,R5:2}}();_.K.Pb()}; _.K.config({MK:function(a){throw Error("v`"+a);}});_.oe=_.ve;_.w("gadgets.rpc.config",_.K.config);_.w("gadgets.rpc.register",_.K.register);_.w("gadgets.rpc.unregister",_.K.unregister);_.w("gadgets.rpc.registerDefault",_.K.qK);_.w("gadgets.rpc.unregisterDefault",_.K.oM);_.w("gadgets.rpc.forceParentVerifiable",_.K.RG);_.w("gadgets.rpc.call",_.K.call);_.w("gadgets.rpc.getRelayUrl",_.K.kq);_.w("gadgets.rpc.setRelayUrl",_.K.Ph);_.w("gadgets.rpc.setAuthToken",_.K.ew);_.w("gadgets.rpc.setupReceiver",_.K.Hr);_.w("gadgets.rpc.getAuthToken",_.K.fl); _.w("gadgets.rpc.removeReceiver",_.K.kC);_.w("gadgets.rpc.getRelayChannel",_.K.uH);_.w("gadgets.rpc.receive",_.K.nK);_.w("gadgets.rpc.receiveSameDomain",_.K.pK);_.w("gadgets.rpc.getOrigin",_.K.Qa);_.w("gadgets.rpc.getTargetOrigin",_.K.Bl); var dk=function(a){return{execute:function(b){var c={method:a.httpMethod||"GET",root:a.root,path:a.url,params:a.urlParams,headers:a.headers,body:a.body},d=window.gapi,e=function(){var a=d.config.get("client/apiKey"),e=d.config.get("client/version");try{var k=d.config.get("googleapis.config/developerKey"),l=d.config.get("client/apiKey",k);d.config.update("client/apiKey",l);d.config.update("client/version","1.0.0-alpha");var n=d.client;n.request.call(n,c).then(b,b)}finally{d.config.update("client/apiKey", a),d.config.update("client/version",e)}};d.client?e():d.load.call(d,"client",e)}}},ek=function(a,b){return function(c){var d={};c=c.body;var e=_.cf(c),f={};if(e&&e.length)for(var h=0,k=e.length;h<k;++h){var l=e[h];f[l.id]=l}h=0;for(k=b.length;h<k;++h)l=b[h].id,d[l]=e&&e.length?f[l]:e;a(d,c)}},fk=function(a){a.transport={name:"googleapis",execute:function(b,c){for(var d=[],e=0,f=b.length;e<f;++e){var h=b[e],k=h.method,l=String(k).split(".")[0];l=_.H("googleapis.config/versions/"+k)||_.H("googleapis.config/versions/"+ l)||"v1";d.push({jsonrpc:"2.0",id:h.id,method:k,apiVersion:String(l),params:h.params})}b=dk({httpMethod:"POST",root:a.transport.root,url:"/rpc?pp=0",headers:{"Content-Type":"application/json"},body:d});b.execute.call(b,ek(c,d))},root:void 0}},gk=function(a){var b=this.method,c=this.transport;c.execute.call(c,[{method:b,id:b,params:this.rpc}],function(c){c=c[b];c.error||(c=c.data||c.result);a(c)})},ik=function(){for(var a=hk,b=a.split("."),c=function(b){b=b||{};b.groupId=b.groupId||"@self";b.userId= b.userId||"@viewer";b={method:a,rpc:b||{}};fk(b);b.execute=gk;return b},d=_.m,e=0,f=b.length;e<f;++e){var h=d[b[e]]||{};e+1==f&&(h=c);d=d[b[e]]=h}if(1<b.length&&"googleapis"!=b[0])for(b[0]="googleapis","delete"==b[b.length-1]&&(b[b.length-1]="remove"),d=_.m,e=0,f=b.length;e<f;++e)h=d[b[e]]||{},e+1==f&&(h=c),d=d[b[e]]=h},hk;for(hk in _.H("googleapis.config/methods"))ik(); _.w("googleapis.newHttpRequest",function(a){return dk(a)});_.w("googleapis.setUrlParameter",function(a,b){if("trace"!==a)throw Error("M");_.le("client/trace",b)}); _.fp=_.Td(_.ce,"rw",_.D()); var gp=function(a,b){(a=_.fp[a])&&a.state<b&&(a.state=b)};var hp=function(a){a=(a=_.fp[a])?a.oid:void 0;if(a){var b=_.Qd.getElementById(a);b&&b.parentNode.removeChild(b);delete _.fp[a];hp(a)}};_.ip=function(a){a=a.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};_.jp=function(a){var b=a.clientWidth;return"position:absolute;top:-10000px;width:"+(b?b+"px":a.style.width||"300px")+";margin:0px;border-style:none;"}; _.kp=function(a,b){var c={},d=a.Ob(),e=b&&b.width,f=b&&b.height,h=b&&b.verticalAlign;h&&(c.verticalAlign=h);e||(e=d.width||a.width);f||(f=d.height||a.height);d.width=c.width=e;d.height=c.height=f;d=a.Ha();e=a.ka();gp(e,2);a:{e=a.$a();c=c||{};if(_.ce.oa){var k=d.id;if(k){f=(f=_.fp[k])?f.state:void 0;if(1===f||4===f)break a;hp(k)}}(f=e.nextSibling)&&f.getAttribute&&f.getAttribute("data-gapistub")&&(e.parentNode.removeChild(f),e.style.cssText="");f=c.width;h=c.height;var l=e.style;l.textIndent="0";l.margin= "0";l.padding="0";l.background="transparent";l.borderStyle="none";l.cssFloat="none";l.styleFloat="none";l.lineHeight="normal";l.fontSize="1px";l.verticalAlign="baseline";e=e.style;e.display="inline-block";d=d.style;d.position="static";d.left="0";d.top="0";d.visibility="visible";f&&(e.width=d.width=f+"px");h&&(e.height=d.height=h+"px");c.verticalAlign&&(e.verticalAlign=c.verticalAlign);k&&gp(k,3)}(k=b?b.title:null)&&a.Ha().setAttribute("title",k);(b=b?b.ariaLabel:null)&&a.Ha().setAttribute("aria-label", b)};_.lp=function(a){var b=a.$a();b&&b.removeChild(a.Ha())};_.mp=function(a){a.where=_.ip(a);var b=a.messageHandlers=a.messageHandlers||{},c=function(a){_.kp(this,a)};b._ready=c;b._renderstart=c;var d=a.onClose;a.onClose=function(a){d&&d.call(this,a);_.lp(this)};a.onCreate=function(a){a=a.Ha();a.style.cssText=_.jp(a)}}; var Yj=_.Xj=_.Xj||{};window.___jsl=window.___jsl||{};Yj.Mx={E8:function(){return window.___jsl.bsh},iH:function(){return window.___jsl.h},KC:function(a){window.___jsl.bsh=a},qZ:function(a){window.___jsl.h=a}}; _.I=_.I||{};_.I.Yu=function(a,b,c){for(var d=[],e=2,f=arguments.length;e<f;++e)d.push(arguments[e]);return function(){for(var c=d.slice(),e=0,f=arguments.length;e<f;++e)c.push(arguments[e]);return b.apply(a,c)}};_.I.Rq=function(a){var b,c,d={};for(b=0;c=a[b];++b)d[c]=c;return d}; _.I=_.I||{}; (function(){function a(a,b){return String.fromCharCode(b)}var b={0:!1,10:!0,13:!0,34:!0,39:!0,60:!0,62:!0,92:!0,8232:!0,8233:!0,65282:!0,65287:!0,65308:!0,65310:!0,65340:!0};_.I.escape=function(a,b){if(a){if("string"===typeof a)return _.I.Ft(a);if("Array"===typeof a){var c=0;for(b=a.length;c<b;++c)a[c]=_.I.escape(a[c])}else if("object"===typeof a&&b){b={};for(c in a)a.hasOwnProperty(c)&&(b[_.I.Ft(c)]=_.I.escape(a[c],!0));return b}}return a};_.I.Ft=function(a){if(!a)return a;for(var c=[],e,f,h=0,k= a.length;h<k;++h)e=a.charCodeAt(h),f=b[e],!0===f?c.push("&#",e,";"):!1!==f&&c.push(a.charAt(h));return c.join("")};_.I.x$=function(b){return b?b.replace(/&#([0-9]+);/g,a):b}})(); _.O={};_.op={};window.iframer=_.op; _.O.Ia=_.O.Ia||{};_.O.Ia.fQ=function(a){try{return!!a.document}catch(b){}return!1};_.O.Ia.DH=function(a){var b=a.parent;return a!=b&&_.O.Ia.fQ(b)?_.O.Ia.DH(b):a};_.O.Ia.Z8=function(a){var b=a.userAgent||"";a=a.product||"";return 0!=b.indexOf("Opera")&&-1==b.indexOf("WebKit")&&"Gecko"==a&&0<b.indexOf("rv:1.")}; var Mr,Nr,Or,Qr,Rr,Sr,Xr,Yr,Zr,$r,bs,cs,ds,fs,gs,is;Mr=function(){_.O.tI++;return["I",_.O.tI,"_",(new Date).getTime()].join("")};Nr=function(a){return a instanceof Array?a.join(","):a instanceof Object?_.df(a):a};Or=function(){};Qr=function(a){a&&a.match(Pr)&&_.le("googleapis.config/gcv",a)};Rr=function(a){_.Xj.Mx.qZ(a)};Sr=function(a){_.Xj.Mx.KC(a)};_.Tr=function(a,b){b=b||{};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}; _.Vr=function(a,b,c,d,e){var f=[],h;for(h in a)if(a.hasOwnProperty(h)){var k=b,l=c,n=a[h],p=d,q=Ur(h);q[k]=q[k]||{};p=_.I.Yu(p,n);n._iframe_wrapped_rpc_&&(p._iframe_wrapped_rpc_=!0);q[k][l]=p;f.push(h)}if(e)for(h in _.O.tn)_.O.tn.hasOwnProperty(h)&&f.push(h);return f.join(",")};Xr=function(a,b,c){var d={};if(a&&a._methods){a=a._methods.split(",");for(var e=0;e<a.length;e++){var f=a[e];d[f]=Wr(f,b,c)}}return d}; Yr=function(a){if(a&&a.disableMultiLevelParentRelay)a=!1;else{var b;if(b=_.op&&_.op._open&&"inline"!=a.style&&!0!==a.inline)a=a.container,b=!(a&&("string"==typeof a&&window.document.getElementById(a)||window.document==(a.ownerDocument||a.document)));a=b}return a};Zr=function(a,b){var c={};b=b.params||{};for(var d in a)"#"==d.charAt(0)&&(c[d.substring(1)]=a[d]),0==d.indexOf("fr-")&&(c[d.substring(3)]=a[d]),"#"==b[d]&&(c[d]=a[d]);for(var e in c)delete a["fr-"+e],delete a["#"+e],delete a[e];return c}; $r=function(a){if(":"==a.charAt(0)){var b=_.H("iframes/"+a.substring(1));a={};_.Vd(b,a);(b=a.url)&&(a.url=_.In(b));a.params||(a.params={});return a}return{url:_.In(a)}};bs=function(a){function b(){}b.prototype=as.prototype;a.prototype=new b};cs=function(a){return _.O.Rr[a]};ds=function(a,b){_.O.Rr[a]=b};fs=function(a){a=a||{};"auto"===a.height&&(a.height=_.Jm.Xc());var b=window&&es&&es.Na();b?b.DK(a.width||0,a.height||0):_.op&&_.op._resizeMe&&_.op._resizeMe(a)};gs=function(a){Qr(a)}; _.hs=function(){return _.Nd.location.origin||_.Nd.location.protocol+"//"+_.Nd.location.host};is=function(a){var b=_.Xd(a.location.href,"urlindex");if(b=_.Td(_.ce,"fUrl",[])[b]){var c=a.location.hash;b+=/#/.test(b)?c.replace(/^#/,"&"):c;a.location.replace(b)}}; if(window.ToolbarApi)es=window.ToolbarApi,es.Na=window.ToolbarApi.getInstance,es.prototype=window.ToolbarApi.prototype,_.g=es.prototype,_.g.openWindow=es.prototype.openWindow,_.g.XF=es.prototype.closeWindow,_.g.nL=es.prototype.setOnCloseHandler,_.g.KF=es.prototype.canClosePopup,_.g.DK=es.prototype.resizeWindow;else{var es=function(){},js=null;es.Na=function(){!js&&window.external&&window.external.GTB_IsToolbar&&(js=new es);return js};_.g=es.prototype;_.g.openWindow=function(a){return window.external.GTB_OpenPopup&& window.external.GTB_OpenPopup(a)};_.g.XF=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};_.g.nL=function(a,b){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,b)};_.g.KF=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};_.g.DK=function(a,b){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,b)};window.ToolbarApi=es;window.ToolbarApi.getInstance=es.Na}; var ks=function(){_.K.register("_noop_echo",function(){this.callback(_.O.RS(_.O.Tj[this.f]))})},ls=function(){window.setTimeout(function(){_.K.call("..","_noop_echo",_.O.pX)},0)},Wr=function(a,b,c){var d=function(d){var e=Array.prototype.slice.call(arguments,0),h=e[e.length-1];if("function"===typeof h){var k=h;e.pop()}e.unshift(b,a,k,c);_.K.call.apply(_.K,e)};d._iframe_wrapped_rpc_=!0;return d},Ur=function(a){_.O.Lv[a]||(_.O.Lv[a]={},_.K.register(a,function(b,c){var d=this.f;if(!("string"!=typeof b|| b in{}||d in{})){var e=this.callback,f=_.O.Lv[a][d],h;f&&Object.hasOwnProperty.call(f,b)?h=f[b]:Object.hasOwnProperty.call(_.O.tn,a)&&(h=_.O.tn[a]);if(h)return d=Array.prototype.slice.call(arguments,1),h._iframe_wrapped_rpc_&&e&&d.push(e),h.apply({},d)}_.Sa(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',b,'" from frame "',d,'".'].join(""));return null}));return _.O.Lv[a]}; _.O.cQ=function(a,b,c){var d=Array.prototype.slice.call(arguments);_.O.qH(function(a){a.sameOrigin&&(d.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),_.K.call.apply(_.K,d))})};_.O.RX=function(a,b){_.K.register(a,b)}; var Pr=/^[-_.0-9A-Za-z]+$/,ms={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"},ns={onBeforeParentOpen:"beforeparentopen"},os={onOpen:function(a){var b=a.Ob();a.Bf(b.container||b.element);return a},onClose:function(a){a.remove()}};_.O.hn=function(a){var b=_.D();_.Vd(_.wn,b);_.Vd(a,b);return b}; var as=function(a,b,c,d,e,f,h,k){this.config=$r(a);this.openParams=this.fr=b||{};this.params=c||{};this.methods=d;this.ww=!1;ps(this,b.style);this.jp={};qs(this,function(){var a;(a=this.fr.style)&&_.O.Rr[a]?a=_.O.Rr[a]:a?(_.Ra(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=null):a=os;if(a){if("function"===typeof a)var b=a(this);else{var c={};for(b in a){var d=a[b];c[b]="function"===typeof d?_.I.Yu(a,d,this):d}b=c}for(var h in e)a=b[h],"function"===typeof a&&rs(this, e[h],_.I.Yu(b,a))}f&&rs(this,"close",f)});this.Ki=this.ac=h;this.HB=(k||[]).slice();h&&this.HB.unshift(h.ka())};as.prototype.Ob=function(){return this.fr};as.prototype.Nj=function(){return this.params};as.prototype.Xt=function(){return this.methods};as.prototype.Qc=function(){return this.Ki};var ps=function(a,b){a.ww||((b=b&&!_.O.Rr[b]&&_.O.wy[b])?(a.vy=[],b(function(){a.ww=!0;for(var b=0,d=a.vy.length;b<d;++b)a.vy[b].call(a)})):a.ww=!0)},qs=function(a,b){a.ww?b.call(a):a.vy.push(b)}; as.prototype.Uc=function(a,b){qs(this,function(){rs(this,a,b)})};var rs=function(a,b,c){a.jp[b]=a.jp[b]||[];a.jp[b].push(c)};as.prototype.cm=function(a,b){qs(this,function(){var c=this.jp[a];if(c)for(var d=0,e=c.length;d<e;++d)if(c[d]===b){c.splice(d,1);break}})}; as.prototype.Og=function(a,b){var c=this.jp[a];if(c)for(var d=Array.prototype.slice.call(arguments,1),e=0,f=c.length;e<f;++e)try{var h=c[e].apply({},d)}catch(k){_.Sa(['Exception when calling callback "',a,'" with exception "',k.name,": ",k.message,'".'].join(""))}return h}; var ss=function(a){return"number"==typeof a?{value:a,oz:a+"px"}:"100%"==a?{value:100,oz:"100%",QI:!0}:null},ts=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ms,e,f,h);this.id=b.id||Mr();this.wr=b.rpctoken&&String(b.rpctoken)||Math.round(1E9*(0,_.ck)());this.WU=Zr(this.params,this.config);this.ez={};qs(this,function(){this.Og("open");_.Tr(this.ez,this)})};bs(ts);_.g=ts.prototype; _.g.Bf=function(a,b){if(!this.config.url)return _.Sa("Cannot open iframe, empty URL."),this;var c=this.id;_.O.Tj[c]=this;var d=_.Tr(this.methods);d._ready=this.uv;d._close=this.close;d._open=this.vv;d._resizeMe=this.Yn;d._renderstart=this.PJ;var e=this.WU;this.wr&&(e.rpctoken=this.wr);e._methods=_.Vr(d,c,"",this,!0);this.el=a="string"===typeof a?window.document.getElementById(a):a;d={};d.id=c;if(b){d.attributes=b;var f=b.style;if("string"===typeof f){if(f){var h=[];f=f.split(";");for(var k=0,l=f.length;k< l;++k){var n=f[k];if(0!=n.length||k+1!=l)n=n.split(":"),2==n.length&&n[0].match(/^[ a-zA-Z_-]+$/)&&n[1].match(/^[ +.%0-9a-zA-Z_-]+$/)?h.push(n.join(":")):_.Sa(['Iframe style "',f[k],'" not allowed.'].join(""))}h=h.join(";")}else h="";b.style=h}}this.Ob().allowPost&&(d.allowPost=!0);this.Ob().forcePost&&(d.forcePost=!0);d.queryParams=this.params;d.fragmentParams=e;d.paramsSerializer=Nr;this.Qg=_.Kn(this.config.url,a,d);a=this.Qg.getAttribute("data-postorigin")||this.Qg.src;_.O.Tj[c]=this;_.K.ew(this.id, this.wr);_.K.Ph(this.id,a);return this};_.g.le=function(a,b){this.ez[a]=b};_.g.ka=function(){return this.id};_.g.Ha=function(){return this.Qg};_.g.$a=function(){return this.el};_.g.Ze=function(a){this.el=a};_.g.uv=function(a){var b=Xr(a,this.id,"");this.Ki&&"function"==typeof this.methods._ready&&(a._methods=_.Vr(b,this.Ki.ka(),this.id,this,!1),this.methods._ready(a));_.Tr(a,this);_.Tr(b,this);this.Og("ready",a)};_.g.PJ=function(a){this.Og("renderstart",a)}; _.g.close=function(a){a=this.Og("close",a);delete _.O.Tj[this.id];return a};_.g.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.parentNode.removeChild(a)}; _.g.vv=function(a){var b=Xr(a.params,this.id,a.proxyId);delete a.params._methods;"_parent"==a.openParams.anchor&&(a.openParams.anchor=this.el);if(Yr(a.openParams))new us(a.url,a.openParams,a.params,b,b._onclose,this,a.openedByProxyChain);else{var c=new ts(a.url,a.openParams,a.params,b,b._onclose,this,a.openedByProxyChain),d=this;qs(c,function(){var a={childId:c.ka()},f=c.ez;f._toclose=c.close;a._methods=_.Vr(f,d.id,c.id,c,!1);b._onopen(a)})}}; _.g.Yn=function(a){if(void 0===this.Og("resize",a)&&this.Qg){var b=ss(a.width);null!=b&&(this.Qg.style.width=b.oz);a=ss(a.height);null!=a&&(this.Qg.style.height=a.oz);this.Qg.parentElement&&(null!=b&&b.QI||null!=a&&a.QI)&&(this.Qg.parentElement.style.display="block")}}; var us=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,e,f,h);this.url=a;this.xm=null;this.cC=Mr();qs(this,function(){this.Og("beforeparentopen");var a=_.Tr(this.methods);a._onopen=this.fX;a._ready=this.uv;a._onclose=this.dX;this.params._methods=_.Vr(a,"..",this.cC,this,!0);a={};for(c in this.params)a[c]=Nr(this.params[c]);var b=this.config.url;if(this.fr.hideUrlFromParent){var c=window.name;var d=b;b=_.ln(this.config.url,this.params,{},Nr);var e=a;a={};a._methods=e._methods;a["#opener"]=e["#opener"]; a["#urlindex"]=e["#urlindex"];a["#opener"]&&void 0!=e["#urlindex"]?(a["#opener"]=c+","+a["#opener"],c=d):(d=_.Td(_.ce,"fUrl",[]),e=d.length,d[e]=b,_.ce.rUrl=is,a["#opener"]=c,a["#urlindex"]=e,c=_.Xj.Qa(_.Nd.location.href),b=_.H("iframes/relay_url_"+(0,window.encodeURIComponent)(c))||"/_/gapi/sibling/1/frame.html",c+=b);b=c}_.op._open({url:b,openParams:this.fr,params:a,proxyId:this.cC,openedByProxyChain:this.HB})})};bs(us);us.prototype.iT=function(){return this.xm}; us.prototype.fX=function(a){this.xm=a.childId;var b=Xr(a,"..",this.xm);_.Tr(b,this);this.close=b._toclose;_.O.Tj[this.xm]=this;this.Ki&&this.methods._onopen&&(a._methods=_.Vr(b,this.Ki.ka(),this.xm,this,!1),this.methods._onopen(a))};us.prototype.uv=function(a){var b=String(this.xm),c=Xr(a,"..",b);_.Tr(a,this);_.Tr(c,this);this.Og("ready",a);this.Ki&&this.methods._ready&&(a._methods=_.Vr(c,this.Ki.ka(),b,this,!1),this.methods._ready(a))}; us.prototype.dX=function(a){if(this.Ki&&this.methods._onclose)this.methods._onclose(a);else return a=this.Og("close",a),delete _.O.Tj[this.xm],a}; var vs=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,f,h);this.id=b.id||Mr();this.v_=e;d._close=this.close;this.onClosed=this.JJ;this.HM=0;qs(this,function(){this.Og("beforeparentopen");var b=_.Tr(this.methods);this.params._methods=_.Vr(b,"..",this.cC,this,!0);b={};b.queryParams=this.params;a=_.Bn(_.Qd,this.config.url,this.id,b);var c=e.openWindow(a);this.canAutoClose=function(a){a(e.KF(c))};e.nL(c,this);this.HM=c})};bs(vs); vs.prototype.close=function(a){a=this.Og("close",a);this.v_.XF(this.HM);return a};vs.prototype.JJ=function(){this.Og("close")}; (function(){_.O.Tj={};_.O.Rr={};_.O.wy={};_.O.tI=0;_.O.Lv={};_.O.tn={};_.O.Bv=null;_.O.Av=[];_.O.pX=function(a){var b=!1;try{if(null!=a){var c=window.parent.frames[a.id];b=c.iframer.id==a.id&&c.iframes.openedId_(_.op.id)}}catch(f){}try{_.O.Bv={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:b};for(a=0;a<_.O.Av.length;++a)_.O.Av[a](_.O.Bv);_.O.Av=[]}catch(f){}};_.O.RS=function(a){var b=a&&a.Ki,c=null;b&&(c={},c.id=b.ka(),c.proxyChain= a.HB);return c};ks();if(window.parent!=window){var a=_.I.xc();a.gcv&&Qr(a.gcv);var b=a.jsh;b&&Rr(b);_.Tr(Xr(a,"..",""),_.op);_.Tr(a,_.op);ls()}_.O.Bb=cs;_.O.Xb=ds;_.O.pZ=gs;_.O.resize=fs;_.O.ZR=function(a){return _.O.wy[a]};_.O.NC=function(a,b){_.O.wy[a]=b};_.O.CK=fs;_.O.PZ=gs;_.O.ou={};_.O.ou.get=cs;_.O.ou.set=ds;_.O.EP=function(a,b){Ur(a);_.O.tn[a]=b||window[a]};_.O.s8=function(a){delete _.O.tn[a]};_.O.open=function(a,b,e,f,h,k){3==arguments.length?f={}:4==arguments.length&&"function"===typeof f&& (h=f,f={});var c="bubble"===b.style&&es?es.Na():null;return c?new vs(a,b,e,f,c,h,k):Yr(b)?new us(a,b,e,f,h,k):new ts(a,b,e,f,h,k)};_.O.close=function(a,b){_.op&&_.op._close&&_.op._close(a,b)};_.O.ready=function(a,b,e){2==arguments.length&&"function"===typeof b&&(e=b,b={});var c=a||{};"height"in c||(c.height=_.Jm.Xc());c._methods=_.Vr(b||{},"..","",_.op,!0);_.op&&_.op._ready&&_.op._ready(c,e)};_.O.qH=function(a){_.O.Bv?a(_.O.Bv):_.O.Av.push(a)};_.O.jX=function(a){return!!_.O.Tj[a]};_.O.kS=function(){return["https://ssl.gstatic.com/gb/js/", _.H("googleapis.config/gcv")].join("")};_.O.jK=function(a){var b={mouseover:1,mouseout:1};if(_.op._event)for(var c=0;c<a.length;c++){var f=a[c];f in b&&_.I.Hs(window.document,f,function(a){_.op._event({event:a.type,timestamp:(new Date).getTime()})},!0)}};_.O.zZ=Rr;_.O.KC=Sr;_.O.gJ=Or;_.O.vI=_.op})(); _.w("iframes.allow",_.O.EP);_.w("iframes.callSiblingOpener",_.O.cQ);_.w("iframes.registerForOpenedSibling",_.O.RX);_.w("iframes.close",_.O.close);_.w("iframes.getGoogleConnectJsUri",_.O.kS);_.w("iframes.getHandler",_.O.Bb);_.w("iframes.getDeferredHandler",_.O.ZR);_.w("iframes.getParentInfo",_.O.qH);_.w("iframes.iframer",_.O.vI);_.w("iframes.open",_.O.open);_.w("iframes.openedId_",_.O.jX);_.w("iframes.propagate",_.O.jK);_.w("iframes.ready",_.O.ready);_.w("iframes.resize",_.O.resize); _.w("iframes.setGoogleConnectJsVersion",_.O.pZ);_.w("iframes.setBootstrapHint",_.O.KC);_.w("iframes.setJsHint",_.O.zZ);_.w("iframes.setHandler",_.O.Xb);_.w("iframes.setDeferredHandler",_.O.NC);_.w("IframeBase",as);_.w("IframeBase.prototype.addCallback",as.prototype.Uc);_.w("IframeBase.prototype.getMethods",as.prototype.Xt);_.w("IframeBase.prototype.getOpenerIframe",as.prototype.Qc);_.w("IframeBase.prototype.getOpenParams",as.prototype.Ob);_.w("IframeBase.prototype.getParams",as.prototype.Nj); _.w("IframeBase.prototype.removeCallback",as.prototype.cm);_.w("Iframe",ts);_.w("Iframe.prototype.close",ts.prototype.close);_.w("Iframe.prototype.exposeMethod",ts.prototype.le);_.w("Iframe.prototype.getId",ts.prototype.ka);_.w("Iframe.prototype.getIframeEl",ts.prototype.Ha);_.w("Iframe.prototype.getSiteEl",ts.prototype.$a);_.w("Iframe.prototype.openInto",ts.prototype.Bf);_.w("Iframe.prototype.remove",ts.prototype.remove);_.w("Iframe.prototype.setSiteEl",ts.prototype.Ze); _.w("Iframe.prototype.addCallback",ts.prototype.Uc);_.w("Iframe.prototype.getMethods",ts.prototype.Xt);_.w("Iframe.prototype.getOpenerIframe",ts.prototype.Qc);_.w("Iframe.prototype.getOpenParams",ts.prototype.Ob);_.w("Iframe.prototype.getParams",ts.prototype.Nj);_.w("Iframe.prototype.removeCallback",ts.prototype.cm);_.w("IframeProxy",us);_.w("IframeProxy.prototype.getTargetIframeId",us.prototype.iT);_.w("IframeProxy.prototype.addCallback",us.prototype.Uc);_.w("IframeProxy.prototype.getMethods",us.prototype.Xt); _.w("IframeProxy.prototype.getOpenerIframe",us.prototype.Qc);_.w("IframeProxy.prototype.getOpenParams",us.prototype.Ob);_.w("IframeProxy.prototype.getParams",us.prototype.Nj);_.w("IframeProxy.prototype.removeCallback",us.prototype.cm);_.w("IframeWindow",vs);_.w("IframeWindow.prototype.close",vs.prototype.close);_.w("IframeWindow.prototype.onClosed",vs.prototype.JJ);_.w("iframes.util.getTopMostAccessibleWindow",_.O.Ia.DH);_.w("iframes.handlers.get",_.O.ou.get);_.w("iframes.handlers.set",_.O.ou.set); _.w("iframes.resizeMe",_.O.CK);_.w("iframes.setVersionOverride",_.O.PZ); as.prototype.send=function(a,b,c){_.O.QK(this,a,b,c)};_.op.send=function(a,b,c){_.O.QK(_.op,a,b,c)};as.prototype.register=function(a,b){var c=this;c.Uc(a,function(a){b.call(c,a)})};_.O.QK=function(a,b,c,d){var e=[];void 0!==c&&e.push(c);d&&e.push(function(a){d.call(this,[a])});a[b]&&a[b].apply(a,e)};_.O.Ho=function(){return!0};_.w("iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.O.Ho);_.w("IframeBase.prototype.send",as.prototype.send);_.w("IframeBase.prototype.register",as.prototype.register); _.w("Iframe.prototype.send",ts.prototype.send);_.w("Iframe.prototype.register",ts.prototype.register);_.w("IframeProxy.prototype.send",us.prototype.send);_.w("IframeProxy.prototype.register",us.prototype.register);_.w("IframeWindow.prototype.send",vs.prototype.send);_.w("IframeWindow.prototype.register",vs.prototype.register);_.w("iframes.iframer.send",_.O.vI.send); var Iu=_.O.Xb,Ju={open:function(a){var b=_.ip(a.Ob());return a.Bf(b,{style:_.jp(b)})},attach:function(a,b){var c=_.ip(a.Ob()),d=b.id,e=b.getAttribute("data-postorigin")||b.src,f=/#(?:.*&)?rpctoken=(\d+)/.exec(e);f=f&&f[1];a.id=d;a.wr=f;a.el=c;a.Qg=b;_.O.Tj[d]=a;b=_.Tr(a.methods);b._ready=a.uv;b._close=a.close;b._open=a.vv;b._resizeMe=a.Yn;b._renderstart=a.PJ;_.Vr(b,d,"",a,!0);_.K.ew(a.id,a.wr);_.K.Ph(a.id,e);c=_.O.hn({style:_.jp(c)});for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&("style"== h?a.Qg.style.cssText=c[h]:a.Qg.setAttribute(h,c[h]))}};Ju.onready=_.kp;Ju.onRenderStart=_.kp;Ju.close=_.lp;Iu("inline",Ju); _.Wj=(window.gapi||{}).load; _.np=_.D(); _.pp=function(a){var b=window;a=(a||b.location.href).match(/.*(\?|#|&)usegapi=([^&#]+)/)||[];return"1"===(0,window.decodeURIComponent)(a[a.length-1]||"")}; var qp,rp,sp,tp,up,vp,zp,Ap;qp=function(a){if(_.Sd.test(Object.keys))return Object.keys(a);var b=[],c;for(c in a)_.Ud(a,c)&&b.push(c);return b};rp=function(a,b){if(!_.gf())try{a()}catch(c){}_.hf(b)};sp={button:!0,div:!0,span:!0};tp=function(a){var b=_.Td(_.ce,"sws",[]);return 0<=_.Xm.call(b,a)};up=function(a){return _.Td(_.ce,"watt",_.D())[a]};vp=function(a){return function(b,c){return a?_.Gn()[c]||a[c]||"":_.Gn()[c]||""}}; _.wp={apppackagename:1,callback:1,clientid:1,cookiepolicy:1,openidrealm:-1,includegrantedscopes:-1,requestvisibleactions:1,scope:1};_.xp=!1; _.yp=function(){if(!_.xp){for(var a=window.document.getElementsByTagName("meta"),b=0;b<a.length;++b){var c=a[b].name.toLowerCase();if(_.vc(c,"google-signin-")){c=c.substring(14);var d=a[b].content;_.wp[c]&&d&&(_.np[c]=d)}}if(window.self!==window.top){a=window.document.location.toString();for(var e in _.wp)0<_.wp[e]&&(b=_.Xd(a,e,""))&&(_.np[e]=b)}_.xp=!0}e=_.D();_.Vd(_.np,e);return e}; zp=function(a){var b;a.match(/^https?%3A/i)&&(b=(0,window.decodeURIComponent)(a));return _.mn(window.document,b?b:a)};Ap=function(a){a=a||"canonical";for(var b=window.document.getElementsByTagName("link"),c=0,d=b.length;c<d;c++){var e=b[c],f=e.getAttribute("rel");if(f&&f.toLowerCase()==a&&(e=e.getAttribute("href"))&&(e=zp(e))&&null!=e.match(/^https?:\/\/[\w\-_\.]+/i))return e}return window.location.href};_.Bp=function(){return window.location.origin||window.location.protocol+"//"+window.location.host}; _.Cp=function(a,b,c,d){return(a="string"==typeof a?a:void 0)?zp(a):Ap(d)};_.Dp=function(a,b,c){null==a&&c&&(a=c.db,null==a&&(a=c.gwidget&&c.gwidget.db));return a||void 0};_.Ep=function(a,b,c){null==a&&c&&(a=c.ecp,null==a&&(a=c.gwidget&&c.gwidget.ecp));return a||void 0}; _.Fp=function(a,b,c){return _.Cp(a,b,c,b.action?void 0:"publisher")};var Gp,Hp,Ip,Jp,Kp,Lp,Np,Mp;Gp={se:"0"};Hp={post:!0};Ip={style:"position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"};Jp="onPlusOne _ready _close _open _resizeMe _renderstart oncircled drefresh erefresh".split(" ");Kp=_.Td(_.ce,"WI",_.D());Lp=["style","data-gapiscan"]; Np=function(a){for(var b=_.D(),c=0!=a.nodeName.toLowerCase().indexOf("g:"),d=0,e=a.attributes.length;d<e;d++){var f=a.attributes[d],h=f.name,k=f.value;0<=_.Xm.call(Lp,h)||c&&0!=h.indexOf("data-")||"null"===k||"specified"in f&&!f.specified||(c&&(h=h.substr(5)),b[h.toLowerCase()]=k)}a=a.style;(c=Mp(a&&a.height))&&(b.height=String(c));(a=Mp(a&&a.width))&&(b.width=String(a));return b}; _.Pp=function(a,b,c,d,e,f){if(c.rd)var h=b;else h=window.document.createElement("div"),b.setAttribute("data-gapistub",!0),h.style.cssText="position:absolute;width:450px;left:-10000px;",b.parentNode.insertBefore(h,b);f.siteElement=h;h.id||(h.id=_.Op(a));b=_.D();b[">type"]=a;_.Vd(c,b);a=_.Kn(d,h,e);f.iframeNode=a;f.id=a.getAttribute("id")};_.Op=function(a){_.Td(Kp,a,0);return"___"+a+"_"+Kp[a]++};Mp=function(a){var b=void 0;"number"===typeof a?b=a:"string"===typeof a&&(b=(0,window.parseInt)(a,10));return b}; var Qp=function(){},Tp=function(a){var b=a.Wm,c=function(a){c.H.constructor.call(this,a);var b=this.mh.length;this.Hg=[];for(var d=0;d<b;++d)this.mh[d].p8||(this.Hg[d]=new this.mh[d](a))};_.z(c,b);for(var d=[];a;){if(b=a.Wm){b.mh&&_.pe(d,b.mh);var e=b.prototype,f;for(f in e)if(e.hasOwnProperty(f)&&_.Xa(e[f])&&e[f]!==b){var h=!!e[f].c8,k=Rp(f,e,d,h);(h=Sp(f,e,k,h))&&(c.prototype[f]=h)}}a=a.H&&a.H.constructor}c.prototype.mh=d;return c},Rp=function(a,b,c,d){for(var e=[],f=0;f<c.length&&(c[f].prototype[a]=== b[a]||(e.push(f),!d));++f);return e},Sp=function(a,b,c,d){return c.length?d?function(b){var d=this.Hg[c[0]];return d?d[a].apply(this.Hg[c[0]],arguments):this.mh[c[0]].prototype[a].apply(this,arguments)}:b[a].eQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k=this.Hg[c[e]];if(k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)){d=k;break a}}d=!1}return d}:b[a].dQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k= this.Hg[c[e]];k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d);if(null!=k){d=k;break a}}d=void 0}return d}:b[a].AJ?function(b){for(var d=Array.prototype.slice.call(arguments,0),e=0;e<c.length;++e){var k=this.Hg[c[e]];k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)}}:function(b){for(var d=Array.prototype.slice.call(arguments,0),e=[],k=0;k<c.length;++k){var l=this.Hg[c[k]];e.push(l?l[a].apply(l,d):this.mh[c[k]].prototype[a].apply(this,d))}return e}:d||b[a].eQ||b[a].dQ||b[a].AJ? null:Up},Up=function(){return[]};Qp.prototype.jz=function(a){if(this.Hg)for(var b=0;b<this.Hg.length;++b)if(this.Hg[b]instanceof a)return this.Hg[b];return null}; var Vp=function(a){return this.Ya.jz(a)};var Wp,Xp,Yp,Zp,$p=/(?:^|\s)g-((\S)*)(?:$|\s)/,aq={plusone:!0,autocomplete:!0,profile:!0,signin:!0,signin2:!0};Wp=_.Td(_.ce,"SW",_.D());Xp=_.Td(_.ce,"SA",_.D());Yp=_.Td(_.ce,"SM",_.D());Zp=_.Td(_.ce,"FW",[]); var eq=function(a,b){var c;bq.ps0=(new Date).getTime();cq("ps0");a=("string"===typeof a?window.document.getElementById(a):a)||_.Qd;var d=_.Qd.documentMode;if(a.querySelectorAll&&(!d||8<d)){d=b?[b]:qp(Wp).concat(qp(Xp)).concat(qp(Yp));for(var e=[],f=0;f<d.length;f++){var h=d[f];e.push(".g-"+h,"g\\:"+h)}d=a.querySelectorAll(e.join(","))}else d=a.getElementsByTagName("*");a=_.D();for(e=0;e<d.length;e++){f=d[e];var k=f;h=b;var l=k.nodeName.toLowerCase(),n=void 0;if(k.getAttribute("data-gapiscan"))h=null; else{var p=l.indexOf("g:");0==p?n=l.substr(2):(p=(p=String(k.className||k.getAttribute("class")))&&$p.exec(p))&&(n=p[1]);h=!n||!(Wp[n]||Xp[n]||Yp[n])||h&&n!==h?null:n}h&&(aq[h]||0==f.nodeName.toLowerCase().indexOf("g:")||0!=qp(Np(f)).length)&&(f.setAttribute("data-gapiscan",!0),_.Td(a,h,[]).push(f))}for(q in a)Zp.push(q);bq.ps1=(new Date).getTime();cq("ps1");if(b=Zp.join(":"))try{_.Wd.load(b,void 0)}catch(t){_.ue(t);return}e=[];for(c in a){d=a[c];var q=0;for(b=d.length;q<b;q++)f=d[q],dq(c,f,Np(f), e,b)}}; var fq=function(a,b){var c=up(a);b&&c?(c(b),(c=b.iframeNode)&&c.setAttribute("data-gapiattached",!0)):_.Wd.load(a,function(){var c=up(a),e=b&&b.iframeNode,f=b&&b.userParams;e&&c?(c(b),e.setAttribute("data-gapiattached",!0)):(c=_.Wd[a].go,"signin2"==a?c(e,f):c(e&&e.parentNode,f))})},dq=function(a,b,c,d,e,f,h){switch(gq(b,a,f)){case 0:a=Yp[a]?a+"_annotation":a;d={};d.iframeNode=b;d.userParams=c;fq(a,d);break;case 1:if(b.parentNode){for(var k in c){if(f=_.Ud(c,k))f=c[k],f=!!f&&"object"===typeof f&&(!f.toString|| f.toString===Object.prototype.toString||f.toString===Array.prototype.toString);if(f)try{c[k]=_.df(c[k])}catch(F){delete c[k]}}k=!0;c.dontclear&&(k=!1);delete c.dontclear;var l;f={};var n=l=a;"plus"==a&&c.action&&(l=a+"_"+c.action,n=a+"/"+c.action);(l=_.H("iframes/"+l+"/url"))||(l=":im_socialhost:/:session_prefix::im_prefix:_/widget/render/"+n+"?usegapi=1");for(p in Gp)f[p]=p+"/"+(c[p]||Gp[p])+"/";var p=_.mn(_.Qd,l.replace(_.Fn,vp(f)));n="iframes/"+a+"/params/";f={};_.Vd(c,f);(l=_.H("lang")||_.H("gwidget/lang"))&& (f.hl=l);Hp[a]||(f.origin=_.Bp());f.exp=_.H(n+"exp");if(n=_.H(n+"location"))for(l=0;l<n.length;l++){var q=n[l];f[q]=_.Nd.location[q]}switch(a){case "plus":case "follow":f.url=_.Fp(f.href,c,null);delete f.href;break;case "plusone":n=(n=c.href)?zp(n):Ap();f.url=n;f.db=_.Dp(c.db,void 0,_.H());f.ecp=_.Ep(c.ecp,void 0,_.H());delete f.href;break;case "signin":f.url=Ap()}_.ce.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;for(var t in Gp)f[t]&&delete f[t];f.gsrc=_.H("iframes/:source:");t=_.H("inline/css"); "undefined"!==typeof t&&0<e&&t>=e&&(f.ic="1");t=/^#|^fr-/;e={};for(var x in f)_.Ud(f,x)&&t.test(x)&&(e[x.replace(t,"")]=f[x],delete f[x]);x="q"==_.H("iframes/"+a+"/params/si")?f:e;t=_.yp();for(var v in t)!_.Ud(t,v)||_.Ud(f,v)||_.Ud(e,v)||(x[v]=t[v]);v=[].concat(Jp);x=_.H("iframes/"+a+"/methods");_.Wm(x)&&(v=v.concat(x));for(y in c)_.Ud(c,y)&&/^on/.test(y)&&("plus"!=a||"onconnect"!=y)&&(v.push(y),delete f[y]);delete f.callback;e._methods=v.join(",");var y=_.ln(p,f,e);v=h||{};v.allowPost=1;v.attributes= Ip;v.dontclear=!k;h={};h.userParams=c;h.url=y;h.type=a;_.Pp(a,b,c,y,v,h);b=h.id;c=_.D();c.id=b;c.userParams=h.userParams;c.url=h.url;c.type=h.type;c.state=1;_.fp[b]=c;b=h}else b=null;b&&((c=b.id)&&d.push(c),fq(a,b))}},gq=function(a,b,c){if(a&&1===a.nodeType&&b){if(c)return 1;if(Yp[b]){if(sp[a.nodeName.toLowerCase()])return(a=a.innerHTML)&&a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}else{if(Xp[b])return 0;if(Wp[b])return 1}}return null}; _.Td(_.Wd,"platform",{}).go=function(a,b){eq(a,b)};var hq=_.Td(_.ce,"perf",_.D()),bq=_.Td(hq,"g",_.D()),iq=_.Td(hq,"i",_.D()),jq,kq,lq,cq,nq,oq,pq;_.Td(hq,"r",[]);jq=_.D();kq=_.D();lq=function(a,b,c,d){jq[c]=jq[c]||!!d;_.Td(kq,c,[]);kq[c].push([a,b])};cq=function(a,b,c){var d=hq.r;"function"===typeof d?d(a,b,c):d.push([a,b,c])};nq=function(a,b,c,d){if("_p"==b)throw Error("S");_.mq(a,b,c,d)};_.mq=function(a,b,c,d){oq(b,c)[a]=d||(new Date).getTime();cq(a,b,c)};oq=function(a,b){a=_.Td(iq,a,_.D());return _.Td(a,b,_.D())}; pq=function(a,b,c){var d=null;b&&c&&(d=oq(b,c)[a]);return d||bq[a]}; (function(){function a(a){this.t={};this.tick=function(a,b,c){this.t[a]=[void 0!=c?c:(new Date).getTime(),b];if(void 0==c)try{window.console.timeStamp("CSI/"+a)}catch(p){}};this.tick("start",null,a)}var b;if(window.performance)var c=(b=window.performance.timing)&&b.responseStart;var d=0<c?new a(c):new a;window.__gapi_jstiming__={Timer:a,load:d};if(b){var e=b.navigationStart;0<e&&c>=e&&(window.__gapi_jstiming__.srt=c-e)}if(b){var f=window.__gapi_jstiming__.load;0<e&&c>=e&&(f.tick("_wtsrt",void 0,e), f.tick("wtsrt_","_wtsrt",c),f.tick("tbsd_","wtsrt_"))}try{b=null,window.chrome&&window.chrome.csi&&(b=Math.floor(window.chrome.csi().pageT),f&&0<e&&(f.tick("_tbnd",void 0,window.chrome.csi().startE),f.tick("tbnd_","_tbnd",e))),null==b&&window.gtbExternal&&(b=window.gtbExternal.pageT()),null==b&&window.external&&(b=window.external.pageT,f&&0<e&&(f.tick("_tbnd",void 0,window.external.startE),f.tick("tbnd_","_tbnd",e))),b&&(window.__gapi_jstiming__.pt=b)}catch(h){}})(); if(window.__gapi_jstiming__){window.__gapi_jstiming__.AF={};window.__gapi_jstiming__.eY=1;var sq=function(a,b,c){var d=a.t[b],e=a.t.start;if(d&&(e||c))return d=a.t[b][0],e=void 0!=c?c:e[0],Math.round(d-e)};window.__gapi_jstiming__.getTick=sq;window.__gapi_jstiming__.getLabels=function(a){var b=[],c;for(c in a.t)b.push(c);return b};var tq=function(a,b,c){var d="";window.__gapi_jstiming__.srt&&(d+="&srt="+window.__gapi_jstiming__.srt);window.__gapi_jstiming__.pt&&(d+="&tbsrt="+window.__gapi_jstiming__.pt); try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(q){}var e=window.chrome;if(e&&(e=e.loadTimes)){e().wasFetchedViaSpdy&&(d+="&p=s");if(e().wasNpnNegotiated){d+="&npn=1";var f=e().npnNegotiatedProtocol;f&&(d+="&npnv="+(window.encodeURIComponent||window.escape)(f))}e().wasAlternateProtocolAvailable&&(d+="&apa=1")}var h= a.t,k=h.start;e=[];f=[];for(var l in h)if("start"!=l&&0!=l.indexOf("_")){var n=h[l][1];n?h[n]&&f.push(l+"."+sq(a,l,h[n][0])):k&&e.push(l+"."+sq(a,l))}if(b)for(var p in b)d+="&"+p+"="+b[p];(b=c)||(b="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");return[b,"?v=3","&s="+(window.__gapi_jstiming__.sn||"")+"&action=",a.name,f.length?"&it="+f.join(","):"",d,"&rt=",e.join(",")].join("")},uq=function(a,b,c){a=tq(a,b,c);if(!a)return"";b=new window.Image; var d=window.__gapi_jstiming__.eY++;window.__gapi_jstiming__.AF[d]=b;b.onload=b.onerror=function(){window.__gapi_jstiming__&&delete window.__gapi_jstiming__.AF[d]};b.src=a;b=null;return a};window.__gapi_jstiming__.report=function(a,b,c){var d=window.document.visibilityState,e="visibilitychange";d||(d=window.document.webkitVisibilityState,e="webkitvisibilitychange");if("prerender"==d){var f=!1,h=function(){if(!f){b?b.prerender="1":b={prerender:"1"};if("prerender"==(window.document.visibilityState|| window.document.webkitVisibilityState))var d=!1;else uq(a,b,c),d=!0;d&&(f=!0,window.document.removeEventListener(e,h,!1))}};window.document.addEventListener(e,h,!1);return""}return uq(a,b,c)}}; var vq={g:"gapi_global",m:"gapi_module",w:"gwidget"},wq=function(a,b){this.type=a?"_p"==a?"m":"w":"g";this.name=a;this.wo=b};wq.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.wo;case "w":return this.type+"."+this.name+this.wo}}; var xq=new wq,yq=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/),zq=_.Td(hq,"_c",_.D()),Aq=Math.random()<(_.H("csi/rate")||0),Cq=function(a,b,c){for(var d=new wq(b,c),e=_.Td(zq,d.key(),_.D()),f=kq[a]||[],h=0;h<f.length;++h){var k=f[h],l=k[0],n=a,p=b,q=c;k=pq(k[1],p,q);n=pq(n,p,q);e[l]=k&&n?n-k:null}jq[a]&&Aq&&(Bq(xq),Bq(d))},Dq=function(a,b){b=b||[];for(var c=[],d=0;d<b.length;d++)c.push(a+b[d]);return c},Bq=function(a){var b=_.Nd.__gapi_jstiming__;b.sn=vq[a.type];var c= new b.Timer(0);a:{switch(a.type){case "g":var d="global";break a;case "m":d=a.wo;break a;case "w":d=a.name;break a}d=void 0}c.name=d;d=!1;var e=a.key(),f=zq[e];c.tick("_start",null,0);for(var h in f)c.tick(h,"_start",f[h]),d=!0;zq[e]=_.D();d&&(h=[],h.push("l"+(_.H("isPlusUser")?"1":"0")),d="m"+(yq?"1":"0"),h.push(d),"m"==a.type?h.push("p"+a.wo):"w"==a.type&&(e="n"+a.wo,h.push(e),"0"==a.wo&&h.push(d+e)),h.push("u"+(_.H("isLoggedIn")?"1":"0")),a=Dq("",h),a=Dq("abc_",a).join(","),b.report(c,{e:a}))}; lq("blt","bs0","bs1");lq("psi","ps0","ps1");lq("rpcqi","rqe","rqd");lq("bsprt","bsrt0","bsrt1");lq("bsrqt","bsrt1","bsrt2");lq("bsrst","bsrt2","bsrt3");lq("mli","ml0","ml1");lq("mei","me0","me1",!0);lq("wcdi","wrs","wcdi");lq("wci","wrs","wdc");lq("wdi","wrs","wrdi");lq("wdt","bs0","wrdt");lq("wri","wrs","wrri",!0);lq("wrt","bs0","wrrt");lq("wji","wje0","wje1",!0);lq("wjli","wjl0","wjl1");lq("whi","wh0","wh1",!0);lq("wai","waaf0","waaf1",!0);lq("wadi","wrs","waaf1",!0);lq("wadt","bs0","waaf1",!0); lq("wprt","wrt0","wrt1");lq("wrqt","wrt1","wrt2");lq("wrst","wrt2","wrt3",!0);lq("fbprt","fsrt0","fsrt1");lq("fbrqt","fsrt1","fsrt2");lq("fbrst","fsrt2","fsrt3",!0);lq("fdns","fdns0","fdns1");lq("fcon","fcon0","fcon1");lq("freq","freq0","freq1");lq("frsp","frsp0","frsp1");lq("fttfb","fttfb0","fttfb1");lq("ftot","ftot0","ftot1",!0);var Eq=hq.r;if("function"!==typeof Eq){for(var Fq;Fq=Eq.shift();)Cq.apply(null,Fq);hq.r=Cq}; var Gq=["div"],Hq="onload",Iq=!0,Jq=!0,Kq=function(a){return a},Lq=null,Mq=function(a){var b=_.H(a);return"undefined"!==typeof b?b:_.H("gwidget/"+a)},hr,ir,jr,kr,ar,cr,lr,br,mr,nr,or,pr;Lq=_.H();_.H("gwidget");var Nq=Mq("parsetags");Hq="explicit"===Nq||"onload"===Nq?Nq:Hq;var Oq=Mq("google_analytics");"undefined"!==typeof Oq&&(Iq=!!Oq);var Pq=Mq("data_layer");"undefined"!==typeof Pq&&(Jq=!!Pq); var Qq=function(){var a=this&&this.ka();a&&(_.ce.drw=a)},Rq=function(){_.ce.drw=null},Sq=function(a){return function(b){var c=a;"number"===typeof b?c=b:"string"===typeof b&&(c=b.indexOf("px"),-1!=c&&(b=b.substring(0,c)),c=(0,window.parseInt)(b,10));return c}},Tq=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:null},Uq=function(){return Mq("lang")||"en-US"},Vq=function(a){if(!_.O.Bb("attach")){var b={},c=_.O.Bb("inline"),d;for(d in c)c.hasOwnProperty(d)&&(b[d]=c[d]);b.open= function(a){var b=a.Ob().renderData.id;b=window.document.getElementById(b);if(!b)throw Error("T");return c.attach(a,b)};_.O.Xb("attach",b)}a.style="attach"},Wq=function(){var a={};a.width=[Sq(450)];a.height=[Sq(24)];a.onready=[Tq];a.lang=[Uq,"hl"];a.iloader=[function(){return _.ce.ILI},"iloader"];return a}(),Zq=function(a){var b={};b.De=a[0];b.Bo=-1;b.D$="___"+b.De+"_";b.W_="g:"+b.De;b.o9="g-"+b.De;b.wK=[];b.config={};b.Vs=[];b.uM={};b.Ew={};var c=function(a){for(var c in a)if(_.Ud(a,c)){b.config[c]= [Tq];b.Vs.push(c);var d=a[c],e=null,l=null,n=null;"function"===typeof d?e=d:d&&"object"===typeof d&&(e=d.Y8,l=d.Xr,n=d.Mw);n&&(b.Vs.push(n),b.config[n]=[Tq],b.uM[c]=n);e&&(b.config[c]=[e]);l&&(b.Ew[c]=l)}},d=function(a){for(var c={},d=0;d<a.length;++d)c[a[d].toLowerCase()]=1;c[b.W_]=1;b.lW=c};a[1]&&(b.parameters=a[1]);(function(a){b.config=a;for(var c in Wq)Wq.hasOwnProperty(c)&&!b.config.hasOwnProperty(c)&&(b.config[c]=Wq[c])})(a[2]||{});a[3]&&c(a[3]);a[4]&&d(a[4]);a[5]&&(b.jk=a[5]);b.u$=!0===a[6]; b.EX=a[7];b.H_=a[8];b.lW||d(Gq);b.CB=function(a){b.Bo++;nq("wrs",b.De,String(b.Bo));var c=[],d=a.element,e=a.config,l=":"+b.De;":plus"==l&&a.hk&&a.hk.action&&(l+="_"+a.hk.action);var n=Xq(b,e),p={};_.Vd(_.yp(),p);for(var q in a.hk)null!=a.hk[q]&&(p[q]=a.hk[q]);q={container:d.id,renderData:a.$X,style:"inline",height:e.height,width:e.width};Vq(q);b.jk&&(c[2]=q,c[3]=p,c[4]=n,b.jk("i",c));l=_.O.open(l,q,p,n);Yq(b,l,e,d,a.GQ);c[5]=l;b.jk&&b.jk("e",c)};return b},Xq=function(a,b){for(var c={},d=a.Vs.length- 1;0<=d;--d){var e=a.Vs[d],f=b[a.uM[e]||e]||b[e],h=b[e];h&&f!==h&&(f=function(a,b){return function(c){b.apply(this,arguments);a.apply(this,arguments)}}(f,h));f&&(c[e]=f)}for(var k in a.Ew)a.Ew.hasOwnProperty(k)&&(c[k]=$q(c[k]||function(){},a.Ew[k]));c.drefresh=Qq;c.erefresh=Rq;return c},$q=function(a,b){return function(c){var d=b(c);if(d){var e=c.href||null;if(Iq){if(window._gat)try{var f=window._gat._getTrackerByName("~0");f&&"UA-XXXXX-X"!=f._getAccount()?f._trackSocial("Google",d,e):window._gaq&& window._gaq.push(["_trackSocial","Google",d,e])}catch(k){}if(window.ga&&window.ga.getAll)try{var h=window.ga.getAll();for(f=0;f<h.length;f++)h[f].send("social","Google",d,e)}catch(k){}}if(Jq&&window.dataLayer)try{window.dataLayer.push({event:"social",socialNetwork:"Google",socialAction:d,socialTarget:e})}catch(k){}}a.call(this,c)}},Yq=function(a,b,c,d,e){ar(b,c);br(b,d);cr(a,b,e);dr(a.De,a.Bo.toString(),b);(new er).Ya.Jk(a,b,c,d,e)},er=function(){if(!this.Ya){for(var a=this.constructor;a&&!a.Wm;)a= a.H&&a.H.constructor;a.Wm.lG||(a.Wm.lG=Tp(a));this.Ya=new a.Wm.lG(this);this.jz||(this.jz=Vp)}},fr=function(){},gr=er;fr.H||_.z(fr,Qp);gr.Wm=fr;fr.prototype.Jk=function(a){a=a?a:function(){};a.AJ=!0;return a}();hr=function(a){return _.zo&&"undefined"!=typeof _.zo&&a instanceof _.zo};ir=function(a){return hr(a)?"_renderstart":"renderstart"};jr=function(a){return hr(a)?"_ready":"ready"};kr=function(){return!0}; ar=function(a,b){if(b.onready){var c=!1,d=function(){c||(c=!0,b.onready.call(null))};a.register(jr(a),d,kr);a.register(ir(a),d,kr)}}; cr=function(a,b,c){var d=a.De,e=String(a.Bo),f=!1,h=function(){f||(f=!0,c&&nq("wrdt",d,e),nq("wrdi",d,e))};b.register(ir(b),h,kr);var k=!1;a=function(){k||(k=!0,h(),c&&nq("wrrt",d,e),nq("wrri",d,e))};b.register(jr(b),a,kr);hr(b)?b.register("widget-interactive-"+b.id,a,kr):_.K.register("widget-interactive-"+b.id,a);_.K.register("widget-csi-tick-"+b.id,function(a,b,c){"wdc"===a?nq("wdc",d,e,c):"wje0"===a?nq("wje0",d,e,c):"wje1"===a?nq("wje1",d,e,c):"wh0"==a?_.mq("wh0",d,e,c):"wh1"==a?_.mq("wh1",d,e, c):"wcdi"==a&&_.mq("wcdi",d,e,c)})};lr=function(a){return"number"==typeof a?a+"px":"100%"==a?a:null};br=function(a,b){var c=function(c){c=c||a;var d=lr(c.width);d&&b.style.width!=d&&(b.style.width=d);(c=lr(c.height))&&b.style.height!=c&&(b.style.height=c)};hr(a)?a.pL("onRestyle",c):(a.register("ready",c,kr),a.register("renderstart",c,kr),a.register("resize",c,kr))};mr=function(a,b){for(var c in Wq)if(Wq.hasOwnProperty(c)){var d=Wq[c][1];d&&!b.hasOwnProperty(d)&&(b[d]=a[d])}return b}; nr=function(a,b){var c={},d;for(d in a)a.hasOwnProperty(d)&&(c[a[d][1]||d]=(a[d]&&a[d][0]||Kq)(b[d.toLowerCase()],b,Lq));return c};or=function(a){if(a=a.EX)for(var b=0;b<a.length;b++)(new window.Image).src=a[b]};pr=function(a,b){var c=b.userParams,d=b.siteElement;d||(d=(d=b.iframeNode)&&d.parentNode);if(d&&1===d.nodeType){var e=nr(a.config,c);a.wK.push({element:d,config:e,hk:mr(e,nr(a.parameters,c)),X9:3,GQ:!!c["data-onload"],$X:b})}b=a.wK;for(a=a.CB;0<b.length;)a(b.shift())}; _.qr=function(a){var b=Zq(a);or(b);_.pn(b.De,function(a){pr(b,a)});Wp[b.De]=!0;var c={va:function(a,c,f){var d=c||{};d.type=b.De;c=d.type;delete d.type;var e=("string"===typeof a?window.document.getElementById(a):a)||void 0;if(e){a={};for(var l in d)_.Ud(d,l)&&(a[l.toLowerCase()]=d[l]);a.rd=1;(l=!!a.ri)&&delete a.ri;dq(c,e,a,[],0,l,f)}else _.ue("string"==="gapi."+c+".render: missing element "+typeof a?a:"")},go:function(a){eq(a,b.De)},Y9:function(){var a=_.Td(_.ce,"WI",_.D()),b;for(b in a)delete a[b]}}; a=function(){"onload"===Hq&&c.go()};tp(b.De)||rp(a,a);_.w("gapi."+b.De+".go",c.go);_.w("gapi."+b.De+".render",c.va);return c}; var rr=pr,sr=function(a,b){a.Bo++;nq("wrs",a.De,String(a.Bo));var c=b.userParams,d=nr(a.config,c),e=[],f=b.iframeNode,h=b.siteElement,k=Xq(a,d),l=nr(a.parameters,c);_.Vd(_.yp(),l);l=mr(d,l);c=!!c["data-onload"];var n=_.ao,p=_.D();p.renderData=b;p.height=d.height;p.width=d.width;p.id=b.id;p.url=b.url;p.iframeEl=f;p.where=p.container=h;p.apis=["_open"];p.messageHandlers=k;p.messageHandlersFilter=_.M;_.mp(p);f=l;a.jk&&(e[2]=p,e[3]=f,e[4]=k,a.jk("i",e));k=n.uj(p);k.id=b.id;k.aD(k,p);Yq(a,k,d,h,c);e[5]= k;a.jk&&a.jk("e",e)};pr=function(a,b){var c=b.url;a.H_||_.pp(c)?_.wo?sr(a,b):(0,_.Wj)("gapi.iframes.impl",function(){sr(a,b)}):_.O.open?rr(a,b):(0,_.Wj)("iframes",function(){rr(a,b)})}; var tr=function(){var a=window;return!!a.performance&&!!a.performance.getEntries},dr=function(a,b,c){if(tr()){var d=function(){var a=!1;return function(){if(a)return!0;a=!0;return!1}}(),e=function(){d()||window.setTimeout(function(){var d=c.Ha().src;var e=d.indexOf("#");-1!=e&&(d=d.substring(0,e));d=window.performance.getEntriesByName(d);1>d.length?d=null:(d=d[0],d=0==d.responseStart?null:d);if(d){e=Math.round(d.requestStart);var k=Math.round(d.responseStart),l=Math.round(d.responseEnd);nq("wrt0", a,b,Math.round(d.startTime));nq("wrt1",a,b,e);nq("wrt2",a,b,k);nq("wrt3",a,b,l)}},1E3)};c.register(ir(c),e,kr);c.register(jr(c),e,kr)}}; _.w("gapi.widget.make",_.qr); var ur,vr,wr,yr;ur=["left","right"];vr="inline bubble none only pp vertical-bubble".split(" ");wr=function(a,b){if("string"==typeof a){a=a.toLowerCase();var c;for(c=0;c<b.length;c++)if(b[c]==a)return a}};_.xr=function(a){return wr(a,vr)};yr=function(a){return wr(a,ur)};_.zr=function(a){a.source=[null,"source"];a.expandTo=[null,"expandTo"];a.align=[yr];a.annotation=[_.xr];a.origin=[_.Bp]}; _.O.NC("bubble",function(a){(0,_.Wj)("iframes-styles-bubble",a)}); _.O.NC("slide-menu",function(a){(0,_.Wj)("iframes-styles-slide-menu",a)}); _.w("gapi.plusone.render",_.TV);_.w("gapi.plusone.go",_.UV); var VV={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}},WV={width:180,height:35},XV=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a},YV=function(a){var b=(0,window.parseInt)(a,10);if(b==a)return String(b)},ZV=function(a){if(XV(a))return"true"},$V=function(a){return"string"== typeof a&&VV[a.toLowerCase()]?a.toLowerCase():"standard"},aW=function(a,b){return"tall"==$V(b)?"true":null==a||XV(a)?"true":"false"},bW=function(a,b){return VV[$V(a)][aW(b,a)]},cW=function(a,b,c){a=_.xr(a);b=$V(b);if(""!=a){if("inline"==a||"only"==a)return a=450,c.width&&(a=120<c.width?c.width:120),{width:a,height:VV[b]["false"].height};if("bubble"!=a){if("none"==a)return VV[b]["false"];if("pp"==a)return WV}}return VV[b]["true"]},dW={href:[_.Cp,"url"],width:[YV],size:[$V],resize:[ZV],autosize:[ZV], count:[function(a,b){return aW(b.count,b.size)}],db:[_.Dp],ecp:[_.Ep],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[ZV],recommendations:[],fu:[],ad:[ZV],cr:[YV],ag:[YV],"fr-ai":[],"fr-sigh":[]}; (function(){var a={0:"plusone"},b=_.H("iframes/plusone/preloadUrl");b&&(a[7]=b);_.zr(dW);a[1]=dW;a[2]={width:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).width:bW(b.size,b.count).width}],height:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).height:bW(b.size,b.count).height}]};a[3]={onPlusOne:{Xr:function(a){return"on"==a.state?"+1":null},Mw:"callback"},onstartinteraction:!0,onendinteraction:!0,onpopup:!0};a[4]=["div","button"];a=_.qr(a);_.UV=a.go;_.TV=a.va})(); }); // Google Inc.
yikunpku / RNA MSMNucleic Acids Research 2024:RNA-MSM model is an unsupervised RNA language model based on multiple sequences that outputs both embedding and attention map to match different types of downstream tasks.
categulario / Map MatchingAlgorithms to find the streets that a vehicle should have traveled to generate a given GPS track. Moved to codeberg.
bermufine / Dcmp{"categories":[{"name":"Movies","videos":[{"description":"La Radio-Télévision nationale congolaise est créée en 1945. Elle prend le nom de « Office zaïrois de radiodiffusion et de télévision (OZRT) » à l'époque du Zaïre de 1971 à 1997, elle était d'ailleurs la seule agence zaïroise à diffuser sur les ondes hertziennes depuis la loi de 1972. Elle a pris son nom actuel le 17 mai 1997, à la suite de l'arrivée au pouvoir d'AFDL, le parti de Laurent-Désiré Kabila.","sources":["http://178.33.237.146/rtnc1.m3u8"],"subtitle":"By Radio Télévision Nationale Congolaise","thumb":"https://od.lk/s/M18yNDU0Njk2MjZf/RTNC.jpegg","title":"RTNC"},{"description":"Tele Congo est une chaine nationale du congo brazza en diffusant des emissions, informations, sports, theatres, musique et autres....","sources":["https://stream.mmsiptv.com/droid/rtnc/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODYwMjFf/telecongo.jpg","title":"TELE CONGO TV / BRAZZAVILLE"},{"description":"Bein Sports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MzBf/beinone.png","title":"BEIN SPORT 1 / SPORTS"},{"description":"Bein Sport 2 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MThf/beintwo.png","title":"BEIN SPORT 2 / SPORTS"},{"description":"Bein Sport 3 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MDZf/beintree.png","title":"BEIN SPORTS 3 / SPORTS"},{"description":"La Radio-Télévision nationale congolaise est créée en 1945. Elle prend le nom de « Office zaïrois de radiodiffusion et de télévision (OZRT) » à l'époque du Zaïre de 1971 à 1997, elle était d'ailleurs la seule agence zaïroise à diffuser sur les ondes hertziennes depuis la loi de 1972. Elle a pris son nom actuel le 17 mai 1997, à la suite de l'arrivée au pouvoir d'AFDL, le parti de Laurent-Désiré Kabila.","sources":["https://stream.mmsiptv.com/droid/rtnc/playlist.m3u8"],"subtitle":"By Radio Télévision Nationale Congolaise","https://od.lk/s/M18yNDU0Nzc4NDZf/rtnc3.png","title":"RTNC 1 / RDC (lien2)"},{"description":"Canal Plus Sports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/cpsport/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODczMzhf/canalsport.png","title":"CANAL + 1 / SPORTS"},{"description":"Canal Plus Sports 2 est une chaine televisee sportives.","sources":["https://stream.mmsiptv.com/droid/cplus/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODczMzlf/canalsporttwoo.jpg","title":"CANAL + 2 / SPORTS"},{"description":"RMC 1 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2MjBf/rmcone.png","title":"RMC 1 / SPORTS"},{"description":"RMC 2 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2MzVf/rmctwo.png","title":"RMC 2 / SPORTS"},{"description":"RMC 3 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2NDVf/rmctree.png","title":"RMC 3 / SPORTS"},{"description":"RMC 4 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc4/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2NTFf/rmcfour.png","title":"RMC 4 / SPORTS"},{"description":"EuroSports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/eurosport2/playlist.m3u"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxOTlf/eurone.png","title":"EUROSPORTS 1 / SPORTS"},{"description":"EuroSports 2 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/eurosport1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxNTdf/eurotwo.jpg","title":"EUROSPORTS 2 / SPORTS"},{"description":"EuroSports 3 est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/eurosport1.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxODJf/eurotree.jpg","title":"EUROSPORTS 3 / SPORTS"},{"description":"EuroSports 4 est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/es-eurosport2.stream/playlist.m3u8"],"subtitle":"By Channel","https://od.lk/s/M18yNTkxODgxMzJf/eurofour.png","title":"EUROSPORTS 4 / SPORTS"},{"description":"L'Equipe est une chaine televisee sportives emettant en France","sources":["https://stream.mmsiptv.com/droid/equipe/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg0ODhf/equipe.png","title":"L'EQUIPE TV / SPORTS"},{"description":"Sky Sport est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/skysports-premier-league.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg2MjNf/skysport.jpg","title":"SKY SPORTS / SPORTS"},{"description":"Azam Sports 1 Tanzanie est l'une des chaines privées que l'on retrouve en tanzanie, possédant des émissions Sportives variées","sources":["https://1446000130.rsc.cdn77.org/1446000130/index.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1NzQwMjJf/azam.jpg","title":"AZAM SPORTS / TANZANIA"},{"description":"ADSPORTS 1 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn1.cdn.mangomolo.com/adsports1/smil:adsports1.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg4OTlf/adone.jpg","title":"ADSPORTS 1 / SPORTS"},{"description":"ADSPORTS 2 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn5.cdn.mangomolo.com/adsports2/smil:adsports2.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg5MjFf/adtwo.jpg","title":"ADSPORTS 2 / SPORTS"},{"description":"ADSPORTS 3 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn3.cdn.mangomolo.com/adsports3/smil:adsports3.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg5NTBf/adtree.jpg","title":"ADSPORTS 3 / SPORTS"},{"description":"MAV TV est une chaine televisee sportives emettant a Dubai","sources":["https://mavtv-mavtvglobal-1-gb.samsung.wurl.com/manifest/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODkzNTZf/mavtv.png","title":"MAV TV / SPORTS"},{"description":"NollyWood TV est une chaine televisee qui diffuse que des film et series Africains surtout beaucoup plus nigerians","sources":["https://stream.mmsiptv.com/droid/nollywoodfr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODk3MDhf/nollywood.jpg","title":"NOLLYWOOD TV / NOVELAS"},{"description":"AfricaWood TV est une chaine televisee qui diffuse que des film et series Africains surtout beaucoup plus nigerians","sources":["https://stream.mmsiptv.com/droid/africawood/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1Nzc2ODJf/vision4.jpg","title":"AFRICAWOOD TV / NOVELAS"},{"description":"NOVELAS TV 1 est une chaine televisee qui diffuse que des series mexicaines, bresiliens, phillipinesn et autres....","sources":["https://stream.mmsiptv.com/droid/novelas/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxOTAwMDFf/novelasone.jpg","title":"NOVELAS TV 1 / SERIE"},{"description":"RTI 2 est une chaine televisee ivoiriens qui diffuse que des informations, musiques, series mexicaines, bresiliens, phillipinesn et autres....","sources":["https://stream.mmsiptv.com/droid/rti2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4NDdf/rtid.jpg","title":"RTI 2 / COTE D'IVOIRE"},{"description":"NOVELAS TV est la chaine qui diffuset des Series Mexicaines, Philipiennes et Bresiliennes....","sources":["https://stormcast-telenovelatv-1-fr.samsung.wurl.com/manifest/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjA4MDVf/novelastv.jpg","title":"NOVELAS TV{"description":"NW INFOS est la chaine du togo en diffusant des Informations Emissions et autres....","sources":["https://hls.newworldtv.com/nw-info/video/live_1024x576.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY0NzNf/nwInfos.jpg","title":"NW INFOS TV / TOGO"},{"description":"NW Muzik est la chaine du togo en diffusant des musiques Africaine et autres....","sources":["https://hls.newworldtv.com/nw-muzik/video/live_1024x576.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY0NTZf/nwMuzik.webp","title":"NW MUZIK TV / TOGO"},{"description":"Al Hadath est la chaine du Lybie en diffusant des Emissions ainsi que des infos, musique et autres....","sources":["https://master.starmena-cloud.com/hls/hd.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjcxNDBf/alhad.png","title":"AL HADATH TV / LYBIE"},{"description":"Vox Of Africa est la chaine des americains qui emette a Brazzaville en diffusant des informations et autres....","sources":["https://voa-lh.akamaihd.net/i/voa_mpls_tvmc3_3@320295/master.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY1NDFf/VOX_AFRICA.jpg","title":"VOX OF AFRICA TV"},{"description":"Resurrection TV est l'une des chaines privées Chretienne que l'on retrouve dans la ville d'ACCRA, possédant des émissions variées","sources":["http://rtmp.ottdemo.rrsat.com/rrsatrtv1/rrsatrtvmulti.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1NzczODRf/mychannel.jpg","title":"RESURRECTION TV / GHANA"},{"description":"CDIRECT TV est la chaîne une chaîne généraliste présente une vitrine positive du Congo, conçoit des programmes inédits et innovants qui s'adressent aux congolais résidents, la diaspora congolaise, ainsi qu'à l'ensemble des africains francophones à travers le monde entier. Sa ligne éditoriale est axée sur les deux Congo décomplexé, un Congo qui va de l'avant et gagne !.","sources":["http://cms-streamaniak.top/Cdirect/CDIRECT/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdirect.tv/assets/img/logo-cdirect.ico","title":"CDIRECT TV / Kinshasa-Brazzaville"},{"description":"DBM TV ou digital black Music est une Chaîne TV à thématique musicale, DBM a pour vocation de révéler et promouvoir la musique Afro Urbaine, qu’elle soit d’Afrique ou d’ailleurs info@dbm-tv.com. .","sources":["https://dbmtv.vedge.infomaniak.com/livecast/smil:dbmtv.smil/manifest.m3u8"],"subtitle":"By Channel","thumb":"https://www.dbm-tv.fr/wp-content/uploads/2017/12/logo-dbm.png","title":"DBM TV / Music "},{"description":"La LUMIÈRE, ministère Chrétien pour annoncer l’évangile de Jésus Christ partout dans le monde, toucher changer et sauver des vies par la puissance de la parole de DIEU avec des enseignements prédications adorations louanges partages de prières, d’exhortations et de témoignages","sources":["https://video1.getstreamhosting.com:1936/8248/8248/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.shortpixel.ai/client/q_glossy,ret_img,w_124,h_124/https://telepack.net/wp-content/uploads/2020/05/lumiere-tv.png","title":"La Lumiere TV / Gospel"},{"description":"La Télévision Togolaise (TVT) est le nom de l'unique chaîne de télévision publique togolaise, Crée depuis 1979.","sources":["http://54.38.92.12/tvt.m3u8"],"subtitle":"By Google","thumb":"https://amp.live-tv-channels.org/pt-data/uploads/logo/tg-tv.jpg","title":"Télévision Togolais"},{"description":"CRTV est un service de radio et de télévision contrôlé par le gouvernement au Cameroun. Cela a commencé sous le nom de Cameroon Television (CTV) et a ensuite fusionné avec le service de radio pour devenir CRTV. Il couvre l'ensemble des dix régions du Cameroun, ce qui en fait le diffuseur indomptable parmi plusieurs chaînes de télévision privées du pays. Sa couverture des événements est généralement considérée comme pro-gouvernementale. Les programmes de la CRTV comprennent des documentaires, des magazines, des analyses d'actualités et des séries importées d'Asie et du Brésil..","sources":["http://178.33.237.146/crtv.m3u8"],"subtitle":"By Channel","thumb":"http://www.cameroonconcordnews.com/wp-content/uploads/2018/03/CRTV-new.jpg","title":"Cameroune Radio Télévision"},{"description":"Impact TV c'est une premiere Chaine televisee chretienne diffusant au Burkina-Fasso sur satelite innauguree le 07/03/2008 par Marie Sophie.","sources":["https://edge10.vedge.infomaniak.com/livecast/impacttele/chunklist_w973675047.m3u8"],"subtitle":"By Channel","thumb":"https://i1.wp.com/www.livetvliveradio.com/wp-content/uploads/2017/07/impact-tv.jpg?fit=259%2C194","title":"Impact TV / Burkina Fasso"},{"description":"Kigali Channel 2 ( Là pour vous) est une chaine televisee Rwandaise emmetant a Kigali. KC2 se diversite par sa diffusion des emitions exceptionnelle ainsi que des films nouveautes et plein d'autres.","sources":["https://5c46fa289c89f.streamlock.net/kc2/kc2/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQfQjI8jUhMPReWg0MOdw1xpAAXMP7YAuZKBg&usqp=CAU","title":"KC2 TV / Rwanda"},{"description":"Equinox est une chaîne de télévision basée au Cameroun. Peu de temps après son lancement, il est devenu l'un des critiques les plus virulents du régime de Paul Biya. La station était connue pour avoir diffusé des images en direct d'une manifestation politique contre le changement constitutionnel au Cameroun qui favorisait le maintien au pouvoir du président Biya après 2011, alors qu'il lui était interdit par la Constitution de se présenter à nouveau. La télévision appartient au magnat des affaires de la région ouest du Cameroun, Severin Tchounke, qui possède également un quotidien critique, La Nouvelle Expression.","sources":["http://178.33.237.146/equinoxetv.m3u8"],"subtitle":"By Channel","thumb":"https://camer-press.com/wp-content/uploads/2020/04/Equinoxe-Tv.jpg","title":"Equinoxetv"},{"description":"Rwanda Télévision (RTV) est la premiere chaîne public du Rwanda qui fournit des informations et des divertissements quotidiens au public rwandais en trois langues: anglais, français et kinyarwanda géré par l'industrie de la télévision rwandaise , mais ce derniere est composée de 12 chaînes de télévision dont 84% télévisions sont détenues par des privés (10 sur 12) tandis que 8% appartiennent respectivement à des organisations publiques et religieuses. L'Agence nationale de radiodiffusion rwandaise.","sources":["https://5c46fa289c89f.streamlock.net/rtv/rtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://maps.prodafrica.com/wp-content/uploads/2020/03/10191_RBA_002.png","title":"RTV"},{"description":"IBN TV est un radiodiffuseur islamique de télévision et de radio qui transmet IBN TV et Radio Maarifa de Dar es Salaam et Tanga respectivement. Il a été crée sous la direction de la Fondation Al Itrah et a été diffusé officiellement depuis Mars 2003. IBN TV est un média privé qui a commencé après la libéralisation de l’industrie des médias en Tanzanie. IBN TV est la première chaîne islamique en Tanzanie. Il couvre presque toute la région de Dar es Salaam, Tanga, Arusha et Mwanza. IBN TV diffuse en quatre langues différentes, à savoir l’anglais, le swahili, le gujarati et l’ourdou.","sources":["http://138.68.138.119:8080/low/5a8993709ea19/index.m3u8"],"subtitle":"By Channel","thumb":"http://www.alitrah.co.tz/wp-content/uploads/sites/3/2015/10/ibntvafrica.png","title":"IBN TV"},{"description":"RTB est une chaîne de télévision publique générale dirigée par l’Établissement public d’État. Son siège social est situé dans la capitale du Burkina Faso, à Ouagadougou. Il est diffusé en direct à la télévision terrestre et sur Internet. Cette chaîne africaine diffuse des nouvelles télévisées en Français. Mais en général, les flashs de nouvelles sont dans la langue nationale comme Lobiri, Bwamu, Gulmancéma ainsi que Bissa. RTB offre un programme avec de nombreux magazines sur le sport, l’économie, la culture, la santé et la jeunesse.","sources":["https://edge8.vedge.infomaniak.com/livecast/ik:rtbtvlive1/manifest.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/en/c/c0/RTB_Sukmaindera.png","title":"Radio Television Burkina Fasso"},{"description":"Eri-TV est une chaîne de télévision érythréenne appartenant à l'État. Basée dans la capitale du pays, Asmara, elle diffuse 24 heures sur 24. La station propose des bulletins d'information 24 heures sur 24, des émissions-débats et des programmes culturels et éducatifs. Eri-TV a une large base d'audience en dehors de l'Érythrée, que la chaîne publique reconnaît et utilise pour communiquer avec les Érythréens vivant à l'étranger. Le réseau compte environ 1 à 2 millions de téléspectateurs par semaine. Eri-TV reconnaît la culture minoritaire érythréenne et a largement adopté un partage de temps égal entre chacune des langues parlées du pays.","sources":["http://217.182.137.206/eri.m3u8"],"subtitle":"By Channel","thumb":"https://eri.tv/images/eri-tv-live.png","title":"ERITRIE TV"},{"description":"Créée au Sénégal par le GROUPE D-MEDIA, SENTV, 1ère Chaîne Urbaine au Sénégal, consacre sa programmation au traitement de l'actualité nationale et internationale et à la culture urbaine sénégalaise et africaine en générale. Elle émet sur hertzien depuis 2009 et est désormais disponible sur satellite via le bouquet Canal + Afrique et les bouquets IPTV à l'international. Une chaîne généraliste et orientée urbaine, constituant ainsi une offre originale et unique au Sénégal. Une part importante de ses programmes est constituée par des rendez-vous d’actualité sur une rythmique quotidienne et des émissions phares orientées Société et Divertissement.","sources":["http://46.105.114.82/tfm_senegal.m3u8"],"subtitle":"By Channel","thumb":"https://www.xalat.info/wp-content/uploads/2019/02/maxresdefault-2.jpg","title":"SENEGAL TV"},{"description":"RTB diffuse des emissions ainsi que les Sports, Musique, Culture et Films d'Action.","sources":["http://46.105.114.82/rtb1.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/bf-rtb-tv-8682.jpg","title":"RTB"},{"description":"LEEEKO est un ensemble de médias web radio et tv, créé le 1er Decembre 2016 par Serges OLUBI, passionné de musiques. LEEEKO diffuse une diversité des musique telsque: Rhumba, Zouk, Ndombolo, Rnb, Classic, Jazz et autres à travers l'Afrique.","sources":["http://livetvsteam.com:1935/leeeko/leeeko/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/c9/76/95/c9769524-8604-49ac-108e-efca1d025a99/source/512x512bb.jpg","title":"LEEKO MUSIQUE TV"},{"description":"La Radio Télévision Guinéenne (RTG), l’un des premiers organes de presse public du pays, est absente dans plusieurs villes de l’intérieur du pays. Et ce après 42 ans depuis sa création. Par endroits, les signaux de la RTG sont totalement absents depuis plusieurs années. Par contre, dans certaines préfectures, malgré la réception des signaux, faute d’énergie, les populations sont privées des émissions de la RTG, a-t-on constaté.","sources":["http://178.33.237.146/rtg.m3u8"],"subtitle":"By Blender Channel","thumb":"http://maliactu.info/wp-content/uploads/2019/08/rtg-radio-television-guineenne.png","title":"Radio Television Guinéenne "},{"description":"MTA Africa 1 (anciennement MTA Africa) est la quatrième chaîne de télévision par satellite du réseau MTA International. Il a été lancé début août 2016, diffusant spécifiquement pour les téléspectateurs africains, à travers l'Afrique et l'Europe. La chaîne a été créée sous les auspices de Mirza Masroor Ahmad, le chef spirituel de la communauté musulmane Ahmadiyya. MTA Africa est géré et financé volontairement par les Ahmadis.","sources":["https://ooyalahd2-f.akamaihd.net/i/mtaengaudio_delivery@138280/index_3000_av-p.m3u8"],"subtitle":"By Blender Channel","thumb":"https://pbs.twimg.com/profile_images/950498775893774338/XKhzDO2.jpg","title":"MTA AFRICA"},{"description":"L’Office de Radiodiffusion et Télévision du Bénin (ORTB) est le service public de l’audiovisuel du Bénin. C’est un établissement public à caractères social, culturel et scientifique doté de la personnalité morale et de l’autonomie financière. ORTB, pas sans vous !/ Tél: +229 21 30 00 48/ Whatsapp: +229 69 70 55 55/ Email: contact@ortb.bj","sources":["http://51.77.223.83/ortb.m3u8"],"subtitle":"By Channel","thumb":"https://www.lavoixduconsommateur.org/images/services/1533219563.jpg","title":"ORTB / Bénin"},{"description":"Dream Channel est une chaine télévisée ematant au cameroune qui diffuse de la musique de toutes tendances.","sources":["http://connectiktv.ddns.net:5000/dreamchannel/dreamchannel/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://connectik.tv/wp-content/uploads/2019/06/c1b45634-2f8c-47e7-8849-e6d7ea620465-300x169.jpg","title":"DREAM CHANNEL TV / Cameroune"},{"description":"Canal Algérie est la deuxième chaîne de télévision nationale grand public algérienne. La chaîne fait partie du groupe EPTV qui comprend également TV1, TV3, TV4, TV5, TV6 et TV7. C'est une chaîne francophone. La chaîne diffuse ses programmes 24h / 24 et 7j / 7 via différentes plateformes et partout dans le monde.","sources":["http://46.105.114.82/canal_algerie.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Logo_Canal_Algerie.svg/800px-Logo_Canal_Algerie.svg.png","title":"Canal Algerie"},{"description":"Radio Télévision Sénegalaise est une station de radio diffusée sur le réseau de Radiodiffusion Télévision Sénégalaise (RTS1 HD) de Dakar, au Sénégal, fournissant des informations, des sports, des débats, des émissions en direct et des informations sur la culture ainsi que la musique.","sources":["http://46.105.114.82/rts1.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/VZyPxURRRo-C0lEWHggT8C-dDJvFNFTVxKrn1yKUNROoT85XnOl9VcmM5HFzyRDwvgs","title":"Radio Télévision Sénegalaise 1 HD"},{"description":"Kalsan est une chaîne de télévision Somalienne dont le siège est à Londres. Elle a commencé à diffuser en 2013. La chaîne est axée sur les Somaliens. La programmation est principalement axée sur les actualités et les divertissements.","sources":["http://cdn.mediavisionuae.com:1935/live/kalsantv.stream/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://xogdoonnews.net/wp-content/uploads/2017/11/kalsan-tv.jpg","title":"KALSAN TV / Somalie"},{"description":"One Africa Television est une chaine de television namibien crée en 2003 et couvrant à l'origine uniquement Windhoek, Rehoboth et Okahandja, One Africa Television a connu une croissance significative, avec son signal diffusé via 29 émetteurs analogiques à travers la Namibie. En 2013, One Africa Television a rejoint l'ère numérique, et la chaîne est depuis disponible sur le réseau de télévision numérique terrestre de la Namibian Broadcasting Corporation (Channel 301) ainsi que sur la plateforme DStv Namibia de MultiChoice (Channel 284) ainsi que sur le réseau numérique terrestre GoTV de MultiChoice. Président du groupe d'Africa Television, Paul van Schalkwyk, a été tué dans un accident d'avion le 10 mars 2014.","sources":["https://za-tv2a-wowza-origin02.akamaized.net/oneafrica/smil:oneafrica/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://neweralive.na/uploads/2016/11/Untitled-1.jpg","title":"ONE AFRICA TV / Namibia"},{"description":"VISION4 TV est une chaine television panafricanisme Camerounais crée en 2008. qui diffuse des Émissions hauts de gamme telsque : Afro Café, Matinale infos, le journal d'afrique, tour d'horizon, journal de 12, women's story, The 6h00 pm news, Let's talk, Meeting point le grand live, le grand journal de 20h, santé spirituelle, sport time, Arrêt majeur, Au cœur du mystère, parole d'artistes, Femme attitude, Panafritude, Rendez-vous santé, afro zik, Club d'élites, Plateau du Jaguar, Dimanche bonheur, face aux dinosaures. Vision 4 Le Groupe Anecdote Vision 4 TV, Satelite FM, Africa Express Siège social : Yaoundé - Cameroun (Nsam) Secrétariat PDG : Tel : +237 242 71 88 13 / Fax : +237 222 31 67 81 Service de l'information : Tel : +237 242 71 87 68 Yaoundé Centre B.P 25070 Cameroun","sources":["http://cdnamd-hls-globecast.akamaized.net/live/ramdisk/vision4/hls_video/index.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Vision_4.jpg/600px-Vision_4.jpg","title":"VISION 4"},{"description":"Nago TV is a Haitian television channel 100% devoted to music videos(Compass, Rap Creole, Racine).","sources":["http://haititivi.com:8088/haititv/tele6NY/index.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/GdAVtX7AU8834RaKoUC4c3itv2A_R1k8XATBf26G_IgQKnvxEtAew0cJOr_kWOpWkpY","title":"NAGO TV / Haiti"},{"description":"Lagos Television has been a trail blazer right from inception. Apart from being the first TV station outside the NTA family, the station took the Nigerian TV industry by storm in the early 80s with the introduction of a 60-hour non stop weekend from 7pm on Fridays till 7am on Mondays. The then Lagos weekend Television was the first marathon TV station in Africa. It’s unprecedented public approval transformed TV viewership especially within the Lagos precinct and brought a change in the call sign LTV/LWT.","sources":["http://185.105.4.193:1935/ltv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.lagostelevision.com/wp-content/uploads/2015/10/logo.png","title":"Lagos Television"},{"description":"Emmanuel TV is the television station of The Synagogue, Church Of All Nations, broadcasting 24/7 around the globe via satellite and on the internet. The purpose of Emmanuel TV is to preach the Good News to all mankind. That is what we are born for, living for and what we shall die for. Emmanuel TV is committed to changing lives, changing nations and changing the whole world through the Gospel of our Lord Jesus Christ. Jesus Christ is the inspiration behind Emmanuel TV; as such, God’s purpose is our purpose.","sources":["https://api.new.livestream.com/accounts/23202872/events/7200883/live.m3u8"],"subtitle":"By Channel","thumb":"https://scoan-website-emmanueltv.netdna-ssl.com/wp-content/blogs.dir/12/files/2016/09/emmanuel_tv_icon.png","title":"Emmanuel TV"},{"description":"Addis TV is a City Channel based in Addis Ababa, Ethiopia, which broadcasts News and Programs 24/7.","sources":["https://rrsatrtmp.tulix.tv/addis1/addis1multi.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://et.heytv.org/wp-content/uploads/2019/04/Addis-webtvonlive-com.jpg","title":"Addis TV / Ethiopia"},{"description":"Resurrection TV is a Christian based station aimed at uplifting your soul with an unadulterated word of God. it ensures a distinction between sin and righteousness.","sources":["http://rtmp.ottdemo.rrsat.com/rrsatrtv1/rrsatrtvmulti.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/9e/f5/ae/9ef5aeb5c1ddd05a20d27faaf5d9b931.jpg","title":"Résurrection TV/ Ghana"},{"description":"CTV frique est une television camerounaise basee a yaounde.","sources":["http://connectiktv.ddns.me:8080/ctv-africa/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/01/CTV-1-300x212.jpeg","title":"CTV AFRICA"},{"description":"BEL TV est une station de télévision haïtienne qui diffuse sur le web via diverses plateformes et par câble. Notre vision est de créer une télévision standard dont la qualité du programme est aussi instructive que divertissante. À cote de cette vision, BEL TV s’est fixé pour mission de promouvoir la Culture haïtienne, à savoir le Cinéma, la musique, la littérature et bien plus encore, ce à travers la Caraïbe et le monde entier. BEL TV c’est une toute autre façon de faire la télé.","sources":["http://connectiktv.ddns.me:8080/afriqueplustv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/07/NEW-LOGO0047_00000_00000-300x169.png","title":"AFRICA PLUS TV "},{"description":"1 ok.","sources":["http://connectiktv.ddns.me:8080/mygospel/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/mygospel-300x140.png","title":"MY GOSPEL TV"},{"description":"2 ok.","sources":["http://connectiktv.ddns.me:8080/media-prime/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myprime15-300x140.png","title":"MEDIA PRIME TV"},{"description":"3 ok.","sources":["http://connectiktv.ddns.me:8080/mymusic/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/mymusic1.png","title":"MY MUSIC TV "},{"description":"4 ok.","sources":["http://connectiktv.ddns.me:8080/mymovie-en/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myenglish-300x140.png","title":"MY MOVIE TV / English"},{"description":"5 ok.","sources":["http://connectiktv.ddns.me:8080/mymovie-fr/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myfresh-300x140.png","title":"MY MOVIE TV / Francais"},{"description":"6 ok","sources":["http://connectiktv.ddns.me:8080/bikutsitv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/09/bikutsi-300x63.jpeg","title":"BIKUTSI TV"},{"description":"7 ok.","sources":["http://connectiktv.ddns.me:8080/cam10tv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/07/CAM10-REVUE.jpg","title":"CAM 10 TV / Cameroune"},{"description":"8 ok.","sources":["http://connectiktv.ddns.me:8080/leadergospel/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/leader-cable.jpg","title":"LEADER GOSPEL TV / Religion"},{"description":"9 ok.","sources":["http://connectiktv.ddns.me:8080/vstv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/VS-TV-300x168.jpg","title":"VS tv"},{"description":"10 0k.","sources":["http://connectiktv.ddns.me:8080/mytv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/04/mytv-channel-hd-300x169.jpg","title":"MY TV CHANNEL"},{"description":"Radio Tele Puissance est une chaine chrétienne qui diffuse en direct des programmes chrétien avec des vidéos et des films Gospel de premier ordre, des documentaires. radio Tele Puissance est une station très divertissante..","sources":["https://video1.getstreamhosting.com:1936/8560/8560/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://radioendirect.net/assets/images/radio/item/119251.jpg","title":"Radio Tele Puissance"},{"description":"Christ live est une chaine télévision de divertissement chrétienne disponible sur le satellite.","sources":["https://raw.githubusercontent.com/exodiver/IPTV/master/M3U8/Token/Cliv.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/christ-tv_logo.jpg","title":"CHRIST TV / Religion"},{"description":"QTV Gambia is the First Private Television Station","sources":["https://player.qtv.gm/hls/live.stream.m3u8"],"subtitle":"By Channel","thumb":"https://standard.gm/wp-content/uploads/2020/08/QTV-696x495.jpg","title":"QTV / Gambia"},{"description":"TVM International, or TVM Internacional, is the international channel of Mozambique's national TV broadcaster, Televisão de Moçambique (TVM), broadcasting for 24 hours per day. The channel will showcase local programming featuring Mozambican culture, tourism and sports.","sources":["http://196.28.226.121:1935/live/smil:Channel2.smil/chunklist_b714000_slpor.m3u8"],"subtitle":"By Channel","thumb":"https://clubofmozambique.com/wp-content/uploads/2020/03/tvmint.rm.jpg","title":"TVM Internacional"},{"description":"K24 TV est une chaine de télévision généraliste Kényane fondée en 2007 basé à Longonot Place, P. O. Box 49640 Kijabe St Tél : +254 20 2124801. K24 TV diffuse sur la télévision terrestre et en streaming sur Dailymotion et sur son site internet..","sources":["https://raw.githubusercontent.com/exodiver/IPTV/master/M3U8/Token/K24.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/k24-tv_logo.jpg","title":"K24 TV / Kenya"},{"description":"Afrobeat tv is a division of kaycee records .Kaycee Records is an independent record label established in the United Kingdom, and Nigeria Owned by Kennedy Kesidi Richard from Oguta in Imo State Nigeria .Afro beat tv is the new musical innovation to promote African art and and as a platform to promote and create awareness for up coming African artist all around the globe","sources":["http://connectiktv.ddns.net:8080/afrobit/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/05/AFROBIT-png-300x168.png","title":"AFROBITS / Music"},{"description":"Dunamis International Gospel Centre (DIGC) Jos Central is a powerfully anointed church, where God's Presence and power are saving, healing and restoring human destinies and dignities! Located in Alheri, Jos, Plateau State with HQT in Abuja Nigeria. Dunamis (Doo'na-mis) is the Greek word that means POWER.","sources":["https://christianworld.ashttp9.visionip.tv/live/visiontvuk-religion-dunamistv-SD/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/ng-dunamis-tv-2163-300x225.jpg","title":"DUNAMIS TV / Religion"},{"description":"France tv sport, c’est d’abord l’actualité de TOUS les sports. De l’analyse en temps réel, du live ou encore des replays vidéo sont disponibles à tout moment. Enrichissez votre expérience et plongez au cœur de l'actualité du sport.","sources":["https://streamserv.mytvchain.com/sportenfrance/SP1564435593_720p/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://liberador.net/media/images/FranceTv_Sport.max-640x640.jpg","title":"SPORTS FRANCE TV"},{"description":"Darut Tarbiyah La télévision en direct du Réseau islamique de Trinité-et-Tobago Chaîne de télévision religieuse / Darut Tarbiyah Le Réseau islamique (T.I.N.) est une chaîne de télévision câblée locale de Trinité-et-Tobago diffusant des programmes islamiques. La station est transportée sur le canal 96 ou 116 sur le système de câble Flow Trinidad. DARUT TARBIYAH - LE RÉSEAU ISLAMIQUE. Darut Tarbiyah Drive, Ramgoolie Trace North, Cunupia, Trinidad Antilles. Tél: (868) 693-1722, 693-1393","sources":["http://162.244.81.145:2215/live/livestream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://theislamicnetwork.org/wp-content/uploads/musicpro/bd-uploads/logo_logo_TIN-Logo-White-Text.png","title":"THE ISLAMIC NETWORK"},{"description":"D Sports HD est une chaine qui se fcalise sur les Sports en General : WWE, BOX, Football: Ligue brésilienne, Super League chinoise, Ligue portugaise, Major League Soccer (USA) Courses hippiques: courses quotidiennes diffusées en direct du Royaume-Uni et d'Irlande Golf: British Open (The Open Championship), US Open, PGA Championship, LPGA Motorsports: NASCAR, Championnat du Monde de Rallycross FIA Rugby: 6 Nations Rugby Cyclisme: Tour de France (propriété d'Eurosport).","sources":["http://jiocgehub.jio.ril.com/Dsports_HD/Dsports_HD.m3u8?fluxustv.m3u8"],"subtitle":"By Channel","thumb":"https://kccl.tv/sites/default/files/dsportjpg.jpg","title":"D Sports TV"},{"description":"Africa Sports TV est la première chaîne francophone d’information en continue de sport en Afrique. C’est un média fédérateur des sports africains. On parle de compétition locales, des ligues nationales sur toutes les disciplines du continent, dont le basketball, le football, la lutte… Il y aura beaucoup de lutte, qui prend un essor important sur le continent. Il y a tout un lobby autour de la lutte. Africa Sports TV est disponible Sur Le Canal 56 de la BbOX – Sur Le Canal 614 du Bouquet Africain Max de TV ORANGE.","sources":["https://strhls.streamakaci.tv/str_africasportstv_africasportstv/str_africasportstv_multi/str_africasportstv_africasportstv/str_africasportstv_player_1080p/chunks.m3u8"],"subtitle":"By Channel","thumb":"https://pbs.twimg.com/profile_images/1215646342812401668/SOnvVloX_400x400.jpg","title":"Africa Sports TV"},{"description":"Real Madrid TV est une chaîne de télévision numérique gratuite, exploitée par le Real Madrid, spécialisée dans le club de football espagnol. La chaîne est disponible en espagnol et en anglais. Il est situé à Ciudad Real Madrid à Valdebebas (Madrid), le centre de formation du Real Madrid.","sources":["http://rmtv24hweblive-lh.akamaihd.net/i/rmtv24hwebes_1@300661/index_3_av-b.m3u8"],"subtitle":"By Channel","thumb":"https://files.cults3d.com/uploaders/13539675/illustration-file/9c08780f-eb52-427b-aad7-b0a8c0fb83a1/real_madrid_ref1_large.JPG","title":"Real Madrid TV"},{"description":"Real Madrid Club de Fútbol, ce qui signifie Royal Madrid Football Club), communément appelé Real Madrid, est un club de football professionnel espagnol basé à Madrid. Fondé le 6 mars 1902 sous le nom de Madrid Football Club, le club porte traditionnellement un maillot blanc à domicile depuis sa création. Le mot réel est espagnol pour royal et a été accordé au club par le roi Alfonso XIII en 1920 avec la couronne royale dans l'emblème. L'équipe a disputé ses matchs à domicile dans le stade Santiago Bernabéu d'une capacité de 81 044 places au centre-ville de Madrid depuis 1947.","sources":["http://rmtv24hweblive-lh.akamaihd.net/i/rmtv24hweben_1@300662/master.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/e4/de/18/e4de1869c0eba3beab9ffc9d01660e65.jpg","title":"Real Madrid TV"},{"description":" EPT SPORTS HD est la nouvelle chaîne exclusivement sportive de l’audiovisuel public, ERT Sports HD, sa première officielle à 06h00 le matin du samedi 9 février 2019.","sources":["https://ert-live.siliconweb.com/media/ert_sports/ert_sportshigh.m3u8"],"subtitle":"By Channel","thumb":"https://png.pngitem.com/pimgs/s/681-6814150_ert-sports-hd-logo-ert-sports-hd-hd.png","title":"EPT Sports HD"},{"description":"Sports Tonight Live, branded simply as Sports Tonight, was a British television show and channel, owned by VISION247 based in Central London. It was launched online on 29 August 2011.","sources":["http://sports.ashttp9.visionip.tv/live/visiontvuk-sports-sportstonightlive-hsslive-25f-4x3-SD/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://embeddedplayer.visionip.tv/portals/Sports_Tonight_Live/Sports_Tonight_Live/overlay_logos/Sports%20Tonight%20Live-plBackground-1308.png","title":"Sports Tonight"},{"description":"Arryadia HD TV est une chaîne sportive de télévision publique marocaine. Il fait partie du groupe public SNRT avec Al Aoula, Athaqafia, Al Maghribia, Assadissa, Aflam TV, Tamazight TV et Laayoune TV. La chaîne a été lancée le 16 septembre 2006. Arryadia est le diffuseur officiel de la ligue marocaine Botola.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arriadia/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://4.bp.blogspot.com/-lnh_8LWuXaw/WZ09LDkMsZI/AAAAAAAAEeI/9FKtxdQjbl4UVqmZjqN4R-fE9uOLG2ccQCLcBGAs/s1600/FB_IMG_1503465850383.jpg","title":"Arryadia TV / Maroc"},{"description":"Assadissa TV est une chaîne de télévision publique marocaine dédiée aux affaires religieuses. Il fait partie du groupe public SNRT avec Al Aoula, Arryadia, Athaqafia, Al Maghribia, Aflam TV, Tamazight TV et Laayoune TV. La chaîne a été lancée le 3 novembre 2005. Outre les lectures du Coran, il existe également des programmes de services religieux, de débats et de documentaires. Il est diffusé tous les jours de 2h00 à 23h00. Le samedi, il est de 6h00 à 21h00.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/assadissa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/7/7e/Assadissa.png","title":"Assadissa TV/ Maroc"},{"description":"Al Aoula, anciennement appelée TVM (Télévision marocaine, arabe: ??????? ????????), est la première chaîne de télévision publique marocaine. Il fait partie du groupe public SNRT avec Arryadia, Athaqafia, Al Maghribia, Assadissa, Aflam TV, Tamazight TV et Laayoune TV. Le réseau diffuse des programmes en arabe, berbère, français et espagnol. Son siège est situé à Rabat. Lancé en 1962, Al Aoula a été le premier réseau de télévision à produire et à diffuser ses propres programmes dans le pays. En 1962, il a commencé des émissions en couleur.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/al_aoula_inter/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://live.staticflickr.com/1853/44065447112_7a93bb434f.jpg","title":"Al Aoula TV/ Maroc"},{"description":"2M TV est une chaîne de télévision marocaine gratuite. Il a été créé par le conglomérat royal, ONA, avant d'être en partie vendu à l'État marocain. 20,7% de 2M appartiennent à la société holding de Mohammed VI SNI. Alors qu'environ 60% sont contrôlés par l'État marocain. Il est basé à Casablanca. Il est disponible gratuitement localement sur signal numérique avec une couverture sur tout le Maroc et sur la télévision par satellite via Globecast, Nilesat et Arabsat. 2M propose des services en arabe, français et berbère.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/2m_monde/hls_video_ts/2m_monde.m3u8"],"subtitle":"By Channel","thumb":"https://caidal.ma/wp-content/uploads/2019/04/ob_febd69_2-m-maroc-en-ligne.jpg","title":"2M TV / Maroc"},{"description":"La chaîne Al Magharibia diffuse des programmes politiques, sociaux et économiques depuis sa base privée de Londres. La chaîne est diffusée en arabe et s'adresse aux pays du Mahgreb, l'Algérie en particulier. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/al_maghribia_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRT-AlMaghribia.png","title":"Al maghribia TV / Maroc"},{"description":"Athaqafia TV est une chaîne gratuite disponible sur le satellite Hotbird et propose une gamme de programmes allant des documentaires et des programmes éducatifs ainsi que de la musique, des dessins animés et des divertissements familiaux. La chaîne s'adresse principalement aux familles et est diffusée principalement en arabe mais parfois en langue française et berbère. La chaîne a été créée par la société de production marocaine appartenant à l'État, SNRT.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arrabiaa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRTAThaqafia.png","title":"Athaqafia TV / Maroc"},{"description":"Tele Maroc est la nouvelle chaîne satellitaire généraliste marocaine créée par rachid Niny. Siège à Madrid. « C’est donc une chaéne de télévision légalement espagnole avec un contenu marocain.","sources":["https://api.new.livestream.com/accounts/27130247/events/8196478/live.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/9e/1d/b5/9e1db51201d4debce634f6e8b44a2424.jpg","title":"Tele Maroc"},{"description":"Tamazinght TV est une chaîne de télévision publique marocaine créée le 6 janvier 2010, propriété de la Société nationale de radiodiffusion et de télévision. La chaîne a pour objectif la promotion et la préservation de la culture amazighe au Maroc et dans la région de l'Afrique du Nord. en langue berbère. 70% en tashelhit, tarifit et tamazight (les 3 variantes du berbère du Maroc), le reste en arabe.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/tamazight_tv8_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"http://hub.tv-ark.org.uk/images/International/international_images/morocco_images/tamazight/Tamazight_TV_ident4_060912a.jpg","title":"Tamazight TV / Maroc"},{"description":"EMCI TV est une chaîne de télévision chrétienne évangélique francophone. Les studios de la chaîne se trouvent dans la ville de Québec, Canada. Le contenu de la programmation est assez varié et provient de divers pays francophones d’Afrique, d’Europe et d’Amérique. Des clips musicaux, des enseignements bibliques, des prédications, la Bible en vidéo, des temps de prière, des reportages, des documentaires, des films ainsi que des séries y sont présentés.","sources":["https://emci-fr-hls.akamaized.net/hls/live/2007265/emcifrhls/index.m3u8"],"subtitle":"By Channel","thumb":"https://www.enseignemoi-files.com/site/view/images/dyn-cache/pages/image/img/23/62/1522940482_236277_1200x630x1.f.jpg?v=2018021301","title":"EMCI TV / Religion"},{"description":"CIS TV est une chaine tv guinéen consacré au sport et à la culture. basée à Conakry, fondé en 2016 par Mamadou Antonio Souaré. CIS TV est diffuse via le satellite Fréquence Tv 3689: Symbole 1083: Satelite eutelsat 10a ZONES DE DIFFUSION : tiers d'Afrique.","sources":["http://51.81.109.113:1935/CDNLIVE/CISTV/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.senegal7.com/wp-content/uploads/2019/03/f9180cb9286c49c4f3a6c793798b9ddf.png","title":"CIS TV / Guinee"},{"description":"Faso TV est une initiative de Magic Communication et Médias, une société à responsabilité limitée basée à Ouagadougou, capitale du Burkina Faso. C’est une chaîne de télévision en ligne destinée à l’événementiel. Nous entendons par événementiel toutes manifestations ou activités à caractère culturel, économique, éducatif ou sportif dont l’objectif est de susciter la mobilisation, l’adhésion, l’engouement de la population ou d’un public cible au plan local, national ou international. Autrement dit, notre stratégie éditoriale consiste à faire la promotion de toutes activités qui contribuent au développement socio-économique et culturel, à l’éducation, au divertissement et au bien être de la population burkinabé et de sa diaspora.","sources":["https://playtv4kpro.com:5443/LiveApp/streams/163893638025530331068059.m3u8"],"subtitle":"By Channel","thumb":"https://fasotv.net/wp-content/uploads/2019/10/logo-final-sans-slogan.png","title":"FASO TV / Burkina Fasso "},{"description":"Plex tv une chaîne généraliste spécialisé dans la retransmissions des événement. émission et qui diffuse aussi des films, musiques, divertissement, sport, magasine etc et une multitude de programme en haute définition.","sources":["http://connectiktv.ddns.net:5000/plextv/@plextv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.lifetimepremiumaccounts.com/wp-content/uploads/2019/03/plex-logo.jpg","title":"PLEX TV / "},{"description":"PLAY TV est une chaine de télévision musicale Camerounaise basée à Yaoundé, elle diffuse un programme 100% musicale la musique d’ici et d’ailleurs en haute définition..","sources":["http://connectiktv.ddns.net:5000/playtv/@playtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/04/logo-play-tv-300x113.jpg","title":"PLAT TV / Cameroune "},{"description":"TVR Rennes 35 Bretagne est une chaîne de télévision locale née en mars 1987 sous le nom de TV Rennes. TVR Rennes 35 Bretagne fut inaugurée à son lancement par le président de la République, elle fut la première télévision locale créée en France elle est diffusée Canal 35 sur la TNT / Canal 30 sur Orange, Freebox et BBox / Canal 95 sur Numéricable et en direct streaming sur son site Internet.","sources":["https://streamtv.cdn.dvmr.fr/TVR/ngrp:tvr.stream_all/master.m3u8"],"subtitle":"By Channel","thumb":"https://w0.pngwave.com/png/890/19/tvr-tv-rennes-35-logo-television-channel-tvr-t350-png-clip-art.png","title":"Rennes TV / France Sports "},{"description":"Chaîne franco-marocaine basée à Tanger et destinée au Maghreb. Programmation culturelle avec information, reportages et documentaires. En arabe et en Français. Fin 2010, elle a également commencé à diffuser à la télévision analogique terrestre au Maroc, en plus de la télévision numérique par satellite. Il a été rebaptisé Medi 1 TV.","sources":["http://streaming.medi1tv.com/live/Medi1tvmaghreb.sdp/chunklist.m3u8"],"subtitle":"By Channel","thumb":"http://www.logotypes101.com/logos/807/C85CC3231EAD10CEC61C182C7DED072D/medi1tvlogo.png","title":"Medi 1 TV / Maroc"},{"description":"M24 Television est la chaîne d’info en continu de l’agence marocaine de presse (MAP). Une chaîne qui couvre l’actualité marocaine et internationale. Une chaîne fidèle aux valeurs de la MAP qui est le premier producteur d'information au Maroc. Le fil de la MAP se décline en cinq langues : Arabe, Amazighe, Français, Anglais et Espagnol. la MAP présente dans toutes les régions du Royaume et dans les cinq continents, elle fournit tous les médias en informations, reportages, analyses et portraits.","sources":["https://www.m24tv.ma/live/smil:OutStream1.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://is5-ssl.mzstatic.com/image/thumb/Purple114/v4/e4/c6/3e/e4c63e4e-b8ff-a14e-cacd-3593f09c1f78/source/512x512bb.jpg","title":"M24 TV / Maroc"},{"description":"La chaîne Al Magharibia diffuse des programmes politiques, sociaux et économiques depuis sa base privée de Londres. La chaîne est diffusée en arabe et s'adresse aux pays du Mahgreb, l'Algérie en particulier. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/al_maghribia_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRT-AlMaghribia.png","title":"Al maghribia TV / Maroc"},{"description":"Athaqafia TV est une chaîne gratuite disponible sur le satellite Hotbird et propose une gamme de programmes allant des documentaires et des programmes éducatifs ainsi que de la musique, des dessins animés et des divertissements familiaux. La chaîne s'adresse principalement aux familles et est diffusée principalement en arabe mais parfois en langue française et berbère. La chaîne a été créée par la société de production marocaine appartenant à l'État, SNRT.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arrabiaa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRTAThaqafia.png","title":"Athaqafia TV / Maroc"},{"description":"Al-Fath channel is the property of Sheikh Ahmed Awad Abdo, and is considered the satellite channel of the Islamic religious channels that follow the Sunnah, and offers a series of programs interpretation for the Quran Al-Kareem, and many true prophetic and the CEO is Prof. Ahmed Abdou Awad, the Islamic Scholar.","sources":["https://svs.itworkscdn.net/alfatehlive/fatehtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/eg-alfath-tv.jpg","title":"Al Fath TV / Egypte"},{"description":"Al Hayah started broadcasting in 2008 during the last years of Mubarak's rule, which saw a revival in the ownership of the media. It was founded by businessman El Sayed El Badawi as part of Al Hayah Channels Network. El Badawi assumed the presidency of the Wafd Party from May 2010 until March 2018. El Badawi is one of the businessmen who played political roles in addition to owning media outlets, such as Al Dostor (link to profile). ","sources":["http://media.islamexplained.com:1935/live/_definst_mp4:ahme.stream_360p/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/474x/76/1a/a4/761aa46eb54c24d21ca5866f21442426.jpg","title":"Al hayat TV / Maroc"},{"description":"The El Sharq channel broadcasts Various programs, from Egypt country in the Arabic language, last updated time on March 25, 2016. El Sharq which considered to view as a Free to air satellite TV channel.","sources":["https://mn-nl.mncdn.com/elsharq_live/live/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://egytvs.com/wp-content/uploads/2014/06/al-sharq-200x75.jpg","title":"Al sharq TV / Maroc"},{"description":"Guinée TV1 est une chaine de télévision généraliste Guinéenne basée à Conakry. Elle diffuse de la musique des informations des documentaires. des programmes religieux et autre.","sources":["https://playtv4kpro.com:5443/LiveApp/streams/664825404798849938149128.m3u8"],"subtitle":"By Channel","thumb":"https://gtv1love.com/wp-content/uploads/2019/10/logo4.png","title":"GUINEE TV / Guinee "},{"description":"Inooro TV chaînes de télévision généraliste Kényane en langue Kikuyu lancé le 26 octobre 2015. Elle diffuse 24 heures sur 24. Inooro TV est une chaine du groupe Royal Media Services (RMS).","sources":["https://vidcdn.vidgyor.com/inoorotv-origin/liveabr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://royalmedia.s3.amazonaws.com/wp-content/uploads/2019/10/inoorotv.jpg","title":"INOORO TV / Kenya "},{"description":"Citizen TV Kenya est une station nationale Kényane détenue par Royal Media Services Ltd.Elle diffuse principalement en anglais et en swahili. Elle a été lancé en 1999 et relancé en Juin 2006 c’est la station de télévision avec la plus forte croissance au Kenya avec un fort accent sur ??la programmation locale Basé au Communication Centre,Maalim Juma Road,Off Dennis Pritt Road, Nairobi, 7498-00300.","sources":["https://vidcdn.vidgyor.com/citizentv-origin/liveabr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.innocirc.com/wp-content/uploads/2017/07/citizen.jpg","title":"CITIZEN TV / Kenya "},{"description":"RTJ TV ( Radio Télévision Jeune ) est une chaine de télévision culturel Sénégalaise. Elle diffuse des programme de divertissement( WatZapp le Zapping), Musique (playlist Mix Afro Mix Zouk Mix Hip Hop Musique sénégalaise), bien être, documentaire, Émission éducatif qui consiste à joindre l’utile à l’agréable à travers l'éducation des enfants, interviews ect.","sources":["http://public.acangroup.org:1935/output/rtjtv.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://rtjtv.com/images/rtjtv.png","title":"RTJ TV / Senegal"},{"description":"Mouride tv est une chaine de télévision généraliste sénégalaise basé à touba, Senegal. Mouride tv c’est la télévision base au coeur des événement mourides magal, thiante, wakhtane, khassaide, kourel en direct..","sources":["http://51.81.109.113:1935/Livemouridetv/mouridetv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/sn-mouride-tv.jpg","title":"MOURIDE TV / Senegal"},{"description":"ANN TV est une chaîne d’Informations générales et de Divertissement. Elle est produite par JUUF COMMUNICATION et diffusée sur le site d’informations générales multimédia ANN. La plateforme ANN comporte un journal en ligne (ANN), une WebRadio (ANN FM) et une WebTV (ANN TV).","sources":["http://vod.acangroup.org:1935/output/anntv.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://an-news.com/wp-content/uploads/2019/05/aan.png","title":"ANN TV / Senegal"},{"description":"Louga TV est une chaine culturelle et religieuse Senegalaise qui se veut attractive et objective. En temps réel, elle produit des vidéos de qualité qui tiennent compte de la spécificité de l’information et de la crédibilité de ses sources. Également, l’équipe technique et rédactionnelle est constituée de techniciens chevronnés aux compétences avérées. Dans son approche des enjeux de l’information capitale, la chaine louga tv offre des vidéos qui informent, forment et transforment le citoyen dans l’approche de son monde en devenir..","sources":["http://ira.dyndns.tv:8080/live/louga/CAnhiMtR6C/1708.m3u8"],"subtitle":"By Channel","thumb":"https://i.ytimg.com/vi/3Gnt2_SndXw/maxresdefault.jpg","title":"LOUGA TV / Senegal"},{"description":"Dieu TV est une chaine de télévision généraliste chrétienne pour la Francophonie.Elle proclame la Bonne Nouvelle du Salut en Jésus-Christ pour atteindre les 400 millions de Francophones dans le monde. Fondée en 2007. Dieu TV diffuse sur le Satellite Eutelsat 5WA (Europe et Afrique du Nord), et le Satellite Amos 5 et en streaming sur son site interne","sources":["https://katapy.hs.llnwd.net/dieutvwza1/DIEUTVLIVE/smil:dieutv.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/fr-dieu-tv.jpg","title":"DIEU TV / Religion "},{"description":"Radio Télévision Hirondelle : La nouvelle couleur du Sud. Elle diffuse des émissions pour divers catégories nouvelles locales, nationales et internationales le sport du monde Entier la musique et videos clips Promotions des artistes Locaux.","sources":["http://play.acwstream.com:2000/live/acw_01/index.m3u8"],"subtitle":"By Channel","thumb":"https://radiotelehirondelle.com/wp-content/uploads/2020/08/logo.png","title":"HIRONDELLE TV"},{"description":"BEL TV est une station de télévision haïtienne qui diffuse sur le web via diverses plateformes et par câble. Notre vision est de créer une télévision standard dont la qualité du programme est aussi instructive que divertissante. À cote de cette vision, BEL TV s’est fixé pour mission de promouvoir la Culture haïtienne, à savoir le Cinéma, la musique, la littérature et bien plus encore, ce à travers la Caraïbe et le monde entier. BEL TV c’est une toute autre façon de faire la télé.","sources":["https://hbiptv.live/player/sakchotv/index.m3u8"],"subtitle":"By Channel","thumb":"https://image.roku.com/developer_channels/prod/1de97a21d9bd773a115a5467974be0b859d1157256316bd1e72ed48965c0191a.png","title":"BEL TV / Haiti "},{"description":"The Middle East Broadcasting Center (MBC) Group is the first private free-to-air satellite broadcasting company in the Arab World. It was launched in London in 1991 and later moved to its headquarters in Dubai in 2002. MBC Group provides multiple channels of information, interaction and entertainment. MBC Group includes 10 television channels: MBC1 (general family entertainment via terrestrial), MBC2 and MBC MAX (24-hour movies), MBC3 (children’s entertainment), MBC4 (entertainment for new Arab women via terrestrial).","sources":["https://shls-masr-prod.shahid.net/masr-prod.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/7/7c/MBC_Masr_Logo.png","title":"MBC MSR 1 / Egypte"},{"description":"The Middle East Broadcasting Center (MBC) Group is the first private free-to-air satellite broadcasting company in the Arab World. It was launched in London in 1991 and later moved to its headquarters in Dubai in 2002. MBC Group provides multiple channels of information, interaction and entertainment. MBC Group includes 10 television channels: MBC1 (general family entertainment via terrestrial), MBC2 and MBC MAX (24-hour movies), MBC3 (children’s entertainment), MBC4 (entertainment for new Arab women via terrestrial).","sources":["https://shls-masr2-prod.shahid.net/masr2-prod.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/01/3c/21/013c218c3ce9b3cfc883bdcdb121e5e6.jpg","title":"MBC MSR 2 / Egypte"},{"description":"Mekameleen TV is an Egyptian opposition TV Channel. It is based in Istanbul. It's known to be supportive of the Muslim Brotherhood","sources":["https://mn-nl.mncdn.com/mekameleen/smil:mekameleentv.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/12/5b/1f/125b1febb8ada3a4f83475c2643adeb7.jpg","title":"Mekameleen TV / Egypte"},{"description":"The Kingdome Sat is television from Egypte founded in 2009 by Dr. Michael Yousef, the KingdomSat channel aims to introduce written teachings from the East and West to complement the vision given by God to the loss of the faraway and to encourage believers in the Middle East and North Africa region.","sources":["https://bcovlive-a.akamaihd.net/87f7c114719b4646b7c4263c26515cf3/eu-central-1/6008340466001/profile_0/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/eg-kingdom-sat-channe.jpg","title":"The Kingdom Sat TV / Egypt"},{"description":"D5 TV Music est une nouvelle chaîne de télévision musicale internationale, elle est dédiée aux musiques et aux cultures urbaines du monde entier (Rap, R&B, Hip-Hop, Pop, Rai, Naija, Olschool etc.) ciblant un public très large. D5Music entend devenir la chaîne référence musicale des 5 continents","sources":["https://www.rti.ci/direct_rti2.html"],"subtitle":"By Channel","thumb":"https://d5music.tv/wp-content/uploads/2020/07/cropped-LOGO-D5-MUSIC-BLANCROUGE_carre-192x192.png","title":"RTI 2 TV"},{"description":"A2iTV la chaine 100% immigration Senegalais, qui est née de la synergie de personnes qui ont décidé d’ unir leur force, leur compétence et leur ressources matérielles et financiéres pour participer avec l’aide des nouvelles technologies à informer sur l’ immigration .","sources":["http://51.158.31.93:1935/a2itv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/A2itv_logo.jpg","title":"A2i TV / Senegal"},{"description":"A2i music est une chaine culturelle destinée à la Diaspora avec des programmes musicales et des dramatiques. A2i music couvre aussi les autres parties du monde, notament les Etats Unis, le Canada, l’Asie, etc. à travers les boitiers Roku fournis par AfricaAstv, Acantv, My African pack de Invevo et Sénégal.","sources":["http://51.158.31.93:1935/a2itvtwo/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/a2i-music_logo.jpg","title":"A2i TV / Music "},{"description":"A2i tv Relegion est une chaine culturelle destinée à la Diasporat senegalais avec des programme chretiens.","sources":["http://51.158.31.93:1935/a2itvthree/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/wwumXcAbY83D0q-NgUv2veS-p54FJTq6LAvsPRwYwWo-70ggeDkCM1VdhqhibRQNk4o=s180-rw","title":"A2i TV / Religion "},{"description":"Love World Plus TV is your Christian faith and lifestyle channel destined to bring a new level of dynamism into Christian television programming through satellite and the internet. The reach of LoveWorld Plus is limitless.","sources":["http://hls.live.metacdn.com/2450C7/bedkcjfty/lwplus_628.m3u8"],"subtitle":"By Channel","thumb":"https://d3c5pcohbexzc4.cloudfront.net/videos/thumbs/be214-loveworldplus.jpg","title":"Love World Plus TV"},{"description":"A2i naija est une nouvelle chaîne de télévision musicale internationale, elle est dédiée aux musiques et aux cultures urbaines du monde entier (Rap, R&B, Hip-Hop, Pop, Rai, Naija, Olschool etc.) ciblant un public très large. D5Music entend devenir la chaîne référence musicale des 5 continents","sources":["http://51.158.31.93:1935/devtv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://image.winudf.com/v2/image/YTVjZW50cy5hMmlfc2NyZWVuXzVfMTUxNTk5NTEyNl8wNTQ/screen-5.jpg?fakeurl=1&type=.jpg","title":"A2i / naija Music"},{"description":"BOK TV is an online and public access variety show and the show's log line what would happen if In Living Color and The Daily Show had a bastard child! BOKTV is what would happen and he show is split into segments: MONOLOGUE, SKETCH, ROUND TABLE, COMMERCIAL, BLACK TWITTER. create a platform of discourse that encourages exchange as opposed to polarity, and to showcase the talents of the host and other cast members.","sources":["http://boktv.interworks.in:1935/live/boktv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://bokradio.co.za/wp-content/uploads/2017/07/button_cameratv.jpg","title":"BOK TV"},{"description":"Salt TV is a Christian television channel station from Uganda. Salt TV is based in Kampala. Matthew 5:13-16 (NKJV) Believers Are Salt and Light 13 You are the salt of the earth, but if the salt loses its flavor, how shall it be seasoned? It is then good for nothing but to be thrown out and trampled underfoot by men.","sources":["http://dcunilive38-lh.akamaihd.net/i/dclive_1@692676/index_150_av-p.m3u8"],"subtitle":"By Channel","thumb":"https://www.saltmedia.ug/images/NOV/SALT-TV.jpg","title":"Salt TV/ Uganda"},{"description":"TFM is Senegal’s privately-owned television channel.Owned by Senegalese musician Youssou N Dour, who owns a major media group in Dakar.","sources":["http://46.105.114.82/tfm_senegal.m3u8"],"subtitle":"By Channel","thumb":"https://3.bp.blogspot.com/-eyo4UyKqjlI/WWTobvXxLqI/AAAAAAAAB_g/BFn1KiR6vcYQMilgX4nWhGJHbHMEP_l0ACLcBGAs/s1600/tfm%2Bsenegal.png","title":"TFM TV/ Senegal"},{"description":"Africa tv1 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains musulmans de partout.","sources":["http://africatv.live.net.sa:1935/live/africatv/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.africagroup.tv/img/bgTV1.png","title":"Africa TV 1"},{"description":"Africa tv2 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains musulmans de partout.","sources":["http://africatv.live.net.sa:1935/live/africatv2/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.africagroup.tv/img/bgTV2.png","title":"Africa TV 2"},{"description":"Africa tv3 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains de langue haoussa.","sources":["http://africatv.live.net.sa:1935/live/africatv3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.africagroup.tv/img/bgTV3.png","title":"Africa TV 3"},{"description":"La télévision nationale tunisienne 1 est la chaîne publique nationale tunisienne. Il a été officiellement lancé le 31 mai 1966, mais diffuse des programmes pilotes de manière irrégulière depuis octobre 1965, puis régulièrement depuis janvier 1966 et s’appelle la radio et la télévision tunisienne (ATT). Elle est devenue Channel 7 en 1992 et Tunisia 7 en 1997, mais elle est restée une filiale de la Société tunisienne de radio et de télévision jusqu’en 2008, a conservé le siège qu’elle partageait et la Société tunisienne de télévision avec ses chaînes de télévision nationales tunisiennes et La Tunisie 21 plus tard connue sous le nom de Télévision nationale tunisienne 2 est devenue son nouveau siège. Après le déclenchement de la révolution populaire tunisienne et la défection de zine El Abidine Ben Ali du pays, il est devenu Télévision nationale tunisienne.","sources":["http://54.36.122.126/tunisie1.m3u8"],"subtitle":"By Channel.","thumb":"https://www.histoiredesfax.com/wp-content/uploads/2015/11/Television-nationale-watania.jpg","title":"TUNISIA 1"},{"description":"Sahel TV est la plateforme unique, ouverte à la société civile, aux citoyens et à l'autorité locale de la ville et de sa région pour leur permettre de s’exprimer librement, proposer leurs idées et accéder à toutes les informations économiques, environnementale, culturelle, sportive. Vos idées et vos propositions sont les bienvenues.","sources":["http://142.44.214.231:1935/saheltv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://mobiletv.mobibase.com/html/logo/hd/channel_ld_747.png","title":"SAHEL TV / Tunisie"},{"description":"NIGERIA TELEVISION AUTORTEAutorité a commencé sous le nom de Western Nigerian Television Services (WNTV), qui a transmis ses premiers signaux au peuple nigérian et à toute l'Afrique le 31 octobre 1959. Au début de 1962, les trois gouvernements régionaux qui existaient au Nigéria avaient mis en place le Service de télévision nigérian (NTS). Télévision ont été créés et en 1976, l'Autorité de la télévision nigériane est née en tant que seule entité responsable de Diffusion télévisée au Nigéria.","sources":["http://54.38.93.93/nta.m3u8"],"subtitle":"By Channel","thumb":"https://static.squarespace.com/static/53d2a092e4b0125510bfe57d/53d2a2c6e4b018cd23e33d7b/53d2a2c6e4b018cd23e33f6f/1362042333867/1000w/nta.jpg","title":"NTA TV / Nigeria"},{"description":"ESPACE TV est une télévision basée à Conakry dans la commune de Matoto Kondeboungny au bord de l'autoroute Fidèle Castro (République de Guinée). La télé diffuse des informations du pays et du monde en temps réel. Des magazines axés sur les réalités des terroirs et des séries de divertissement. Détenue par le groupe Hadafo Médias, cette chaîne est la première du pays en terme d'audience; selon le rapport de Stat view international en 2019.","sources":["http://46.105.114.82/espacetv.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/ric-bS2gzvt-UyrhBIEdWENN9U-fL9Bnlhv12GEYSzSkZFWEIr7hc74k83kfLPqZDk0","title":"Espace TV / Guinée"},{"description":" Movies Now is an Indian high-definition television channel featuring Hollywood films. It was launched on 19 December 2010 with a picture quality of 1080i and 5.1 surround sound. The channel is owned by The Times Group. It has exclusive content licensing from films produced or distributed by MGM and has content licensing from Universal Studios, Walt Disney Studios, Marvel Studios, 20th Century Studios, Warner Bros and Paramount Pictures.","sources":["https://timesnow.airtel.tv/live/MN_pull/master.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/en/4/49/Movies_Now_logo.png","title":"Movies Now HD"},{"description":"Tunisie Immobilier TV, la première chaîne de l’immobilier en Tunisie Vous présente toutes les semaines, les actualités immobilières et économiques en Tunisie et dans le monde à travers des reportages.contact; E-mail:tunisieimmob@planet.tn/ Tel:(+216) 71 894500.","sources":["https://5ac31d8a4c9af.streamlock.net/tunimmob/myStream/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://i2.wp.com/www.tunisieimmobiliertv.net/wp-content/uploads/2016/10/fb.jpg?fit=1024%2C500&ssl=1","title":"Tunisie Immobilier TV"}]}]}
OG-Frogger / Toad 3 Blooketjavascript:(function()%7Bfunction start() %7B%0A loadGUI()%3B%0A addUtils()%3B%0A%7D%0A%0Afunction wait(time) %7B%0A return new Promise(resolve %3D> setTimeout(resolve%2C time))%3B%0A%7D%0A%0Avar getValues %3D () %3D> new Promise((e%2C t) %3D> %7B%0A try %7B%0A let n %3D window.webpackJsonp.map(e %3D> Object.keys(e%5B1%5D).map(t %3D> e%5B1%5D%5Bt%5D)).reduce((e%2C t) %3D> %5B...e%2C ...t%5D%2C %5B%5D).find(e %3D> %2F%5Cw%7B8%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B12%7D%2F.test(e.toString()) %26%26 %2F%5C(new TextEncoder%5C)%5C.encode%5C(%5C"(.%2B%3F)%5C"%5C)%2F.test(e.toString())).toString()%3B%0A e(%7B%0A blooketBuild%3A n.match(%2F%5Cw%7B8%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B4%7D-%5Cw%7B12%7D%2F)%5B0%5D%2C%0A secret%3A n.match(%2F%5C(new TextEncoder%5C)%5C.encode%5C(%5C"(.%2B%3F)%5C"%5C)%2F)%5B1%5D%0A %7D)%0A %7D catch %7B%0A t("Could not fetch auth details")%0A %7D%0A%7D)%3B%0Avar encodeValues %3D async (e%2C t) %3D> %7B%0A let d %3D window.crypto.getRandomValues(new Uint8Array(12))%3B%0A return window.btoa(Array.from(d).map(e %3D> String.fromCharCode(e)).join("") %2B Array.from(new Uint8Array(await window.crypto.subtle.encrypt(%7B%0A name%3A "AES-GCM"%2C%0A iv%3A d%0A %7D%2C await window.crypto.subtle.importKey("raw"%2C await window.crypto.subtle.digest("SHA-256"%2C (new TextEncoder).encode(t))%2C %7B%0A name%3A "AES-GCM"%0A %7D%2C !1%2C %5B"encrypt"%5D)%2C (new TextEncoder).encode(JSON.stringify(e))))).map(e %3D> String.fromCharCode(e)).join(""))%0A%7D%3B%0A%0A%0Afunction loadGUI() %7B%0A var frame %3D document.createElement("iframe")%3B%0A frame.id %3D "blooo"%0A frame.style.display %3D "none"%3B%0A frame.style.width %3D "1px"%3B%0A frame.style.height %3D "1px"%0A document.body.appendChild(frame)%3B%0A%0A window.alert %3D frame.contentWindow.alert%3B%0A window.prompt %3D frame.contentWindow.prompt%3B%0A window.confirm %3D frame.contentWindow.confirm%3B%0A%0A%0A let element %3D document.createElement('div')%3B%0A element.innerHTML %3D %60<div id%3D"GUI"> <style>details > summary%7Bcursor%3A pointer%3B transition%3A 1s%3B list-style%3A circle%3B%7D.hack%7Bborder%3A none%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B padding%3A 7px%3B margin%3A 5px%3B width%3A 70%25%3B color%3A white%3B transition%3A 0.1s%3B border-radius%3A 5px%3B cursor%3A pointer%3B%7D.hack%3Ahover%7Bbackground%3A hsl(0%2C 1%25%2C 31%25)%3B%7D<%2Fstyle> <div style%3D"cursor%3A all-scroll%3B padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Toad_UI<button id%3D"gui-" style%3D"background%3A black%3B height%3A 45px%3B width%3A 45px%3B border%3A none%3B cursor%3A pointer%3B position%3A absolute%3B top%3A -10px%3B right%3A 90%25%3B font-size%3A 2.5rem%3B border-radius%3A 10px%3B font-family%3A Nunito%3B font-weight%3A bolder%3B padding-top%3A -10px%3B padding-right%3A -15px%3B color%3A white%3B">-<%2Fbutton> <button id%3D"guiX" style%3D"background%3A black%3B height%3A 45px%3B width%3A 45px%3B border%3A none%3B cursor%3A pointer%3B position%3A absolute%3B top%3A -10px%3B right%3A -10px%3B font-size%3A 1.5rem%3B border-radius%3A 10px%3B font-family%3A Nunito%3B font-weight%3A bolder%3B padding-top%3A 10px%3B padding-right%3A 15px%3B color%3A white%3B">X<%2Fbutton> <%2Fdiv><div style%3D"display%3A block%3B margin%3A 10px%3B min-height%3A 70px%3B"> <div id%3D"curPage">No Game Found?<%2Fdiv><div id%3D"name">Name%3A None<%2Fdiv><div>(E To Hide UI)<%2Fdiv><details open%3D""> <summary style%3D"padding%3A 10px%3B font-size%3A 1.5em%3B font-weight%3A bolder">Main Mods<%2Fsummary> <button id%3D"token" class%3D"hack">Daily 500 Tokens/XP<%2Fbutton> <button id%3D"spoof" class%3D"hack">Unlock Blooks<%2Fbutton> <button id%3D"open" class%3D"hack">Spam Open Boxes<%2Fbutton> <button id%3D"sell" class%3D"hack"> Sell Duplicates<%2Fbutton> <button id%3D"correct" class%3D"hack">All Answer Correct<%2Fbutton> <%2Fdetails><br><div id%3D"LoadedGame"> <%2Fdiv><div> Open source on <a href%3D"https%3A%2F%2F">Deez<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 350px%3B background%3A rgb(64%2C 64%2C 64)%3B border-radius%3A 8px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A%7D%0Astart()%3B%0Aasync function debuggerHelp(how) %7B%0A const response %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fverify-token%27%2C %7B%0A method%3A "GET"%2C%0A headers%3A %7B%0A "accept"%3A "application%2Fjson%2C text%2Fplain%2C *%2F*"%2C%0A "accept-language"%3A "en-US%2Cen%3Bq%3D0.9%2Cru%3Bq%3D0.8"%2C%0A %7D%2C%0A credentials%3A "include"%0A %7D)%3B%0A const data %3D await response.json()%3B%0A let name %3D data.name%3B%0A let role %3D data.role%3B%0A window.blooketname %3D name%3B%0A window.blooketrole %3D role%3B%0A startDebugger(name)%3B%0A%7D%0A%0Afunction addtokens(event) %7B%0A try %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A getValues().then(async e %3D> %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fadd-rewards"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A addedTokens%3A 500%2C%0A addedXp%3A 300%0A %7D%2C e.secret)%0A %7D).then(() %3D> alert(%27Added daily rewawrds!%27)).catch(() %3D> alert(%27There was an error when adding rewards!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting username!%27))%3B%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction selldupes(event) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A let blooks %3D Object.entries(x.unlocks).map(x %3D> %5Bx%5B0%5D%2C x%5B1%5D - 1%5D).filter(x %3D> x%5B1%5D > 0)%3B%0A let wait %3D ms %3D> new Promise(r %3D> setTimeout(r%2C ms))%3B%0A getValues().then(async e %3D> %7B%0A let error %3D false%3B%0A alert(%27Selling duplicate blooks%2C please wait%27)%3B%0A for (let %5Bblook%2C numSold%5D of blooks) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fsellblook"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A blook%2C%0A numSold%0A %7D%2C e.secret)%0A %7D).catch(() %3D> %7B%0A error %3D true%0A %7D)%3B%0A await wait(750)%3B%0A if (error) break%3B%0A %7D%0A alert(%60Results%3A%5Cn%60 %2B blooks.map((x) %3D> %60 %24%7Bx%5B1%5D%7D %24%7Bx%5B0%5D%7D%60).join(%60%5Cn%60))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting user data!%27))%3B%0A%7D%0A%0Afunction spoofblooks(event) %7B%0A try %7B%0A if (window.location.pathname %3D%3D "%2Fplay%2Flobby") %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%3B%0A hack.stateNode.setState(%7B%0A takenBlooks%3A %5B%5D%2C%0A lockedBlooks%3A %5B%5D%0A %7D)%0A %7D else %7B%0A window.alert("Run this in a lobby (https%3A%2F%2Fblooket.com%2Fplay%2Flobby%2F)")%0A %7D%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction openboxes(event) %7B%0A try %7B%0A (async function() %7B%0A let box %3D prompt(%27Which box do you want to open%3F (e.g. Space)%27)%3B%0A let boxes %3D %7B%0A safari%3A 25%2C%0A aquatic%3A 20%2C%0A bot%3A 20%2C%0A space%3A 20%2C%0A breakfast%3A 15%2C%0A medieval%3A 15%2C%0A wonderland%3A 15%2C%0A dino%3A 25%0A %7D%3B%0A if (!Object.keys(boxes).includes(box.toLowerCase())) %7B%0A return alert(%27I could not find that box!%27)%0A %7D%3B%0A let amount %3D prompt(%27How many boxes do you want to open%3F%27)%3B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers"%2C %7B%0A credentials%3A "include"%0A %7D).then(x %3D> x.json()).then(x %3D> %7B%0A if (x.tokens < boxes%5Bbox.toLowerCase()%5D * amount) amount %3D Math.floor(x.tokens %2F boxes%5Bbox.toLowerCase()%5D)%3B%0A if (!amount) return alert(%27You do not have enough tokens!%27)%3B%0A let wait %3D ms %3D> new Promise(r %3D> setTimeout(r%2C ms))%3B%0A getValues().then(async e %3D> %7B%0A let error %3D false%2C%0A blooks %3D %5B%5D%3B%0A for (let i %3D 0%3B i < amount%3B i%2B%2B) %7B%0A fetch("https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Funlockblook"%2C %7B%0A method%3A "put"%2C%0A credentials%3A "include"%2C%0A headers%3A %7B%0A "content-type"%3A "application%2Fjson"%2C%0A "X-Blooket-Build"%3A e.blooketBuild%0A %7D%2C%0A body%3A await encodeValues(%7B%0A name%3A x.name%2C%0A box%3A box.charAt(0).toUpperCase() %2B box.slice(1).toLowerCase()%0A %7D%2C e.secret)%0A %7D).then(async x %3D> %7B%0A let blook %3D await x.json()%3B%0A blooks.push(blook.unlockedBlook)%3B%0A alert(%60%24%7Bblook.unlockedBlook%7D (%24%7Bi %2B 1%7D%2F%24%7Bamount%7D)%60)%3B%0A %7D).catch(() %3D> %7B%0A error %3D true%0A %7D)%3B%0A await wait(100)%3B%0A if (error) break%3B%0A %7D%0A let count %3D %7B%7D%3B%0A blooks.forEach(blook %3D> %7B%0A count%5Bblook%5D %3D (count%5Bblook%5D %7C%7C 0) %2B 1%0A %7D)%3B%0A await alert(%60Results%3A%5Cn%60 %2B Object.entries(count).map((x) %3D> %60 %24%7Bx%5B1%5D%7D %24%7Bx%5B0%5D%7D%60).join(%60%5Cn%60))%3B%0A %7D).catch(() %3D> alert(%27There was an error encoding requests!%27))%3B%0A %7D).catch(() %3D> alert(%27There was an error getting username!%27))%3B%0A %7D)()%3B%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C sorry it didnt work try again on a different mode!%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction allcorrect(event) %7B%0A try %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%3B%0A hack.stateNode.questions %3D %5B%7B%0A "text"%3A "Toad_UI moment"%2C%0A "answers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "correctAnswers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "number"%3A 1%2C%0A "random"%3A false%2C%0A "timeLimit"%3A "999"%2C%0A "image"%3A "https%3A%2F%2Fmedia.blooket.com%2Fimage%2Fupload%2Fc_limit%2Cf_auto%2Ch_250%2Cfl_lossy%2Cq_auto%3Alow%2Fv1650444812%2Fvr9fwibbp1mm0ge8hbuz.jpg"%2C%0A "audio"%3A null%0A %7D%5D%0A hack.stateNode.freeQuestions %3D %5B%7B%0A "text"%3A "Toad_ Hacks"%2C%0A "answers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "correctAnswers"%3A %5B%0A "Toad_UI on top"%2C%0A "Toad_UI on top2"%0A %5D%2C%0A "number"%3A 1%2C%0A "random"%3A false%2C%0A "timeLimit"%3A "999"%2C%0A "image"%3A "https%3A%2F%2Fmedia.blooket.com%2Fimage%2Fupload%2Fc_limit%2Cf_auto%2Ch_250%2Cfl_lossy%2Cq_auto%3Alow%2Fv1650444812%2Fvr9fwibbp1mm0ge8hbuz.jpg"%2C%0A "audio"%3A null%0A %7D%5D%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D catch (hack) %7B%0A if (confirm(%27An error has occured%2C would you like to open the debugger%3F%27)) %7B%0A debuggerHelp()%0A %7D%3B%0A %7D%3B%0A%7D%3B%0A%0Afunction guiexit(event) %7B%0A const GUI %3D document.getElementById("GUI")%3B%0A const GUIX %3D document.getElementById("guiX")%3B%0A const IFR %3D document.getElementById("blooo")%3B%0A const tokens %3D document.getElementById("token")%3B%0A const spoof %3D document.getElementById("spoof")%3B%0A const open %3D document.getElementById("open")%3B%0A const sell %3D document.getElementById("sell")%3B%0A const correct %3D document.getElementById("correct")%3B%0A GUIX.removeEventListener(%27click%27%2C guiexit)%3B%0A tokens.removeEventListener(%27click%27%2C addtokens)%3B%0A spoof.removeEventListener(%27click%27%2C spoofblooks)%3B%0A open.removeEventListener(%27click%27%2C openboxes)%3B%0A sell.removeEventListener(%27click%27%2C selldupes)%3B%0A correct.removeEventListener(%27click%27%2C allcorrect)%3B%0A window.onkeydown %3D null%3B%0A GUI.remove()%3B%0A GUIX.remove()%3B%0A IFR.remove()%3B%0A%7D%0A%0Afunction toggleVisGUI() %7B%0A var GUI %3D document.getElementById("GUI")%3B%0A if (GUI.style.display %3D%3D "none") %7B%0A GUI.style.display %3D "block"%3B%0A %7D else %7B%0A GUI.style.display %3D "none"%3B%0A %7D%0A%7D%0A%0Awindow.addEventListener(%27keydown%27%2C function(e) %7B%0A if (e.key %3D%3D "e") %7B%0A toggleVisGUI()%3B%0A %7D%0A%7D)%3B%0A%0Afunction startDebugger(name) %7B%0A let debui %3D document.getElementById("deb")%0A if (debui !%3D null) %7B%0A window.alert("The debugger is already open.")%0A %7D else %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"deb"> <div style%3D" padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Debug UI<%2Fdiv><div id%3D"debname" style%3D"font-size%3A 1rem%3B">Name%3A null<%2Fdiv><div id%3D"hackstat">Hack Status%3A null<%2Fdiv><div id%3D"gameinfo">No Gamemode Found?<%2Fdiv><br><button id%3D"rundeb" style%3D"width%3A 130px%3B height%3A 30px%3B cursor%3A pointer%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B border-radius%3A 22px%3B border%3A none%3B font-size%3A 1rem%3B"><b>Run Debugger<%2Fb><%2Fbutton><br><br><div style%3D"font-size%3A 0.8rem%3B">ui by <a href%3D"https%3A%2F%2F<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 175px%3B background%3A rgb(64%2C 64%2C 64)%3B border-radius%3A 8px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%3B%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A mode %3D "Blook Rush"%3B%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A mode %3D "Deceptive Dino"%3B%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A mode %3D "Racing"%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A mode %3D "Fishing Frenzy"%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A mode %3D "Gold Quest"%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A mode %3D "Factory"%3B%0A break%3B%0A case "%2Fcafe"%3A%0A mode %3D "Cafe"%0A break%3B%0A case "%2Fkingdom"%3A%0A mode %3D "Crazy Kingdom"%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Fdefense"%3A%0A mode %3D "Tower Defense"%0A break%3B%0A %7D%0A const Rundeb %3D document.getElementById("rundeb")%0A const gameinfo %3D document.getElementById("gameinfo")%0A const hackstat %3D document.getElementById("hackstat")%0A const debname %3D document.getElementById("debname")%0A Rundeb.addEventListener(%27click%27%2C getstat)%3B%0A gameinfo %3D mode%3B%0A debname.innerHTML %3D %60Name%3A %24%7Bname%7D%60%3B%0A hackstat.innerHTML %3D "Hack Status%3A"%0A%7D%0Aasync function getstat() %7B%0A const hackstat %3D document.getElementById("hackstat")%0A const getApiSetUrlResponse %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fgames%3FgameId%3D62185f4950d6238032ffd5c2%27%2C %7B%0A credentials%3A "include"%0A %7D)%3B%0A const getApiSetUrlData %3D await getApiSetUrlResponse.json()%3B%0A if (getApiSetUrlData.title %3D%3D "online") %7B%0A hackstat.innerHTML %3D "Hack Status%3A Online"%0A %7D else %7B%0A hackstat.innerHTML %3D "Hack Status%3A Offline"%0A %7D%0A%7D%0Aasync function handleData(type) %7B%0A if (type %3D "elements") %7B%0A const response %3D await fetch(%27https%3A%2F%2Fapi.blooket.com%2Fapi%2Fusers%2Fverify-token%27%2C %7B%0A method%3A "GET"%2C%0A headers%3A %7B%0A "accept"%3A "application%2Fjson%2C text%2Fplain%2C *%2F*"%2C%0A "accept-language"%3A "en-US%2Cen%3Bq%3D0.9%2Cru%3Bq%3D0.8"%2C%0A %7D%2C%0A credentials%3A "include"%0A %7D)%3B%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A mode %3D "Blook Rush"%3B%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A mode %3D "Deceptive Dino"%3B%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A mode %3D "Racing"%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A mode %3D "Fishing Frenzy"%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A mode %3D "Gold Quest"%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A mode %3D "Factory"%3B%0A break%3B%0A case "%2Fcafe"%3A%0A mode %3D "Cafe"%0A break%3B%0A case "%2Fkingdom"%3A%0A mode %3D "Crazy Kingdom"%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A mode %3D "Tower of Doom"%0A break%3B%0A case "%2Fdefense"%3A%0A mode %3D "Tower Defense"%0A break%3B%0A %7D%0A const data %3D await response.json()%3B%0A let Name %3D data.name%3B%0A const nameElement %3D document.getElementById("name")%3B%0A const game %3D document.getElementById("curPage")%0A game.innerHTML %3D mode%3B%0A nameElement.innerHTML %3D %60Name%3A %24%7BName%7D%60%3B%0A %7D else %7B%0A console.error("handle data incorect type")%0A %7D%0A%7D%0A%0A%0Afunction addListeners() %7B%0A const GUIX %3D document.getElementById("guiX")%0A const GUIM %3D document.getElementById("gui-")%0A const tokens %3D document.getElementById("token")%0A const spoof %3D document.getElementById("spoof")%0A const open %3D document.getElementById("open")%0A const sell %3D document.getElementById("sell")%0A const correct %3D document.getElementById("correct")%0A GUIX.addEventListener(%27click%27%2C guiexit)%3B%0A GUIM.addEventListener(%27click%27%2C toggleVisGUI)%3B%0A tokens.addEventListener(%27click%27%2C addtokens)%3B%0A spoof.addEventListener(%27click%27%2C spoofblooks)%3B%0A open.addEventListener(%27click%27%2C openboxes)%3B%0A sell.addEventListener(%27click%27%2C selldupes)%3B%0A correct.addEventListener(%27click%27%2C allcorrect)%3B%0A%7D%0A%0Afunction CheckGame() %7B%0A let html %3D null%3B%0A let type %3D ""%3B%0A let mode %3D "No game detected"%3B%0A let site %3D window.location.pathname%3B%0A switch (site) %7B%0A case "%2Fplay%2Frush"%3A%0A type %3D "rush"%3B%0A mode %3D "Blook Rush"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"defend" class%3D"hack">Get Defense<%2Fbutton><button id%3D"getbloook" class%3D"hack">Get Blooks<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fdino"%3A%0A type %3D "dino"%3B%0A mode %3D "Deceptive Dino"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"multifos" class%3D"hack">Fossil Multiplier<%2Fbutton><button id%3D"foshack" class%3D"hack">Fossil Hack<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fracing"%3A%0A type %3D "race"%3B%0A mode %3D "Racing"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"finish" class%3D"hack">Finish Race<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Ffishing"%3A%0A type %3D "fishing"%3B%0A mode %3D "Fishing Frenzy"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"setweight" class%3D"hack">Set Weight<%2Fbutton><button id%3D"setlure" class%3D"hack">Set Lure<%2Fbutton><button id%3D"frenzy" class%3D"hack">Always Frenzy<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fgold"%3A%0A type %3D "gold"%3B%0A mode %3D "Gold Quest"%0A html %3D %27<div id%3D"LoadedGame"> <button id%3D"setgold" class%3D"hack">Set Gold<%2Fbutton> <button id%3D"choiceesp" class%3D"hack">Choice ESP<%2Fbutton> <%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Ffactory"%3A%0A type %3D "factory"%3B%0A mode %3D "Factory"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"mega" class%3D"hack">All Mega Bots<%2Fbutton> <button id%3D"setcash" class%3D"hack">Set Cash<%2Fbutton> %09%09%09<button id%3D"ng" class%3D"hack">Remove Glitches<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fcafe"%3A%0A type %3D "cafe"%3B%0A mode %3D "Cafe"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"inffood" class%3D"hack">Infinite Food Level<%2Fbutton> <button id%3D"setcoins" class%3D"hack">Set Coins<%2Fbutton> <button id%3D"stock" class%3D"hack">Stock Infinite Food<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fcafe%2Fshop"%3A%0A type %3D "cafe"%3B%0A mode %3D "Cafe"%3B%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"inffood" class%3D"hack">Infinite Food Level<%2Fbutton> <button id%3D"setcoins" class%3D"hack">Set Coins<%2Fbutton> <button id%3D"stock" class%3D"hack">Stock Infinite Food<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fplay%2Fhack"%3A%0A type %3D "crypto"%3B%0A mode %3D "Crypto-Hack"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"set" class%3D"hack">Set Crypto<%2Fbutton> <button id%3D"esp" class%3D"hack">Change Name<%2Fbutton> <button id%3D"guesspass" class%3D"hack">Autoguess Password<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fkingdom"%3A%0A type %3D "kingdom"%3B%0A mode %3D "Crazy Kingdom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"esp" class%3D"hack">ChoiceESP<%2Fbutton><button id%3D"max" class%3D"hack">Max Stats<%2Fbutton> <button id%3D"taxes" class%3D"hack">No Taxes<%2Fbutton> <button id%3D"setgold" class%3D"hack">Set Gold<%2Fbutton> <button id%3D"sethappy" class%3D"hack">Set Happiness<%2Fbutton> <button id%3D"setmaterials" class%3D"hack">Set Materials<%2Fbutton> <button id%3D"setpeople" class%3D"hack">Set People<%2Fbutton><%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Ftower%2Fmap"%3A%0A type %3D "doom"%0A mode %3D "Tower of Doom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"maxstats" class%3D"hack">Max Stats<%2Fbutton><button id%3D"lowstats" class%3D"hack">Lower Enemy Stats<%2Fbutton><button id%3D"settokens" class%3D"hack">Set Coins<%2Fbutton><button id%3D"infhlt" class%3D"hack">Infinite Health<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Ftower%2Fbattle"%3A%0A type %3D "doom"%0A mode %3D "Tower of Doom"%0A html %3D %27<div id%3D"LoadedGame"><button id%3D"maxstats" class%3D"hack">Max Stats<%2Fbutton><button id%3D"lowstats" class%3D"hack">Lower Enemy Stats<%2Fbutton><button id%3D"settokens" class%3D"hack">Set Coins<%2Fbutton><button id%3D"infhlt" class%3D"hack">Infinite Health<%2Fbutton><%2Fdiv><br>%27%0A loadgame(type%2C html%2C mode)%0A break%3B%0A case "%2Fdefense"%3A%0A type %3D "defense"%3B%0A mode %3D "Tower Defense"%0A html %3D %27<div id%3D"LoadedGame"> <button id%3D"settokens" class%3D"hack">Set Tokens<%2Fbutton> <button id%3D"sethealth" class%3D"hack">Set Health<%2Fbutton> <button id%3D"setround" class%3D"hack">Set Round<%2Fbutton> <button id%3D"maxtowers" class%3D"hack">Max All Towers<%2Fbutton> <button id%3D"towersany" class%3D"hack">Place Towers Anywhere<%2Fbutton> <%2Fdiv><br>%27%3B%0A loadgame(type%2C html%2C mode)%0A break%3B%0A default%3A%0A let element %3D document.getElementById("LoadedGame")%0A element.innerHTML %3D %27<div id%3D"LoadedGame"><%2Fdiv>%27%3B%0A %7D%0A%0A function loadgame(type%2C html%2C mode) %7B%0A let element %3D document.getElementById("LoadedGame")%0A let curPage %3D document.getElementById("curPage")%0A element.innerHTML %3D html%3B%0A curPage.innerHTML %3D mode%3B%0A addEvents(type)%3B%0A %7D%0A%0A function addEvents(type) %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A switch (type) %7B%0A case "crypto"%3A%0A const set %3D document.getElementById("set")%0A const autoguess %3D document.getElementById("guesspass")%0A const esp2 %3D document.getElementById("esp")%0A set.addEventListener(%27click%27%2C () %3D> %7B%0A var cf %3D window.prompt("How much Crypto would you like%3F")%0A let num %3D Number(cf)%0A if (num !%3D null %7C%7C num !%3D undefined) %7B%0A hack.stateNode.state.crypto %3D num%3B%0A %7D%0A %7D)%0A autoguess.addEventListener(%27click%27%2C () %3D> %7B%0A (function(_0x499d01%2C_0x24e017)%7Bvar _0x4fde3f%3D_0x499d01()%3Bfunction _0x237240(_0x4888ab%2C_0x1d2070%2C_0xd32c0a%2C_0x569eba%2C_0x3c85f8)%7Breturn _0x687a(_0x4888ab- -0x370%2C_0xd32c0a)%3B%7Dfunction _0x3bf52d(_0x2ae095%2C_0x298bb5%2C_0x1de810%2C_0x2ab028%2C_0x52b95a)%7Breturn _0x687a(_0x298bb5- -0x163%2C_0x52b95a)%3B%7Dfunction _0x1ce929(_0x127f77%2C_0x4ecfd2%2C_0x3c8a5d%2C_0x5314a8%2C_0x36155e)%7Breturn _0x687a(_0x4ecfd2- -0x11b%2C_0x36155e)%3B%7Dfunction _0x28fab7(_0xe80d47%2C_0x5755c7%2C_0x3747d8%2C_0x2ce9bb%2C_0x584b48)%7Breturn _0x687a(_0x2ce9bb-0x19%2C_0x584b48)%3B%7Dfunction _0x5d2832(_0x331396%2C_0x5c7e29%2C_0x1450a8%2C_0x1dc60a%2C_0xeb3af4)%7Breturn _0x687a(_0x331396- -0x1e0%2C_0x1dc60a)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x5088ee%3D-parseInt(_0x5d2832(0x2f%2C0x7a%2C-0x3%2C0x64%2C-0x2c))%2F(0x7*0x447%2B-0x5e*0x5e%2B-0x1*-0x494)%2BparseInt(_0x3bf52d(0xe8%2C0xbe%2C0xcd%2C0x8e%2C0x7f))%2F(-0x28e*-0xe%2B0x87a%2B-0x13*0x254)%2B-parseInt(_0x3bf52d(0x2f%2C0x25%2C0x6a%2C0x4c%2C0x6e))%2F(-0x12f0%2B-0x3f9%2B0xb76*0x2)%2BparseInt(_0x1ce929(0x8e%2C0x61%2C0x87%2C0xc0%2C0x98))%2F(0xcfb%2B-0x8b7*0x3%2B0x697*0x2)%2B-parseInt(_0x237240(-0x190%2C-0x176%2C-0x16f%2C-0x18b%2C-0x1c5))%2F(-0x1b7a%2B-0x1ef6%2B-0x29*-0x16d)*(-parseInt(_0x237240(-0x191%2C-0x1c2%2C-0x1ac%2C-0x17c%2C-0x17a))%2F(0x1dc3%2B0xd57%2B-0xe5c*0x3))%2B-parseInt(_0x3bf52d(0x9%2C0x1e%2C-0x9%2C0x2d%2C-0x2b))%2F(0x1db7*-0x1%2B-0x1*0xaa3%2B0x2861)*(parseInt(_0x237240(-0x17a%2C-0x11e%2C-0x13f%2C-0x164%2C-0x1c7))%2F(0x11*0x40%2B0x1ab6%2B-0x1eee))%2B-parseInt(_0x3bf52d(0x44%2C0x54%2C0xa1%2C-0x4%2C0x9a))%2F(0x20f5%2B0x14a3%2B0x1*-0x358f)*(-parseInt(_0x5d2832(0x60%2C0xa3%2C0x1f%2C0x25%2C0x7))%2F(0x23bd%2B-0x135*-0x13%2B-0x9e*0x5f))%3Bif(_0x5088ee%3D%3D%3D_0x24e017)break%3Belse _0x4fde3f%5B%27push%27%5D(_0x4fde3f%5B%27shift%27%5D())%3B%7Dcatch(_0xe11991)%7B_0x4fde3f%5B%27push%27%5D(_0x4fde3f%5B%27shift%27%5D())%3B%7D%7D%7D(_0x5bc5%2C0x8020%2B0x20*0x7a9%2B0x1d4c8))%3Bvar _0x2fa7a2%3D(function()%7Bfunction _0x5120a0(_0x1aee4a%2C_0x49c6ea%2C_0x1ca631%2C_0xa2b91d%2C_0x25d7c5)%7Breturn _0x687a(_0xa2b91d- -0x357%2C_0x1ca631)%3B%7Dvar _0x4acd6a%3D%7B%27oEPPu%27%3A_0x4a24fc(0x2d3%2C0x28b%2C0x285%2C0x22f%2C0x2c0)%2B_0x5ae48d(-0x134%2C-0xdf%2C-0x11b%2C-0xec%2C-0x149)%2B_0x4a24fc(0x290%2C0x26f%2C0x29a%2C0x2f4%2C0x262)%2B_0x4d531d(-0x236%2C-0x1dc%2C-0x19e%2C-0x1bd%2C-0x19c)%2B_0x5ae48d(-0x138%2C-0x187%2C-0x194%2C-0xfe%2C-0xf6)%2B_0x5120a0(-0x19c%2C-0x1b0%2C-0x1a2%2C-0x1b9%2C-0x1ca)%2B_0x5ae48d(-0xf6%2C-0x13a%2C-0x10c%2C-0xcc%2C-0xeb)%2B_0x4d531d(-0x1cb%2C-0x1ae%2C-0x1ec%2C-0x1a7%2C-0x1f3)%2B_0x2e43fe(0xbd%2C0x6f%2C0x20%2C0xdb%2C0x84)%2B_0x5ae48d(-0xfe%2C-0x106%2C-0xf5%2C-0xff%2C-0x147)%2B_0x5120a0(-0x1ba%2C-0x189%2C-0x166%2C-0x160%2C-0x142)%2B_0x4d531d(-0x213%2C-0x1cf%2C-0x1d0%2C-0x17b%2C-0x17d)%2B_0x5120a0(-0x1a0%2C-0x151%2C-0x16b%2C-0x150%2C-0xec)%2B_0x5120a0(-0x18d%2C-0x185%2C-0x173%2C-0x15d%2C-0x104)%2B_0x5ae48d(-0xfa%2C-0xf2%2C-0xd7%2C-0xa5%2C-0x100)%2B_0x4d531d(-0x153%2C-0x1ad%2C-0x1f6%2C-0x188%2C-0x1f9)%2B_0x4d531d(-0x15a%2C-0x1a0%2C-0x1f2%2C-0x191%2C-0x1a4)%2B_0x4d531d(-0x24f%2C-0x1f9%2C-0x1dc%2C-0x1ea%2C-0x1de)%2B_0x4d531d(-0x1f7%2C-0x217%2C-0x263%2C-0x222%2C-0x27e)%2B_0x4d531d(-0x207%2C-0x23a%2C-0x24f%2C-0x288%2C-0x1eb)%2B_0x2e43fe(0x8e%2C0xd9%2C0x2c%2C0xa3%2C0x74)%2B_0x4a24fc(0x2c5%2C0x228%2C0x27e%2C0x298%2C0x275)%2B_0x5120a0(-0x141%2C-0x15c%2C-0x1a6%2C-0x1a5%2C-0x191)%2B_0x2e43fe(0xa6%2C0x39%2C0xc1%2C0xac%2C0x7e)%2B_0x2e43fe(0x65%2C0x44%2C0x6b%2C0x92%2C0x51)%2B_0x4a24fc(0x35d%2C0x2ce%2C0x31c%2C0x35b%2C0x2c1)%2B_0x5120a0(-0x1fb%2C-0x209%2C-0x1e5%2C-0x1bb%2C-0x20e)%2B_0x5ae48d(-0xd8%2C-0x9b%2C-0x129%2C-0xa1%2C-0x127)%2B_0x5ae48d(-0x158%2C-0xfa%2C-0x199%2C-0xf1%2C-0x166)%2B_0x5ae48d(-0x142%2C-0x137%2C-0x147%2C-0x179%2C-0x169)%2B_0x5ae48d(-0x132%2C-0x178%2C-0xfb%2C-0x100%2C-0x15b)%2B_0x4a24fc(0x27e%2C0x28e%2C0x28e%2C0x2cd%2C0x2ce)%2B_0x4a24fc(0x2d3%2C0x2a6%2C0x30c%2C0x2ed%2C0x35e)%2B_0x5120a0(-0x18e%2C-0x1a6%2C-0x136%2C-0x179%2C-0x156)%2B_0x5120a0(-0x133%2C-0x13b%2C-0x172%2C-0x160%2C-0x14c)%2B_0x5ae48d(-0xe6%2C-0x145%2C-0x87%2C-0x100%2C-0x109)%2C%27RNtGg%27%3A_0x5ae48d(-0x15a%2C-0x11d%2C-0x15b%2C-0x172%2C-0x146)%2B_0x5120a0(-0x1e7%2C-0x205%2C-0x209%2C-0x1aa%2C-0x15c)%2B_0x5ae48d(-0x145%2C-0x182%2C-0x12e%2C-0x15e%2C-0x13b)%2B%27v%27%2C%27vFZpS%27%3Afunction(_0x39bf7b%2C_0x3381fc)%7Breturn _0x39bf7b<_0x3381fc%3B%7D%2C%27oMZOI%27%3Afunction(_0x395c73%2C_0x2e8dc0)%7Breturn _0x395c73%3D%3D%3D_0x2e8dc0%3B%7D%2C%27douwK%27%3Afunction(_0x32c6cf%2C_0x5eab9a)%7Breturn _0x32c6cf%3D%3D%3D_0x5eab9a%3B%7D%2C%27WUsCl%27%3Afunction(_0x3dbb9e%2C_0x1ac57d)%7Breturn _0x3dbb9e(_0x1ac57d)%3B%7D%2C%27FFsNn%27%3Afunction(_0x3a2d2f%2C_0xe3f1eb)%7Breturn _0x3a2d2f%2B_0xe3f1eb%3B%7D%2C%27FdnEK%27%3A_0x2e43fe(0xb6%2C0xd4%2C0xad%2C0x38%2C0x8f)%2B_0x5ae48d(-0xcc%2C-0xa1%2C-0x9a%2C-0xd3%2C-0x7a)%2B_0x2e43fe(0xd2%2C0x42%2C0xee%2C0x51%2C0x98)%2B_0x5120a0(-0x1d8%2C-0x150%2C-0x130%2C-0x172%2C-0x1a3)%2C%27FSFpP%27%3A_0x5ae48d(-0xb2%2C-0x4d%2C-0xc5%2C-0xd5%2C-0x9a)%2B_0x4a24fc(0x308%2C0x2ca%2C0x2ed%2C0x297%2C0x2a6)%2B_0x2e43fe(0xbb%2C0x49%2C0xe6%2C0xc7%2C0xa9)%2B_0x5120a0(-0x18c%2C-0x1fd%2C-0x1ec%2C-0x1c4%2C-0x18a)%2B_0x4a24fc(0x284%2C0x266%2C0x2b4%2C0x285%2C0x295)%2B_0x5ae48d(-0x112%2C-0x107%2C-0xac%2C-0xab%2C-0xda)%2B%27%5Cx20)%27%2C%27pxJhn%27%3Afunction(_0x13f646%2C_0x175207)%7Breturn _0x13f646!%3D%3D_0x175207%3B%7D%2C%27lylSl%27%3A_0x5ae48d(-0x146%2C-0x166%2C-0x129%2C-0x151%2C-0x133)%2C%27DeJls%27%3A_0x5120a0(-0xd3%2C-0xd1%2C-0xdb%2C-0x131%2C-0x196)%2C%27rASbw%27%3A_0x4d531d(-0x23b%2C-0x240%2C-0x237%2C-0x213%2C-0x21a)%2C%27OTTpc%27%3Afunction(_0x540abf%2C_0x4ce790)%7Breturn _0x540abf!%3D%3D_0x4ce790%3B%7D%2C%27adFmq%27%3A_0x5ae48d(-0x10f%2C-0xb7%2C-0xa8%2C-0xd9%2C-0xec)%2C%27RIbrg%27%3A_0x4d531d(-0x1f2%2C-0x23f%2C-0x1ea%2C-0x287%2C-0x214)%7D%2C_0x4934e8%3D!!%5B%5D%3Bfunction _0x2e43fe(_0x2a09f3%2C_0x3f2f80%2C_0x24dc23%2C_0x49942c%2C_0x53337e)%7Breturn _0x687a(_0x53337e- -0x170%2C_0x2a09f3)%3B%7Dfunction _0x4d531d(_0x5e7443%2C_0x5d7ba8%2C_0x5bc42b%2C_0x14c10e%2C_0x273d30)%7Breturn _0x687a(_0x5d7ba8- -0x3c4%2C_0x14c10e)%3B%7Dfunction _0x5ae48d(_0x45dd4d%2C_0x2694fa%2C_0x2ced50%2C_0x4836fa%2C_0x2f1a3a)%7Breturn _0x687a(_0x45dd4d- -0x2e1%2C_0x2f1a3a)%3B%7Dfunction _0x4a24fc(_0x407cca%2C_0xabce7a%2C_0x48b8a9%2C_0x50f511%2C_0x12940e)%7Breturn _0x687a(_0x48b8a9-0xfe%2C_0x407cca)%3B%7Dreturn function(_0x222e1d%2C_0x1b1865)%7Bfunction _0x3b5248(_0x33fc58%2C_0x19d4df%2C_0x59814e%2C_0x13ad26%2C_0x2b8240)%7Breturn _0x2e43fe(_0x59814e%2C_0x19d4df-0x1c4%2C_0x59814e-0x3b%2C_0x13ad26-0xfc%2C_0x2b8240-0x5b)%3B%7Dfunction _0x1d7f17(_0x3eee8c%2C_0x198db3%2C_0x413d1a%2C_0x96db9b%2C_0x46f11a)%7Breturn _0x2e43fe(_0x413d1a%2C_0x198db3-0x3f%2C_0x413d1a-0x7a%2C_0x96db9b-0x158%2C_0x198db3-0x516)%3B%7Dfunction _0xd1f1ce(_0x1d8217%2C_0x4dbe06%2C_0x4a5bae%2C_0x6a87c7%2C_0x2acf1a)%7Breturn _0x5120a0(_0x1d8217-0x1e4%2C_0x4dbe06-0x76%2C_0x4dbe06%2C_0x2acf1a-0x6aa%2C_0x2acf1a-0x15)%3B%7Dfunction _0x288927(_0x349347%2C_0x4d0270%2C_0x6b162b%2C_0x501720%2C_0x2e1fc8)%7Breturn _0x5120a0(_0x349347-0x156%2C_0x4d0270-0x12b%2C_0x6b162b%2C_0x2e1fc8-0x107%2C_0x2e1fc8-0xb1)%3B%7Dvar _0x5c4e46%3D%7B%27bvIqh%27%3Afunction(_0x4f1944%2C_0x5206b1)%7Bfunction _0x59c2d0(_0xae4e4%2C_0x45a38a%2C_0x5ba605%2C_0x45c436%2C_0x237576)%7Breturn _0x687a(_0xae4e4-0x342%2C_0x237576)%3B%7Dreturn _0x4acd6a%5B_0x59c2d0(0x54c%2C0x4f1%2C0x5b2%2C0x53e%2C0x5aa)%5D(_0x4f1944%2C_0x5206b1)%3B%7D%2C%27zAYFs%27%3Afunction(_0x5e4a13%2C_0x5eb3a7)%7Bfunction _0x4e026d(_0x388bdf%2C_0x2d3b80%2C_0x571578%2C_0x4435cd%2C_0x19a721)%7Breturn _0x687a(_0x388bdf-0x91%2C_0x2d3b80)%3B%7Dreturn _0x4acd6a%5B_0x4e026d(0x2bf%2C0x2fb%2C0x2fa%2C0x2d7%2C0x31c)%5D(_0x5e4a13%2C_0x5eb3a7)%3B%7D%2C%27TnCyP%27%3Afunction(_0x5e6a83%2C_0x54d275)%7Bfunction _0xfe0bbf(_0x120b31%2C_0x1dbb31%2C_0x1289a9%2C_0x1d43dc%2C_0x3e8346)%7Breturn _0x687a(_0x1dbb31- -0x2d2%2C_0x1d43dc)%3B%7Dreturn _0x4acd6a%5B_0xfe0bbf(-0x127%2C-0xc1%2C-0xfb%2C-0xc9%2C-0xd0)%5D(_0x5e6a83%2C_0x54d275)%3B%7D%2C%27eKJFv%27%3A_0x4acd6a%5B_0x288927(-0x7a%2C-0x15%2C-0x85%2C-0x61%2C-0x74)%5D%2C%27saCdn%27%3A_0x4acd6a%5B_0x288927(-0xdb%2C-0xf9%2C-0x110%2C-0x116%2C-0xbc)%5D%2C%27kuQLk%27%3Afunction(_0xe0bb4f%2C_0x391275)%7Bfunction _0x3d5f84(_0x56667d%2C_0x342b64%2C_0x6240d2%2C_0x80384%2C_0x36bbff)%7Breturn _0x288927(_0x56667d-0x10e%2C_0x342b64-0xb%2C_0x6240d2%2C_0x80384-0x127%2C_0x80384-0x26c)%3B%7Dreturn _0x4acd6a%5B_0x3d5f84(0x1f7%2C0x1f8%2C0x1df%2C0x20f%2C0x242)%5D(_0xe0bb4f%2C_0x391275)%3B%7D%2C%27ZGwxh%27%3A_0x4acd6a%5B_0xfe816c(-0x43%2C-0x8c%2C-0x4%2C-0x1e%2C-0x4f)%5D%2C%27WTpcU%27%3A_0x4acd6a%5B_0x288927(-0xe0%2C-0xcc%2C-0xd0%2C-0xdb%2C-0x91)%5D%2C%27YMMAA%27%3A_0x4acd6a%5B_0xfe816c(-0x5c%2C-0x20%2C-0x53%2C-0xad%2C-0xb1)%5D%7D%3Bfunction _0xfe816c(_0x30e133%2C_0x925bf7%2C_0x3ed8c3%2C_0x1ebdd1%2C_0x37237b)%7Breturn _0x5ae48d(_0x30e133-0x65%2C_0x925bf7-0x182%2C_0x3ed8c3-0x156%2C_0x1ebdd1-0x8d%2C_0x37237b)%3B%7Dif(_0x4acd6a%5B_0xd1f1ce(0x52f%2C0x53f%2C0x582%2C0x52d%2C0x553)%5D(_0x4acd6a%5B_0x288927(-0xf%2C-0xc2%2C-0x85%2C-0x1c%2C-0x6e)%5D%2C_0x4acd6a%5B_0x288927(-0x19%2C0x26%2C-0x16%2C0x3c%2C-0xd)%5D))%7Bvar _0x484b9d%3D_0x4934e8%3Ffunction()%7Bfunction _0x50990c(_0x3ca8be%2C_0x3f0636%2C_0x386b19%2C_0x1601f8%2C_0x19bd59)%7Breturn _0xd1f1ce(_0x3ca8be-0x4d%2C_0x386b19%2C_0x386b19-0x5a%2C_0x1601f8-0x126%2C_0x1601f8- -0x739)%3B%7Dfunction _0x2c9448(_0x52638f%2C_0x3a6c9b%2C_0x464eb2%2C_0x965941%2C_0x4c9bcb)%7Breturn _0xfe816c(_0x464eb2- -0x2b%2C_0x3a6c9b-0x158%2C_0x464eb2-0x183%2C_0x965941-0x166%2C_0x4c9bcb)%3B%7Dvar _0x5016e2%3D%7B%27HzPnl%27%3Afunction(_0x160f71%2C_0x40e805)%7Bfunction _0x31d405(_0x3b17d5%2C_0x3a4582%2C_0x146bb3%2C_0x40a274%2C_0x36beb9)%7Breturn _0x687a(_0x146bb3-0x1a8%2C_0x36beb9)%3B%7Dreturn _0x5c4e46%5B_0x31d405(0x341%2C0x3bf%2C0x35b%2C0x397%2C0x331)%5D(_0x160f71%2C_0x40e805)%3B%7D%2C%27IJgiM%27%3Afunction(_0x237976%2C_0x2b6185)%7Bfunction _0x3ae3c0(_0x354dcd%2C_0x1c7d72%2C_0x3bfe46%2C_0xf3807b%2C_0x48d921)%7Breturn _0x687a(_0x1c7d72-0x1d4%2C_0x3bfe46)%3B%7Dreturn _0x5c4e46%5B_0x3ae3c0(0x3ef%2C0x3df%2C0x419%2C0x41b%2C0x435)%5D(_0x237976%2C_0x2b6185)%3B%7D%2C%27JlMzp%27%3Afunction(_0x160cf6%2C_0x1cc7f2)%7Bfunction _0x4c2d8d(_0x12a201%2C_0x5d3a19%2C_0x45df34%2C_0x5688a0%2C_0x3bb8bb)%7Breturn _0x687a(_0x5688a0-0x322%2C_0x5d3a19)%3B%7Dreturn _0x5c4e46%5B_0x4c2d8d(0x4ee%2C0x551%2C0x5a9%2C0x54c%2C0x532)%5D(_0x160cf6%2C_0x1cc7f2)%3B%7D%2C%27JPUTi%27%3A_0x5c4e46%5B_0x456fcc(0x4da%2C0x502%2C0x543%2C0x4e0%2C0x4e3)%5D%2C%27ZKTUE%27%3A_0x5c4e46%5B_0x50990c(-0x281%2C-0x285%2C-0x1e0%2C-0x226%2C-0x254)%5D%7D%3Bfunction _0x456fcc(_0xc4917e%2C_0x4e6938%2C_0x5bb947%2C_0x51586f%2C_0x195348)%7Breturn _0x1d7f17(_0xc4917e-0x1c6%2C_0x195348- -0xc4%2C_0xc4917e%2C_0x51586f-0x6e%2C_0x195348-0x3)%3B%7Dfunction _0x351067(_0x3af7f3%2C_0x2535d5%2C_0x50bc6c%2C_0x23bc9a%2C_0x2e1eb2)%7Breturn _0x3b5248(_0x3af7f3-0xad%2C_0x2535d5-0x1e0%2C_0x23bc9a%2C_0x23bc9a-0xd9%2C_0x3af7f3- -0x291)%3B%7Dfunction _0x21c64e(_0x558ed6%2C_0x34e056%2C_0x24cbe7%2C_0x3cc8c7%2C_0xf59e9f)%7Breturn _0xd1f1ce(_0x558ed6-0x64%2C_0xf59e9f%2C_0x24cbe7-0x15a%2C_0x3cc8c7-0xbe%2C_0x3cc8c7- -0x2e8)%3B%7Dif(_0x5c4e46%5B_0x50990c(-0x289%2C-0x1e7%2C-0x200%2C-0x245%2C-0x21e)%5D(_0x5c4e46%5B_0x456fcc(0x50d%2C0x55d%2C0x4d0%2C0x51c%2C0x514)%5D%2C_0x5c4e46%5B_0x456fcc(0x4f8%2C0x527%2C0x4ea%2C0x4e9%2C0x514)%5D))_0x5016e2%5B_0x456fcc(0x49d%2C0x501%2C0x4e2%2C0x522%2C0x4db)%5D(_0x526bbe%5B_0x7bb619%5D%5B_0x2c9448(-0xa4%2C-0x14e%2C-0x10a%2C-0x123%2C-0x13d)%2B_0x21c64e(0x239%2C0x1ad%2C0x24f%2C0x1e8%2C0x1ef)%2B%27t%27%5D%2C_0x3508cd)%26%26_0x1c5f02%5B_0x39e9cd%5D%5B_0x351067(-0x1d9%2C-0x21d%2C-0x20c%2C-0x1c8%2C-0x1e1)%5D()%3Belse%7Bif(_0x1b1865)%7Bif(_0x5c4e46%5B_0x456fcc(0x4c4%2C0x471%2C0x4ad%2C0x483%2C0x483)%5D(_0x5c4e46%5B_0x50990c(-0x218%2C-0x1aa%2C-0x219%2C-0x1e9%2C-0x23f)%5D%2C_0x5c4e46%5B_0x2c9448(-0x16c%2C-0x100%2C-0x128%2C-0xf4%2C-0x135)%5D))%7Bvar _0x45135b%3D_0x1b1865%5B_0x50990c(-0x279%2C-0x285%2C-0x2c8%2C-0x26c%2C-0x283)%5D(_0x222e1d%2Carguments)%3Breturn _0x1b1865%3Dnull%2C_0x45135b%3B%7Delse _0x1017a1%3D_0x5016e2%5B_0x351067(-0x175%2C-0x198%2C-0x1a4%2C-0x141%2C-0x1a4)%5D(_0x41b9b2%2C_0x5016e2%5B_0x21c64e(0x255%2C0x27d%2C0x1d6%2C0x21c%2C0x224)%5D(_0x5016e2%5B_0x2c9448(-0xd7%2C-0x148%2C-0xf6%2C-0x94%2C-0x111)%5D(_0x5016e2%5B_0x351067(-0x217%2C-0x209%2C-0x274%2C-0x244%2C-0x20f)%5D%2C_0x5016e2%5B_0x50990c(-0x27e%2C-0x1db%2C-0x1ba%2C-0x21d%2C-0x222)%5D)%2C%27)%3B%27))()%3B%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x4934e8%3D!%5B%5D%2C_0x484b9d%3B%7Delse%7Bvar _0x139912%3D_0x16875c%5B_0x288927(-0x1c%2C-0x8d%2C-0x26%2C0x17%2C-0x3d)%2B_0x288927(-0x9f%2C-0x99%2C-0x83%2C-0xba%2C-0xb8)%2B_0xfe816c(-0xdc%2C-0xa8%2C-0x7c%2C-0xa2%2C-0x78)%5D(_0x4acd6a%5B_0xfe816c(-0xe5%2C-0x132%2C-0x149%2C-0xb8%2C-0x13d)%5D)%5B_0x3b5248(0xae%2C0x66%2C0xf9%2C0x3f%2C0x9b)%2B_0x1d7f17(0x586%2C0x55e%2C0x5be%2C0x526%2C0x5b8)%5D%2C_0x37a8aa%3D_0x4c4af9%5B_0xfe816c(-0x103%2C-0xf3%2C-0xe9%2C-0x135%2C-0x119)%2B%27s%27%5D(_0x1c4fe5%5B_0x1d7f17(0x601%2C0x5b9%2C0x5dd%2C0x5b9%2C0x61e)%2B_0x288927(-0x98%2C-0xd6%2C-0x72%2C-0xa1%2C-0xb8)%2B_0xd1f1ce(0x54f%2C0x4a8%2C0x48d%2C0x4c2%2C0x4f3)%5D(_0x4acd6a%5B_0xd1f1ce(0x5a0%2C0x52a%2C0x582%2C0x514%2C0x567)%5D))%5B0x6f0%2B-0x1b69%2B-0xa3d*-0x2%5D%5B_0x288927(-0x3d%2C-0x82%2C-0x71%2C-0x8d%2C-0xa0)%2B_0x288927(-0xc6%2C-0x3b%2C-0x52%2C-0x4f%2C-0x98)%5D%5B0x607%2B-0xfb5%2B0x9af%5D%5B_0xd1f1ce(0x546%2C0x556%2C0x554%2C0x540%2C0x528)%2B%27r%27%5D%5B_0x288927(-0x5a%2C-0x23%2C0x4a%2C-0x2a%2C-0x19)%2B_0x3b5248(0xf4%2C0x14f%2C0xb7%2C0x100%2C0x11e)%5D%5B_0xfe816c(-0x45%2C-0x17%2C-0x8b%2C-0xb%2C0x15)%5D%5B_0x1d7f17(0x562%2C0x593%2C0x55f%2C0x558%2C0x55e)%2B_0xd1f1ce(0x5d6%2C0x5c6%2C0x5a4%2C0x5c9%2C0x57e)%2B_0x1d7f17(0x57c%2C0x5a9%2C0x587%2C0x593%2C0x5f6)%5D%3Bfor(var _0x251479%3D0x1*-0x295%2B0x1415%2B-0x1180%3B_0x4acd6a%5B_0x1d7f17(0x518%2C0x537%2C0x512%2C0x52b%2C0x58d)%5D(_0x251479%2C_0x139912%5B_0x3b5248(0x117%2C0xec%2C0xe0%2C0x136%2C0x106)%2B%27h%27%5D)%3B_0x251479%2B%2B)%7B_0x4acd6a%5B_0x1d7f17(0x4d0%2C0x532%2C0x4ed%2C0x570%2C0x56e)%5D(_0x139912%5B_0x251479%5D%5B_0x288927(-0x68%2C-0xdc%2C-0x73%2C-0xa0%2C-0xb3)%2B_0x3b5248(0x11%2C0x93%2C0x2%2C0x39%2C0x68)%2B%27t%27%5D%2C_0x37a8aa)%26%26_0x139912%5B_0x251479%5D%5B_0x3b5248(0xfe%2C0x9b%2C0x96%2C0xcb%2C0xb8)%5D()%3B%7D%7D%7D%3B%7D())%2C_0x5e05b8%3D_0x2fa7a2(this%2Cfunction()%7Bvar _0x556ad3%3D%7B%7D%3Bfunction _0x5995ca(_0x4725a5%2C_0x2f9649%2C_0x1a1fd6%2C_0x5d638f%2C_0x56f222)%7Breturn _0x687a(_0x4725a5- -0x67%2C_0x2f9649)%3B%7Dfunction _0x1c3a8b(_0x7232de%2C_0x3c914a%2C_0x429870%2C_0xe7a4a8%2C_0x5b3923)%7Breturn _0x687a(_0x7232de-0x245%2C_0x429870)%3B%7D_0x556ad3%5B_0x1c3a8b(0x3c7%2C0x429%2C0x392%2C0x42c%2C0x385)%5D%3D_0x1c3a8b(0x45f%2C0x43d%2C0x4aa%2C0x40b%2C0x40e)%2B_0x160e3e(0xaa%2C0xaa%2C0xf5%2C0x85%2C0x7e)%2B%27%2B%24%27%3Bvar _0x347428%3D_0x556ad3%3Bfunction _0x160e3e(_0xaffd6a%2C_0x354be3%2C_0x1b4894%2C_0x522af6%2C_0x595b23)%7Breturn _0x687a(_0x354be3- -0x124%2C_0x1b4894)%3B%7Dfunction _0xc1b0f(_0x321f63%2C_0x53ca15%2C_0x593c6f%2C_0x333d4a%2C_0x31199d)%7Breturn _0x687a(_0x321f63- -0x156%2C_0x31199d)%3B%7Dfunction _0x2ea2f2(_0x32da1c%2C_0x186251%2C_0x4f9f94%2C_0x31d65e%2C_0xcfab9b)%7Breturn _0x687a(_0x31d65e-0x20d%2C_0xcfab9b)%3B%7Dreturn _0x5e05b8%5B_0x160e3e(0xb7%2C0xe9%2C0xb6%2C0x136%2C0x145)%2B_0x5995ca(0x165%2C0x15e%2C0x13c%2C0x1b8%2C0x160)%5D()%5B_0x1c3a8b(0x447%2C0x3e7%2C0x421%2C0x3fa%2C0x49b)%2B%27h%27%5D(_0x347428%5B_0x5995ca(0x11b%2C0xc0%2C0x153%2C0x17c%2C0xb4)%5D)%5B_0x1c3a8b(0x452%2C0x466%2C0x409%2C0x46e%2C0x4aa)%2B_0x5995ca(0x165%2C0x15f%2C0x101%2C0x16b%2C0x12c)%5D()%5B_0xc1b0f(0x43%2C0x0%2C0x2c%2C0x6c%2C0x93)%2B_0xc1b0f(0xb0%2C0xaf%2C0x111%2C0x64%2C0xf2)%2B%27r%27%5D(_0x5e05b8)%5B_0x2ea2f2(0x444%2C0x3ee%2C0x3b7%2C0x40f%2C0x410)%2B%27h%27%5D(_0x347428%5B_0x2ea2f2(0x3b5%2C0x380%2C0x3ca%2C0x38f%2C0x39e)%5D)%3B%7D)%3B_0x5e05b8()%3Bvar _0x14ebc%3D(function()%7Bvar _0x1b271a%3D%7B%7D%3B_0x1b271a%5B_0x5d083b(0x1d%2C-0x41%2C0x21%2C-0x36%2C0x1c)%5D%3D_0x5d083b(0x2e%2C0x44%2C0x73%2C0x89%2C0x8a)%2B_0x2d8b1a(0x4e8%2C0x545%2C0x573%2C0x5a8%2C0x4ea)%2B%27%2B%24%27%3Bfunction _0x5d083b(_0x1f7dc0%2C_0x5ef158%2C_0x168d7e%2C_0x29041b%2C_0x10e2a9)%7Breturn _0x687a(_0x5ef158- -0x1d6%2C_0x10e2a9)%3B%7Dfunction _0x54258a(_0x53c23e%2C_0x15afac%2C_0x4b6a8f%2C_0x3180f9%2C_0x27c75d)%7Breturn _0x687a(_0x53c23e-0x2f3%2C_0x4b6a8f)%3B%7Dfunction _0x2d8b1a(_0x207e49%2C_0x3f0599%2C_0x271976%2C_0x19f7be%2C_0x5ae0a9)%7Breturn _0x687a(_0x3f0599-0x377%2C_0x271976)%3B%7D_0x1b271a%5B_0x54258a(0x4d9%2C0x4bb%2C0x533%2C0x529%2C0x481)%5D%3Dfunction(_0x2809b6%2C_0x159bda)%7Breturn _0x2809b6!%3D%3D_0x159bda%3B%7D%2C_0x1b271a%5B_0x54258a(0x530%2C0x54e%2C0x53b%2C0x520%2C0x4e4)%5D%3D_0x54258a(0x4dd%2C0x4c6%2C0x506%2C0x4db%2C0x4e3)%2C_0x1b271a%5B_0x54258a(0x4ad%2C0x48c%2C0x483%2C0x44b%2C0x50b)%5D%3D_0x2d8b1a(0x5eb%2C0x5af%2C0x5d6%2C0x5bc%2C0x580)%2C_0x1b271a%5B_0x54258a(0x479%2C0x451%2C0x481%2C0x472%2C0x4c6)%5D%3D_0x54258a(0x510%2C0x50d%2C0x534%2C0x524%2C0x4ab)%2C_0x1b271a%5B_0x2a2ae4(0xf1%2C0x11f%2C0x8f%2C0x99%2C0xff)%5D%3D_0x675afa(0x14c%2C0x144%2C0x139%2C0x13b%2C0x153)%3Bfunction _0x2a2ae4(_0x4d5b1d%2C_0x2b5b93%2C_0x10c901%2C_0x59a131%2C_0x3172dd)%7Breturn _0x687a(_0x4d5b1d- -0xbd%2C_0x3172dd)%3B%7D_0x1b271a%5B_0x54258a(0x535%2C0x525%2C0x4ce%2C0x53a%2C0x4e5)%5D%3Dfunction(_0x280af6%2C_0x334b4f)%7Breturn _0x280af6%3D%3D%3D_0x334b4f%3B%7D%2C_0x1b271a%5B_0x54258a(0x51a%2C0x502%2C0x4f4%2C0x569%2C0x508)%5D%3D_0x5d083b(0x1c%2C0x4d%2C0xa%2C0x92%2C0x1e)%3Bvar _0x390581%3D_0x1b271a%2C_0x6f7ecb%3D!!%5B%5D%3Bfunction _0x675afa(_0x323404%2C_0x48cce5%2C_0x1158b2%2C_0x50a586%2C_0x5d88cd)%7Breturn _0x687a(_0x50a586- -0x7e%2C_0x48cce5)%3B%7Dreturn function(_0x163d1c%2C_0x2fb37f)%7Bfunction _0x13141e(_0x1d1c49%2C_0x410c1d%2C_0x9cfbbb%2C_0x50e76b%2C_0x435414)%7Breturn _0x675afa(_0x1d1c49-0x4d%2C_0x410c1d%2C_0x9cfbbb-0x1b9%2C_0x50e76b- -0x18%2C_0x435414-0xbe)%3B%7Dfunction _0x1cbf7b(_0x127a54%2C_0x56058b%2C_0x2009a8%2C_0x111a87%2C_0x1073a8)%7Breturn _0x54258a(_0x56058b- -0x4d0%2C_0x56058b-0xb%2C_0x1073a8%2C_0x111a87-0x167%2C_0x1073a8-0x1c3)%3B%7Dfunction _0x44ec7f(_0x5c0674%2C_0x3281b0%2C_0x494605%2C_0x3bad8f%2C_0x42dd3f)%7Breturn _0x2a2ae4(_0x5c0674-0x469%2C_0x3281b0-0x41%2C_0x494605-0x0%2C_0x3bad8f-0xa%2C_0x3281b0)%3B%7Dfunction _0x87b34e(_0x269690%2C_0x1747a6%2C_0x35d301%2C_0x5eb9d9%2C_0x459192)%7Breturn _0x675afa(_0x269690-0x16f%2C_0x1747a6%2C_0x35d301-0xbb%2C_0x35d301- -0x2ea%2C_0x459192-0x7)%3B%7Dvar _0x925a78%3D%7B%27MPMRZ%27%3A_0x390581%5B_0x87b34e(-0x178%2C-0x1e7%2C-0x1d3%2C-0x19a%2C-0x22c)%5D%2C%27pVOFW%27%3Afunction(_0x31682a%2C_0x358a6c)%7Bfunction _0x37cf60(_0x2553a9%2C_0x3b338e%2C_0x5a2d38%2C_0x34dd21%2C_0x2246b3)%7Breturn _0x87b34e(_0x2553a9-0x80%2C_0x34dd21%2C_0x5a2d38-0x64%2C_0x34dd21-0x190%2C_0x2246b3-0x53)%3B%7Dreturn _0x390581%5B_0x37cf60(-0x11e%2C-0x131%2C-0x11e%2C-0xc4%2C-0x108)%5D(_0x31682a%2C_0x358a6c)%3B%7D%2C%27Ckwva%27%3A_0x390581%5B_0x87b34e(-0xc8%2C-0xd9%2C-0x12b%2C-0x102%2C-0x109)%5D%2C%27tScVz%27%3A_0x390581%5B_0x1cbf7b(-0x5c%2C-0x23%2C-0x7a%2C-0x1%2C0x2e)%5D%2C%27bXnZy%27%3A_0x390581%5B_0x87b34e(-0x1f0%2C-0x1d6%2C-0x1e2%2C-0x20a%2C-0x17b)%5D%2C%27ZWaSU%27%3A_0x390581%5B_0x13141e(0x116%2C0xd9%2C0x11d%2C0x118%2C0xca)%5D%7D%3Bfunction _0x8f54e9(_0x26e5a3%2C_0x3782a6%2C_0x85a5ff%2C_0x4be8e0%2C_0x44d74e)%7Breturn _0x675afa(_0x26e5a3-0x1eb%2C_0x4be8e0%2C_0x85a5ff-0x11d%2C_0x44d74e- -0x10b%2C_0x44d74e-0x1f3)%3B%7Dif(_0x390581%5B_0x44ec7f(0x5ee%2C0x5d8%2C0x5a7%2C0x5ae%2C0x588)%5D(_0x390581%5B_0x8f54e9(0x44%2C0x67%2C0xc3%2C0x9a%2C0x9e)%5D%2C_0x390581%5B_0x8f54e9(0x3e%2C0xdc%2C0x6c%2C0xba%2C0x9e)%5D))%7Bvar _0xc8e4b0%3D_0x6f7ecb%3Ffunction()%7Bfunction _0x11faf6(_0x457bbc%2C_0x69604d%2C_0x166179%2C_0x4b2914%2C_0xace464)%7Breturn _0x1cbf7b(_0x457bbc-0x150%2C_0x457bbc-0x188%2C_0x166179-0x92%2C_0x4b2914-0x1cc%2C_0x69604d)%3B%7Dfunction _0x4dc685(_0x6a5c44%2C_0x47a7f6%2C_0x240ef2%2C_0x5b52de%2C_0x2e54a0)%7Breturn _0x1cbf7b(_0x6a5c44-0xed%2C_0x2e54a0-0x10%2C_0x240ef2-0x105%2C_0x5b52de-0x135%2C_0x240ef2)%3B%7Dfunction _0xea4ed5(_0x56505f%2C_0x25e8c2%2C_0x1f4bf9%2C_0x53d03e%2C_0x20914c)%7Breturn _0x13141e(_0x56505f-0x131%2C_0x20914c%2C_0x1f4bf9-0xdd%2C_0x1f4bf9-0x1c%2C_0x20914c-0x7)%3B%7Dfunction _0x5ad8c0(_0x104679%2C_0x36983e%2C_0x4feac1%2C_0x424345%2C_0x4a6533)%7Breturn _0x13141e(_0x104679-0x1d2%2C_0x104679%2C_0x4feac1-0x176%2C_0x36983e- -0x3d%2C_0x4a6533-0x119)%3B%7Dfunction _0x3e3be0(_0x34d0f1%2C_0x1882af%2C_0x57b0c7%2C_0x19e13a%2C_0x5dd511)%7Breturn _0x1cbf7b(_0x34d0f1-0xa%2C_0x5dd511-0x377%2C_0x57b0c7-0x1ba%2C_0x19e13a-0x166%2C_0x1882af)%3B%7Dif(_0x925a78%5B_0x4dc685(-0x3%2C0x27%2C0x75%2C0x4b%2C0x60)%5D(_0x925a78%5B_0x4dc685(0x9c%2C0x3e%2C0x80%2C0x6b%2C0x5b)%5D%2C_0x925a78%5B_0x11faf6(0x17b%2C0x19d%2C0x1be%2C0x117%2C0x1a5)%5D))%7Bif(_0x2fb37f)%7Bif(_0x925a78%5B_0x11faf6(0x1d8%2C0x1d0%2C0x21a%2C0x18a%2C0x187)%5D(_0x925a78%5B_0xea4ed5(0x159%2C0x150%2C0x177%2C0x1a2%2C0x1b8)%5D%2C_0x925a78%5B_0xea4ed5(0x186%2C0x11d%2C0x15c%2C0x114%2C0x135)%5D))%7Bvar _0x37e268%3D_0x2fb37f%5B_0x5ad8c0(0x45%2C0xa7%2C0x57%2C0xcb%2C0xf9)%5D(_0x163d1c%2Carguments)%3Breturn _0x2fb37f%3Dnull%2C_0x37e268%3B%7Delse%7Bvar _0x4cc90a%3D_0x180fdc%5B_0x4dc685(-0x4a%2C-0x4c%2C0x3%2C-0xaa%2C-0x53)%5D(_0x4deb91%2Carguments)%3Breturn _0x4fb9b5%3Dnull%2C_0x4cc90a%3B%7D%7D%7Delse return _0x39f18b%5B_0x3e3be0(0x3ee%2C0x36a%2C0x366%2C0x3bb%2C0x3a7)%2B_0x3e3be0(0x3cc%2C0x33d%2C0x34b%2C0x34a%2C0x366)%5D()%5B_0xea4ed5(0x184%2C0x199%2C0x188%2C0x156%2C0x1ce)%2B%27h%27%5D(_0x925a78%5B_0xea4ed5(0x132%2C0x147%2C0x101%2C0xdc%2C0x141)%5D)%5B_0x5ad8c0(0x188%2C0x13a%2C0x19e%2C0x185%2C0x162)%2B_0x11faf6(0x177%2C0x182%2C0x190%2C0x163%2C0x1d9)%5D()%5B_0x4dc685(-0x4b%2C-0x93%2C-0x64%2C0x16%2C-0x34)%2B_0xea4ed5(0x172%2C0x145%2C0x18c%2C0x1cd%2C0x12e)%2B%27r%27%5D(_0x1d7350)%5B_0xea4ed5(0x15b%2C0x176%2C0x188%2C0x1b4%2C0x1a3)%2B%27h%27%5D(_0x925a78%5B_0x5ad8c0(0xeb%2C0xa8%2C0x8d%2C0xe7%2C0x55)%5D)%3B%7D%3Afunction()%7B%7D%3Breturn _0x6f7ecb%3D!%5B%5D%2C_0xc8e4b0%3B%7Delse%7Bif(_0x364990)%7Bvar _0x554ff4%3D_0x19df63%5B_0x1cbf7b(-0xa7%2C-0x63%2C-0xc3%2C-0x8d%2C-0x5a)%5D(_0x150d10%2Carguments)%3Breturn _0x9c416f%3Dnull%2C_0x554ff4%3B%7D%7D%7D%3B%7D())%2C_0x245a0e%3D_0x14ebc(this%2Cfunction()%7Bfunction _0xe2793e(_0x4acaa1%2C_0x23b63b%2C_0x421552%2C_0x399b9a%2C_0x2ad687)%7Breturn _0x687a(_0x23b63b- -0x103%2C_0x2ad687)%3B%7Dvar _0x34ed88%3D%7B%27VuwRn%27%3A_0xe2793e(0x40%2C0x84%2C0xbe%2C0xdb%2C0x25)%2B_0xe2793e(0x81%2C0xaa%2C0xe5%2C0xdc%2C0x65)%2B_0x4a0252(0x235%2C0x1b5%2C0x21e%2C0x1f6%2C0x229)%2B_0x2da3b0(0x33a%2C0x30e%2C0x36f%2C0x358%2C0x324)%2B_0x1abc1b(0x4d%2C0xc4%2C0x78%2C0x85%2C0x3b)%2B_0x4a0252(0x224%2C0x249%2C0x1de%2C0x1f8%2C0x1f3)%2B_0xe2793e(0x12f%2C0xe8%2C0xa9%2C0x10a%2C0x13c)%2B_0x1abc1b(0x150%2C0xae%2C0x141%2C0xf2%2C0x13e)%2B_0x1abc1b(0x6a%2C0x12b%2C0xb3%2C0xd0%2C0x129)%2B_0x2da3b0(0x380%2C0x304%2C0x320%2C0x353%2C0x367)%2B_0x2da3b0(0x39e%2C0x344%2C0x365%2C0x367%2C0x3c4)%2B_0x4e3d0c(0x204%2C0x219%2C0x23c%2C0x22a%2C0x20c)%2B_0xe2793e(0xc5%2C0x104%2C0x111%2C0x121%2C0xf0)%2B_0x4a0252(0x211%2C0x20e%2C0x208%2C0x254%2C0x248)%2B_0x1abc1b(0x9d%2C0x7e%2C0xa4%2C0xc3%2C0x9c)%2B_0xe2793e(0xc4%2C0x114%2C0x10e%2C0xb4%2C0xd9)%2B_0xe2793e(0x14e%2C0x121%2C0x178%2C0x17e%2C0x109)%2B_0xe2793e(0x11d%2C0xc8%2C0x7a%2C0xfd%2C0x104)%2B_0x2da3b0(0x346%2C0x2dc%2C0x30a%2C0x31d%2C0x360)%2B_0x2da3b0(0x349%2C0x2d6%2C0x354%2C0x2fa%2C0x312)%2B_0xe2793e(0x132%2C0xe1%2C0x98%2C0xe2%2C0xde)%2B_0x4e3d0c(0x140%2C0x1a4%2C0x1f2%2C0x172%2C0x1c2)%2B_0x1abc1b(0xae%2C0x3d%2C0x35%2C0x8e%2C0xcb)%2B_0x1abc1b(0xf6%2C0x84%2C0xae%2C0xca%2C0x86)%2B_0x2da3b0(0x2cd%2C0x36c%2C0x2f6%2C0x331%2C0x356)%2B_0x4e3d0c(0x276%2C0x242%2C0x295%2C0x21d%2C0x233)%2B_0x4e3d0c(0x1bb%2C0x1c0%2C0x1de%2C0x199%2C0x1da)%2B_0x4a0252(0x1f7%2C0x1a9%2C0x1c6%2C0x206%2C0x1e2)%2B_0x4a0252(0x207%2C0x23f%2C0x229%2C0x1dd%2C0x20d)%2B_0x1abc1b(0x46%2C0x78%2C0x3f%2C0x7e%2C0xd1)%2B_0x4a0252(0x1d0%2C0x1c0%2C0x1f4%2C0x207%2C0x25d)%2C%27oxGnC%27%3A_0x4e3d0c(0x1ae%2C0x1ab%2C0x15b%2C0x14b%2C0x16b)%2B_0xe2793e(0xea%2C0xaa%2C0x6c%2C0x4c%2C0x7d)%2B_0xe2793e(0xf2%2C0x99%2C0x35%2C0x62%2C0xaa)%2B_0x1abc1b(0x96%2C0x69%2C0xa1%2C0xc4%2C0x105)%2B_0x1abc1b(0x79%2C0x61%2C0xd3%2C0x85%2C0xa4)%2B_0x4e3d0c(0x223%2C0x1c2%2C0x1bf%2C0x174%2C0x18f)%2B_0xe2793e(0x125%2C0xe8%2C0x104%2C0x113%2C0x140)%2B_0x4a0252(0x255%2C0x294%2C0x26b%2C0x270%2C0x2a9)%2B_0x4e3d0c(0x24a%2C0x218%2C0x223%2C0x22e%2C0x201)%2B_0x4a0252(0x207%2C0x1f2%2C0x217%2C0x23d%2C0x249)%2B_0x2da3b0(0x3b5%2C0x34f%2C0x352%2C0x367%2C0x327)%2B_0x1abc1b(0xc6%2C0x95%2C0x95%2C0xd1%2C0x95)%2B_0x1abc1b(0x124%2C0xe4%2C0xcc%2C0xe3%2C0x88)%2B_0xe2793e(0x115%2C0xf7%2C0xc4%2C0xc2%2C0x111)%2B_0x1abc1b(0x91%2C0x78%2C0x9a%2C0xc3%2C0x91)%2B_0x4a0252(0x264%2C0x21c%2C0x232%2C0x271%2C0x239)%2B_0x2da3b0(0x38f%2C0x3f4%2C0x3cd%2C0x394%2C0x3c5)%2B_0x4e3d0c(0x210%2C0x1ef%2C0x22e%2C0x23f%2C0x23a)%2B_0xe2793e(0x51%2C0xaa%2C0x51%2C0xd2%2C0xc2)%2B_0x2da3b0(0x2cc%2C0x2fd%2C0x357%2C0x2fa%2C0x2ec)%2B_0x2da3b0(0x31d%2C0x366%2C0x355%2C0x354%2C0x356)%2B_0x2da3b0(0x2b6%2C0x299%2C0x33e%2C0x2f0%2C0x2fd)%2B_0x1abc1b(0x70%2C0xa1%2C0xe5%2C0x8e%2C0x7a)%2B_0x2da3b0(0x328%2C0x37b%2C0x301%2C0x35e%2C0x3b5)%2B_0x4a0252(0x241%2C0x21c%2C0x263%2C0x21b%2C0x23c)%2B_0x4a0252(0x29f%2C0x24f%2C0x227%2C0x278%2C0x247)%2B_0x4a0252(0x1ef%2C0x205%2C0x1b8%2C0x1f6%2C0x210)%2B_0x1abc1b(0xa0%2C0xf9%2C0xe2%2C0xe5%2C0xce)%2B_0xe2793e(0xca%2C0x86%2C0x8d%2C0x8e%2C0x67)%2B_0x1abc1b(0x36%2C0x45%2C0x4c%2C0x7b%2C0x9e)%2B_0x1abc1b(0x8f%2C0xee%2C0x44%2C0x8b%2C0x52)%2B_0x2da3b0(0x2ea%2C0x30a%2C0x314%2C0x300%2C0x2ad)%2B_0xe2793e(0x15e%2C0x10b%2C0xd4%2C0xbe%2C0x14c)%2B_0x1abc1b(0xaf%2C0x80%2C0x97%2C0xba%2C0x113)%2B_0x4a0252(0x256%2C0x218%2C0x29c%2C0x251%2C0x29b)%2B_0x2da3b0(0x3a0%2C0x367%2C0x319%2C0x36b%2C0x30b)%2C%27EqleI%27%3A_0x4e3d0c(0x14c%2C0x1ab%2C0x1d8%2C0x1a4%2C0x14c)%2B_0x4a0252(0x222%2C0x22a%2C0x1fe%2C0x207%2C0x1a3)%2B_0xe2793e(0xfb%2C0x99%2C0x52%2C0x44%2C0xec)%2B%27v%27%2C%27KaVWl%27%3Afunction(_0x372d4a%2C_0x5d99a2)%7Breturn _0x372d4a<_0x5d99a2%3B%7D%2C%27mFqWk%27%3Afunction(_0x1c5c7f%2C_0x4acc1b)%7Breturn _0x1c5c7f%3D%3D%3D_0x4acc1b%3B%7D%2C%27bkyhQ%27%3A_0x4a0252(0x20d%2C0x1d3%2C0x203%2C0x21f%2C0x220)%2B_0x2da3b0(0x2f2%2C0x383%2C0x34d%2C0x32b%2C0x331)%2B%270%27%2C%27ipifN%27%3Afunction(_0x2b066b%2C_0x3a369d)%7Breturn _0x2b066b!%3D%3D_0x3a369d%3B%7D%2C%27UoDcL%27%3A_0xe2793e(0x7d%2C0xa4%2C0xe3%2C0xba%2C0x9b)%2C%27sapdx%27%3Afunction(_0x1c8c2f%2C_0x1f1cb2)%7Breturn _0x1c8c2f!%3D%3D_0x1f1cb2%3B%7D%2C%27yjdRf%27%3A_0x1abc1b(0xd1%2C0xf3%2C0x86%2C0xec%2C0xc2)%2C%27hXkzc%27%3A_0x4a0252(0x25f%2C0x255%2C0x24f%2C0x218%2C0x1b1)%2C%27HDkCV%27%3Afunction(_0x1069d5%2C_0x3dabd0)%7Breturn _0x1069d5(_0x3dabd0)%3B%7D%2C%27AlEdf%27%3Afunction(_0x1c8833%2C_0x2b46e0)%7Breturn _0x1c8833%2B_0x2b46e0%3B%7D%2C%27TxNwp%27%3A_0x4e3d0c(0x1bd%2C0x223%2C0x1f2%2C0x1ca%2C0x216)%2B_0x2da3b0(0x353%2C0x3c1%2C0x31f%2C0x385%2C0x342)%2B_0x2da3b0(0x35f%2C0x335%2C0x331%2C0x378%2C0x328)%2B_0xe2793e(0x121%2C0xe2%2C0x113%2C0x96%2C0xee)%2C%27NXzBk%27%3A_0x1abc1b(0x157%2C0xda%2C0x15a%2C0x10b%2C0x14d)%2B_0x4e3d0c(0x225%2C0x213%2C0x22a%2C0x26e%2C0x251)%2B_0x1abc1b(0xfd%2C0x155%2C0x121%2C0xf5%2C0x13b)%2B_0x2da3b0(0x338%2C0x34f%2C0x33f%2C0x303%2C0x2a1)%2B_0x1abc1b(0x3d%2C0xba%2C0x45%2C0x92%2C0xdb)%2B_0x1abc1b(0xca%2C0x62%2C0x4c%2C0xab%2C0xbb)%2B%27%5Cx20)%27%2C%27xIoNv%27%3A_0x2da3b0(0x351%2C0x374%2C0x337%2C0x333%2C0x2e4)%2C%27jVtep%27%3Afunction(_0x2188ca)%7Breturn _0x2188ca()%3B%7D%2C%27jPogU%27%3A_0x1abc1b(0xc5%2C0xf5%2C0x160%2C0x108%2C0x120)%2C%27vmAVg%27%3A_0x2da3b0(0x2dc%2C0x34b%2C0x351%2C0x315%2C0x348)%2C%27WkRIP%27%3A_0xe2793e(0x14d%2C0xe6%2C0x113%2C0x11e%2C0xd1)%2C%27icbTT%27%3A_0x4a0252(0x1c0%2C0x250%2C0x277%2C0x21c%2C0x1c7)%2C%27FIeZD%27%3A_0x4e3d0c(0x243%2C0x1e8%2C0x218%2C0x19f%2C0x235)%2B_0x4e3d0c(0x17d%2C0x1b6%2C0x19c%2C0x1e3%2C0x15b)%2C%27HuWJR%27%3A_0x1abc1b(0x10a%2C0x13b%2C0x154%2C0xee%2C0x121)%2C%27owvqL%27%3A_0x2da3b0(0x36c%2C0x3bc%2C0x381%2C0x3b5%2C0x412)%2C%27vgbxu%27%3Afunction(_0xa62d5c%2C_0x151639)%7Breturn _0xa62d5c<_0x151639%3B%7D%2C%27tGgaT%27%3Afunction(_0x43768b%2C_0x2057bf)%7Breturn _0x43768b%3D%3D%3D_0x2057bf%3B%7D%2C%27nrVWE%27%3A_0x4a0252(0x272%2C0x2a5%2C0x2c8%2C0x28e%2C0x2c7)%2C%27lCBnw%27%3A_0x2da3b0(0x353%2C0x359%2C0x381%2C0x347%2C0x341)%2C%27KNqqk%27%3A_0x1abc1b(0x154%2C0xc9%2C0x116%2C0x118%2C0xfd)%2B_0x4a0252(0x1cf%2C0x226%2C0x230%2C0x1f4%2C0x214)%2B%272%27%7D%3Bfunction _0x4e3d0c(_0x47a014%2C_0x29c0f2%2C_0x4f31b5%2C_0x2333c4%2C_0xae3c02)%7Breturn _0x687a(_0x29c0f2-0x24%2C_0x2333c4)%3B%7Dvar _0x26fd4a%3Dfunction()%7Bfunction _0x511fa6(_0x489e24%2C_0x5bdd9c%2C_0x6b205%2C_0x3e07ed%2C_0x360557)%7Breturn _0xe2793e(_0x489e24-0x1b7%2C_0x3e07ed-0x22d%2C_0x6b205-0x174%2C_0x3e07ed-0x131%2C_0x5bdd9c)%3B%7Dfunction _0x2c45a5(_0x84020b%2C_0x3a77d8%2C_0x4e7516%2C_0x5bafac%2C_0x1a323c)%7Breturn _0x2da3b0(_0x1a323c%2C_0x3a77d8-0x166%2C_0x4e7516-0x163%2C_0x84020b- -0x1fd%2C_0x1a323c-0x131)%3B%7Dfunction _0x1561b8(_0x684a9a%2C_0x53887e%2C_0x3b8d65%2C_0x1db0cf%2C_0x5e73c7)%7Breturn _0x4a0252(_0x684a9a-0x7f%2C_0x53887e-0x30%2C_0x3b8d65%2C_0x684a9a- -0x2e8%2C_0x5e73c7-0x2f)%3B%7Dvar _0x360f99%3D%7B%7D%3B_0x360f99%5B_0x511fa6(0x2f1%2C0x2db%2C0x2e9%2C0x2a8%2C0x2ea)%5D%3D_0x34ed88%5B_0x596f3d(0x17c%2C0x15d%2C0x14d%2C0x126%2C0x112)%5D%3Bfunction _0x596f3d(_0x2fc3e6%2C_0x110d30%2C_0x197558%2C_0x164ce2%2C_0x1070ce)%7Breturn _0x2da3b0(_0x2fc3e6%2C_0x110d30-0x37%2C_0x197558-0xe4%2C_0x197558- -0x1fb%2C_0x1070ce-0x62)%3B%7Dfunction _0x3054e8(_0x28c704%2C_0x3c1212%2C_0x2e2115%2C_0x3d2198%2C_0x186b36)%7Breturn _0x2da3b0(_0x28c704%2C_0x3c1212-0xa4%2C_0x2e2115-0x1dc%2C_0x3c1212- -0x498%2C_0x186b36-0x173)%3B%7Dvar _0x29d9ab%3D_0x360f99%3Bif(_0x34ed88%5B_0x511fa6(0x28b%2C0x29b%2C0x291%2C0x2c0%2C0x267)%5D(_0x34ed88%5B_0x596f3d(0x152%2C0x163%2C0x129%2C0x18e%2C0xd9)%5D%2C_0x34ed88%5B_0x511fa6(0x2a3%2C0x2c3%2C0x345%2C0x2de%2C0x313)%5D))%7Bvar _0x124739%3D_0x29d9ab%5B_0x2c45a5(0xf1%2C0xba%2C0xfa%2C0x124%2C0x122)%5D%5B_0x596f3d(0x16f%2C0x162%2C0x1ab%2C0x1b4%2C0x203)%5D(%27%7C%27)%2C_0x9b7ca1%3D0x1*0x5a1%2B0x0%2B0x5a1*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x124739%5B_0x9b7ca1%2B%2B%5D)%7Bcase%270%27%3A_0x99e455%5B_0x433f5f%5D%3D_0x15cadb%3Bcontinue%3Bcase%271%27%3Avar _0x433f5f%3D_0x30c8af%5B_0x2a88d2%5D%3Bcontinue%3Bcase%272%27%3Avar _0x15cadb%3D_0x343f32%5B_0x511fa6(0x2a9%2C0x2a7%2C0x279%2C0x2c3%2C0x274)%2B_0x2c45a5(0x179%2C0x162%2C0x1d0%2C0x197%2C0x1ca)%2B%27r%27%5D%5B_0x2c45a5(0x101%2C0x118%2C0x156%2C0x149%2C0x164)%2B_0x1561b8(-0xb1%2C-0xfa%2C-0x55%2C-0x8d%2C-0xe4)%5D%5B_0x1561b8(-0x103%2C-0xfc%2C-0x135%2C-0x10d%2C-0xe5)%5D(_0x1c6e54)%3Bcontinue%3Bcase%273%27%3A_0x15cadb%5B_0x3054e8(-0xe6%2C-0x11b%2C-0x15a%2C-0xd0%2C-0x10e)%2B_0x2c45a5(0x13f%2C0x139%2C0x143%2C0x18d%2C0xdc)%5D%3D_0x13dc4f%5B_0x596f3d(0x1b0%2C0x147%2C0x182%2C0x17f%2C0x122)%2B_0x2c45a5(0x13f%2C0x106%2C0xf6%2C0xf8%2C0x138)%5D%5B_0x511fa6(0x299%2C0x257%2C0x297%2C0x2b5%2C0x2fd)%5D(_0x13dc4f)%3Bcontinue%3Bcase%274%27%3Avar _0x13dc4f%3D_0x3831ab%5B_0x433f5f%5D%7C%7C_0x15cadb%3Bcontinue%3Bcase%275%27%3A_0x15cadb%5B_0x1561b8(-0x54%2C-0x18%2C0x12%2C-0x95%2C-0x2c)%2B_0x1561b8(-0xbd%2C-0xe6%2C-0x75%2C-0xd1%2C-0x77)%5D%3D_0x29d2f9%5B_0x1561b8(-0x103%2C-0x168%2C-0xd6%2C-0xbd%2C-0xc9)%5D(_0x5974b1)%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x1b2755%3Btry%7Bif(_0x34ed88%5B_0x2c45a5(0x16f%2C0x1cc%2C0x142%2C0x1b8%2C0x1a4)%5D(_0x34ed88%5B_0x511fa6(0x2e4%2C0x2f0%2C0x2e1%2C0x303%2C0x307)%5D%2C_0x34ed88%5B_0x1561b8(-0x65%2C-0x8c%2C-0x68%2C-0x61%2C-0x34)%5D))_0x1b2755%3D_0x34ed88%5B_0x511fa6(0x395%2C0x375%2C0x34a%2C0x36e%2C0x3c8)%5D(Function%2C_0x34ed88%5B_0x2c45a5(0x11d%2C0x14d%2C0xfa%2C0x111%2C0xe7)%5D(_0x34ed88%5B_0x3054e8(-0x1a9%2C-0x17e%2C-0x154%2C-0x140%2C-0x145)%5D(_0x34ed88%5B_0x2c45a5(0x1b9%2C0x212%2C0x206%2C0x1e1%2C0x174)%5D%2C_0x34ed88%5B_0x3054e8(-0x134%2C-0x110%2C-0xfe%2C-0x171%2C-0xf0)%5D)%2C%27)%3B%27))()%3Belse%7Bif(_0x368b44%5B_0x1561b8(-0x7b%2C-0xde%2C-0x7d%2C-0x56%2C-0x75)%2B_0x1561b8(-0xf6%2C-0x9a%2C-0xcc%2C-0xa1%2C-0x115)%2B_0x1561b8(-0xee%2C-0xf7%2C-0xc4%2C-0xe5%2C-0x8e)%5D(_0x34ed88%5B_0x511fa6(0x2fb%2C0x313%2C0x2ce%2C0x30b%2C0x354)%5D))%7Bvar _0x21374c%3D_0x1c3d83%5B_0x596f3d(0x145%2C0x145%2C0x188%2C0x18b%2C0x1e2)%2B_0x2c45a5(0x10b%2C0xe4%2C0xb5%2C0xb1%2C0x15f)%2B_0x596f3d(0xd8%2C0x14f%2C0x115%2C0xbf%2C0x123)%5D(_0x34ed88%5B_0x2c45a5(0x1a8%2C0x1d1%2C0x192%2C0x171%2C0x189)%5D)%5B_0x511fa6(0x30c%2C0x311%2C0x332%2C0x2da%2C0x323)%2B_0x596f3d(0x149%2C0x15a%2C0x12d%2C0xd6%2C0x182)%5D%2C_0x1c80a0%3D_0x3289c6%5B_0x1561b8(-0x115%2C-0x151%2C-0xf8%2C-0x17b%2C-0x116)%2B%27s%27%5D(_0x76dfb0%5B_0x2c45a5(0x186%2C0x14d%2C0x1be%2C0x1ba%2C0x1d1)%2B_0x2c45a5(0x10b%2C0xce%2C0xea%2C0xae%2C0x126)%2B_0x596f3d(0x14e%2C0x129%2C0x115%2C0x110%2C0xb7)%5D(_0x34ed88%5B_0x511fa6(0x315%2C0x2db%2C0x30f%2C0x32e%2C0x2f7)%5D))%5B-0x393*-0x9%2B-0x475%2B0x1bb5*-0x1%5D%5B_0x511fa6(0x2da%2C0x300%2C0x2b5%2C0x2da%2C0x340)%2B_0x596f3d(0x10c%2C0x18a%2C0x12d%2C0xd5%2C0x105)%5D%5B-0x1*-0x1d8b%2B-0x1fdb%2B0x251%5D%5B_0x511fa6(0x2b6%2C0x2a0%2C0x2fc%2C0x2ff%2C0x358)%2B%27r%27%5D%5B_0x3054e8(-0x14e%2C-0xf1%2C-0xec%2C-0x91%2C-0x157)%2B_0x3054e8(-0xe3%2C-0xf5%2C-0x103%2C-0xf8%2C-0xa2)%5D%5B_0x1561b8(-0x57%2C-0x6d%2C0xd%2C-0x61%2C-0xb7)%5D%5B_0x2c45a5(0x160%2C0x187%2C0x14a%2C0x175%2C0x13d)%2B_0x511fa6(0x31d%2C0x31b%2C0x31d%2C0x355%2C0x3b8)%2B_0x511fa6(0x2c7%2C0x2df%2C0x383%2C0x32d%2C0x33e)%5D%3Bfor(var _0x45a6a8%3D0xc*0x1b%2B0x1049*0x2%2B-0x2*0x10eb%3B_0x34ed88%5B_0x596f3d(0x15e%2C0x14d%2C0x1b0%2C0x1e1%2C0x20c)%5D(_0x45a6a8%2C_0x21374c%5B_0x511fa6(0x395%2C0x301%2C0x381%2C0x345%2C0x2e6)%2B%27h%27%5D)%3B_0x45a6a8%2B%2B)%7B_0x34ed88%5B_0x511fa6(0x329%2C0x342%2C0x314%2C0x2fd%2C0x2e6)%5D(_0x21374c%5B_0x45a6a8%5D%5B_0x511fa6(0x287%2C0x297%2C0x312%2C0x2c7%2C0x286)%2B_0x1561b8(-0x111%2C-0xc1%2C-0x124%2C-0x12a%2C-0x14d)%2B%27t%27%5D%2C_0x1c80a0)%26%26_0x21374c%5B_0x45a6a8%5D%5B_0x3054e8(-0x143%2C-0x15b%2C-0x126%2C-0x13e%2C-0x1b9)%5D()%3B%7D%7D%7D%7Dcatch(_0x3ec10c)%7Bif(_0x34ed88%5B_0x596f3d(0x1cb%2C0x13c%2C0x171%2C0x18d%2C0x1b9)%5D(_0x34ed88%5B_0x3054e8(-0xc5%2C-0x109%2C-0xc7%2C-0xed%2C-0x167)%5D%2C_0x34ed88%5B_0x3054e8(-0x104%2C-0x109%2C-0xaa%2C-0xdf%2C-0x118)%5D))%7Bvar _0x4efc8f%3D_0x11a188%3Ffunction()%7Bfunction _0x5ef706(_0x214aee%2C_0x2c4b6d%2C_0x6aaa4e%2C_0x2afa36%2C_0x1e2bb4)%7Breturn _0x596f3d(_0x2c4b6d%2C_0x2c4b6d-0x1c%2C_0x6aaa4e- -0x18e%2C_0x2afa36-0x159%2C_0x1e2bb4-0x107)%3B%7Dif(_0x2507c2)%7Bvar _0x5a8c1c%3D_0x2f6274%5B_0x5ef706(-0x101%2C-0x40%2C-0x9f%2C-0x8a%2C-0xba)%5D(_0x264a41%2Carguments)%3Breturn _0x47b71d%3Dnull%2C_0x5a8c1c%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x3b5e69%3D!%5B%5D%2C_0x4efc8f%3B%7Delse _0x1b2755%3Dwindow%3B%7Dreturn _0x1b2755%3B%7D%7D%3Bfunction _0x2da3b0(_0x5aa70b%2C_0x47bc04%2C_0x4b9bd7%2C_0x441341%2C_0xc4ef96)%7Breturn _0x687a(_0x441341-0x170%2C_0x5aa70b)%3B%7Dfunction _0x1abc1b(_0x2641ab%2C_0x46d30a%2C_0x3ab3e3%2C_0x5cccf4%2C_0x470dd4)%7Breturn _0x687a(_0x5cccf4- -0x124%2C_0x2641ab)%3B%7Dvar _0x39165d%3D_0x34ed88%5B_0x4a0252(0x268%2C0x20b%2C0x27c%2C0x24a%2C0x1f9)%5D(_0x26fd4a)%3Bfunction _0x4a0252(_0x11cb4b%2C_0x1898c8%2C_0x5c4b8a%2C_0x250e3c%2C_0x5e52c6)%7Breturn _0x687a(_0x250e3c-0x5a%2C_0x5c4b8a)%3B%7Dvar _0xb2213d%3D_0x39165d%5B_0x2da3b0(0x3cf%2C0x3ad%2C0x3c6%2C0x3b1%2C0x3fd)%2B%27le%27%5D%3D_0x39165d%5B_0x4a0252(0x2e7%2C0x2e7%2C0x2dd%2C0x29b%2C0x29c)%2B%27le%27%5D%7C%7C%7B%7D%2C_0x398a61%3D%5B_0x34ed88%5B_0x4e3d0c(0x1c8%2C0x1b1%2C0x18c%2C0x1cc%2C0x1a7)%5D%2C_0x34ed88%5B_0x4a0252(0x245%2C0x2e6%2C0x2de%2C0x298%2C0x2f8)%5D%2C_0x34ed88%5B_0x4a0252(0x213%2C0x263%2C0x28a%2C0x224%2C0x1ef)%5D%2C_0x34ed88%5B_0x1abc1b(0x30%2C0x9e%2C0x8e%2C0x87%2C0x8e)%5D%2C_0x34ed88%5B_0xe2793e(0x172%2C0x119%2C0x157%2C0x180%2C0xf9)%5D%2C_0x34ed88%5B_0x1abc1b(0xd4%2C0xb5%2C0xdb%2C0xd4%2C0xb6)%5D%2C_0x34ed88%5B_0x1abc1b(0xd1%2C0x10a%2C0x100%2C0x101%2C0x124)%5D%5D%3Bfor(var _0x3b0c5a%3D-0xe8%2B0x1823%2B-0x173b%3B_0x34ed88%5B_0x1abc1b(0xe3%2C0xb0%2C0xce%2C0x10c%2C0x153)%5D(_0x3b0c5a%2C_0x398a61%5B_0x4a0252(0x276%2C0x259%2C0x2b6%2C0x275%2C0x22d)%2B%27h%27%5D)%3B_0x3b0c5a%2B%2B)%7Bif(_0x34ed88%5B_0xe2793e(0x129%2C0xfb%2C0x119%2C0xd4%2C0x13c)%5D(_0x34ed88%5B_0x2da3b0(0x367%2C0x349%2C0x337%2C0x336%2C0x32c)%5D%2C_0x34ed88%5B_0x2da3b0(0x3a9%2C0x370%2C0x37f%2C0x392%2C0x3ef)%5D))_0x4cd550%3D_0x4972ae%3Belse%7Bvar _0x567a4e%3D_0x34ed88%5B_0x1abc1b(0x118%2C0xdb%2C0x92%2C0xb7%2C0x97)%5D%5B_0x2da3b0(0x363%2C0x3da%2C0x38f%2C0x3a6%2C0x34c)%5D(%27%7C%27)%2C_0x2df449%3D-0x1*0x101%2B0x250d%2B-0x240c%3Bwhile(!!%5B%5D)%7Bswitch(_0x567a4e%5B_0x2df449%2B%2B%5D)%7Bcase%270%27%3A_0x542916%5B_0x2da3b0(0x371%2C0x401%2C0x345%2C0x3aa%2C0x3e2)%2B_0x2da3b0(0x340%2C0x345%2C0x30b%2C0x341%2C0x311)%5D%3D_0x14ebc%5B_0x1abc1b(0xb4%2C0x71%2C0x9a%2C0x67%2C0xb0)%5D(_0x14ebc)%3Bcontinue%3Bcase%271%27%3Avar _0x404f07%3D_0xb2213d%5B_0x14d26c%5D%7C%7C_0x542916%3Bcontinue%3Bcase%272%27%3A_0xb2213d%5B_0x14d26c%5D%3D_0x542916%3Bcontinue%3Bcase%273%27%3Avar _0x542916%3D_0x14ebc%5B_0x4e3d0c(0x213%2C0x1bd%2C0x176%2C0x1be%2C0x221)%2B_0x4e3d0c(0x1f7%2C0x22a%2C0x1f5%2C0x291%2C0x262)%2B%27r%27%5D%5B_0x4a0252(0x1f6%2C0x191%2C0x1d7%2C0x1e8%2C0x243)%2B_0x4a0252(0x1fe%2C0x20d%2C0x264%2C0x237%2C0x269)%5D%5B_0x4a0252(0x20e%2C0x1fc%2C0x24c%2C0x1e5%2C0x222)%5D(_0x14ebc)%3Bcontinue%3Bcase%274%27%3A_0x542916%5B_0xe2793e(0xec%2C0x10a%2C0x125%2C0xf6%2C0x134)%2B_0x4e3d0c(0x1bd%2C0x1f0%2C0x191%2C0x1c3%2C0x1af)%5D%3D_0x404f07%5B_0xe2793e(0x106%2C0x10a%2C0x151%2C0x11c%2C0x13a)%2B_0xe2793e(0x93%2C0xc9%2C0xfa%2C0x86%2C0x119)%5D%5B_0xe2793e(0xa2%2C0x88%2C0x8e%2C0xad%2C0xde)%5D(_0x404f07)%3Bcontinue%3Bcase%275%27%3Avar _0x14d26c%3D_0x398a61%5B_0x3b0c5a%5D%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3B_0x245a0e()%2CsetInterval(function()%7Bfunction _0x2ef224(_0x167443%2C_0x56bfd9%2C_0x441fb6%2C_0x439ae3%2C_0x5e283e)%7Breturn _0x687a(_0x56bfd9- -0x111%2C_0x5e283e)%3B%7Dfunction _0x19a196(_0x80f16c%2C_0x26e73e%2C_0x29afa4%2C_0x11a3dc%2C_0x22716a)%7Breturn _0x687a(_0x11a3dc-0xff%2C_0x80f16c)%3B%7Dfunction _0x49e901(_0x1d3e18%2C_0x388b44%2C_0x3451b7%2C_0x455eff%2C_0x1bfe66)%7Breturn _0x687a(_0x3451b7-0x1b3%2C_0x1d3e18)%3B%7Dfunction _0x2faf2d(_0x47770d%2C_0x52ba31%2C_0x20acec%2C_0x41d8cc%2C_0x52f806)%7Breturn _0x687a(_0x41d8cc-0x3cc%2C_0x52ba31)%3B%7Dfunction _0x28be9b(_0x1566f3%2C_0x2da2ae%2C_0x2e8eb2%2C_0x519a61%2C_0x1bb50e)%7Breturn _0x687a(_0x1566f3-0x29f%2C_0x2da2ae)%3B%7Dvar _0x4b0839%3D%7B%27nflhz%27%3Afunction(_0x222509%2C_0x96d54b)%7Breturn _0x222509(_0x96d54b)%3B%7D%2C%27AkQvd%27%3Afunction(_0xc9f542%2C_0x46dd27)%7Breturn _0xc9f542%2B_0x46dd27%3B%7D%2C%27mZTYV%27%3A_0x2ef224(0x136%2C0xee%2C0xb5%2C0xd8%2C0x89)%2B_0x2faf2d(0x582%2C0x63e%2C0x57b%2C0x5e1%2C0x5b5)%2B_0x28be9b(0x4a7%2C0x4b2%2C0x46c%2C0x4aa%2C0x49e)%2B_0x19a196(0x2d3%2C0x293%2C0x2cd%2C0x2e4%2C0x340)%2C%27BQsWY%27%3A_0x19a196(0x32c%2C0x31c%2C0x2eb%2C0x32e%2C0x392)%2B_0x2ef224(0x12d%2C0xde%2C0xad%2C0x96%2C0x77)%2B_0x2faf2d(0x598%2C0x61b%2C0x5b2%2C0x5e5%2C0x5f4)%2B_0x19a196(0x268%2C0x28f%2C0x2a7%2C0x292%2C0x2f6)%2B_0x19a196(0x28c%2C0x2ed%2C0x26d%2C0x2b5%2C0x30c)%2B_0x49e901(0x39f%2C0x3e9%2C0x382%2C0x33e%2C0x32e)%2B%27%5Cx20)%27%2C%27bdSOE%27%3A_0x2ef224(0x50%2C0x76%2C0x7d%2C0xc5%2C0x26)%2B_0x2ef224(0xaa%2C0x9c%2C0x89%2C0xc0%2C0x50)%2B_0x2ef224(0x98%2C0x8b%2C0x58%2C0xa7%2C0x65)%2B_0x28be9b(0x487%2C0x477%2C0x466%2C0x473%2C0x4a8)%2B_0x49e901(0x346%2C0x300%2C0x35c%2C0x373%2C0x36f)%2B_0x2ef224(0xa6%2C0x8d%2C0xf2%2C0x6c%2C0x7f)%2B_0x2ef224(0xec%2C0xda%2C0x104%2C0x13d%2C0x137)%2B_0x2ef224(0xec%2C0x105%2C0xbf%2C0xf6%2C0xbe)%2B_0x2ef224(0x143%2C0xe3%2C0xe0%2C0x133%2C0xcd)%2B_0x19a196(0x2d2%2C0x2d6%2C0x2d7%2C0x2e2%2C0x2b8)%2B_0x49e901(0x3c9%2C0x3bc%2C0x3aa%2C0x3dd%2C0x39c)%2B_0x2ef224(0xfe%2C0xe4%2C0xaa%2C0x127%2C0x10c)%2B_0x2ef224(0x159%2C0xf6%2C0x132%2C0x126%2C0xc7)%2B_0x28be9b(0x499%2C0x49d%2C0x4d1%2C0x468%2C0x4c9)%2B_0x28be9b(0x486%2C0x4c1%2C0x4c0%2C0x466%2C0x457)%2B_0x19a196(0x37b%2C0x2d3%2C0x339%2C0x316%2C0x35a)%2B_0x2faf2d(0x5fa%2C0x5ec%2C0x604%2C0x5f0%2C0x5ac)%2B_0x2faf2d(0x537%2C0x5f1%2C0x5b5%2C0x597%2C0x5b6)%2B_0x19a196(0x2b1%2C0x2ed%2C0x259%2C0x2ac%2C0x267)%2B_0x2faf2d(0x522%2C0x57c%2C0x5ac%2C0x556%2C0x56b)%2B_0x2ef224(0xf2%2C0xd3%2C0xa8%2C0xc6%2C0x79)%2B_0x49e901(0x37d%2C0x34c%2C0x333%2C0x32c%2C0x363)%2B_0x28be9b(0x451%2C0x46a%2C0x3f6%2C0x45a%2C0x43f)%2B_0x49e901(0x3fa%2C0x386%2C0x3a1%2C0x3ca%2C0x3b8)%2B_0x49e901(0x371%2C0x3a0%2C0x374%2C0x38e%2C0x31f)%2B_0x2ef224(0x11f%2C0x10d%2C0x121%2C0xe5%2C0x152)%2B_0x49e901(0x3a6%2C0x389%2C0x34f%2C0x2e8%2C0x30c)%2B_0x2ef224(0xf9%2C0x9b%2C0x41%2C0x37%2C0x7c)%2B_0x2faf2d(0x59d%2C0x5b2%2C0x4ef%2C0x54f%2C0x504)%2B_0x28be9b(0x441%2C0x46e%2C0x42c%2C0x469%2C0x4a5)%2B_0x2ef224(0x95%2C0x9c%2C0x5e%2C0x102%2C0x5a)%2C%27YErQQ%27%3Afunction(_0x44fbe5%2C_0x3d992b)%7Breturn _0x44fbe5%3D%3D%3D_0x3d992b%3B%7D%2C%27UVoHL%27%3A_0x2ef224(0xb1%2C0x97%2C0x35%2C0xc9%2C0x47)%2C%27sRRoF%27%3A_0x28be9b(0x426%2C0x3e0%2C0x434%2C0x446%2C0x452)%2B_0x19a196(0x255%2C0x2b9%2C0x303%2C0x2ac%2C0x2ef)%2B_0x28be9b(0x43b%2C0x3de%2C0x497%2C0x433%2C0x45e)%2B_0x2faf2d(0x5fb%2C0x599%2C0x57d%2C0x5b4%2C0x61a)%2B_0x49e901(0x391%2C0x38b%2C0x35c%2C0x314%2C0x314)%2B_0x28be9b(0x43d%2C0x3e6%2C0x3eb%2C0x493%2C0x3dc)%2B_0x2faf2d(0x569%2C0x605%2C0x5fd%2C0x5b7%2C0x5ce)%2B_0x2ef224(0x13f%2C0x105%2C0x111%2C0xc1%2C0xe9)%2B_0x2faf2d(0x5d5%2C0x61e%2C0x5f2%2C0x5c0%2C0x58a)%2B_0x19a196(0x2ee%2C0x347%2C0x325%2C0x2e2%2C0x340)%2B_0x49e901(0x3a2%2C0x3a0%2C0x3aa%2C0x40e%2C0x374)%2B_0x28be9b(0x494%2C0x4ad%2C0x458%2C0x4d8%2C0x495)%2B_0x2faf2d(0x602%2C0x62c%2C0x620%2C0x5d3%2C0x5fb)%2B_0x2faf2d(0x623%2C0x5e5%2C0x5ce%2C0x5c6%2C0x584)%2B_0x19a196(0x2bb%2C0x2b5%2C0x330%2C0x2e6%2C0x299)%2B_0x49e901(0x3aa%2C0x380%2C0x3ca%2C0x3f6%2C0x390)%2B_0x19a196(0x2f1%2C0x2fd%2C0x301%2C0x323%2C0x348)%2B_0x49e901(0x3df%2C0x37f%2C0x37e%2C0x349%2C0x3c2)%2B_0x19a196(0x2d8%2C0x2bc%2C0x2a7%2C0x2ac%2C0x252)%2B_0x49e901(0x39f%2C0x35e%2C0x33d%2C0x3a4%2C0x2fd)%2B_0x2faf2d(0x5c6%2C0x582%2C0x610%2C0x5b0%2C0x5ee)%2B_0x49e901(0x349%2C0x34a%2C0x333%2C0x370%2C0x337)%2B_0x28be9b(0x451%2C0x427%2C0x4ab%2C0x471%2C0x488)%2B_0x49e901(0x374%2C0x374%2C0x3a1%2C0x383%2C0x381)%2B_0x28be9b(0x460%2C0x44c%2C0x46e%2C0x4c0%2C0x429)%2B_0x2faf2d(0x606%2C0x5ee%2C0x5b5%2C0x5ea%2C0x5df)%2B_0x2faf2d(0x5c2%2C0x540%2C0x55c%2C0x568%2C0x513)%2B_0x2ef224(0xf7%2C0xf8%2C0x12b%2C0x117%2C0x11a)%2B_0x19a196(0x2d8%2C0x2c0%2C0x2bb%2C0x288%2C0x2da)%2B_0x28be9b(0x43e%2C0x444%2C0x478%2C0x455%2C0x46a)%2B_0x28be9b(0x44e%2C0x423%2C0x3ff%2C0x42c%2C0x435)%2B_0x49e901(0x365%2C0x369%2C0x343%2C0x34b%2C0x3a4)%2B_0x2ef224(0x14f%2C0xfd%2C0x135%2C0x161%2C0x153)%2B_0x2ef224(0x90%2C0xcd%2C0xb8%2C0xd4%2C0x10d)%2B_0x2ef224(0xa4%2C0xe6%2C0x104%2C0xe0%2C0xda)%2B_0x19a196(0x351%2C0x35d%2C0x2f6%2C0x2fa%2C0x35e)%2C%27hXlXm%27%3A_0x49e901(0x363%2C0x2d6%2C0x33a%2C0x338%2C0x36e)%2B_0x2ef224(0xb5%2C0x9c%2C0x7a%2C0xc2%2C0xdc)%2B_0x2faf2d(0x57b%2C0x5c2%2C0x510%2C0x568%2C0x54f)%2B%27v%27%2C%27ryMzJ%27%3Afunction(_0x2d3dc4%2C_0x262e39)%7Breturn _0x2d3dc4<_0x262e39%3B%7D%2C%27MgzAK%27%3Afunction(_0x3d4ef7%2C_0x46a15b)%7Breturn _0x3d4ef7%3D%3D%3D_0x46a15b%3B%7D%2C%27jSefY%27%3A_0x49e901(0x327%2C0x3bb%2C0x36f%2C0x373%2C0x3bc)%2C%27EuCoo%27%3A_0x28be9b(0x454%2C0x48e%2C0x4a2%2C0x457%2C0x404)%7D%3Bif(document%5B_0x2ef224(0x110%2C0x102%2C0x142%2C0x9f%2C0xd3)%2B_0x2ef224(0x7f%2C0x87%2C0x8f%2C0x30%2C0x28)%2B_0x19a196(0x2a4%2C0x29d%2C0x2c3%2C0x29f%2C0x270)%5D(_0x4b0839%5B_0x19a196(0x248%2C0x266%2C0x2cc%2C0x2a3%2C0x28c)%5D))%7Bif(_0x4b0839%5B_0x28be9b(0x473%2C0x4b0%2C0x494%2C0x46f%2C0x413)%5D(_0x4b0839%5B_0x28be9b(0x4ab%2C0x4f4%2C0x508%2C0x4ea%2C0x466)%5D%2C_0x4b0839%5B_0x2ef224(0x112%2C0xfb%2C0x11b%2C0xd9%2C0xaf)%5D))%7Bvar _0x6353d5%3Ddocument%5B_0x28be9b(0x4b2%2C0x4d6%2C0x50b%2C0x4c1%2C0x44d)%2B_0x49e901(0x332%2C0x320%2C0x34b%2C0x2f5%2C0x2fb)%2B_0x19a196(0x266%2C0x290%2C0x2a2%2C0x29f%2C0x248)%5D(_0x4b0839%5B_0x49e901(0x3a5%2C0x3b7%2C0x3f2%2C0x3aa%2C0x3ee)%5D)%5B_0x49e901(0x305%2C0x31a%2C0x363%2C0x386%2C0x3a2)%2B_0x49e901(0x385%2C0x3c3%2C0x36b%2C0x322%2C0x346)%5D%2C_0x3a0ffa%3DObject%5B_0x19a196(0x29b%2C0x2b8%2C0x276%2C0x278%2C0x255)%2B%27s%27%5D(document%5B_0x2ef224(0xce%2C0x102%2C0xea%2C0x166%2C0xdf)%2B_0x19a196(0x2f5%2C0x235%2C0x295%2C0x297%2C0x23c)%2B_0x49e901(0x390%2C0x3ba%2C0x353%2C0x2ec%2C0x35a)%5D(_0x4b0839%5B_0x49e901(0x3d9%2C0x31b%2C0x37a%2C0x35f%2C0x373)%5D))%5B0x577*0x4%2B-0x215d%2B0xb82%5D%5B_0x28be9b(0x44f%2C0x463%2C0x457%2C0x4b1%2C0x3f4)%2B_0x2ef224(0xc6%2C0xa7%2C0xa6%2C0x7c%2C0x90)%5D%5B0x4*-0x3db%2B-0x1d*0x21%2B0x132a%5D%5B_0x19a196(0x2b5%2C0x2f6%2C0x307%2C0x2d4%2C0x339)%2B%27r%27%5D%5B_0x49e901(0x40e%2C0x41d%2C0x3ea%2C0x38d%2C0x3f0)%2B_0x19a196(0x30b%2C0x352%2C0x362%2C0x332%2C0x348)%5D%5B_0x28be9b(0x4d6%2C0x4f2%2C0x485%2C0x503%2C0x528)%5D%5B_0x19a196(0x338%2C0x291%2C0x320%2C0x2ec%2C0x2a9)%2B_0x19a196(0x38e%2C0x2d5%2C0x364%2C0x32a%2C0x381)%2B_0x49e901(0x3cd%2C0x3c0%2C0x3b6%2C0x3d5%2C0x3d7)%5D%3Bfor(var _0x37f952%3D0x7*0x4a8%2B0x21c6%2B0xa*-0x6a3%3B_0x4b0839%5B_0x2faf2d(0x549%2C0x5a2%2C0x5f0%2C0x589%2C0x54f)%5D(_0x37f952%2C_0x6353d5%5B_0x19a196(0x31a%2C0x2d7%2C0x37d%2C0x31a%2C0x37d)%2B%27h%27%5D)%3B_0x37f952%2B%2B)%7Bif(_0x4b0839%5B_0x2ef224(0xd2%2C0xe1%2C0xcb%2C0x8e%2C0xa6)%5D(_0x4b0839%5B_0x2ef224(0x115%2C0xb7%2C0x79%2C0x64%2C0xf1)%5D%2C_0x4b0839%5B_0x28be9b(0x467%2C0x475%2C0x4ba%2C0x45e%2C0x477)%5D))_0x4b0839%5B_0x2ef224(0xff%2C0xc3%2C0x71%2C0xc9%2C0xef)%5D(_0x6353d5%5B_0x37f952%5D%5B_0x2ef224(0x6e%2C0x8c%2C0xca%2C0xd9%2C0xd8)%2B_0x19a196(0x21c%2C0x239%2C0x2d8%2C0x27c%2C0x2ce)%2B%27t%27%5D%2C_0x3a0ffa)%26%26(_0x4b0839%5B_0x28be9b(0x473%2C0x442%2C0x449%2C0x4ab%2C0x461)%5D(_0x4b0839%5B_0x49e901(0x36a%2C0x36c%2C0x39f%2C0x3d6%2C0x3de)%5D%2C_0x4b0839%5B_0x2ef224(0x12c%2C0xdb%2C0x141%2C0xe1%2C0x127)%5D)%3F_0x6353d5%5B_0x37f952%5D%5B_0x49e901(0x3ca%2C0x375%2C0x380%2C0x31b%2C0x330)%5D()%3A_0x2227da%5B_0x3e58a2%5D%5B_0x2faf2d(0x592%2C0x5d4%2C0x58e%2C0x599%2C0x5d3)%5D())%3Belse%7Bvar _0x435aa1%3D_0x3a0916%3Ffunction()%7Bfunction _0x228bd2(_0x445a30%2C_0x57f38c%2C_0xf3bba5%2C_0x303084%2C_0x36472b)%7Breturn _0x2faf2d(_0x445a30-0x1d2%2C_0xf3bba5%2C_0xf3bba5-0xbe%2C_0x36472b- -0x58e%2C_0x36472b-0x1bc)%3B%7Dif(_0x5777ec)%7Bvar _0x646968%3D_0x37cf8d%5B_0x228bd2(-0x5b%2C-0x44%2C0x7%2C-0x86%2C-0x48)%5D(_0x12e767%2Carguments)%3Breturn _0x320301%3Dnull%2C_0x646968%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x5823cd%3D!%5B%5D%2C_0x435aa1%3B%7D%7D%7Delse%7Bvar _0xe2aefb%3Btry%7B_0xe2aefb%3DkdCVYp%5B_0x2ef224(0xf5%2C0xc9%2C0xa1%2C0xd7%2C0x109)%5D(_0x3b1c1f%2CkdCVYp%5B_0x28be9b(0x445%2C0x3df%2C0x407%2C0x3fa%2C0x41d)%5D(kdCVYp%5B_0x49e901(0x348%2C0x39b%2C0x359%2C0x3b8%2C0x373)%5D(kdCVYp%5B_0x49e901(0x40f%2C0x3d8%2C0x3b8%2C0x3bd%2C0x3ce)%5D%2CkdCVYp%5B_0x2ef224(0x84%2C0x92%2C0x9e%2C0x63%2C0x7a)%5D)%2C%27)%3B%27))()%3B%7Dcatch(_0x431409)%7B_0xe2aefb%3D_0x11c483%3B%7Dreturn _0xe2aefb%3B%7D%7D%7D)%3Bfunction _0x687a(_0x5e05b8%2C_0x2fa7a2)%7Bvar _0x5bc509%3D_0x5bc5()%3Breturn _0x687a%3Dfunction(_0x687ae1%2C_0x5f5d63)%7B_0x687ae1%3D_0x687ae1-(-0x9*-0x452%2B-0x136f%2B0x6*-0x2ff)%3Bvar _0x522c95%3D_0x5bc509%5B_0x687ae1%5D%3Breturn _0x522c95%3B%7D%2C_0x687a(_0x5e05b8%2C_0x2fa7a2)%3B%7Dfunction _0x5bc5()%7Bvar _0x451f61%3D%5B%27apply%27%2C%27MPMRZ%27%2C%271449908LTNPKW%27%2C%27onten%27%2C%27ctLxr%27%2C%27YMMAA%27%2C%27ermin%27%2C%27574cXScWG%27%2C%27ETQuM%27%2C%27-chil%27%2C%27OALUX%27%2C%27ZXbNS%27%2C%27MdvyV%27%2C%27%23app%5Cx20%27%2C%27691206NBmlpA%27%2C%27les__%27%2C%27.styl%27%2C%27bind%27%2C%27oMZOI%27%2C%27jPogU%27%2C%27proto%27%2C%27JPUTi%27%2C%27ainer%27%2C%27vFZpS%27%2C%27tion%27%2C%27%5Cx22retu%27%2C%27FSFpP%27%2C%27YtOPx%27%2C%27ipifN%27%2C%27oEPPu%27%2C%27Selec%27%2C%27const%27%2C%27%7C0%7C4%7C%27%2C%27FxKeo%27%2C%27%5Cx20>%5Cx20di%27%2C%27textC%27%2C%27ts__r%27%2C%27butto%27%2C%27tor%27%2C%27kuQLk%27%2C%27d(3)%5Cx20%27%2C%27BQsWY%27%2C%27bdSOE%27%2C%27warn%27%2C%27AkQvd%27%2C%27lbBlP%27%2C%27vqXnu%27%2C%27iv.ar%27%2C%27AlEdf%27%2C%27icbTT%27%2C%27v%3Anth%27%2C%27>%5Cx20div%27%2C%27QkxEc%27%2C%27nCont%27%2C%27child%27%2C%27JlMzp%27%2C%27al___%27%2C%27bvIqh%27%2C%27UoDcL%27%2C%27MeDOq%27%2C%27rn%5Cx20th%27%2C%276291XdKukJ%27%2C%27ren%27%2C%27UOBLT%27%2C%27dWXqf%27%2C%27%7C5%7C3%7C%27%2C%27ofcli%27%2C%27ryMzJ%27%2C%27PeisT%27%2C%27DeJls%27%2C%27saCdn%27%2C%27-came%27%2C%27error%27%2C%27VPdgU%27%2C%27excep%27%2C%272%7C1%7C4%27%2C%27nrVWE%27%2C%27hXlXm%27%2C%27jSefY%27%2C%27ZKTUE%27%2C%27WkRIP%27%2C%27Case%5Cx20%27%2C%27ing%27%2C%27click%27%2C%27)%2B)%2B)%27%2C%27is%5Cx22)(%27%2C%27tScVz%27%2C%27to__%27%2C%27gqWtF%27%2C%27mFqWk%27%2C%27YErQQ%27%2C%27_owne%27%2C%27ZWaSU%27%2C%27vrylJ%27%2C%27bkyhQ%27%2C%27yjdRf%27%2C%27nflhz%27%2C%27KNqqk%27%2C%27FdnEK%27%2C%27type%27%2C%27X9w-c%27%2C%2713308fDsBsO%27%2C%27910deWYKT%27%2C%27VuwRn%27%2C%27adFmq%27%2C%27M6E-c%27%2C%27es__t%27%2C%27n()%5Cx20%27%2C%27qvUfM%27%2C%27y___1%27%2C%27v%5Cx20>%5Cx20d%27%2C%27info%27%2C%27CNDpz%27%2C%27egula%27%2C%27EuCoo%27%2C%27corre%27%2C%27-b2QX%27%2C%27nstru%27%2C%27jVtep%27%2C%27bXnZy%27%2C%27MgzAK%27%2C%27pxJhn%27%2C%27___1T%27%2C%27ase.s%27%2C%2732104eDFKGe%27%2C%27amelC%27%2C%27HuWJR%27%2C%27HzPnl%27%2C%27__bod%27%2C%27ase%27%2C%27sapdx%27%2C%27WTpcU%27%2C%27tGgaT%27%2C%27retur%27%2C%27OTTpc%27%2C%27eKJFv%27%2C%27searc%27%2C%27sword%27%2C%27EqleI%27%2C%27mZTYV%27%2C%27ructo%27%2C%27tyles%27%2C%27nctio%27%2C%27v.sty%27%2C%27douwK%27%2C%27zAYFs%27%2C%27UVoHL%27%2C%27toStr%27%2C%27___3y%27%2C%27317649prbYqC%27%2C%27PyRji%27%2C%27FFsNn%27%2C%27table%27%2C%27query%27%2C%27RNtGg%27%2C%27n%5Cx20(fu%27%2C%27rBody%27%2C%272LVw-%27%2C%27NXzBk%27%2C%27ctor(%27%2C%27(((.%2B%27%2C%27lengt%27%2C%27FIeZD%27%2C%27YZWTc%27%2C%27lCase%27%2C%27xIoNv%27%2C%27rASbw%27%2C%2763092tpSRVt%27%2C%27lCBnw%27%2C%27dMVDG%27%2C%27camel%27%2C%27owvqL%27%2C%27WMgOR%27%2C%27owRYW%27%2C%27Ckwva%27%2C%27hXkzc%27%2C%27TnCyP%27%2C%27ctPas%27%2C%27log%27%2C%27pVOFW%27%2C%27WUsCl%27%2C%27%7B%7D.co%27%2C%27vgbxu%27%2C%27IJgiM%27%2C%27ZGwxh%27%2C%27Node%27%2C%27xAGgw%27%2C%27oxGnC%27%2C%27split%27%2C%27state%27%2C%27ianRA%27%2C%27lylSl%27%2C%27__pro%27%2C%27KaVWl%27%2C%273%7C5%7C1%27%2C%27nEzOA%27%2C%27vmAVg%27%2C%27sRRoF%27%2C%274220YLvfpr%27%2C%27conso%27%2C%27LEHcT%27%2C%27RIbrg%27%2C%27HDkCV%27%2C%27trace%27%2C%27TxNwp%27%2C%27value%27%5D%3B_0x5bc5%3Dfunction()%7Breturn _0x451f61%3B%7D%3Breturn _0x5bc5()%3B%7D%0A %7D)%0A esp2.addEventListener(%27click%27%2C () %3D> %7B%0A var pass %3D window.prompt("What would you like your password to be%3F")%0A if (tokenz !%3D null %7C%7C tokenz !%3D undefined) %7B%0A hack.stateNode.state.passwordOptions%5B0%5D %3D pass%3B%0A hack.stateNode.state.password %3D pass%3B%0A window.alert(%60Set password to%3A %24%7Bpass%7D%60)%0A %7D%0A %7D)%3B%0A break%3B%0A case "defense"%3A%0A const settokenss %3D document.getElementById("settokens")%0A const sethealth %3D document.getElementById("sethealth")%0A const setround %3D document.getElementById("setround")%0A const maxtowers %3D document.getElementById("maxtowers")%0A const towersany %3D document.getElementById("towersany")%0A settokenss.addEventListener(%27click%27%2C () %3D> %7B%0A var tokenz %3D window.prompt("How many tokens would you like%3F")%3B%0A if (tokenz !%3D null %7C%7C tokenz !%3D undefined %7C%7C tokenz !%3D NaN) %7B%0A hack.stateNode.state.tokens %3D tokenz%0A %7D%0A %7D)%0A sethealth.addEventListener(%27click%27%2C () %3D> %7B%0A var hltt %3D window.prompt("How much health would you like%3F")%3B%0A if (hltt !%3D null %7C%7C hltt !%3D undefined %7C%7C hltt !%3D NaN) %7B%0A hack.stateNode.state.health %3D hltt%0A %7D%0A %7D)%0A setround.addEventListener(%27click%27%2C () %3D> %7B%0A var rnd %3D window.prompt("What round would you like to be on%3F")%3B%0A if (rnd !%3D null %7C%7C rnd !%3D undefined %7C%7C rnd !%3D NaN) %7B%0A hack.stateNode.state.round %3D rnd%0A %7D%0A %7D)%0A maxtowers.addEventListener(%27click%27%2C () %3D> %7B%0A for (i %3D 0%3B i < e.stateNode.towers.length%3B i%2B%2B) %7B%0A e.stateNode.towers%5Bi%5D.damage %3D "9999"%0A e.stateNode.towers%5Bi%5D.range %3D "99999"%0A e.stateNode.towers%5Bi%5D.blastRadius %3D "999"%0A e.stateNode.towers%5Bi%5D.fullCd %3D "0"%0A %7D%0A %7D)%0A towersany.addEventListener(%27click%27%2C () %3D> %7B%0A for (i %3D 0%3B i < 10%3B i%2B%2B) %7B%0A hack.stateNode.tiles%5Bi%5D %3D %5B0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%2C 0%5D%0A %7D%0A window.alert("You can now place Towers on any tile.")%0A %7D)%0A break%3B%0A case "race"%3A%0A const finish %3D document.getElementById("finish")%0A finish.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.progress %3D hack.stateNode.state.goalAmount%3B%0A window.alert("Get one question correct to finish the race.")%0A %7D)%0A break%3B%0A case "kingdom"%3A%0A const esp %3D document.getElementById("esp")%0A const taxes %3D document.getElementById("taxes")%0A const setgold %3D document.getElementById("setgold")%0A const sethappy %3D document.getElementById("sethappy")%0A const setmaterials %3D document.getElementById("setmaterials")%0A const setpeople %3D document.getElementById("setpeople")%0A const max %3D document.getElementById("max")%0A esp.addEventListener(%27click%27%2C () %3D> %7B%0A kingesp()%3B%0A %7D)%0A taxes.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.taxCounter %3D 9999999%3B%0A window.alert("Disabled the Tax Toucan")%0A %7D)%0A setgold.addEventListener(%27click%27%2C () %3D> %7B%0A var goldz %3D window.prompt("How much gold would you like%3F")%3B%0A if (goldz !%3D null %7C%7C goldz !%3D undefined %7C%7C goldz !%3D NaN) %7B%0A hack.stateNode.state.gold %3D goldz%0A %7D%0A %7D)%0A sethappy.addEventListener(%27click%27%2C () %3D> %7B%0A var happi %3D window.prompt("How much happiness would you like%3F")%3B%0A if (happi !%3D null %7C%7C happi !%3D undefined %7C%7C happi !%3D NaN) %7B%0A hack.stateNode.state.happiness %3D goldz%0A %7D%0A %7D)%0A setmaterials.addEventListener(%27click%27%2C () %3D> %7B%0A var matrs %3D window.prompt("How many materials would you like%3F")%3B%0A if (matrs !%3D null %7C%7C matrs !%3D undefined %7C%7C matrs !%3D NaN) %7B%0A hack.stateNode.state.materials %3D matrs%0A %7D%0A %7D)%0A setpeople.addEventListener(%27click%27%2C () %3D> %7B%0A var pple %3D window.prompt("How many people would you like%3F")%3B%0A if (pple !%3D null %7C%7C pple !%3D undefined %7C%7C pple !%3D NaN) %7B%0A hack.stateNode.state.people %3D pple%0A %7D%0A %7D)%0A max.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.gold %3D 100%3B%0A hack.stateNode.state.people %3D 100%3B%0A hack.stateNode.state.materials %3D 100%3B%0A hack.stateNode.state.happiness %3D 100%3B%0A window.alert("Maxed stats.")%0A %7D)%0A setInterval(() %3D> %7B%0A if (hack.stateNode.state.guest.no.spawn !%3D null) %7B%0A if (hack.stateNode.state.guest.no.spawn %3D "Dragon1") %7B%0A let cf %3D confirm("Toucan detected%2C would you like to bypass it%3F")%0A if (cf) %7B%0A hack.stateNode.state.guest.no.spawn %3D null%3B%0A window.alert("You can say No safely now.")%0A %7D%0A %7D%0A %7D%0A if (hack.stateNode.state.guest.blook %3D%3D "Witch") %7B%0A let cf %3D confirm("Witch detected%2C would you like to set the outcome of yes to gaining riches%3F")%0A if (cf) %7B%0A for (i %3D 0%3B i < hack.stateNode.state.guest.yes.array.length%3B i%2B%2B) %7B%0A hack.stateNode.state.guest.yes.array%5Bi%5D %3D %7B%0A "msg"%3A "Hmmmm... It looks like your future has plenty of riches."%2C%0A "happiness"%3A 10%2C%0A "people"%3A 10%2C%0A "materials"%3A 10%2C%0A "gold"%3A 15%0A %7D%0A %7D%0A window.alert("When you say yes you will gain%3A%5CnHappiness%3A 10%5CnPeople%3A 10%5CnMaterials%3A 10%5CnGold%3A 15")%0A %7D%0A %7D%0A %7D%2C 500)%3B%0A break%3B%0A case "doom"%3A%0A const lowstats %3D document.getElementById("lowstats")%0A const settokens %3D document.getElementById("settokens")%0A const maxstats %3D document.getElementById("maxstats")%0A const infhlt %3D document.getElementById("infhlt")%0A settokens.addEventListener(%27click%27%2C () %3D> %7B%0A let coinhtml %3D document.querySelector(".styles__playerEnergy___G4cGN-camelCase")%0A var coin %3D window.prompt("How many coins would you like%3F")%3B%0A if (coin !%3D null %7C%7C coin !%3D undefined %7C%7C coin !%3D NaN) %7B%0A hack.stateNode.state.coins %3D coin%0A coinhtml.innerText %3D coin%3B%0A coinhtml.innerHTML %3D coin%3B%0A coinhtml.outerText %3D coin%3B%0A coinhtml.outerHTML %3D coin%3B%0A window.alert("Set coins to " %2B coin)%0A %7D%0A %7D)%0A maxstats.addEventListener(%27click%27%2C () %3D> %7B%0A let stat %3D document.querySelectorAll(".styles__innerPower___3tJ6M-camelCase")%3B%0A let nums %3D document.querySelectorAll(".styles__powerBox___2sDuh-camelCase")%3B%0A hack.stateNode.state.myCard.charisma %3D 20%3B%0A hack.stateNode.state.myCard.strength %3D 20%3B%0A hack.stateNode.state.myCard.wisdom %3D 20%3B%0A stat%5B0%5D.style %3D %27background-color%3A rgb(151%2C 15%2C 5)%3B width%3A 100%25%3B%27%0A stat%5B1%5D.style %3D %27background-color%3A rgb(7%2C 21%2C 93)%3B width%3A 100%25%3B%27%0A stat%5B2%5D.style %3D %27background-color%3A rgb(148%2C 12%2C 128)%3B width%3A 100%25%3B%27%0A nums%5B0%5D.innerText %3D hack.stateNode.state.myCard.strength%3B%0A nums%5B1%5D.innerText %3D hack.stateNode.state.myCard.charisma%3B%0A nums%5B2%5D.innerText %3D hack.stateNode.state.myCard.wisdom%3B%0A window.alert("Set max stats.")%0A %7D)%0A lowstats.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.enemyCard.charisma %3D 0%3B%0A hack.stateNode.state.enemyCard.strength %3D 0%3B%0A hack.stateNode.state.enemyCard.wisdom %3D 0%3B%0A window.alert("Set enemy stats to 0")%0A %7D)%0A infhlt.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.myLife %3D 69420%0A window.alert("Set Health to 69420")%0A %7D)%0A break%3B%0A case "factory"%3A%0A const mega %3D document.getElementById("mega")%0A const setcash %3D document.getElementById("setcash")%0A const ng %3D document.getElementById("ng")%0A mega.addEventListener(%27click%27%2C () %3D> %7B%0A let blook %3D hack.stateNode.state.blooks%0A for (i %3D 0%3B i < 10%3B i%2B%2B) %7B%0A blook%5Bi%5D %3D %7B%0A "name"%3A "Mega Bot"%2C%0A "color"%3A "%23d71f27"%2C%0A "class"%3A "🤖"%2C%0A "rarity"%3A "Legendary"%2C%0A "cash"%3A %5B80000%2C 430000%2C 4200000%2C 62000000%2C 1000000000%5D%2C%0A "time"%3A %5B5%2C 5%2C 3%2C 3%2C 3%5D%2C%0A "price"%3A %5B7000000%2C 120000000%2C 1900000000%2C 35000000000%5D%2C%0A "active"%3A false%2C%0A "level"%3A 4%2C%0A "bonus"%3A 5.5%0A %7D%3B%0A %7D%0A %7D)%0A setcash.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.cash %3D window.prompt("How much cash would you like%3F")%0A %7D)%0A ng.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.dance %3D ""%0A hack.stateNode.state.lol %3D ""%0A hack.stateNode.state.joke %3D ""%0A hack.stateNode.state.showTour %3D ""%0A hack.stateNode.state.hazards %3D %5B""%2C ""%2C ""%2C ""%2C ""%5D%0A hack.stateNode.state.glitcherName %3D ""%0A hack.stateNode.state.glitch %3D ""%0A hack.stateNode.state.glitchMsg %3D ""%0A hack.stateNode.state.glitcherBlook %3D ""%0A window.alert("Attempted to remove glitches.")%0A %7D)%0A break%3B%0A case "fishing"%3A%0A const frenzy %3D document.getElementById("frenzy")%0A const setweight %3D document.getElementById("setweight")%0A const setlure %3D document.getElementById("setlure")%0A frenzy.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.state.isFrenzy %3D true%3B%0A %7D)%0A setweight.addEventListener(%27click%27%2C () %3D> %7B%0A var wght %3D window.prompt("How much weight would you like%3F")%3B%0A if (wght !%3D null %7C%7C wght !%3D undefined %7C%7C wght !%3D NaN) %7B%0A hack.stateNode.state.weight %3D wght%0A %7D%0A %7D)%0A setlure.addEventListener(%27click%27%2C () %3D> %7B%0A var lure %3D window.prompt("How much lure would you like%3F (0-4)")%3B%0A if (lure !%3D null %7C%7C lure !%3D undefined %7C%7C lure !%3D NaN) %7B%0A hack.stateNode.state.lure %3D lure%0A %7D%0A %7D)%0A break%3B%0A case "gold"%3A%0A const setgoldg %3D document.getElementById("setgold")%0A const choiceesp %3D document.getElementById("choiceesp")%0A setgoldg.addEventListener(%27click%27%2C () %3D> %7B%0A var gold %3D window.prompt("How much gold would you like%3F")%3B%0A if (gold !%3D null %7C%7C gold !%3D undefined %7C%7C gold !%3D NaN) %7B%0A hack.stateNode.state.gold %3D gold%0A %7D%0A %7D)%0A choiceesp.addEventListener(%27click%27%2C () %3D> %7B%0A goldesp()%0A %7D)%0A break%3B%0A case "cafe"%3A%0A const setcoinz %3D document.getElementById("setcoins")%0A const infifood %3D document.getElementById("inffood")%0A const stockf %3D document.getElementById("stock")%0A setcoinz.addEventListener(%27click%27%2C () %3D> %7B%0A hack.stateNode.setState(%7B%0A cafeCash%3A Number(parseFloat(prompt(%27How much cash would you like%3F%27)))%0A %7D)%3B%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D)%0A infifood.addEventListener(%27click%27%2C () %3D> %7B%0A if (document.location.pathname !%3D "%2Fcafe") return alert("This cheat doesn%27t work in the shop!")%3B%0A hack.stateNode.state.foods.forEach(e %3D> e.stock %3D 99999)%3B%0A hack.stateNode.forceUpdate()%3B%0A var z %3D document.getElementsByTagName("iframe")%0A z%5Bz.length - 1%5D.remove()%0A x.remove()%0A window.console.clear()%0A %7D)%0A break%3B%0A case "dino"%3A%0A const foshackz %3D document.getElementById("foshack")%0A const multifoz %3D document.getElementById("multifos")%0A foshackz.addEventListener(%27click%27%2C () %3D> %7B%0A (function(_0x3140e0%2C_0xadc443)%7Bfunction _0x436139(_0x5d092c%2C_0x606ed8%2C_0x11a08b%2C_0x137b75%2C_0x100bba)%7Breturn _0x3f3d(_0x137b75-0x1f4%2C_0x100bba)%3B%7Dfunction _0x4bd607(_0x3d50eb%2C_0x14f02a%2C_0x4d3668%2C_0x2f5560%2C_0x2911e0)%7Breturn _0x3f3d(_0x14f02a-0xbd%2C_0x2f5560)%3B%7Dfunction _0x2b58b8(_0x3074ff%2C_0x447109%2C_0x21fb9b%2C_0x5bffbc%2C_0x4367bb)%7Breturn _0x3f3d(_0x21fb9b- -0x1be%2C_0x447109)%3B%7Dvar _0x47e786%3D_0x3140e0()%3Bfunction _0x5e2e31(_0xae045%2C_0x41292f%2C_0x252b6f%2C_0x1368d3%2C_0x8691f7)%7Breturn _0x3f3d(_0x41292f- -0x1ea%2C_0x1368d3)%3B%7Dfunction _0x59baf0(_0x42846e%2C_0x329995%2C_0x5619d4%2C_0x4d1e4e%2C_0x231c2d)%7Breturn _0x3f3d(_0x4d1e4e-0x2c2%2C_0x231c2d)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x45d072%3DparseInt(_0x436139(0x2c1%2C0x2d5%2C0x31e%2C0x2ff%2C0x2dd))%2F(0x15d%2B0x161*0x18%2B-0x54*0x69)%2BparseInt(_0x2b58b8(-0x57%2C-0x6c%2C-0x50%2C-0x36%2C-0x41))%2F(0x44*0x70%2B-0x5e*0x25%2B0x2f*-0x58)*(parseInt(_0x4bd607(0x215%2C0x214%2C0x1eb%2C0x229%2C0x1d4))%2F(0x2*0x1215%2B-0x101b%2B-0x2*0xa06))%2BparseInt(_0x4bd607(0x1c6%2C0x1e2%2C0x1f6%2C0x1bd%2C0x219))%2F(-0x277%2B0x1dc1%2B-0x1b46*0x1)%2BparseInt(_0x4bd607(0x1c0%2C0x1fe%2C0x1c6%2C0x21e%2C0x234))%2F(0x8*0x47f%2B0x125a%2B-0x364d)%2B-parseInt(_0x5e2e31(-0x72%2C-0xae%2C-0x7e%2C-0x6e%2C-0xb6))%2F(-0x260%2B-0xfd*0x1%2B0x363)*(parseInt(_0x2b58b8(-0x56%2C-0x11%2C-0x4a%2C-0x1e%2C-0x7b))%2F(0x1e12%2B0x13*0x66%2B-0x259d))%2B-parseInt(_0x2b58b8(-0x11%2C-0x59%2C-0x52%2C-0x6b%2C-0x5b))%2F(-0xb34%2B0xc5*0x1f%2B0xc9f*-0x1)%2BparseInt(_0x4bd607(0x1d4%2C0x204%2C0x1d0%2C0x217%2C0x1fd))%2F(-0xd*0xcc%2B0x1916%2B-0x1*0xeb1)*(-parseInt(_0x5e2e31(-0x8b%2C-0x81%2C-0x7a%2C-0x4c%2C-0x49))%2F(0x8db*0x1%2B-0x7*0x1de%2B0x441))%3Bif(_0x45d072%3D%3D%3D_0xadc443)break%3Belse _0x47e786%5B%27push%27%5D(_0x47e786%5B%27shift%27%5D())%3B%7Dcatch(_0x52fdcd)%7B_0x47e786%5B%27push%27%5D(_0x47e786%5B%27shift%27%5D())%3B%7D%7D%7D(_0x81df%2C0xd0de%2B0x22933*-0x4%2B-0x455*-0x2f9))%3Bvar _0x48e593%3D(function()%7Bfunction _0x4ec056(_0x4f5f77%2C_0x23c12e%2C_0x61cfa3%2C_0x5ec5c0%2C_0x56d9b7)%7Breturn _0x3f3d(_0x23c12e-0x18f%2C_0x56d9b7)%3B%7Dvar _0x50d553%3D%7B%7D%3B_0x50d553%5B_0x9126ee(-0x61%2C-0x5b%2C-0x3e%2C-0x50%2C-0x4b)%5D%3Dfunction(_0x47a7b5%2C_0x12374e)%7Breturn _0x47a7b5%3D%3D%3D_0x12374e%3B%7D%2C_0x50d553%5B_0x9126ee(-0xd8%2C-0x76%2C-0xb7%2C-0xea%2C-0xe8)%5D%3D_0x9126ee(-0x7%2C0xc%2C-0x35%2C-0x26%2C0x3)%2C_0x50d553%5B_0x1fe721(0x4c2%2C0x44e%2C0x4b8%2C0x483%2C0x45d)%5D%3D_0x9126ee(-0xda%2C-0xcc%2C-0xa5%2C-0xb0%2C-0x64)%2C_0x50d553%5B_0x9126ee(-0x8c%2C-0x5c%2C-0x90%2C-0x68%2C-0xd0)%5D%3D_0x3c5ace(0x411%2C0x417%2C0x3e8%2C0x40d%2C0x3d6)%3Bfunction _0x1fe721(_0x7af1ae%2C_0x4a1052%2C_0xd96734%2C_0x4aeec8%2C_0x336e18)%7Breturn _0x3f3d(_0x4aeec8-0x365%2C_0x7af1ae)%3B%7D_0x50d553%5B_0x4ec056(0x2d5%2C0x2b3%2C0x285%2C0x27e%2C0x28a)%5D%3Dfunction(_0x38db83%2C_0x1d5283)%7Breturn _0x38db83!%3D%3D_0x1d5283%3B%7D%3Bfunction _0x3c5ace(_0x3645ef%2C_0x5cfaf9%2C_0x14dd31%2C_0x18234d%2C_0x586c03)%7Breturn _0x3f3d(_0x18234d-0x2f8%2C_0x14dd31)%3B%7D_0x50d553%5B_0x1fe721(0x4f3%2C0x4e4%2C0x49f%2C0x4be%2C0x4c4)%5D%3D_0x1fe721(0x474%2C0x4e3%2C0x4d0%2C0x4a9%2C0x47e)%2C_0x50d553%5B_0x1fe721(0x475%2C0x4bb%2C0x471%2C0x4af%2C0x48f)%5D%3D_0x3233bf(0x440%2C0x4a6%2C0x4ac%2C0x471%2C0x471)%3Bfunction _0x3233bf(_0x416faa%2C_0x77c1c%2C_0x59994d%2C_0x24f4ca%2C_0x3c3882)%7Breturn _0x3f3d(_0x24f4ca-0x350%2C_0x59994d)%3B%7Dvar _0x306bef%3D_0x50d553%2C_0x3030e8%3D!!%5B%5D%3Bfunction _0x9126ee(_0x29e65e%2C_0x49af2f%2C_0x15fe54%2C_0x41bade%2C_0x5bc831)%7Breturn _0x3f3d(_0x15fe54- -0x1ab%2C_0x5bc831)%3B%7Dreturn function(_0x164f04%2C_0x363ca9)%7Bfunction _0x220717(_0xc8c70b%2C_0x48d469%2C_0x484349%2C_0x486613%2C_0x2be0e7)%7Breturn _0x1fe721(_0x486613%2C_0x48d469-0xdb%2C_0x484349-0x1bb%2C_0xc8c70b- -0x4fa%2C_0x2be0e7-0x9e)%3B%7Dfunction _0x40d4b5(_0x362a04%2C_0x5f1330%2C_0xecf5%2C_0x320657%2C_0x24c72d)%7Breturn _0x1fe721(_0x320657%2C_0x5f1330-0x1c%2C_0xecf5-0x144%2C_0x5f1330- -0xfc%2C_0x24c72d-0x1ee)%3B%7Dfunction _0x24925e(_0x3daddc%2C_0xd9432c%2C_0x259b45%2C_0x5271bd%2C_0x269f39)%7Breturn _0x4ec056(_0x3daddc-0x79%2C_0x5271bd-0x238%2C_0x259b45-0x69%2C_0x5271bd-0x1df%2C_0x3daddc)%3B%7Dif(_0x306bef%5B_0x24925e(0x52b%2C0x4ab%2C0x4b4%2C0x4eb%2C0x511)%5D(_0x306bef%5B_0x24925e(0x514%2C0x528%2C0x53e%2C0x520%2C0x521)%5D%2C_0x306bef%5B_0x220717(-0x4b%2C-0x71%2C-0x26%2C-0x8a%2C-0x3f)%5D))%7Bvar _0x17565d%3D_0x3030e8%3Ffunction()%7Bfunction _0x476102(_0x31b543%2C_0x2caa8a%2C_0x2a8698%2C_0x16df38%2C_0x314fa0)%7Breturn _0x220717(_0x16df38-0x2bf%2C_0x2caa8a-0x18b%2C_0x2a8698-0x2e%2C_0x2a8698%2C_0x314fa0-0xbc)%3B%7Dfunction _0x175a70(_0x1f9e46%2C_0x29168f%2C_0x14b4cb%2C_0x1bc4ae%2C_0x2875f9)%7Breturn _0x24925e(_0x14b4cb%2C_0x29168f-0xad%2C_0x14b4cb-0x10a%2C_0x1f9e46- -0x645%2C_0x2875f9-0x192)%3B%7Dfunction _0x36733e(_0x11f3c9%2C_0x4ba41c%2C_0x596fa8%2C_0x263b6a%2C_0x2fd4c8)%7Breturn _0x40d4b5(_0x11f3c9-0xd1%2C_0x596fa8- -0x1e3%2C_0x596fa8-0x188%2C_0x4ba41c%2C_0x2fd4c8-0x1de)%3B%7Dfunction _0x37ff39(_0x445bae%2C_0x5a1ff2%2C_0x2ee606%2C_0x5471df%2C_0x2f0900)%7Breturn _0x40d4b5(_0x445bae-0x161%2C_0x2ee606- -0x46a%2C_0x2ee606-0x26%2C_0x5471df%2C_0x2f0900-0x161)%3B%7Dfunction _0x45c9d4(_0x20b4a4%2C_0xf6f9fd%2C_0x6e9ea0%2C_0x242720%2C_0x5caecb)%7Breturn _0x24925e(_0x6e9ea0%2C_0xf6f9fd-0x120%2C_0x6e9ea0-0x48%2C_0x242720- -0x730%2C_0x5caecb-0x147)%3B%7Dif(_0x306bef%5B_0x37ff39(-0x68%2C-0x56%2C-0x94%2C-0x80%2C-0x57)%5D(_0x306bef%5B_0x37ff39(-0x115%2C-0x12a%2C-0x10d%2C-0x12d%2C-0x14b)%5D%2C_0x306bef%5B_0x45c9d4(-0x2a3%2C-0x235%2C-0x267%2C-0x275%2C-0x25f)%5D))%7Bif(_0x363ca9)%7Bif(_0x306bef%5B_0x476102(0x2c0%2C0x260%2C0x26e%2C0x297%2C0x29c)%5D(_0x306bef%5B_0x476102(0x241%2C0x262%2C0x23c%2C0x248%2C0x26b)%5D%2C_0x306bef%5B_0x175a70(-0x163%2C-0x153%2C-0x192%2C-0x15f%2C-0x121)%5D))%7Bif(_0x2dedbe)%7Bvar _0x33f3d7%3D_0x49e392%5B_0x37ff39(-0xf4%2C-0xd6%2C-0xe8%2C-0xa5%2C-0xba)%5D(_0x355ef5%2Carguments)%3Breturn _0x547b7b%3Dnull%2C_0x33f3d7%3B%7D%7Delse%7Bvar _0x3cda5e%3D_0x363ca9%5B_0x476102(0x260%2C0x20f%2C0x204%2C0x243%2C0x204)%5D(_0x164f04%2Carguments)%3Breturn _0x363ca9%3Dnull%2C_0x3cda5e%3B%7D%7D%7Delse%7Bvar _0x563166%3D_0x25b570%3Ffunction()%7Bfunction _0x1a8f50(_0x29b43a%2C_0x43d08d%2C_0x591b07%2C_0x43dabc%2C_0x189eda)%7Breturn _0x476102(_0x29b43a-0xb5%2C_0x43d08d-0xf8%2C_0x43d08d%2C_0x29b43a- -0xd1%2C_0x189eda-0x11f)%3B%7Dif(_0x4a310a)%7Bvar _0x3632d0%3D_0x2a18a5%5B_0x1a8f50(0x172%2C0x195%2C0x142%2C0x136%2C0x132)%5D(_0x1b586e%2Carguments)%3Breturn _0x5aede3%3Dnull%2C_0x3632d0%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x2889de%3D!%5B%5D%2C_0x563166%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x3030e8%3D!%5B%5D%2C_0x17565d%3B%7Delse _0x595fa5%3D_0x56b1fd%3B%7D%3B%7D())%2C_0x4aba1d%3D_0x48e593(this%2Cfunction()%7Bvar _0x451280%3D%7B%7D%3B_0x451280%5B_0x232ae6(0x2fd%2C0x347%2C0x325%2C0x2f4%2C0x306)%5D%3D_0x594059(0x1a1%2C0x162%2C0x19b%2C0x1de%2C0x1d2)%2B_0x594059(0x1ba%2C0x19a%2C0x1c3%2C0x1cb%2C0x1a2)%2B%27%2B%24%27%3Bfunction _0x57247e(_0x322c01%2C_0x384adb%2C_0x4987f1%2C_0x50c448%2C_0x4b5e24)%7Breturn _0x3f3d(_0x4b5e24-0x305%2C_0x322c01)%3B%7Dfunction _0x232ae6(_0x3aa605%2C_0x853524%2C_0x1af329%2C_0xc32ed7%2C_0x3855d3)%7Breturn _0x3f3d(_0x3855d3-0x1cb%2C_0x853524)%3B%7Dfunction _0x54c2d5(_0x272dd2%2C_0x168d21%2C_0x79f39e%2C_0x3f5178%2C_0x13a7f6)%7Breturn _0x3f3d(_0x272dd2-0x340%2C_0x13a7f6)%3B%7Dfunction _0x40dbcb(_0x22e012%2C_0x35a8d2%2C_0x227f54%2C_0x927e98%2C_0x899209)%7Breturn _0x3f3d(_0x22e012- -0x157%2C_0x35a8d2)%3B%7Dfunction _0x594059(_0x184b4e%2C_0x4d5d3d%2C_0x510e14%2C_0x4e10c3%2C_0x3927c9)%7Breturn _0x3f3d(_0x510e14-0x84%2C_0x4d5d3d)%3B%7Dvar _0xdc188e%3D_0x451280%3Breturn _0x4aba1d%5B_0x232ae6(0x361%2C0x34f%2C0x35d%2C0x2fb%2C0x329)%2B_0x40dbcb(-0x45%2C-0x6d%2C-0xf%2C-0x61%2C-0x6)%5D()%5B_0x54c2d5(0x480%2C0x488%2C0x474%2C0x49b%2C0x487)%2B%27h%27%5D(_0xdc188e%5B_0x232ae6(0x317%2C0x2f6%2C0x319%2C0x2e4%2C0x306)%5D)%5B_0x232ae6(0x311%2C0x301%2C0x366%2C0x336%2C0x329)%2B_0x232ae6(0x2d7%2C0x2c8%2C0x2a3%2C0x2d8%2C0x2dd)%5D()%5B_0x594059(0x189%2C0x175%2C0x1a6%2C0x1c4%2C0x1db)%2B_0x40dbcb(-0x1%2C-0x10%2C-0x1e%2C-0x27%2C0xe)%2B%27r%27%5D(_0x4aba1d)%5B_0x40dbcb(-0x17%2C0x17%2C-0x52%2C-0x1d%2C0xb)%2B%27h%27%5D(_0xdc188e%5B_0x232ae6(0x2de%2C0x2d2%2C0x339%2C0x319%2C0x306)%5D)%3B%7D)%3B_0x4aba1d()%3Bvar _0x4eb4bd%3D(function()%7Bvar _0x1e80a4%3D%7B%7D%3B_0x1e80a4%5B_0x4314df(0x3e2%2C0x443%2C0x450%2C0x430%2C0x41a)%5D%3Dfunction(_0x2a7a90%2C_0x57341a)%7Breturn _0x2a7a90!%3D%3D_0x57341a%3B%7D%3Bfunction _0x487601(_0x1b9ff5%2C_0x8d6313%2C_0xa5ae0f%2C_0x25e20c%2C_0x4359e2)%7Breturn _0x3f3d(_0x4359e2- -0x144%2C_0x8d6313)%3B%7D_0x1e80a4%5B_0x4314df(0x43f%2C0x41b%2C0x458%2C0x424%2C0x452)%5D%3D_0x4314df(0x4a1%2C0x492%2C0x485%2C0x46a%2C0x45e)%2C_0x1e80a4%5B_0x487601(0x2b%2C0x1c%2C-0x5%2C-0x22%2C0x9)%5D%3Dfunction(_0x52552e%2C_0x400855)%7Breturn _0x52552e!%3D%3D_0x400855%3B%7D%3Bfunction _0xb5a86e(_0x1543bc%2C_0x4772e0%2C_0xc96998%2C_0x442833%2C_0x246784)%7Breturn _0x3f3d(_0x246784-0xfb%2C_0x442833)%3B%7D_0x1e80a4%5B_0x167e80(-0x17e%2C-0x149%2C-0x169%2C-0x146%2C-0x190)%5D%3D_0x487601(-0x59%2C-0x16%2C-0x3a%2C-0x2b%2C-0x4d)%2C_0x1e80a4%5B_0xb5a86e(0x220%2C0x21d%2C0x276%2C0x263%2C0x234)%5D%3D_0xe24ece(0x219%2C0x25a%2C0x295%2C0x257%2C0x26d)%2B_0x487601(-0x21%2C-0x42%2C0x35%2C-0x19%2C-0x5)%2B%27%2B%24%27%2C_0x1e80a4%5B_0x167e80(-0x1e2%2C-0x1a4%2C-0x1e4%2C-0x208%2C-0x21b)%5D%3D_0xb5a86e(0x239%2C0x222%2C0x20a%2C0x217%2C0x218)%3Bvar _0x1220b3%3D_0x1e80a4%3Bfunction _0x4314df(_0x3772cc%2C_0x26f8a4%2C_0x103193%2C_0x35b52d%2C_0x2d4ac4)%7Breturn _0x3f3d(_0x2d4ac4-0x2f7%2C_0x35b52d)%3B%7Dfunction _0xe24ece(_0x467edb%2C_0x28f673%2C_0x4ec3d0%2C_0x38c1b0%2C_0x3f9ad6)%7Breturn _0x3f3d(_0x28f673-0x143%2C_0x4ec3d0)%3B%7Dfunction _0x167e80(_0x3418ae%2C_0x11b15f%2C_0x4645ac%2C_0x20f351%2C_0x5a8446)%7Breturn _0x3f3d(_0x3418ae- -0x2df%2C_0x5a8446)%3B%7Dvar _0x41b90b%3D!!%5B%5D%3Breturn function(_0x2abb8f%2C_0x200126)%7Bfunction _0xa398a6(_0x465b53%2C_0x2c9998%2C_0x18d043%2C_0x1b8c28%2C_0xb493cc)%7Breturn _0xb5a86e(_0x465b53-0x1d8%2C_0x2c9998-0x73%2C_0x18d043-0x1a5%2C_0x2c9998%2C_0xb493cc- -0xac)%3B%7Dfunction _0x207216(_0x61639%2C_0x1fcf0c%2C_0x1d5344%2C_0x487bdb%2C_0x169123)%7Breturn _0x167e80(_0x1fcf0c-0x66c%2C_0x1fcf0c-0x14f%2C_0x1d5344-0x1%2C_0x487bdb-0x54%2C_0x169123)%3B%7Dvar _0x4bdf93%3D%7B%7D%3Bfunction _0x396311(_0x16b5a0%2C_0x2c07d5%2C_0x30f3e7%2C_0x435286%2C_0x51b6a9)%7Breturn _0x167e80(_0x16b5a0-0x1b2%2C_0x2c07d5-0x19e%2C_0x30f3e7-0x1ee%2C_0x435286-0xba%2C_0x435286)%3B%7Dfunction _0x3353a2(_0x2e3002%2C_0x34ac85%2C_0x4915fe%2C_0x1f24b5%2C_0x1ee72f)%7Breturn _0xe24ece(_0x2e3002-0x9c%2C_0x4915fe- -0x4e5%2C_0x1f24b5%2C_0x1f24b5-0x19c%2C_0x1ee72f-0xe1)%3B%7Dfunction _0x423455(_0x253c79%2C_0x353d24%2C_0x504b32%2C_0x412d34%2C_0x2641b2)%7Breturn _0xe24ece(_0x253c79-0x164%2C_0x504b32- -0x17c%2C_0x253c79%2C_0x412d34-0x129%2C_0x2641b2-0xf0)%3B%7D_0x4bdf93%5B_0x207216(0x527%2C0x4fc%2C0x4e9%2C0x53e%2C0x538)%5D%3D_0x1220b3%5B_0x207216(0x504%2C0x4c6%2C0x4ee%2C0x4ae%2C0x4e9)%5D%3Bvar _0x194bdd%3D_0x4bdf93%3Bif(_0x1220b3%5B_0x423455(0xd1%2C0xcd%2C0xea%2C0x117%2C0xf9)%5D(_0x1220b3%5B_0x207216(0x4a8%2C0x48a%2C0x4af%2C0x4c1%2C0x480)%5D%2C_0x1220b3%5B_0x207216(0x459%2C0x48a%2C0x477%2C0x4c8%2C0x4a2)%5D))%7Bvar _0x2b6849%3D_0x1a257f%5B_0x396311(-0x14%2C-0x42%2C0x11%2C-0x35%2C0x11)%5D(_0xb8eb6d%2Carguments)%3Breturn _0x41311c%3Dnull%2C_0x2b6849%3B%7Delse%7Bvar _0x36c882%3D_0x41b90b%3Ffunction()%7Bfunction _0x3b9e41(_0x389d39%2C_0x455c4e%2C_0x5be7ab%2C_0x46ebd3%2C_0x419652)%7Breturn _0xa398a6(_0x389d39-0x8%2C_0x5be7ab%2C_0x5be7ab-0xa2%2C_0x46ebd3-0x1bb%2C_0x389d39- -0x325)%3B%7Dfunction _0x4e30a1(_0x20d536%2C_0x48a5c0%2C_0x224849%2C_0xa185c5%2C_0x1c645d)%7Breturn _0x3353a2(_0x20d536-0x8d%2C_0x48a5c0-0x37%2C_0xa185c5-0x4e0%2C_0x1c645d%2C_0x1c645d-0xe2)%3B%7Dfunction _0x3e3758(_0x459e3b%2C_0x36f3b1%2C_0x5cbc26%2C_0x1d1b83%2C_0x11f554)%7Breturn _0xa398a6(_0x459e3b-0x122%2C_0x1d1b83%2C_0x5cbc26-0x16d%2C_0x1d1b83-0x19f%2C_0x36f3b1-0x2b)%3B%7Dfunction _0x5c6d73(_0x5195aa%2C_0x2bc431%2C_0x348f40%2C_0x16059e%2C_0x1a9057)%7Breturn _0x423455(_0x5195aa%2C_0x2bc431-0xe4%2C_0x16059e- -0x127%2C_0x16059e-0x33%2C_0x1a9057-0x90)%3B%7Dfunction _0x576516(_0x43d4b0%2C_0x172ba3%2C_0x4aefd0%2C_0x11ef51%2C_0x46cfc2)%7Breturn _0xa398a6(_0x43d4b0-0x18%2C_0x11ef51%2C_0x4aefd0-0x1b1%2C_0x11ef51-0x82%2C_0x4aefd0- -0x3ec)%3B%7Dif(_0x1220b3%5B_0x4e30a1(0x280%2C0x221%2C0x27b%2C0x261%2C0x258)%5D(_0x1220b3%5B_0x576516(-0x27e%2C-0x211%2C-0x242%2C-0x27c%2C-0x20c)%5D%2C_0x1220b3%5B_0x5c6d73(-0x1d%2C-0x1b%2C-0x1e%2C-0x5%2C0xc)%5D))%7Bvar _0x5ecabe%3D_0xe5ed9c%3Ffunction()%7Bfunction _0x40faf3(_0x353304%2C_0x8ec933%2C_0x4f8b1c%2C_0x5cc550%2C_0x4f1d06)%7Breturn _0x4e30a1(_0x353304-0x3c%2C_0x8ec933-0x73%2C_0x4f8b1c-0x1ac%2C_0x353304- -0x3a%2C_0x4f1d06)%3B%7Dif(_0x47ff22)%7Bvar _0x90a3bb%3D_0x17971a%5B_0x40faf3(0x21d%2C0x237%2C0x203%2C0x24e%2C0x218)%5D(_0xbe14e4%2Carguments)%3Breturn _0x5ed4af%3Dnull%2C_0x90a3bb%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x10fa3a%3D!%5B%5D%2C_0x5ecabe%3B%7Delse%7Bif(_0x200126)%7Bif(_0x1220b3%5B_0x4e30a1(0x256%2C0x2a3%2C0x255%2C0x28b%2C0x262)%5D(_0x1220b3%5B_0x3b9e41(-0x175%2C-0x198%2C-0x19f%2C-0x163%2C-0x18f)%5D%2C_0x1220b3%5B_0x576516(-0x217%2C-0x1fa%2C-0x23c%2C-0x217%2C-0x222)%5D))return _0x1c88bf%5B_0x4e30a1(0x2d6%2C0x27d%2C0x29d%2C0x29c%2C0x28b)%2B_0x4e30a1(0x28f%2C0x266%2C0x255%2C0x250%2C0x248)%5D()%5B_0x3e3758(0x1b3%2C0x1ba%2C0x1e5%2C0x17d%2C0x1bc)%2B%27h%27%5D(_0x194bdd%5B_0x576516(-0x22e%2C-0x22e%2C-0x22e%2C-0x242%2C-0x230)%5D)%5B_0x4e30a1(0x2d5%2C0x292%2C0x2cd%2C0x29c%2C0x2d3)%2B_0x576516(-0x284%2C-0x278%2C-0x28b%2C-0x2ca%2C-0x2aa)%5D()%5B_0x3b9e41(-0x1b4%2C-0x1cf%2C-0x1f0%2C-0x1c1%2C-0x192)%2B_0x576516(-0x207%2C-0x26c%2C-0x247%2C-0x27d%2C-0x249)%2B%27r%27%5D(_0xfa95d0)%5B_0x4e30a1(0x29a%2C0x282%2C0x2a9%2C0x27e%2C0x2b9)%2B%27h%27%5D(_0x194bdd%5B_0x3b9e41(-0x167%2C-0x135%2C-0x167%2C-0x17e%2C-0x13d)%5D)%3Belse%7Bvar _0x49ae88%3D_0x200126%5B_0x4e30a1(0x240%2C0x239%2C0x221%2C0x257%2C0x264)%5D(_0x2abb8f%2Carguments)%3Breturn _0x200126%3Dnull%2C_0x49ae88%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x41b90b%3D!%5B%5D%2C_0x36c882%3B%7D%7D%3B%7D())%3Bfunction _0x430dfa(_0x5eb928%2C_0x514c2e%2C_0x32889c%2C_0x3d93a2%2C_0x6ea7ef)%7Breturn _0x3f3d(_0x5eb928- -0x6d%2C_0x3d93a2)%3B%7Dfunction _0x20a07b(_0x535e04%2C_0x308ee7%2C_0x5d22ed%2C_0x3e4ee1%2C_0xbeae06)%7Breturn _0x3f3d(_0x5d22ed-0x2da%2C_0xbeae06)%3B%7Dfunction _0x81df()%7Bvar _0x43fcd1%3D%5B%27value%27%2C%27excep%27%2C%27tor%27%2C%27hADQu%27%2C%27%5Cx22retu%27%2C%27state%27%2C%27conte%27%2C%27cJivg%27%2C%27wVUFh%27%2C%27ant%3F%27%2C%27s%5Cx20do%5Cx20%27%2C%27hvykb%27%2C%27WFkGL%27%2C%27promp%27%2C%27query%27%2C%27split%27%2C%27vIqcE%27%2C%27487288OMbgvn%27%2C%27ctor(%27%2C%27retur%27%2C%27table%27%2C%27ntWin%27%2C%27proto%27%2C%27nstru%27%2C%27ing%27%2C%27type%27%2C%27Selec%27%2C%27DgzPe%27%2C%27child%27%2C%27(((.%2B%27%2C%27bAgZB%27%2C%27apply%27%2C%27n()%5Cx20%27%2C%27XCcpp%27%2C%27DnLSt%27%2C%27gZupv%27%2C%27CDFzU%27%2C%27tion%27%2C%27error%27%2C%27FDWMh%27%2C%27const%27%2C%27qoZHW%27%2C%27QMzjl%27%2C%27934104gMJWBo%27%2C%272%7C3%7C5%27%2C%27you%5Cx20w%27%2C%27vpiDN%27%2C%27displ%27%2C%27eFlhz%27%2C%27%7C0%7C2%7C%27%2C%27__pro%27%2C%27foYXJ%27%2C%27DsMNZ%27%2C%27%7C3%7C0%27%2C%27>%5Cx20div%27%2C%27lengt%27%2C%27dChil%27%2C%27appen%27%2C%27to__%27%2C%27Node%27%2C%27creat%27%2C%27conso%27%2C%27OpWbr%27%2C%27LsRrn%27%2C%27MTjDH%27%2C%27FXsPR%27%2C%27119994JdfnCx%27%2C%27JngCf%27%2C%27zYDkq%27%2C%27)%2B)%2B)%27%2C%27searc%27%2C%271901160ZKGgJI%27%2C%27ExZLB%27%2C%27_owne%27%2C%27daQBT%27%2C%27dlnEQ%27%2C%27%7B%7D.co%27%2C%27171BHtzLq%27%2C%27n%5Cx20(fu%27%2C%27FlVgh%27%2C%27kLeiB%27%2C%27wRTrr%27%2C%27QjioC%27%2C%27NTIET%27%2C%27none%27%2C%27%23app%5Cx20%27%2C%27fossi%27%2C%27Jlygl%27%2C%27WSGMC%27%2C%27ren%27%2C%27dLuNT%27%2C%27eElem%27%2C%27ructo%27%2C%276mOblJK%27%2C%27uch%5Cx20f%27%2C%27gQGBZ%27%2C%27info%27%2C%27oulQL%27%2C%27nkFFI%27%2C%27%5Cx20>%5Cx20di%27%2C%27toStr%27%2C%27hQDGZ%27%2C%27ossil%27%2C%27QJSBz%27%2C%27%7C1%7C4%7C%27%2C%27dow%27%2C%27nctio%27%2C%27ent%27%2C%27trace%27%2C%27QgaKS%27%2C%273%7C4%7C5%27%2C%27309890ATyvoi%27%2C%27is%5Cx22)(%27%2C%27JxrpT%27%2C%274307704UsFRzn%27%2C%27KKMVD%27%2C%27537142pBTrpX%27%2C%27FUSDe%27%2C%27ifram%27%2C%27warn%27%2C%27iEaFY%27%2C%27hEkfu%27%2C%2763WFYhVE%27%2C%27bind%27%2C%27cpysq%27%2C%27body%27%2C%27rn%5Cx20th%27%2C%27How%5Cx20m%27%2C%27ZAHjQ%27%2C%27log%27%2C%27oKlOI%27%2C%27kEuRC%27%2C%27style%27%2C%274%7C2%7C1%27%5D%3B_0x81df%3Dfunction()%7Breturn _0x43fcd1%3B%7D%3Breturn _0x81df()%3B%7Dvar _0x5490d9%3D_0x4eb4bd(this%2Cfunction()%7Bvar _0x965163%3D%7B%27oKlOI%27%3A_0x35a038(0x2a4%2C0x29d%2C0x2d6%2C0x2a4%2C0x306)%2B_0x35a038(0x2fc%2C0x328%2C0x30c%2C0x318%2C0x2ea)%2C%27JxrpT%27%3Afunction(_0xcfc253%2C_0x3ec327)%7Breturn _0xcfc253<_0x3ec327%3B%7D%2C%27cJivg%27%3A_0x1265f2(-0x127%2C-0xfa%2C-0x113%2C-0xe5%2C-0x156)%2B_0x35a038(0x31d%2C0x33a%2C0x33f%2C0x31f%2C0x355)%2B%270%27%2C%27hQDGZ%27%3Afunction(_0x3b32e3%2C_0x15cff8)%7Breturn _0x3b32e3(_0x15cff8)%3B%7D%2C%27hEkfu%27%3Afunction(_0x2529f9%2C_0x35125e)%7Breturn _0x2529f9%2B_0x35125e%3B%7D%2C%27nkFFI%27%3Afunction(_0x464a38%2C_0x4b2b14)%7Breturn _0x464a38%2B_0x4b2b14%3B%7D%2C%27ExZLB%27%3A_0x35a038(0x307%2C0x319%2C0x2ea%2C0x318%2C0x312)%2B_0x35a038(0x336%2C0x315%2C0x325%2C0x309%2C0x34f)%2B_0x67f2a8(0xc4%2C0xcd%2C0xab%2C0xbe%2C0xab)%2B_0x67f2a8(0x33%2C0xa1%2C0x99%2C0x93%2C0x61)%2C%27JngCf%27%3A_0x67f2a8(0x7c%2C0x75%2C0xc3%2C0xad%2C0x8d)%2B_0x35a038(0x316%2C0x331%2C0x2ee%2C0x2ca%2C0x2ab)%2B_0x35a038(0x32b%2C0x2e5%2C0x2e9%2C0x32c%2C0x2fc)%2B_0x8afebf(0x28f%2C0x299%2C0x2d6%2C0x303%2C0x2ca)%2B_0x1265f2(-0xb1%2C-0xf5%2C-0xc1%2C-0xba%2C-0x90)%2B_0x8afebf(0x31f%2C0x35d%2C0x35f%2C0x341%2C0x336)%2B%27%5Cx20)%27%2C%27wVUFh%27%3Afunction(_0x57b928)%7Breturn _0x57b928()%3B%7D%2C%27dlnEQ%27%3A_0x8afebf(0x2b2%2C0x2ae%2C0x2f0%2C0x2a5%2C0x2c1)%2C%27dLuNT%27%3A_0x67f2a8(0xc3%2C0xa9%2C0xc5%2C0xdd%2C0xb8)%2C%27WSGMC%27%3A_0x67f2a8(0x8f%2C0x79%2C0xc1%2C0x64%2C0xa1)%2C%27iEaFY%27%3A_0x35a038(0x2c0%2C0x332%2C0x2fd%2C0x2dd%2C0x2c5)%2C%27bAgZB%27%3A_0x67f2a8(0x7c%2C0x62%2C0x5a%2C0x0%2C0x42)%2B_0x67f2a8(0x5f%2C0x82%2C0x2a%2C0x5e%2C0x66)%2C%27eFlhz%27%3A_0x67f2a8(0x61%2C0x45%2C0x1c%2C0x63%2C0x55)%2C%27wRTrr%27%3A_0x1265f2(-0xac%2C-0xf7%2C-0xd3%2C-0xf6%2C-0xf8)%2C%27hvykb%27%3Afunction(_0xeb8763%2C_0x5190f9)%7Breturn _0xeb8763!%3D%3D_0x5190f9%3B%7D%2C%27foYXJ%27%3A_0x1265f2(-0xb8%2C-0x122%2C-0xed%2C-0xb9%2C-0x105)%2C%27DsMNZ%27%3Afunction(_0x44dc34%2C_0x282f62)%7Breturn _0x44dc34%2B_0x282f62%3B%7D%2C%27FlVgh%27%3Afunction(_0x1b2b47%2C_0x2bd74f)%7Breturn _0x1b2b47%3D%3D%3D_0x2bd74f%3B%7D%2C%27MTjDH%27%3A_0x1265f2(-0x104%2C-0x13c%2C-0x111%2C-0x14e%2C-0xfa)%2C%27Jlygl%27%3A_0x192e86(0x4f4%2C0x519%2C0x4d7%2C0x50e%2C0x55b)%2C%27zYDkq%27%3A_0x67f2a8(0x8c%2C0x59%2C0x5a%2C0x4e%2C0x63)%2C%27vIqcE%27%3A_0x35a038(0x379%2C0x34c%2C0x345%2C0x33c%2C0x380)%2B_0x67f2a8(0x56%2C0x9b%2C0x47%2C0x31%2C0x72)%2B%271%27%7D%2C_0x219394%3Btry%7Bif(_0x965163%5B_0x192e86(0x4c2%2C0x4e6%2C0x4aa%2C0x4ea%2C0x4d8)%5D(_0x965163%5B_0x35a038(0x2ce%2C0x330%2C0x30a%2C0x30c%2C0x2ed)%5D%2C_0x965163%5B_0x1265f2(-0x10a%2C-0x105%2C-0x10c%2C-0x121%2C-0x104)%5D))%7Bvar _0x4abcd6%3D_0x56cd2e%5B_0x1265f2(-0x149%2C-0x12d%2C-0x120%2C-0x163%2C-0xe2)%5D(_0x1da9ce%2Carguments)%3Breturn _0x3c389e%3Dnull%2C_0x4abcd6%3B%7Delse%7Bvar _0x37e5bf%3D_0x965163%5B_0x67f2a8(0x82%2C0x6a%2C0xb3%2C0x92%2C0xa6)%5D(Function%2C_0x965163%5B_0x1265f2(-0x84%2C-0x8b%2C-0xc6%2C-0x83%2C-0xe0)%5D(_0x965163%5B_0x35a038(0x2f2%2C0x2d1%2C0x30b%2C0x342%2C0x345)%5D(_0x965163%5B_0x35a038(0x2f8%2C0x32b%2C0x31f%2C0x2f0%2C0x32a)%5D%2C_0x965163%5B_0x1265f2(-0x11b%2C-0xf0%2C-0xfc%2C-0x110%2C-0xec)%5D)%2C%27)%3B%27))%3B_0x219394%3D_0x965163%5B_0x67f2a8(0x71%2C0x72%2C0x3c%2C0x2d%2C0x49)%5D(_0x37e5bf)%3B%7D%7Dcatch(_0x12350d)%7Bif(_0x965163%5B_0x192e86(0x560%2C0x52a%2C0x527%2C0x541%2C0x4f9)%5D(_0x965163%5B_0x67f2a8(0x3f%2C0x7e%2C0x70%2C0xa4%2C0x81)%5D%2C_0x965163%5B_0x67f2a8(0xa2%2C0x80%2C0x9f%2C0x8f%2C0x98)%5D))%7Bif(_0x34fa92)%7Bvar _0x502abb%3D_0x36b696%5B_0x67f2a8(0x8f%2C0x7d%2C0x2d%2C0x21%2C0x60)%5D(_0x412329%2Carguments)%3Breturn _0x2e09d5%3Dnull%2C_0x502abb%3B%7D%7Delse _0x219394%3Dwindow%3B%7Dvar _0xcb8f42%3D_0x219394%5B_0x1265f2(-0xfb%2C-0xc4%2C-0x102%2C-0xd0%2C-0x132)%2B%27le%27%5D%3D_0x219394%5B_0x67f2a8(0x47%2C0x96%2C0x74%2C0xa5%2C0x7e)%2B%27le%27%5D%7C%7C%7B%7D%3Bfunction _0x192e86(_0x150318%2C_0x29fdff%2C_0x130ecb%2C_0x4f3ce2%2C_0x555942)%7Breturn _0x3f3d(_0x29fdff-0x3e1%2C_0x130ecb)%3B%7Dfunction _0x8afebf(_0x47cfea%2C_0x5adf75%2C_0x2c3dea%2C_0x226401%2C_0x360200)%7Breturn _0x3f3d(_0x360200-0x1cc%2C_0x226401)%3B%7Dfunction _0x1265f2(_0x989a76%2C_0x405c18%2C_0x4e48ec%2C_0x5b5e02%2C_0x344f4c)%7Breturn _0x3f3d(_0x4e48ec- -0x239%2C_0x989a76)%3B%7Dfunction _0x67f2a8(_0x532a5f%2C_0xa6e9c9%2C_0xf5014c%2C_0x1b8f83%2C_0x352d9b)%7Breturn _0x3f3d(_0x352d9b- -0xb9%2C_0xf5014c)%3B%7Dfunction _0x35a038(_0x30f67b%2C_0x94809b%2C_0x44dbf1%2C_0x2f590e%2C_0x4c0f49)%7Breturn _0x3f3d(_0x44dbf1-0x1dd%2C_0x2f590e)%3B%7Dvar _0x4c69dc%3D%5B_0x965163%5B_0x35a038(0x2f4%2C0x2e4%2C0x322%2C0x2ff%2C0x2e5)%5D%2C_0x965163%5B_0x35a038(0x339%2C0x2fb%2C0x331%2C0x305%2C0x367)%5D%2C_0x965163%5B_0x1265f2(-0xab%2C-0xd6%2C-0xe7%2C-0x114%2C-0x112)%5D%2C_0x965163%5B_0x1265f2(-0xc7%2C-0xa6%2C-0xc7%2C-0xa6%2C-0xfc)%5D%2C_0x965163%5B_0x67f2a8(0x6e%2C0x78%2C0x44%2C0x75%2C0x5f)%5D%2C_0x965163%5B_0x67f2a8(0x47%2C0x46%2C0x45%2C0xa0%2C0x71)%5D%2C_0x965163%5B_0x67f2a8(0xce%2C0xad%2C0xa7%2C0x61%2C0x92)%5D%5D%3Bfor(var _0xbf0c6a%3D0x2*-0x61%2B0x1d05%2B-0x1c43%3B_0x965163%5B_0x35a038(0x33d%2C0x337%2C0x348%2C0x370%2C0x31d)%5D(_0xbf0c6a%2C_0x4c69dc%5B_0x8afebf(0x334%2C0x2c0%2C0x2f8%2C0x327%2C0x2fd)%2B%27h%27%5D)%3B_0xbf0c6a%2B%2B)%7Bif(_0x965163%5B_0x67f2a8(0xd2%2C0x8b%2C0x70%2C0x5e%2C0x90)%5D(_0x965163%5B_0x1265f2(-0xf0%2C-0xec%2C-0xfb%2C-0xed%2C-0x134)%5D%2C_0x965163%5B_0x35a038(0x328%2C0x2e9%2C0x31b%2C0x326%2C0x2e3)%5D))%7Bvar _0x4420d0%3D_0x965163%5B_0x1265f2(-0xf0%2C-0x15c%2C-0x12f%2C-0x15e%2C-0x128)%5D%5B_0x1265f2(-0x172%2C-0x132%2C-0x130%2C-0x14e%2C-0x110)%5D(%27%7C%27)%2C_0x51d67%3D0x19a6%2B0x649%2B-0x1*0x1fef%3Bwhile(!!%5B%5D)%7Bswitch(_0x4420d0%5B_0x51d67%2B%2B%5D)%7Bcase%270%27%3A_0xe5e00a%5B_0x67f2a8(0x69%2C0x30%2C0x3d%2C0xa9%2C0x73)%2B_0x35a038(0x2f1%2C0x31b%2C0x311%2C0x343%2C0x322)%5D%3D_0x4eb4bd%5B_0x1265f2(-0xdd%2C-0x9b%2C-0xc4%2C-0x91%2C-0xc6)%5D(_0x4eb4bd)%3Bcontinue%3Bcase%271%27%3A_0xcb8f42%5B_0x382a35%5D%3D_0xe5e00a%3Bcontinue%3Bcase%272%27%3A_0xe5e00a%5B_0x1265f2(-0x10b%2C-0x10c%2C-0xdb%2C-0xd7%2C-0x99)%2B_0x67f2a8(0x3a%2C0x20%2C0x43%2C0x97%2C0x59)%5D%3D_0x1f7193%5B_0x35a038(0x36d%2C0x303%2C0x33b%2C0x34a%2C0x307)%2B_0x35a038(0x2d1%2C0x2bb%2C0x2ef%2C0x2d9%2C0x324)%5D%5B_0x8afebf(0x33e%2C0x352%2C0x35b%2C0x351%2C0x341)%5D(_0x1f7193)%3Bcontinue%3Bcase%273%27%3Avar _0xe5e00a%3D_0x4eb4bd%5B_0x192e86(0x543%2C0x503%2C0x4f8%2C0x4f4%2C0x4de)%2B_0x67f2a8(0xbb%2C0xa6%2C0x5e%2C0xbc%2C0x9d)%2B%27r%27%5D%5B_0x8afebf(0x310%2C0x2a3%2C0x2e5%2C0x2e4%2C0x2dc)%2B_0x67f2a8(0x4d%2C0x61%2C0x93%2C0x39%2C0x5a)%5D%5B_0x192e86(0x55b%2C0x556%2C0x513%2C0x561%2C0x58b)%5D(_0x4eb4bd)%3Bcontinue%3Bcase%274%27%3Avar _0x382a35%3D_0x4c69dc%5B_0xbf0c6a%5D%3Bcontinue%3Bcase%275%27%3Avar _0x1f7193%3D_0xcb8f42%5B_0x382a35%5D%7C%7C_0xe5e00a%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x4a0478%3D_0x965163%5B_0x1265f2(-0x166%2C-0x119%2C-0x143%2C-0x132%2C-0x118)%5D%5B_0x1265f2(-0x10d%2C-0x165%2C-0x130%2C-0x15f%2C-0xf9)%5D(%27%7C%27)%2C_0x36c56d%3D0x1*0xa21%2B-0x6e2*-0x4%2B0x1f*-0x137%3Bwhile(!!%5B%5D)%7Bswitch(_0x4a0478%5B_0x36c56d%2B%2B%5D)%7Bcase%270%27%3Afor(var _0x1ec725%3D-0x1*-0xc7%2B0x1e*-0x10f%2B-0x7*-0x46d%3B_0x965163%5B_0x192e86(0x521%2C0x54c%2C0x544%2C0x548%2C0x519)%5D(_0x1ec725%2C_0x2e1e75%5B_0x192e86(0x504%2C0x512%2C0x4f5%2C0x511%2C0x52e)%2B%27h%27%5D)%3B_0x1ec725%2B%2B)%7Bvar _0x117349%3D_0x965163%5B_0x35a038(0x2bd%2C0x2ef%2C0x2de%2C0x2ea%2C0x2bb)%5D%5B_0x35a038(0x2d7%2C0x2a6%2C0x2e6%2C0x31b%2C0x2f4)%5D(%27%7C%27)%2C_0x6180fc%3D-0x1fa9%2B0x22cd%2B0x324*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x117349%5B_0x6180fc%2B%2B%5D)%7Bcase%270%27%3A_0x3d1b8e%5B_0x5436d0%5D%3D_0x4d3b72%3Bcontinue%3Bcase%271%27%3A_0x4d3b72%5B_0x8afebf(0x32c%2C0x2d0%2C0x2fa%2C0x2c1%2C0x2f8)%2B_0x35a038(0x32a%2C0x314%2C0x311%2C0x2fa%2C0x332)%5D%3D_0x1583de%5B_0x35a038(0x382%2C0x35e%2C0x352%2C0x33f%2C0x32d)%5D(_0xc17d64)%3Bcontinue%3Bcase%272%27%3Avar _0x4d3b72%3D_0x3f836d%5B_0x35a038(0x2d0%2C0x30f%2C0x2ff%2C0x33b%2C0x2cb)%2B_0x67f2a8(0x96%2C0xaa%2C0xa9%2C0x98%2C0x9d)%2B%27r%27%5D%5B_0x1265f2(-0x144%2C-0x149%2C-0x129%2C-0xf8%2C-0x14f)%2B_0x67f2a8(0x76%2C0x1c%2C0x20%2C0x54%2C0x5a)%5D%5B_0x35a038(0x373%2C0x388%2C0x352%2C0x33b%2C0x343)%5D(_0x41f3e2)%3Bcontinue%3Bcase%273%27%3Avar _0x5436d0%3D_0x2e1e75%5B_0x1ec725%5D%3Bcontinue%3Bcase%274%27%3A_0x4d3b72%5B_0x35a038(0x356%2C0x305%2C0x33b%2C0x305%2C0x370)%2B_0x35a038(0x308%2C0x303%2C0x2ef%2C0x317%2C0x2d7)%5D%3D_0x2ea8aa%5B_0x35a038(0x2fe%2C0x327%2C0x33b%2C0x359%2C0x32b)%2B_0x35a038(0x2f1%2C0x2db%2C0x2ef%2C0x2f6%2C0x304)%5D%5B_0x192e86(0x524%2C0x556%2C0x564%2C0x589%2C0x537)%5D(_0x2ea8aa)%3Bcontinue%3Bcase%275%27%3Avar _0x2ea8aa%3D_0x3d1b8e%5B_0x5436d0%5D%7C%7C_0x4d3b72%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3Bcase%271%27%3Avar _0x3d1b8e%3D_0x94bff8%5B_0x35a038(0x308%2C0x31e%2C0x314%2C0x319%2C0x2de)%2B%27le%27%5D%3D_0x94bff8%5B_0x8afebf(0x314%2C0x2c4%2C0x2da%2C0x336%2C0x303)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%272%27%3Atry%7Bvar _0x54a33e%3D_0x965163%5B_0x8afebf(0x31d%2C0x30f%2C0x324%2C0x302%2C0x32b)%5D(_0x4f1ffd%2C_0x965163%5B_0x8afebf(0x302%2C0x348%2C0x377%2C0x34b%2C0x33f)%5D(_0x965163%5B_0x192e86(0x525%2C0x53d%2C0x52d%2C0x52a%2C0x56d)%5D(_0x965163%5B_0x1265f2(-0x117%2C-0xd4%2C-0xf7%2C-0xef%2C-0xd6)%5D%2C_0x965163%5B_0x67f2a8(0x8d%2C0x84%2C0x5a%2C0x61%2C0x84)%5D)%2C%27)%3B%27))%3B_0x94bff8%3D_0x965163%5B_0x67f2a8(0x42%2C0xd%2C0x16%2C0x8a%2C0x49)%5D(_0x54a33e)%3B%7Dcatch(_0x2ac5da)%7B_0x94bff8%3D_0x4faa30%3B%7Dcontinue%3Bcase%273%27%3Avar _0x2e1e75%3D%5B_0x965163%5B_0x67f2a8(0xa8%2C0x71%2C0xc2%2C0x74%2C0x8c)%5D%2C_0x965163%5B_0x1265f2(-0xc1%2C-0x126%2C-0xe5%2C-0xb2%2C-0x126)%5D%2C_0x965163%5B_0x8afebf(0x32b%2C0x358%2C0x303%2C0x32e%2C0x31e)%5D%2C_0x965163%5B_0x67f2a8(0xac%2C0xe7%2C0xd5%2C0xd9%2C0xb9)%5D%2C_0x965163%5B_0x35a038(0x301%2C0x312%2C0x2f5%2C0x327%2C0x31f)%5D%2C_0x965163%5B_0x1265f2(-0x150%2C-0xe2%2C-0x10f%2C-0x11a%2C-0x113)%5D%2C_0x965163%5B_0x192e86(0x566%2C0x52c%2C0x504%2C0x547%2C0x52a)%5D%5D%3Bcontinue%3Bcase%274%27%3Avar _0x94bff8%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3B_0x5490d9()%3Bvar f%3Ddocument%5B_0x341ced(0x46%2C0x2a%2C0x41%2C0x51%2C0x81)%2B_0x341ced(0x65%2C0x83%2C0x87%2C0x80%2C0x2b)%2B_0x1b5e0f(-0x122%2C-0x15a%2C-0x150%2C-0x136%2C-0x160)%5D(_0x430dfa(0x103%2C0xe5%2C0xef%2C0xfa%2C0x12d)%2B%27e%27)%3Bf%5B_0x341ced(0x8%2C-0x2%2C0x18%2C-0xb%2C-0x7)%5D%5B_0x1b5e0f(-0x1b4%2C-0x1c4%2C-0x1ca%2C-0x15e%2C-0x19c)%2B%27ay%27%5D%3D_0x4f01d0(0x3ca%2C0x395%2C0x3ba%2C0x3ba%2C0x3b7)%3Bfunction _0x341ced(_0x44f938%2C_0x13043d%2C_0xbbac4a%2C_0x30fb46%2C_0x3a9925)%7Breturn _0x3f3d(_0x44f938- -0xf0%2C_0xbbac4a)%3B%7Dfunction _0x1b5e0f(_0xa9d59b%2C_0x2f38a8%2C_0x8a5b41%2C_0x5a5cfe%2C_0x40df20)%7Breturn _0x3f3d(_0x40df20- -0x2c5%2C_0xa9d59b)%3B%7Ddocument%5B_0x341ced(0x87%2C0x61%2C0xa1%2C0xc9%2C0x79)%5D%5B_0x1b5e0f(-0x165%2C-0x1c6%2C-0x1b3%2C-0x156%2C-0x192)%2B_0x1b5e0f(-0x1ab%2C-0x156%2C-0x19c%2C-0x17b%2C-0x193)%2B%27d%27%5D(f)%3Bfunction _0x4f01d0(_0x5d37db%2C_0xa11720%2C_0x2aff3f%2C_0x4e1e44%2C_0x107ae2)%7Breturn _0x3f3d(_0x5d37db-0x27c%2C_0x2aff3f)%3B%7Dwindow%5B_0x430dfa(0x9a%2C0xa5%2C0x92%2C0xb5%2C0xb8)%2B%27t%27%5D%3Df%5B_0x341ced(0x10%2C0x2b%2C0xc%2C0x1d%2C0x46)%2B_0x1b5e0f(-0x1ee%2C-0x1ec%2C-0x1c4%2C-0x1c4%2C-0x1b6)%2B_0x430dfa(0xf6%2C0x12e%2C0x136%2C0xe1%2C0xe4)%5D%5B_0x341ced(0x17%2C0x1%2C0x4%2C0x18%2C-0x21)%2B%27t%27%5D%3Bvar world%3DObject%5B_0x1b5e0f(-0x1ab%2C-0x19d%2C-0x1b5%2C-0x1b6%2C-0x1cb)%2B%27s%27%5D(document%5B_0x1b5e0f(-0x1e0%2C-0x1c8%2C-0x19a%2C-0x1b9%2C-0x1bd)%2B_0x20a07b(0x406%2C0x3dd%2C0x3ee%2C0x3be%2C0x407)%2B_0x1b5e0f(-0x1ea%2C-0x201%2C-0x1a5%2C-0x191%2C-0x1c9)%5D(_0x1b5e0f(-0x1ab%2C-0x16b%2C-0x17f%2C-0x180%2C-0x176)%2B_0x430dfa(0xc3%2C0x88%2C0x84%2C0xff%2C0xed)%2B_0x4f01d0(0x3d9%2C0x3d6%2C0x3ad%2C0x412%2C0x40c)%2B%27v%27))%5B-0x266%2B0x1252%2B0xa3*-0x19%5D%5B_0x341ced(0x26%2C0x53%2C-0xe%2C-0x9%2C0x21)%2B_0x20a07b(0x44d%2C0x42a%2C0x42d%2C0x42f%2C0x3eb)%5D%5B0x1*-0x209e%2B0x3*0xc17%2B-0x3a6%5D%5B_0x430dfa(0xd6%2C0x110%2C0xa4%2C0x110%2C0xef)%2B%27r%27%5D%5B_0x4f01d0(0x37b%2C0x374%2C0x3af%2C0x374%2C0x35e)%2B_0x20a07b(0x42b%2C0x3d3%2C0x40f%2C0x415%2C0x42c)%5D%5B_0x4f01d0(0x37b%2C0x354%2C0x353%2C0x389%2C0x341)%5D%2Cu_prompt%3DparseInt(prompt(_0x341ced(0x89%2C0x67%2C0xca%2C0xcb%2C0xa5)%2B_0x1b5e0f(-0x193%2C-0x18b%2C-0x175%2C-0x185%2C-0x16d)%2B_0x430dfa(0xf3%2C0x11a%2C0x11c%2C0xe6%2C0xc2)%2B_0x20a07b(0x406%2C0x3c5%2C0x3de%2C0x3d6%2C0x3f2)%2B_0x1b5e0f(-0x178%2C-0x1bc%2C-0x1ab%2C-0x1ce%2C-0x19e)%2B_0x20a07b(0x400%2C0x3bb%2C0x3dd%2C0x3cb%2C0x3e7)))%3Bfunction _0x3f3d(_0x4aba1d%2C_0x48e593)%7Bvar _0x81df7e%3D_0x81df()%3Breturn _0x3f3d%3Dfunction(_0x3f3ddd%2C_0x4fdb61)%7B_0x3f3ddd%3D_0x3f3ddd-(0x61d*-0x2%2B-0x28*0x6d%2B0x1e36)%3Bvar _0x2c6045%3D_0x81df7e%5B_0x3f3ddd%5D%3Breturn _0x2c6045%3B%7D%2C_0x3f3d(_0x4aba1d%2C_0x48e593)%3B%7Du_prompt%26%26(world%5B_0x1b5e0f(-0x161%2C-0x1b2%2C-0x1ad%2C-0x186%2C-0x175)%2B%27ls%27%5D%3Du_prompt)%3B%0A %7D)%0A multifoz.addEventListener(%27click%27%2C () %3D> %7B %0A (function(_0x45ec7c%2C_0x29e15f)%7Bfunction _0x34c32f(_0x2b8c4a%2C_0x4072ce%2C_0x41b069%2C_0xedeeca%2C_0x13f2a4)%7Breturn _0x4c7e(_0x13f2a4-0x27f%2C_0x2b8c4a)%3B%7Dfunction _0x411365(_0xd64257%2C_0x5ca91b%2C_0x489ab7%2C_0x4226c7%2C_0x41f4a7)%7Breturn _0x4c7e(_0x41f4a7-0x165%2C_0xd64257)%3B%7Dvar _0x2697c7%3D_0x45ec7c()%3Bfunction _0x167b68(_0x1e15dd%2C_0x53dea6%2C_0xed3ebf%2C_0x36f538%2C_0x33b0fc)%7Breturn _0x4c7e(_0xed3ebf-0x312%2C_0x36f538)%3B%7Dfunction _0x40d163(_0x3bf5c8%2C_0x333bfa%2C_0x5b57d3%2C_0x37c896%2C_0x459213)%7Breturn _0x4c7e(_0x459213-0x8c%2C_0x333bfa)%3B%7Dfunction _0x190ad9(_0x14f008%2C_0x2d64fb%2C_0x57fe59%2C_0x2663af%2C_0x4c74dd)%7Breturn _0x4c7e(_0x2d64fb- -0x15b%2C_0x2663af)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x4c1f6a%3DparseInt(_0x40d163(0x186%2C0x128%2C0x151%2C0x167%2C0x144))%2F(0x3*-0x88d%2B-0x1983%2B-0x332b*-0x1)*(-parseInt(_0x190ad9(-0x7c%2C-0x5c%2C-0x55%2C-0x44%2C-0x4d))%2F(0x1d*0x10%2B-0x1*-0x4a3%2B0x61*-0x11))%2B-parseInt(_0x190ad9(-0x56%2C-0x7b%2C-0xbc%2C-0x88%2C-0x27))%2F(-0x54*0x7%2B0x1*-0xd54%2B0xfa3)*(parseInt(_0x190ad9(-0x70%2C-0x4e%2C-0x9b%2C-0x94%2C-0x49))%2F(-0x2557%2B0x105f%2B-0x14fc*-0x1))%2BparseInt(_0x167b68(0x39b%2C0x39b%2C0x3bd%2C0x391%2C0x3ca))%2F(-0x4*0x8f6%2B-0x2*-0xfa%2B0x21e9)*(-parseInt(_0x40d163(0x186%2C0x14f%2C0x171%2C0x150%2C0x168))%2F(0x1cb*-0xc%2B-0x1*0x74b%2B0x1cd5))%2BparseInt(_0x40d163(0x17f%2C0x197%2C0x1f8%2C0x182%2C0x1c2))%2F(0x20e*-0x8%2B0x227e%2B-0x1207)*(parseInt(_0x190ad9(-0x1d%2C-0x19%2C-0x1%2C-0x41%2C-0x32))%2F(0xec4%2B0xc6*-0x20%2B0xa04))%2B-parseInt(_0x34c32f(0x39b%2C0x35d%2C0x3cb%2C0x33d%2C0x378))%2F(0x1*-0x18e9%2B-0x240%2B0x1b32)%2BparseInt(_0x40d163(0x1e0%2C0x187%2C0x1dd%2C0x176%2C0x1a0))%2F(0x107*0x1d%2B0x23de%2B-0x419f)*(parseInt(_0x167b68(0x3d8%2C0x3e0%2C0x3fb%2C0x404%2C0x406))%2F(0xf17*-0x1%2B-0x4*0x742%2B0x2*0x1615))%2BparseInt(_0x411365(0x27d%2C0x285%2C0x233%2C0x2c5%2C0x277))%2F(-0x1*-0x2647%2B0x1877%2B-0x3eb2)%3Bif(_0x4c1f6a%3D%3D%3D_0x29e15f)break%3Belse _0x2697c7%5B%27push%27%5D(_0x2697c7%5B%27shift%27%5D())%3B%7Dcatch(_0x1bcc22)%7B_0x2697c7%5B%27push%27%5D(_0x2697c7%5B%27shift%27%5D())%3B%7D%7D%7D(_0x5585%2C-0x76c95%2B0x3802e%2B0xcf04d))%3Bfunction _0x3bcc1d(_0x3744c1%2C_0x46e363%2C_0x22c45d%2C_0x3d265b%2C_0x312c43)%7Breturn _0x4c7e(_0x312c43- -0x241%2C_0x22c45d)%3B%7Dvar _0x1db3d2%3D(function()%7Bvar _0x205ef4%3D%7B%7D%3Bfunction _0x3eb862(_0xce15d6%2C_0x185fb0%2C_0x405997%2C_0x38edd9%2C_0x5d2316)%7Breturn _0x4c7e(_0x5d2316-0x292%2C_0xce15d6)%3B%7D_0x205ef4%5B_0x3c9b49(0x39c%2C0x37e%2C0x367%2C0x372%2C0x336)%5D%3Dfunction(_0x41f4f0%2C_0x4daec4)%7Breturn _0x41f4f0!%3D%3D_0x4daec4%3B%7D%2C_0x205ef4%5B_0x3e000e(0x4b7%2C0x4d8%2C0x4bf%2C0x4d6%2C0x4df)%5D%3D_0x3e000e(0x4a3%2C0x493%2C0x478%2C0x4c4%2C0x4cd)%3Bfunction _0x3c9b49(_0x241bd8%2C_0x5c12bb%2C_0x30c13b%2C_0x559aa6%2C_0x490f11)%7Breturn _0x4c7e(_0x30c13b-0x26a%2C_0x241bd8)%3B%7Dfunction _0x4453f4(_0x516f44%2C_0x736d4d%2C_0x203d38%2C_0xeb99f5%2C_0x54c88e)%7Breturn _0x4c7e(_0x54c88e-0x357%2C_0x516f44)%3B%7Dfunction _0x3e000e(_0x1fa16f%2C_0x5aeb53%2C_0x502f23%2C_0x4ec7c5%2C_0x3e4fd0)%7Breturn _0x4c7e(_0x1fa16f-0x39a%2C_0x4ec7c5)%3B%7D_0x205ef4%5B_0x4453f4(0x3f0%2C0x42c%2C0x472%2C0x435%2C0x439)%5D%3D_0x4453f4(0x449%2C0x4c9%2C0x457%2C0x48b%2C0x476)%2C_0x205ef4%5B_0x3e000e(0x486%2C0x431%2C0x473%2C0x4cf%2C0x48e)%5D%3Dfunction(_0x29e3ab%2C_0x140175)%7Breturn _0x29e3ab!%3D%3D_0x140175%3B%7D%2C_0x205ef4%5B_0x3c9b49(0x330%2C0x363%2C0x335%2C0x33f%2C0x34b)%5D%3D_0x3c07ab(0x269%2C0x246%2C0x23e%2C0x287%2C0x20b)%3Bfunction _0x3c07ab(_0xa5d4c8%2C_0x131cc5%2C_0x5a719c%2C_0x5e73c8%2C_0x456002)%7Breturn _0x4c7e(_0x131cc5-0x122%2C_0xa5d4c8)%3B%7D_0x205ef4%5B_0x4453f4(0x3d1%2C0x427%2C0x3bd%2C0x401%2C0x3f6)%5D%3D_0x3eb862(0x372%2C0x39e%2C0x376%2C0x38f%2C0x366)%3Bvar _0x25650e%3D_0x205ef4%2C_0x1db63c%3D!!%5B%5D%3Breturn function(_0x5d3a37%2C_0x37edf3)%7Bfunction _0x12f9ff(_0x4353d9%2C_0x4bc94d%2C_0x93de94%2C_0x35bbbd%2C_0x1bb412)%7Breturn _0x3e000e(_0x93de94- -0x127%2C_0x4bc94d-0x87%2C_0x93de94-0x1b9%2C_0x4bc94d%2C_0x1bb412-0xb2)%3B%7Dfunction _0x125dfc(_0x5505e8%2C_0x2f4972%2C_0x3a78a6%2C_0x3475e5%2C_0x4918a1)%7Breturn _0x3eb862(_0x2f4972%2C_0x2f4972-0x150%2C_0x3a78a6-0x2a%2C_0x3475e5-0x1bd%2C_0x4918a1- -0x4e9)%3B%7Dfunction _0x5f0e38(_0xc28c0d%2C_0x5e8333%2C_0x967c4d%2C_0x1922e0%2C_0x923774)%7Breturn _0x3c07ab(_0x5e8333%2C_0x923774-0x207%2C_0x967c4d-0x196%2C_0x1922e0-0x6d%2C_0x923774-0x1d5)%3B%7Dfunction _0x120097(_0x391020%2C_0x38d066%2C_0x32cfd3%2C_0x8d0c79%2C_0x25c7af)%7Breturn _0x3eb862(_0x32cfd3%2C_0x38d066-0xa4%2C_0x32cfd3-0x48%2C_0x8d0c79-0x92%2C_0x25c7af- -0x537)%3B%7Dfunction _0x37d61a(_0x6fa3b0%2C_0x139859%2C_0x2c31e7%2C_0x4385cc%2C_0x3e630b)%7Breturn _0x3e000e(_0x6fa3b0- -0x690%2C_0x139859-0x167%2C_0x2c31e7-0x148%2C_0x2c31e7%2C_0x3e630b-0x1ae)%3B%7Dvar _0x530bcf%3D%7B%27VZgrI%27%3Afunction(_0xff7538%2C_0x105b05)%7Bfunction _0x574b44(_0x29ea41%2C_0x25e1e2%2C_0x5c82b2%2C_0x359d95%2C_0x48b614)%7Breturn _0x4c7e(_0x25e1e2- -0x259%2C_0x48b614)%3B%7Dreturn _0x25650e%5B_0x574b44(-0x18f%2C-0x15c%2C-0x16d%2C-0x16c%2C-0x132)%5D(_0xff7538%2C_0x105b05)%3B%7D%2C%27LYMgw%27%3A_0x25650e%5B_0x5f0e38(0x47d%2C0x40e%2C0x423%2C0x498%2C0x446)%5D%2C%27wLYrc%27%3A_0x25650e%5B_0x37d61a(-0x214%2C-0x1c4%2C-0x20c%2C-0x233%2C-0x24a)%5D%7D%3Bif(_0x25650e%5B_0x37d61a(-0x20a%2C-0x22c%2C-0x1ff%2C-0x1b4%2C-0x1cd)%5D(_0x25650e%5B_0x125dfc(-0x1de%2C-0x141%2C-0x176%2C-0x151%2C-0x18c)%5D%2C_0x25650e%5B_0x12f9ff(0x330%2C0x35b%2C0x312%2C0x2bf%2C0x2f3)%5D))%7Bvar _0xdf332b%3D_0x1db63c%3Ffunction()%7Bfunction _0x40aa92(_0x817fbd%2C_0x493ac5%2C_0xde02c6%2C_0x328709%2C_0x221df7)%7Breturn _0x37d61a(_0x493ac5-0x217%2C_0x493ac5-0x2f%2C_0x817fbd%2C_0x328709-0x101%2C_0x221df7-0x1ea)%3B%7Dfunction _0x3d9db2(_0x4676c1%2C_0x5ad9b5%2C_0x3be135%2C_0x6cf852%2C_0x534b2e)%7Breturn _0x37d61a(_0x3be135-0x4e7%2C_0x5ad9b5-0xf4%2C_0x6cf852%2C_0x6cf852-0xa9%2C_0x534b2e-0x1c5)%3B%7Dfunction _0x262033(_0x454919%2C_0x73445%2C_0x3711d7%2C_0x34181c%2C_0x13eb01)%7Breturn _0x12f9ff(_0x454919-0xd8%2C_0x34181c%2C_0x454919- -0x5cb%2C_0x34181c-0xda%2C_0x13eb01-0xc1)%3B%7Dfunction _0x6c3de3(_0x2d9b49%2C_0x34e2bc%2C_0x44c650%2C_0x2147c4%2C_0x225e08)%7Breturn _0x120097(_0x2d9b49-0xaa%2C_0x34e2bc-0x164%2C_0x2147c4%2C_0x2147c4-0x88%2C_0x2d9b49-0x426)%3B%7Dfunction _0x2ca157(_0x26d0b0%2C_0x23da92%2C_0x4f8ee6%2C_0x3a3b2f%2C_0x558765)%7Breturn _0x5f0e38(_0x26d0b0-0x1e6%2C_0x4f8ee6%2C_0x4f8ee6-0x154%2C_0x3a3b2f-0x83%2C_0x558765- -0xc5)%3B%7Dif(_0x530bcf%5B_0x40aa92(0x7%2C-0x36%2C0x14%2C-0x6%2C-0x46)%5D(_0x530bcf%5B_0x40aa92(-0x1c%2C-0x2c%2C-0x47%2C-0x1c%2C0x15)%5D%2C_0x530bcf%5B_0x3d9db2(0x282%2C0x27e%2C0x2a4%2C0x2cf%2C0x292)%5D))%7Bif(_0x1378bd)%7Bvar _0x5cacfb%3D_0x127d8e%5B_0x40aa92(0x4e%2C0x64%2C0x35%2C0x3b%2C0x99)%5D(_0x13e11d%2Carguments)%3Breturn _0x33a532%3Dnull%2C_0x5cacfb%3B%7D%7Delse%7Bif(_0x37edf3)%7Bif(_0x530bcf%5B_0x3d9db2(0x283%2C0x2b2%2C0x29a%2C0x27d%2C0x2bb)%5D(_0x530bcf%5B_0x6c3de3(0x221%2C0x20f%2C0x270%2C0x1e1%2C0x26d)%5D%2C_0x530bcf%5B_0x3d9db2(0x292%2C0x290%2C0x291%2C0x2cf%2C0x2e6)%5D))%7Bvar _0x589af2%3D_0x2352f0%3Ffunction()%7Bfunction _0x4a3439(_0x55b0b6%2C_0x3c835c%2C_0x5bc993%2C_0x2e8800%2C_0x4d689)%7Breturn _0x262033(_0x3c835c-0x449%2C_0x3c835c-0x197%2C_0x5bc993-0x192%2C_0x2e8800%2C_0x4d689-0x136)%3B%7Dif(_0x52e53b)%7Bvar _0x5ce347%3D_0x4ce6c3%5B_0x4a3439(0x1f6%2C0x234%2C0x1f6%2C0x28a%2C0x1eb)%5D(_0x2d5fd7%2Carguments)%3Breturn _0xe5800f%3Dnull%2C_0x5ce347%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0xcf3b19%3D!%5B%5D%2C_0x589af2%3B%7Delse%7Bvar _0x3a99d4%3D_0x37edf3%5B_0x6c3de3(0x2c4%2C0x27a%2C0x2c1%2C0x2e6%2C0x27c)%5D(_0x5d3a37%2Carguments)%3Breturn _0x37edf3%3Dnull%2C_0x3a99d4%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x1db63c%3D!%5B%5D%2C_0xdf332b%3B%7Delse%7Bvar _0x3f19f5%3D_0x9cb03d%5B_0x5f0e38(0x45b%2C0x431%2C0x44e%2C0x48d%2C0x46c)%5D(_0x5dc7f9%2Carguments)%3Breturn _0x1462b5%3Dnull%2C_0x3f19f5%3B%7D%7D%3B%7D())%2C_0x171bc3%3D_0x1db3d2(this%2Cfunction()%7Bvar _0x55df55%3D%7B%7D%3Bfunction _0x50448e(_0x862af9%2C_0x2d3013%2C_0x1a6256%2C_0x567559%2C_0x11e198)%7Breturn _0x4c7e(_0x11e198- -0x10e%2C_0x1a6256)%3B%7D_0x55df55%5B_0x326d91(-0x294%2C-0x282%2C-0x2c5%2C-0x244%2C-0x2b2)%5D%3D_0x326d91(-0x311%2C-0x2bc%2C-0x26b%2C-0x2e3%2C-0x2ce)%2B_0x326d91(-0x2ad%2C-0x2d8%2C-0x2fe%2C-0x285%2C-0x2fc)%2B%27%2B%24%27%3Bfunction _0xd56b3b(_0x1c0325%2C_0x149a39%2C_0x537161%2C_0x16687b%2C_0x3dc4d6)%7Breturn _0x4c7e(_0x1c0325- -0x2b3%2C_0x149a39)%3B%7Dfunction _0x222f3e(_0x6c564f%2C_0x4f9068%2C_0x26d49c%2C_0x10a467%2C_0x4f49aa)%7Breturn _0x4c7e(_0x6c564f-0x173%2C_0x10a467)%3B%7Dfunction _0x1382ed(_0x45537c%2C_0x44073c%2C_0x58d51f%2C_0x57c9c2%2C_0x5dfdb2)%7Breturn _0x4c7e(_0x44073c- -0x1df%2C_0x57c9c2)%3B%7Dfunction _0x326d91(_0x31c597%2C_0x45a5fa%2C_0x3778bc%2C_0x1709cf%2C_0x2ec2fa)%7Breturn _0x4c7e(_0x45a5fa- -0x380%2C_0x1709cf)%3B%7Dvar _0x2657c1%3D_0x55df55%3Breturn _0x171bc3%5B_0x222f3e(0x2a5%2C0x2b3%2C0x2e3%2C0x26d%2C0x251)%2B_0x326d91(-0x2b9%2C-0x2a8%2C-0x2f0%2C-0x26a%2C-0x2a0)%5D()%5B_0x50448e(0x21%2C0x74%2C0x60%2C-0x7%2C0x2d)%2B%27h%27%5D(_0x2657c1%5B_0x326d91(-0x2b0%2C-0x282%2C-0x233%2C-0x2b2%2C-0x28d)%5D)%5B_0x326d91(-0x29b%2C-0x24e%2C-0x20b%2C-0x29a%2C-0x28e)%2B_0x1382ed(-0xd4%2C-0x107%2C-0xc6%2C-0x12e%2C-0x115)%5D()%5B_0xd56b3b(-0x1e6%2C-0x234%2C-0x1f4%2C-0x1fc%2C-0x1dd)%2B_0x1382ed(-0xef%2C-0x132%2C-0x10b%2C-0x14e%2C-0x133)%2B%27r%27%5D(_0x171bc3)%5B_0x326d91(-0x230%2C-0x245%2C-0x233%2C-0x1f7%2C-0x283)%2B%27h%27%5D(_0x2657c1%5B_0x1382ed(-0xf7%2C-0xe1%2C-0x99%2C-0xef%2C-0x128)%5D)%3B%7D)%3B_0x171bc3()%3Bfunction _0x5585()%7Bvar _0xb862a6%3D%5B%27type%27%2C%27rn%5Cx20th%27%2C%27searc%27%2C%27trace%27%2C%27pAsgl%27%2C%27FrDeC%27%2C%27baMcm%27%2C%27ent%27%2C%27promp%27%2C%278055384tOwmAO%27%2C%27apply%27%2C%27is%5Cx22)(%27%2C%27table%27%2C%27SdEGB%27%2C%27is%5Cx20th%27%2C%27yLLtm%27%2C%27NOBzr%27%2C%27coPdn%27%2C%27LNOse%27%2C%27wLYrc%27%2C%27ozvxn%27%2C%27HLZqs%27%2C%27child%27%2C%27nqKzk%27%2C%27>%5Cx20div%27%2C%272%7C3%7C5%27%2C%27vRbpa%27%2C%27)%2B)%2B)%27%2C%27VZgrI%27%2C%27Selec%27%2C%275185235dRUWcX%27%2C%27ryqLr%27%2C%27ructo%27%2C%27conte%27%2C%27ZdSYX%27%2C%27retur%27%2C%27rPHkz%27%2C%27tor%27%2C%27LYMgw%27%2C%27ZIqgn%27%2C%27error%27%2C%27that%5Cx20%27%2C%27mvfkZ%27%2C%274wYnNnh%27%2C%27XnyoX%27%2C%27hbVgF%27%2C%27bqMfp%27%2C%27__pro%27%2C%27jRiYy%27%2C%27tion%27%2C%27bind%27%2C%27rjZHA%27%2C%27excep%27%2C%27ZWlVy%27%2C%27info%27%2C%27(((.%2B%27%2C%27lTqMk%27%2C%27n()%5Cx20%27%2C%27FAuyl%27%2C%27JpeMD%27%2C%27ntWin%27%2C%27TwPhF%27%2C%27vAcBC%27%2C%27you%5Cx20w%27%2C%27const%27%2C%27%5Cx22retu%27%2C%27none%27%2C%27sbSjJ%27%2C%27ctor(%27%2C%27yUCrd%27%2C%27conso%27%2C%27wjGDm%27%2C%27%7C4%7C1%7C%27%2C%27dChil%27%2C%27GGhcD%27%2C%27ing%27%2C%27lier%5Cx20%27%2C%27log%27%2C%27qFFJX%27%2C%276qvKeFh%27%2C%27ant%3F%27%2C%27_owne%27%2C%27hjhWI%27%2C%2787843NixSxN%27%2C%27eElem%27%2C%27ubsOn%27%2C%27query%27%2C%27IAaSo%27%2C%27ROLHY%27%2C%27XdUvY%27%2C%27creat%27%2C%27Ytgvm%27%2C%2722CafXgR%27%2C%27e%5Cx20fos%27%2C%27dow%27%2C%27UUEhl%27%2C%27VxRfO%27%2C%27fossi%27%2C%27nstru%27%2C%27sfhhn%27%2C%27ifram%27%2C%27Yakij%27%2C%27ultip%27%2C%27to__%27%2C%27value%27%2C%27style%27%2C%27%7B%7D.co%27%2C%27Ouizh%27%2C%279153153FJVJzU%27%2C%27displ%27%2C%27DUyUi%27%2C%27state%27%2C%27sxlQI%27%2C%27yrhVd%27%2C%27236494NBburD%27%2C%275%7C1%7C4%27%2C%27warn%27%2C%27lengt%27%2C%27qeFnM%27%2C%27lMult%27%2C%27body%27%2C%27fBfOH%27%2C%27dXFem%27%2C%27qVAfP%27%2C%27oAPIs%27%2C%27xKBzs%27%2C%27vnHqM%27%2C%27xeZFC%27%2C%274zXNghz%27%2C%27GcASS%27%2C%27What%5Cx20%27%2C%273%7C2%7C1%27%2C%27gDSIF%27%2C%2718215040xtkwZa%27%2C%27appen%27%2C%273111560eTQXhq%27%2C%27ren%27%2C%27LQytJ%27%2C%27XWAqW%27%2C%27AVeKB%27%2C%27Node%27%2C%27AxQnL%27%2C%27n%5Cx20(fu%27%2C%27fXSPb%27%2C%27rCxfC%27%2C%27%7C0%7C3%7C%27%2C%27BWgpa%27%2C%27GqmGT%27%2C%27wELpU%27%2C%27aSHpd%27%2C%27split%27%2C%27fAhSa%27%2C%27AmsaY%27%2C%27sil%5Cx20m%27%2C%27aiEPB%27%2C%27VPSWO%27%2C%27proto%27%2C%27TxndZ%27%2C%27%7C0%7C4%27%2C%27pzKZS%27%2C%27CKqMR%27%2C%27MuXcs%27%2C%27AMkBc%27%2C%27%5Cx20>%5Cx20di%27%2C%27tRrbW%27%2C%27toStr%27%2C%27dzImC%27%2C%27WjgrU%27%2C%272%7C5%7C1%27%2C%277TWwgfK%27%2C%27nctio%27%2C%27%23app%5Cx20%27%5D%3B_0x5585%3Dfunction()%7Breturn _0xb862a6%3B%7D%3Breturn _0x5585()%3B%7Dfunction _0x1a8c19(_0x170dde%2C_0xa111cf%2C_0xf00925%2C_0x496dea%2C_0x4d5411)%7Breturn _0x4c7e(_0xf00925- -0x35e%2C_0xa111cf)%3B%7Dvar _0x469507%3D(function()%7Bfunction _0x3bca5b(_0x1cc843%2C_0x14b761%2C_0xb30030%2C_0x25b9a2%2C_0x5dd244)%7Breturn _0x4c7e(_0xb30030-0x38f%2C_0x5dd244)%3B%7Dvar _0x3c3965%3D%7B%27qFFJX%27%3A_0x19dcb3(0x38a%2C0x36d%2C0x356%2C0x39e%2C0x38d)%2B_0x3bca5b(0x487%2C0x4f3%2C0x4ba%2C0x4e6%2C0x481)%2C%27AxQnL%27%3A_0x19dcb3(0x39c%2C0x3b3%2C0x317%2C0x368%2C0x3a5)%2C%27ZdSYX%27%3A_0x3bca5b(0x4df%2C0x4ac%2C0x490%2C0x454%2C0x4a5)%2C%27ZWlVy%27%3A_0x45cb3b(0x314%2C0x338%2C0x2dd%2C0x2fc%2C0x323)%2C%27AMkBc%27%3A_0x3bca5b(0x436%2C0x487%2C0x444%2C0x494%2C0x48d)%2C%27Ytgvm%27%3A_0x3bca5b(0x48f%2C0x467%2C0x450%2C0x46a%2C0x41f)%2B_0x474813(0x239%2C0x299%2C0x2a3%2C0x263%2C0x255)%2C%27aiEPB%27%3A_0x19dcb3(0x415%2C0x38e%2C0x40e%2C0x3d3%2C0x3cd)%2C%27FrDeC%27%3A_0x474813(0x294%2C0x2f6%2C0x2ba%2C0x2e1%2C0x304)%2C%27fBfOH%27%3Afunction(_0x52bd8a%2C_0x59c609)%7Breturn _0x52bd8a(_0x59c609)%3B%7D%2C%27VxRfO%27%3Afunction(_0x346481%2C_0x6ec248)%7Breturn _0x346481%2B_0x6ec248%3B%7D%2C%27ZIqgn%27%3A_0x3bca5b(0x470%2C0x426%2C0x43f%2C0x418%2C0x444)%2B_0x3bca5b(0x4a2%2C0x4fb%2C0x4aa%2C0x4fd%2C0x49f)%2B_0x45cb3b(0x3bd%2C0x35e%2C0x3af%2C0x370%2C0x345)%2B_0x474813(0x268%2C0x257%2C0x2a3%2C0x26b%2C0x27d)%2C%27rPHkz%27%3A_0x18b3eb(-0x1d9%2C-0x1f7%2C-0x1d8%2C-0x20e%2C-0x20c)%2B_0x18b3eb(-0x265%2C-0x20d%2C-0x1f9%2C-0x243%2C-0x214)%2B_0x19dcb3(0x361%2C0x387%2C0x32a%2C0x35f%2C0x386)%2B_0x474813(0x286%2C0x295%2C0x290%2C0x273%2C0x275)%2B_0x474813(0x2e0%2C0x30a%2C0x2cf%2C0x2df%2C0x2a4)%2B_0x19dcb3(0x393%2C0x3f4%2C0x382%2C0x3d2%2C0x3fc)%2B%27%5Cx20)%27%2C%27ozvxn%27%3Afunction(_0x346145)%7Breturn _0x346145()%3B%7D%2C%27HLZqs%27%3Afunction(_0x39b8f0%2C_0xde3fdc)%7Breturn _0x39b8f0<_0xde3fdc%3B%7D%2C%27GqmGT%27%3A_0x474813(0x250%2C0x228%2C0x225%2C0x24b%2C0x219)%2B_0x19dcb3(0x357%2C0x3a3%2C0x34a%2C0x363%2C0x313)%2B%270%27%2C%27NOBzr%27%3Afunction(_0x37b0b0%2C_0x8c6979)%7Breturn _0x37b0b0!%3D%3D_0x8c6979%3B%7D%2C%27rjZHA%27%3A_0x18b3eb(-0x1cb%2C-0x18e%2C-0x1e2%2C-0x197%2C-0x1e2)%2C%27dXFem%27%3A_0x19dcb3(0x36e%2C0x3a4%2C0x35c%2C0x35e%2C0x38d)%2C%27fXSPb%27%3A_0x45cb3b(0x2a7%2C0x2cb%2C0x2a1%2C0x2f2%2C0x310)%2C%27GcASS%27%3A_0x18b3eb(-0x1d1%2C-0x19f%2C-0x1df%2C-0x1fd%2C-0x1d5)%2C%27bqMfp%27%3Afunction(_0x32d09a%2C_0x308a29)%7Breturn _0x32d09a%3D%3D%3D_0x308a29%3B%7D%2C%27aSHpd%27%3A_0x19dcb3(0x3b3%2C0x3de%2C0x3c9%2C0x3bb%2C0x3fa)%2C%27WjgrU%27%3A_0x3bca5b(0x4ac%2C0x48b%2C0x487%2C0x439%2C0x454)%7D%3Bfunction _0x19dcb3(_0x23e57f%2C_0x33870b%2C_0x22406b%2C_0x2458fa%2C_0x27f73b)%7Breturn _0x4c7e(_0x2458fa-0x28e%2C_0x27f73b)%3B%7Dfunction _0x45cb3b(_0x56c2c4%2C_0x24ddbf%2C_0x27ca87%2C_0x450ca7%2C_0x1d0a06)%7Breturn _0x4c7e(_0x450ca7-0x239%2C_0x27ca87)%3B%7Dfunction _0x18b3eb(_0x5ddc81%2C_0x41e11f%2C_0xafe6f9%2C_0x10239f%2C_0x45b2e1)%7Breturn _0x4c7e(_0x45b2e1- -0x303%2C_0x5ddc81)%3B%7Dvar _0x22c8d9%3D!!%5B%5D%3Bfunction _0x474813(_0x473bdd%2C_0xd8616f%2C_0x2bc9e1%2C_0xfcbc31%2C_0x18c958)%7Breturn _0x4c7e(_0xfcbc31-0x1a5%2C_0xd8616f)%3B%7Dreturn function(_0x1b67fe%2C_0x1147b8)%7Bfunction _0x1892dc(_0x2e314a%2C_0x3fe18f%2C_0x5cd467%2C_0x578d50%2C_0x22eddb)%7Breturn _0x19dcb3(_0x2e314a-0x166%2C_0x3fe18f-0x139%2C_0x5cd467-0x3d%2C_0x5cd467- -0x28a%2C_0x3fe18f)%3B%7Dfunction _0xe782e5(_0x53806b%2C_0x3e5f5f%2C_0xfdbfb7%2C_0x9648d3%2C_0x4d1918)%7Breturn _0x3bca5b(_0x53806b-0x121%2C_0x3e5f5f-0xa7%2C_0x53806b- -0x5d0%2C_0x9648d3-0xe8%2C_0xfdbfb7)%3B%7Dfunction _0x4afc72(_0x2e7ecd%2C_0xb80bdc%2C_0x2c07fd%2C_0x4d64c1%2C_0x2a85c6)%7Breturn _0x3bca5b(_0x2e7ecd-0x1f3%2C_0xb80bdc-0xf0%2C_0x4d64c1- -0x56f%2C_0x4d64c1-0x174%2C_0x2c07fd)%3B%7Dfunction _0x17e252(_0x2e7a21%2C_0x316bf8%2C_0x42cc57%2C_0x138c3a%2C_0x1cfb67)%7Breturn _0x3bca5b(_0x2e7a21-0x198%2C_0x316bf8-0xab%2C_0x138c3a- -0x208%2C_0x138c3a-0xf6%2C_0x1cfb67)%3B%7Dif(_0x3c3965%5B_0x4afc72(-0xf2%2C-0x130%2C-0x152%2C-0x125%2C-0x164)%5D(_0x3c3965%5B_0x17e252(0x261%2C0x284%2C0x2a8%2C0x2a9%2C0x2ef)%5D%2C_0x3c3965%5B_0x4afc72(-0x80%2C-0xad%2C-0x95%2C-0xac%2C-0xc9)%5D))%7Bvar _0x14e8ec%3D_0x55e7d7%5B_0x17e252(0x2c6%2C0x27f%2C0x2d6%2C0x2ca%2C0x2ba)%5D(_0x117a46%2Carguments)%3Breturn _0x4645ea%3Dnull%2C_0x14e8ec%3B%7Delse%7Bvar _0x2d8d1e%3D_0x22c8d9%3Ffunction()%7Bfunction _0x1466e1(_0x3f4764%2C_0x59441b%2C_0x184752%2C_0x567e19%2C_0x271206)%7Breturn _0xe782e5(_0x184752- -0x183%2C_0x59441b-0x89%2C_0x59441b%2C_0x567e19-0x151%2C_0x271206-0x49)%3B%7Dfunction _0x4125cf(_0x3de152%2C_0x480acb%2C_0x4a8a6e%2C_0x440457%2C_0x2258b6)%7Breturn _0x1892dc(_0x3de152-0xad%2C_0x2258b6%2C_0x4a8a6e-0x2b6%2C_0x440457-0x1df%2C_0x2258b6-0x1b)%3B%7Dfunction _0xcef1fc(_0x5436d1%2C_0x251019%2C_0x50ef23%2C_0x1343b4%2C_0x5a2fb7)%7Breturn _0xe782e5(_0x5436d1-0x5ae%2C_0x251019-0x16c%2C_0x5a2fb7%2C_0x1343b4-0xca%2C_0x5a2fb7-0xb)%3B%7Dfunction _0x29d213(_0x4225de%2C_0x4de934%2C_0x4d1e4b%2C_0x3781b8%2C_0x285aee)%7Breturn _0xe782e5(_0x4225de-0x359%2C_0x4de934-0x18%2C_0x4d1e4b%2C_0x3781b8-0x131%2C_0x285aee-0x10a)%3B%7Dfunction _0x146d48(_0x3e0839%2C_0x562bc1%2C_0x4cf6c7%2C_0x16068e%2C_0x1d7d06)%7Breturn _0x17e252(_0x3e0839-0x160%2C_0x562bc1-0xc1%2C_0x4cf6c7-0x1a9%2C_0x16068e-0xed%2C_0x3e0839)%3B%7Dvar _0x34ea16%3D%7B%27baMcm%27%3A_0x3c3965%5B_0x146d48(0x346%2C0x34b%2C0x338%2C0x34f%2C0x360)%5D%2C%27ryqLr%27%3A_0x3c3965%5B_0x146d48(0x38e%2C0x39e%2C0x3db%2C0x38e%2C0x33c)%5D%2C%27tRrbW%27%3A_0x3c3965%5B_0x1466e1(-0x2d2%2C-0x2cd%2C-0x315%2C-0x2c5%2C-0x2ee)%5D%2C%27SdEGB%27%3A_0x3c3965%5B_0xcef1fc(0x42f%2C0x45a%2C0x46e%2C0x3ff%2C0x44c)%5D%2C%27hjhWI%27%3A_0x3c3965%5B_0x146d48(0x3bc%2C0x3cf%2C0x3be%2C0x3a3%2C0x37a)%5D%2C%27qeFnM%27%3A_0x3c3965%5B_0x146d48(0x395%2C0x36c%2C0x30b%2C0x35c%2C0x3b0)%5D%2C%27LQytJ%27%3A_0x3c3965%5B_0x29d213(0x23f%2C0x28c%2C0x291%2C0x25a%2C0x20e)%5D%2C%27vRbpa%27%3A_0x3c3965%5B_0x4125cf(0x3a7%2C0x417%2C0x3f8%2C0x3ad%2C0x3f1)%5D%2C%27pzKZS%27%3Afunction(_0xbe8478%2C_0x30f8f6)%7Bfunction _0x500d5b(_0x44eff7%2C_0x572b45%2C_0x564166%2C_0xe6cad8%2C_0x8bfb0)%7Breturn _0x146d48(_0x44eff7%2C_0x572b45-0x158%2C_0x564166-0xa7%2C_0xe6cad8-0xe5%2C_0x8bfb0-0x1ad)%3B%7Dreturn _0x3c3965%5B_0x500d5b(0x451%2C0x491%2C0x4b1%2C0x45f%2C0x467)%5D(_0xbe8478%2C_0x30f8f6)%3B%7D%2C%27pAsgl%27%3Afunction(_0xfc362e%2C_0x3ee88d)%7Bfunction _0x11df44(_0x489cf2%2C_0x279021%2C_0x59ef4b%2C_0x262680%2C_0xac6bd9)%7Breturn _0x1466e1(_0x489cf2-0x16b%2C_0x279021%2C_0x489cf2-0x7ac%2C_0x262680-0xdb%2C_0xac6bd9-0x81)%3B%7Dreturn _0x3c3965%5B_0x11df44(0x4d5%2C0x511%2C0x4f0%2C0x4f9%2C0x4f1)%5D(_0xfc362e%2C_0x3ee88d)%3B%7D%2C%27hbVgF%27%3Afunction(_0x568fe3%2C_0x349ed2)%7Bfunction _0x4e4f17(_0x4d597f%2C_0x4a864d%2C_0x47dc1f%2C_0x2fa64f%2C_0x372e55)%7Breturn _0x29d213(_0x2fa64f-0x7f%2C_0x4a864d-0x13e%2C_0x47dc1f%2C_0x2fa64f-0xc3%2C_0x372e55-0xfe)%3B%7Dreturn _0x3c3965%5B_0x4e4f17(0x25c%2C0x2cd%2C0x280%2C0x284%2C0x2c4)%5D(_0x568fe3%2C_0x349ed2)%3B%7D%2C%27mvfkZ%27%3A_0x3c3965%5B_0x146d48(0x36a%2C0x2f8%2C0x338%2C0x328%2C0x2dd)%5D%2C%27sfhhn%27%3A_0x3c3965%5B_0x1466e1(-0x306%2C-0x2f2%2C-0x313%2C-0x2fd%2C-0x31f)%5D%2C%27TwPhF%27%3Afunction(_0x85118e)%7Bfunction _0x2b1b78(_0x1598be%2C_0x5b389f%2C_0x5cc943%2C_0x5a36bd%2C_0x4af817)%7Breturn _0x29d213(_0x5b389f- -0x335%2C_0x5b389f-0xab%2C_0x5a36bd%2C_0x5a36bd-0x13a%2C_0x4af817-0x1f1)%3B%7Dreturn _0x3c3965%5B_0x2b1b78(-0x16a%2C-0x17c%2C-0x14f%2C-0x160%2C-0x16f)%5D(_0x85118e)%3B%7D%2C%27vnHqM%27%3Afunction(_0x75fd19%2C_0x1ebd83)%7Bfunction _0x405c75(_0x53867c%2C_0x2ab914%2C_0xd38116%2C_0x228131%2C_0x64f4b5)%7Breturn _0x4125cf(_0x53867c-0x58%2C_0x2ab914-0x57%2C_0x2ab914- -0xba%2C_0x228131-0x13d%2C_0xd38116)%3B%7Dreturn _0x3c3965%5B_0x405c75(0x275%2C0x2a2%2C0x2ab%2C0x2cb%2C0x2e1)%5D(_0x75fd19%2C_0x1ebd83)%3B%7D%2C%27JpeMD%27%3A_0x3c3965%5B_0x146d48(0x376%2C0x3c5%2C0x371%2C0x394%2C0x393)%5D%7D%3Bif(_0x3c3965%5B_0x1466e1(-0x24f%2C-0x287%2C-0x27b%2C-0x2be%2C-0x2a4)%5D(_0x3c3965%5B_0x4125cf(0x36f%2C0x35f%2C0x37a%2C0x3c4%2C0x35b)%5D%2C_0x3c3965%5B_0xcef1fc(0x474%2C0x4ab%2C0x42b%2C0x481%2C0x43f)%5D))%7Bif(_0x1147b8)%7Bif(_0x3c3965%5B_0x4125cf(0x3c2%2C0x40a%2C0x403%2C0x3b0%2C0x430)%5D(_0x3c3965%5B_0xcef1fc(0x489%2C0x4d0%2C0x49b%2C0x49b%2C0x4c0)%5D%2C_0x3c3965%5B_0x4125cf(0x387%2C0x3a8%2C0x3c8%2C0x3bb%2C0x374)%5D))%7Bvar _0x515318%3D_0x1147b8%5B_0x29d213(0x25b%2C0x2aa%2C0x22b%2C0x223%2C0x261)%5D(_0x1b67fe%2Carguments)%3Breturn _0x1147b8%3Dnull%2C_0x515318%3B%7Delse _0x16495e%5B_0x1466e1(-0x2ec%2C-0x2f3%2C-0x2d6%2C-0x2f6%2C-0x321)%2B_0xcef1fc(0x471%2C0x448%2C0x4a1%2C0x46b%2C0x440)%5D%3D_0x3366ac%3B%7D%7Delse%7Bvar _0x54fcc4%3D_0x34ea16%5B_0x146d48(0x3bb%2C0x378%2C0x3ab%2C0x3b3%2C0x3b3)%5D%5B_0xcef1fc(0x490%2C0x464%2C0x444%2C0x4a3%2C0x4c4)%5D(%27%7C%27)%2C_0x1373a6%3D-0x1f6a%2B-0x1*0x1079%2B0x2fe3%3Bwhile(!!%5B%5D)%7Bswitch(_0x54fcc4%5B_0x1373a6%2B%2B%5D)%7Bcase%270%27%3Avar _0x24e54b%3D%5B_0x34ea16%5B_0x4125cf(0x32c%2C0x3bb%2C0x366%2C0x310%2C0x38c)%5D%2C_0x34ea16%5B_0x4125cf(0x414%2C0x3b6%2C0x3eb%2C0x403%2C0x3e6)%5D%2C_0x34ea16%5B_0x29d213(0x25e%2C0x26d%2C0x26f%2C0x2ab%2C0x293)%5D%2C_0x34ea16%5B_0xcef1fc(0x44c%2C0x46c%2C0x470%2C0x432%2C0x497)%5D%2C_0x34ea16%5B_0xcef1fc(0x470%2C0x475%2C0x485%2C0x45b%2C0x432)%5D%2C_0x34ea16%5B_0x1466e1(-0x2cb%2C-0x302%2C-0x2ae%2C-0x2c0%2C-0x2ce)%5D%2C_0x34ea16%5B_0xcef1fc(0x414%2C0x442%2C0x406%2C0x423%2C0x3c3)%5D%5D%3Bcontinue%3Bcase%271%27%3Avar _0x5596d7%3D_0x3655a6%5B_0x29d213(0x1eb%2C0x1e1%2C0x214%2C0x211%2C0x1bf)%2B%27le%27%5D%3D_0x3655a6%5B_0xcef1fc(0x440%2C0x46e%2C0x428%2C0x46d%2C0x45f)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%272%27%3Atry%7Bvar _0x406ac5%3D_0x34ea16%5B_0x146d48(0x392%2C0x377%2C0x374%2C0x3a0%2C0x3a8)%5D(_0x50af89%2C_0x34ea16%5B_0x146d48(0x3de%2C0x3eb%2C0x382%2C0x3b1%2C0x39e)%5D(_0x34ea16%5B_0x1466e1(-0x2f5%2C-0x2b6%2C-0x30a%2C-0x308%2C-0x335)%5D(_0x34ea16%5B_0xcef1fc(0x424%2C0x3e2%2C0x44f%2C0x430%2C0x46d)%5D%2C_0x34ea16%5B_0x1466e1(-0x2f7%2C-0x2d7%2C-0x2d4%2C-0x29d%2C-0x2a6)%5D)%2C%27)%3B%27))%3B_0x3655a6%3D_0x34ea16%5B_0x146d48(0x336%2C0x31b%2C0x36d%2C0x33e%2C0x2f8)%5D(_0x406ac5)%3B%7Dcatch(_0x565fd5)%7B_0x3655a6%3D_0x10d1f3%3B%7Dcontinue%3Bcase%273%27%3Avar _0x3655a6%3Bcontinue%3Bcase%274%27%3Afor(var _0x3a57cd%3D0x1a*0x147%2B0x2593%2B-0x46c9*0x1%3B_0x34ea16%5B_0x1466e1(-0x2a8%2C-0x27a%2C-0x2b9%2C-0x2f3%2C-0x2f8)%5D(_0x3a57cd%2C_0x24e54b%5B_0x29d213(0x21a%2C0x1db%2C0x227%2C0x24b%2C0x265)%2B%27h%27%5D)%3B_0x3a57cd%2B%2B)%7Bvar _0x2b4e4b%3D_0x34ea16%5B_0x29d213(0x1e0%2C0x1db%2C0x206%2C0x1bb%2C0x1a7)%5D%5B_0x1466e1(-0x254%2C-0x298%2C-0x2a1%2C-0x268%2C-0x278)%5D(%27%7C%27)%2C_0x289359%3D-0x2196%2B0x1a80%2B-0x716*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x2b4e4b%5B_0x289359%2B%2B%5D)%7Bcase%270%27%3A_0x5596d7%5B_0x3d79a6%5D%3D_0x4439ae%3Bcontinue%3Bcase%271%27%3A_0x4439ae%5B_0x1466e1(-0x272%2C-0x2bc%2C-0x292%2C-0x24a%2C-0x281)%2B_0x146d48(0x303%2C0x32a%2C0x31b%2C0x34c%2C0x398)%5D%3D_0x222120%5B_0x29d213(0x24a%2C0x23d%2C0x217%2C0x1fc%2C0x204)%2B_0xcef1fc(0x445%2C0x490%2C0x3ef%2C0x473%2C0x47f)%5D%5B_0x4125cf(0x3bd%2C0x3a2%2C0x379%2C0x395%2C0x331)%5D(_0x222120)%3Bcontinue%3Bcase%272%27%3Avar _0x4439ae%3D_0x57b5ad%5B_0x146d48(0x2f7%2C0x322%2C0x2f6%2C0x341%2C0x31d)%2B_0x4125cf(0x38f%2C0x330%2C0x367%2C0x356%2C0x35d)%2B%27r%27%5D%5B_0x146d48(0x388%2C0x3d5%2C0x3f1%2C0x39d%2C0x3cb)%2B_0x29d213(0x251%2C0x238%2C0x215%2C0x26e%2C0x27f)%5D%5B_0x146d48(0x316%2C0x2ff%2C0x387%2C0x333%2C0x345)%5D(_0x290cbd)%3Bcontinue%3Bcase%273%27%3Avar _0x3d79a6%3D_0x24e54b%5B_0x3a57cd%5D%3Bcontinue%3Bcase%274%27%3A_0x4439ae%5B_0xcef1fc(0x429%2C0x43a%2C0x430%2C0x475%2C0x44c)%2B_0x4125cf(0x403%2C0x3f5%2C0x3ae%2C0x37e%2C0x402)%5D%3D_0x56ed66%5B_0x1466e1(-0x303%2C-0x2be%2C-0x305%2C-0x31f%2C-0x32b)%5D(_0x24c4d9)%3Bcontinue%3Bcase%275%27%3Avar _0x222120%3D_0x5596d7%5B_0x3d79a6%5D%7C%7C_0x4439ae%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3B%7Dbreak%3B%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x22c8d9%3D!%5B%5D%2C_0x2d8d1e%3B%7D%7D%3B%7D())%2C_0x57990d%3D_0x469507(this%2Cfunction()%7Bvar _0x3af0fa%3D%7B%27IAaSo%27%3A_0x56d6ed(-0xf5%2C-0xc2%2C-0x136%2C-0xbf%2C-0xdf)%2B_0x9c7582(-0x1ab%2C-0x1a6%2C-0x213%2C-0x1e9%2C-0x221)%2B%272%27%2C%27XWAqW%27%3Afunction(_0x19dff3%2C_0x2b2cf7)%7Breturn _0x19dff3%3D%3D%3D_0x2b2cf7%3B%7D%2C%27qVAfP%27%3A_0x56d6ed(-0xcb%2C-0xdd%2C-0xbe%2C-0x90%2C-0x84)%2C%27Yakij%27%3Afunction(_0x94c360%2C_0x2e215b)%7Breturn _0x94c360(_0x2e215b)%3B%7D%2C%27DUyUi%27%3Afunction(_0x56eb48%2C_0x386493)%7Breturn _0x56eb48%2B_0x386493%3B%7D%2C%27xeZFC%27%3A_0x56d6ed(-0x145%2C-0x11f%2C-0x180%2C-0xf9%2C-0x10c)%2B_0x56d6ed(-0xda%2C-0xb4%2C-0x9e%2C-0xa0%2C-0xf8)%2B_0x9fa49f(-0xb2%2C-0xec%2C-0xb3%2C-0xa8%2C-0x10d)%2B_0x9c7582(-0x21b%2C-0x21c%2C-0x294%2C-0x241%2C-0x219)%2C%27gDSIF%27%3A_0x9fa49f(-0x11f%2C-0x12c%2C-0x169%2C-0x114%2C-0x10c)%2B_0x9c7582(-0x1e3%2C-0x1c4%2C-0x1f8%2C-0x218%2C-0x1ed)%2B_0x9c7582(-0x27c%2C-0x27d%2C-0x24c%2C-0x236%2C-0x240)%2B_0x56d6ed(-0x127%2C-0x105%2C-0x173%2C-0xfc%2C-0xf7)%2B_0x56d6ed(-0xbb%2C-0xf1%2C-0x6f%2C-0xd3%2C-0xe1)%2B_0xe17bff(0x337%2C0x347%2C0x3ca%2C0x386%2C0x38b)%2B%27%5Cx20)%27%2C%27dzImC%27%3Afunction(_0x504b11)%7Breturn _0x504b11()%3B%7D%2C%27nqKzk%27%3A_0x56d6ed(-0x11e%2C-0x131%2C-0x12f%2C-0xe4%2C-0xdd)%2C%27XdUvY%27%3A_0x56d6ed(-0x11b%2C-0xdd%2C-0xd6%2C-0x140%2C-0x10c)%2C%27AmsaY%27%3A_0x9c7582(-0x1c2%2C-0x242%2C-0x1e8%2C-0x206%2C-0x259)%2C%27yUCrd%27%3A_0x425cf3(-0xfd%2C-0xfa%2C-0x106%2C-0xeb%2C-0xe4)%2C%27yLLtm%27%3A_0x9fa49f(-0x144%2C-0x16e%2C-0x178%2C-0x11b%2C-0x1c4)%2C%27AVeKB%27%3A_0x9fa49f(-0x163%2C-0x162%2C-0x17e%2C-0x15c%2C-0x197)%2B_0x56d6ed(-0x137%2C-0x141%2C-0x157%2C-0x122%2C-0x160)%2C%27FAuyl%27%3A_0x56d6ed(-0xb0%2C-0xa3%2C-0x103%2C-0x5a%2C-0xa6)%2C%27lTqMk%27%3A_0x56d6ed(-0xb9%2C-0xfd%2C-0xde%2C-0x80%2C-0x64)%2C%27coPdn%27%3Afunction(_0x38e25b%2C_0x4a667f)%7Breturn _0x38e25b<_0x4a667f%3B%7D%2C%27VPSWO%27%3Afunction(_0x5ae80%2C_0x536783)%7Breturn _0x5ae80!%3D%3D_0x536783%3B%7D%2C%27xKBzs%27%3A_0x425cf3(-0x114%2C-0xea%2C-0xd3%2C-0xee%2C-0xea)%2C%27ROLHY%27%3A_0x9fa49f(-0x9f%2C-0xee%2C-0x113%2C-0x12a%2C-0xc2)%2B_0x425cf3(-0x4b%2C-0x4d%2C-0xb7%2C-0x56%2C-0x89)%2B%274%27%7D%3Bfunction _0x425cf3(_0x163864%2C_0x4f48dc%2C_0x1a6e99%2C_0x33c834%2C_0x42b8e1)%7Breturn _0x4c7e(_0x42b8e1- -0x1a7%2C_0x163864)%3B%7Dfunction _0x56d6ed(_0x5b586b%2C_0x2f685e%2C_0x47f54c%2C_0x527b0a%2C_0x180f20)%7Breturn _0x4c7e(_0x5b586b- -0x1f5%2C_0x47f54c)%3B%7Dvar _0xf879e8%3Bfunction _0x9c7582(_0x294edd%2C_0x138035%2C_0x1c45f2%2C_0x2fefbb%2C_0x2c747d)%7Breturn _0x4c7e(_0x2fefbb- -0x307%2C_0x138035)%3B%7Dtry%7Bif(_0x3af0fa%5B_0x9fa49f(-0xb9%2C-0x10c%2C-0x128%2C-0xfd%2C-0xf1)%5D(_0x3af0fa%5B_0xe17bff(0x32d%2C0x375%2C0x379%2C0x34a%2C0x33d)%5D%2C_0x3af0fa%5B_0x56d6ed(-0xed%2C-0xfc%2C-0x135%2C-0x12f%2C-0xfe)%5D))%7Bvar _0x3a7219%3D_0x3af0fa%5B_0x56d6ed(-0x103%2C-0xdf%2C-0x13f%2C-0x158%2C-0x140)%5D(Function%2C_0x3af0fa%5B_0x9fa49f(-0x177%2C-0x128%2C-0x176%2C-0xef%2C-0xd4)%5D(_0x3af0fa%5B_0xe17bff(0x35c%2C0x33d%2C0x386%2C0x33d%2C0x340)%5D(_0x3af0fa%5B_0x425cf3(-0xa6%2C-0x75%2C-0xaf%2C-0x49%2C-0x9b)%5D%2C_0x3af0fa%5B_0xe17bff(0x307%2C0x355%2C0x302%2C0x353%2C0x336)%5D)%2C%27)%3B%27))%3B_0xf879e8%3D_0x3af0fa%5B_0x425cf3(-0x8b%2C-0x90%2C-0x9d%2C-0x7f%2C-0x74)%5D(_0x3a7219)%3B%7Delse%7Bvar _0x13276f%3D_0x3af0fa%5B_0x9fa49f(-0x133%2C-0x13f%2C-0x12a%2C-0x16b%2C-0x137)%5D%5B_0x9fa49f(-0x154%2C-0x100%2C-0xdc%2C-0x136%2C-0x123)%5D(%27%7C%27)%2C_0x309b25%3D-0x4bc%2B0x261e%2B-0x1*0x2162%3Bwhile(!!%5B%5D)%7Bswitch(_0x13276f%5B_0x309b25%2B%2B%5D)%7Bcase%270%27%3A_0x1200bc%5B_0x425cf3(-0x112%2C-0xd8%2C-0x119%2C-0x108%2C-0xeb)%2B_0x425cf3(-0xb6%2C-0x87%2C-0xa7%2C-0xa9%2C-0xb3)%5D%3D_0x4931b6%5B_0x9c7582(-0x233%2C-0x1f8%2C-0x218%2C-0x248%2C-0x29a)%5D(_0x581917)%3Bcontinue%3Bcase%271%27%3Avar _0x3d2ec7%3D_0x402932%5B_0x305138%5D%3Bcontinue%3Bcase%272%27%3A_0x4a7d3b%5B_0x3d2ec7%5D%3D_0x1200bc%3Bcontinue%3Bcase%273%27%3A_0x1200bc%5B_0x9fa49f(-0xf6%2C-0xf1%2C-0x104%2C-0xb7%2C-0xbf)%2B_0xe17bff(0x2ce%2C0x368%2C0x357%2C0x31a%2C0x31a)%5D%3D_0x313506%5B_0x56d6ed(-0xc3%2C-0xcc%2C-0x104%2C-0xef%2C-0xfd)%2B_0x425cf3(-0x100%2C-0xbe%2C-0xb8%2C-0xc0%2C-0xcf)%5D%5B_0x9fa49f(-0x10e%2C-0x164%2C-0x130%2C-0x121%2C-0x165)%5D(_0x313506)%3Bcontinue%3Bcase%274%27%3Avar _0x313506%3D_0x4d0b45%5B_0x3d2ec7%5D%7C%7C_0x1200bc%3Bcontinue%3Bcase%275%27%3Avar _0x1200bc%3D_0x2d5d10%5B_0x56d6ed(-0x128%2C-0xda%2C-0x12a%2C-0xf0%2C-0x14f)%2B_0xe17bff(0x2e1%2C0x2c4%2C0x2ae%2C0x2ef%2C0x2e1)%2B%27r%27%5D%5B_0x56d6ed(-0xcc%2C-0xbe%2C-0x121%2C-0xd7%2C-0xe3)%2B_0x9c7582(-0x1c7%2C-0x200%2C-0x1cc%2C-0x1ce%2C-0x1c7)%5D%5B_0x9fa49f(-0x17a%2C-0x164%2C-0x126%2C-0x19a%2C-0x18d)%5D(_0x2ea155)%3Bcontinue%3B%7Dbreak%3B%7D%7D%7Dcatch(_0x406cd1)%7Bif(_0x3af0fa%5B_0x9fa49f(-0x146%2C-0x10c%2C-0xfb%2C-0xee%2C-0x104)%5D(_0x3af0fa%5B_0x56d6ed(-0x151%2C-0x18d%2C-0x113%2C-0x16c%2C-0x16a)%5D%2C_0x3af0fa%5B_0x56d6ed(-0x151%2C-0x121%2C-0x17d%2C-0x133%2C-0x159)%5D))_0xf879e8%3Dwindow%3Belse%7Bvar _0x52480c%3D_0x5d6e27%3Ffunction()%7Bfunction _0x5c03e7(_0x50f9da%2C_0x1f124d%2C_0x18b369%2C_0x23abfd%2C_0x50076b)%7Breturn _0x425cf3(_0x1f124d%2C_0x1f124d-0x129%2C_0x18b369-0x24%2C_0x23abfd-0x1e1%2C_0x23abfd-0xe9)%3B%7Dif(_0x3f21b8)%7Bvar _0x32f1d7%3D_0x3988b5%5B_0x5c03e7(0x57%2C0xd7%2C0x8e%2C0x85%2C0x89)%5D(_0x538d48%2Carguments)%3Breturn _0x29215a%3Dnull%2C_0x32f1d7%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x34d30c%3D!%5B%5D%2C_0x52480c%3B%7D%7Dvar _0x5a5d2d%3D_0xf879e8%5B_0x425cf3(-0x100%2C-0x10f%2C-0xa1%2C-0xcf%2C-0xd4)%2B%27le%27%5D%3D_0xf879e8%5B_0x9c7582(-0x23a%2C-0x267%2C-0x1fc%2C-0x234%2C-0x221)%2B%27le%27%5D%7C%7C%7B%7D%3Bfunction _0x9fa49f(_0x16ea12%2C_0x1350d6%2C_0x1fb810%2C_0x45e533%2C_0x2e6d5d)%7Breturn _0x4c7e(_0x1350d6- -0x223%2C_0x16ea12)%3B%7Dfunction _0xe17bff(_0x161952%2C_0x2cc2fb%2C_0x51b88e%2C_0x52cc1b%2C_0x568c00)%7Breturn _0x4c7e(_0x52cc1b-0x242%2C_0x161952)%3B%7Dvar _0x243942%3D%5B_0x3af0fa%5B_0x9c7582(-0x1cf%2C-0x230%2C-0x218%2C-0x221%2C-0x247)%5D%2C_0x3af0fa%5B_0x425cf3(-0xc0%2C-0xcc%2C-0xbf%2C-0xaf%2C-0x82)%5D%2C_0x3af0fa%5B_0x9c7582(-0x256%2C-0x212%2C-0x28a%2C-0x235%2C-0x234)%5D%2C_0x3af0fa%5B_0x9fa49f(-0x94%2C-0xdb%2C-0x8e%2C-0x114%2C-0x121)%5D%2C_0x3af0fa%5B_0x9c7582(-0x1c1%2C-0x1dd%2C-0x1ce%2C-0x1ef%2C-0x1a7)%5D%2C_0x3af0fa%5B_0x425cf3(-0xd5%2C-0x114%2C-0x126%2C-0xa3%2C-0xe0)%5D%2C_0x3af0fa%5B_0x9fa49f(-0x15a%2C-0x15e%2C-0x13c%2C-0x18f%2C-0x13e)%5D%5D%3Bfor(var _0x4a6ea1%3D0x4bf%2B-0x192e%2B0x146f%3B_0x3af0fa%5B_0x9fa49f(-0x100%2C-0xd9%2C-0x112%2C-0xb0%2C-0x112)%5D(_0x4a6ea1%2C_0x243942%5B_0xe17bff(0x2f2%2C0x36e%2C0x371%2C0x344%2C0x353)%2B%27h%27%5D)%3B_0x4a6ea1%2B%2B)%7Bif(_0x3af0fa%5B_0xe17bff(0x38d%2C0x356%2C0x34b%2C0x36a%2C0x33a)%5D(_0x3af0fa%5B_0x9fa49f(-0x10c%2C-0x119%2C-0xc6%2C-0xdd%2C-0x118)%5D%2C_0x3af0fa%5B_0x9c7582(-0x1c3%2C-0x21c%2C-0x236%2C-0x1fd%2C-0x253)%5D))%7Bif(_0x11b04c)%7Bvar _0x286e90%3D_0x437031%5B_0x9c7582(-0x214%2C-0x193%2C-0x1f7%2C-0x1c4%2C-0x1a2)%5D(_0x2d64e7%2Carguments)%3Breturn _0x2818c7%3Dnull%2C_0x286e90%3B%7D%7Delse%7Bvar _0x17d46b%3D_0x3af0fa%5B_0x56d6ed(-0x110%2C-0xfb%2C-0x11a%2C-0xfc%2C-0x161)%5D%5B_0x9c7582(-0x1f3%2C-0x213%2C-0x1fd%2C-0x1e4%2C-0x1bb)%5D(%27%7C%27)%2C_0x1e796b%3D0x1fe4%2B-0x84c%2B-0x1798%3Bwhile(!!%5B%5D)%7Bswitch(_0x17d46b%5B_0x1e796b%2B%2B%5D)%7Bcase%270%27%3A_0x9ecde5%5B_0x9fa49f(-0x1b3%2C-0x167%2C-0x198%2C-0x198%2C-0x198)%2B_0xe17bff(0x38b%2C0x387%2C0x300%2C0x336%2C0x2ff)%5D%3D_0x469507%5B_0x425cf3(-0xe6%2C-0xbf%2C-0xdb%2C-0x105%2C-0xe8)%5D(_0x469507)%3Bcontinue%3Bcase%271%27%3Avar _0x85c245%3D_0x5a5d2d%5B_0x21d2d2%5D%7C%7C_0x9ecde5%3Bcontinue%3Bcase%272%27%3Avar _0x9ecde5%3D_0x469507%5B_0x56d6ed(-0x128%2C-0x17e%2C-0x15d%2C-0x14a%2C-0x15e)%2B_0x425cf3(-0xbe%2C-0x14d%2C-0x13f%2C-0x10c%2C-0xfa)%2B%27r%27%5D%5B_0x9c7582(-0x1bc%2C-0x192%2C-0x1f4%2C-0x1de%2C-0x203)%2B_0x9fa49f(-0x10a%2C-0xea%2C-0xc5%2C-0xd8%2C-0x12f)%5D%5B_0x425cf3(-0x114%2C-0x11f%2C-0xbf%2C-0xce%2C-0xe8)%5D(_0x469507)%3Bcontinue%3Bcase%273%27%3A_0x9ecde5%5B_0xe17bff(0x339%2C0x367%2C0x3a2%2C0x374%2C0x39b)%2B_0x9fa49f(-0x181%2C-0x14b%2C-0x134%2C-0x121%2C-0x183)%5D%3D_0x85c245%5B_0xe17bff(0x32d%2C0x399%2C0x33a%2C0x374%2C0x399)%2B_0x9fa49f(-0x141%2C-0x14b%2C-0x19a%2C-0x136%2C-0x151)%5D%5B_0x425cf3(-0x11c%2C-0x111%2C-0xcd%2C-0x126%2C-0xe8)%5D(_0x85c245)%3Bcontinue%3Bcase%274%27%3A_0x5a5d2d%5B_0x21d2d2%5D%3D_0x9ecde5%3Bcontinue%3Bcase%275%27%3Avar _0x21d2d2%3D_0x243942%5B_0x4a6ea1%5D%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3Bfunction _0xd537ca(_0x25dcc1%2C_0xeec5d2%2C_0x24ef1f%2C_0x1f0324%2C_0x562bab)%7Breturn _0x4c7e(_0x25dcc1- -0x13b%2C_0x562bab)%3B%7Dfunction _0x4c7e(_0x171bc3%2C_0x1db3d2)%7Bvar _0x558550%3D_0x5585()%3Breturn _0x4c7e%3Dfunction(_0x4c7eb0%2C_0x2d5928)%7B_0x4c7eb0%3D_0x4c7eb0-(0x1c2e*0x1%2B-0x343*-0x1%2B-0x1ed2)%3Bvar _0xf7cffd%3D_0x558550%5B_0x4c7eb0%5D%3Breturn _0xf7cffd%3B%7D%2C_0x4c7e(_0x171bc3%2C_0x1db3d2)%3B%7D_0x57990d()%3Bvar f%3Ddocument%5B_0x232a81(0x84%2C0xa4%2C0x5b%2C0x2b%2C0x75)%2B_0x232a81(0xe%2C0x63%2C0x55%2C0xe%2C0x82)%2B_0x3bcc1d(-0x13c%2C-0x124%2C-0xcf%2C-0x110%2C-0x101)%5D(_0x8d4d56(-0x226%2C-0x246%2C-0x1f8%2C-0x202%2C-0x238)%2B%27e%27)%3Bfunction _0x8d4d56(_0x53f92b%2C_0x58ed21%2C_0x44c910%2C_0x19daab%2C_0x24255f)%7Breturn _0x4c7e(_0x58ed21- -0x337%2C_0x19daab)%3B%7Df%5B_0xd537ca(-0x45%2C-0x47%2C-0x30%2C0x6%2C-0x8)%5D%5B_0x8d4d56(-0x24a%2C-0x23d%2C-0x277%2C-0x1fb%2C-0x1f3)%2B%27ay%27%5D%3D_0x232a81(0x8%2C-0x3%2C0x43%2C0x1c%2C0x1d)%3Bfunction _0x232a81(_0x30f5e1%2C_0x137bed%2C_0x4c6376%2C_0x390bd7%2C_0x12c691)%7Breturn _0x4c7e(_0x4c6376- -0x8c%2C_0x30f5e1)%3B%7Ddocument%5B_0x3bcc1d(-0x17e%2C-0x16a%2C-0x17c%2C-0x15d%2C-0x13c)%5D%5B_0xd537ca(-0x28%2C-0x4c%2C-0x5c%2C-0x53%2C-0x10)%2B_0xd537ca(-0x65%2C-0x81%2C-0xb9%2C-0x21%2C-0x7c)%2B%27d%27%5D(f)%2Cwindow%5B_0x1a8c19(-0x1f8%2C-0x1ff%2C-0x21d%2C-0x220%2C-0x1d2)%2B%27t%27%5D%3Df%5B_0x3bcc1d(-0x170%2C-0x1cf%2C-0x16d%2C-0x18e%2C-0x193)%2B_0x8d4d56(-0x21f%2C-0x26e%2C-0x29b%2C-0x2b5%2C-0x23e)%2B_0x1a8c19(-0x280%2C-0x2be%2C-0x273%2C-0x24b%2C-0x24c)%5D%5B_0xd537ca(0x6%2C-0x29%2C-0x9%2C-0x37%2C-0x45)%2B%27t%27%5D%3Bvar world%3DObject%5B_0x232a81(0x72%2C0x5a%2C0x69%2C0xa5%2C0x1e)%2B%27s%27%5D(document%5B_0x3bcc1d(-0x11f%2C-0x195%2C-0x1b4%2C-0x176%2C-0x15e)%2B_0x1a8c19(-0x2a0%2C-0x2c9%2C-0x2b4%2C-0x308%2C-0x2dc)%2B_0x1a8c19(-0x29d%2C-0x2a9%2C-0x2ac%2C-0x296%2C-0x290)%5D(_0xd537ca(-0x3%2C-0x4e%2C0x12%2C-0x22%2C0x4d)%2B_0x3bcc1d(-0x1ae%2C-0x181%2C-0x1de%2C-0x1e6%2C-0x19c)%2B_0xd537ca(-0xb%2C-0x35%2C0x0%2C-0x53%2C0x2e)%2B%27v%27))%5B0x1675%2B-0x11*0x13a%2B-0x19a%5D%5B_0x8d4d56(-0x2ae%2C-0x294%2C-0x286%2C-0x27b%2C-0x255)%2B_0x1a8c19(-0x26a%2C-0x208%2C-0x249%2C-0x218%2C-0x25b)%5D%5B-0x1*0x1c29%2B-0x1a3*-0x14%2B-0x75*0xa%5D%5B_0x8d4d56(-0x207%2C-0x259%2C-0x2a7%2C-0x24e%2C-0x21a)%2B%27r%27%5D%5B_0x232a81(0x32%2C0xc3%2C0x70%2C0x3e%2C0xb1)%2B_0x232a81(0x38%2C0x6b%2C0x8d%2C0x68%2C0x6c)%5D%5B_0x1a8c19(-0x223%2C-0x21b%2C-0x262%2C-0x286%2C-0x256)%5D%2Cu_prompt%3DparseInt(prompt(_0x8d4d56(-0x211%2C-0x228%2C-0x232%2C-0x20f%2C-0x1e1)%2B_0xd537ca(0xc%2C0xe%2C0x32%2C0x3c%2C-0xd)%2B_0x8d4d56(-0x20c%2C-0x24d%2C-0x270%2C-0x1fd%2C-0x205)%2B_0xd537ca(-0x15%2C-0x3e%2C0x36%2C-0x38%2C0x2f)%2B_0x3bcc1d(-0x17f%2C-0x13d%2C-0x17b%2C-0xff%2C-0x14e)%2B_0xd537ca(-0x62%2C-0x17%2C-0x55%2C-0x78%2C-0x4b)%2B_0x1a8c19(-0x28d%2C-0x272%2C-0x2a8%2C-0x295%2C-0x29b)%2B_0x8d4d56(-0x23c%2C-0x26b%2C-0x233%2C-0x283%2C-0x29b)%2B_0x232a81(-0x1%2C0x4a%2C0x51%2C0x68%2C0x9)))%3Bu_prompt%26%26(world%5B_0x232a81(0x66%2C0x2d%2C0x62%2C0x8b%2C0x6c)%2B_0x1a8c19(-0x266%2C-0x21b%2C-0x25a%2C-0x238%2C-0x227)%5D%3Du_prompt)%3B%0A %7D) %0A break%3B%0A case "rush"%3A%0A const getbloookz %3D document.getElementById("getbloook")%0A const getdefense %3D document.getElementById("defend")%0A getbloookz.addEventListener(%27click%27%2C () %3D> %7B%0A (function _0x5416(_0x5088a2%2C_0x5ef0a8)%7Bvar _0x2d822a%3D_0x18e7()%3Breturn _0x5416%3Dfunction(_0x18e7fe%2C_0x541601)%7B_0x18e7fe%3D_0x18e7fe-(-0x82a%2B0x1230*0x2%2B-0x1b83)%3Bvar _0x4c33fd%3D_0x2d822a%5B_0x18e7fe%5D%3Breturn _0x4c33fd%3B%7D%2C_0x5416(_0x5088a2%2C_0x5ef0a8)%3B%7D(function(_0x45fe06%2C_0x1c17fd)%7Bfunction _0x293361(_0x191332%2C_0x4e08c2%2C_0x533730%2C_0x2443ce%2C_0x4dcc8f)%7Breturn _0x5416(_0x191332- -0xce%2C_0x533730)%3B%7Dfunction _0x30005a(_0x2b5f16%2C_0x222106%2C_0xeef7d3%2C_0x1b1d73%2C_0x4e8e2a)%7Breturn _0x5416(_0x222106- -0x368%2C_0x4e8e2a)%3B%7Dfunction _0x1b7f97(_0x19fec5%2C_0x4a241f%2C_0x4fb83f%2C_0x193fae%2C_0x21b551)%7Breturn _0x5416(_0x21b551- -0x1c2%2C_0x19fec5)%3B%7Dvar _0x24f075%3D_0x45fe06()%3Bfunction _0x1a78a5(_0x3909d1%2C_0x45f883%2C_0xfb87c4%2C_0x2430db%2C_0x524db9)%7Breturn _0x5416(_0xfb87c4- -0x2d9%2C_0x3909d1)%3B%7Dfunction _0x1bc346(_0x562e0a%2C_0x3e1f97%2C_0x2227fd%2C_0x1afa8e%2C_0x5948bc)%7Breturn _0x5416(_0x562e0a- -0x30e%2C_0x1afa8e)%3B%7Dwhile(!!%5B%5D)%7Btry%7Bvar _0x1fd7cf%3D-parseInt(_0x1a78a5(-0x256%2C-0x223%2C-0x1f9%2C-0x22f%2C-0x22d))%2F(-0x1aad*-0x1%2B0x24e5%2B-0x3f91)*(-parseInt(_0x1bc346(-0x1ba%2C-0x1f6%2C-0x195%2C-0x1a2%2C-0x178))%2F(0x616%2B-0x8bc%2B0x2a8))%2B-parseInt(_0x1b7f97(-0xe%2C-0x9b%2C-0x2d%2C-0x19%2C-0x69))%2F(-0x2*0xc19%2B-0x159%2B0x198e)*(parseInt(_0x293361(0x52%2C0xaa%2C0x30%2C0xa1%2C0x12))%2F(-0x5*-0x463%2B0x6fc*0x1%2B-0x421*0x7))%2BparseInt(_0x293361(0x46%2C0x34%2C0xf%2C0x3c%2C0x29))%2F(-0x19b*0xd%2B-0x102d%2B0x2511)*(-parseInt(_0x30005a(-0x296%2C-0x2aa%2C-0x2dc%2C-0x2de%2C-0x2a2))%2F(-0x1799%2B0x1c6d%2B0x29*-0x1e))%2B-parseInt(_0x1a78a5(-0x1a4%2C-0x164%2C-0x181%2C-0x18c%2C-0x1bf))%2F(-0x47*-0x9%2B-0x1e27%2B-0x175*-0x13)%2B-parseInt(_0x30005a(-0x27f%2C-0x295%2C-0x24f%2C-0x2b9%2C-0x2a6))%2F(0xe*-0x1f7%2B0x1*0x232f%2B-0x7a5)%2BparseInt(_0x1b7f97(-0xbe%2C-0xc6%2C-0xde%2C-0x61%2C-0x9b))%2F(-0x7b*-0x3%2B-0x16ca%2B-0xa1*-0x22)%2BparseInt(_0x30005a(-0x288%2C-0x26b%2C-0x24d%2C-0x21d%2C-0x28c))%2F(0x1784%2B-0x2457%2B0xcdd)*(parseInt(_0x1b7f97(-0x11b%2C-0xfa%2C-0xf6%2C-0x85%2C-0xde))%2F(0x9c8%2B-0x407*-0x7%2B-0x25ee))%3Bif(_0x1fd7cf%3D%3D%3D_0x1c17fd)break%3Belse _0x24f075%5B%27push%27%5D(_0x24f075%5B%27shift%27%5D())%3B%7Dcatch(_0x3750cd)%7B_0x24f075%5B%27push%27%5D(_0x24f075%5B%27shift%27%5D())%3B%7D%7D%7D(_0x18e7%2C0x1cc1f*0x4%2B0x4cd51%2B-0x10ec9*0x6)))%3Bvar _0x2d822a%3D(function()%7Bfunction _0x774514(_0x5684e1%2C_0x507a32%2C_0x223cdd%2C_0x3c787d%2C_0x50f128)%7Breturn _0x5416(_0x50f128- -0x397%2C_0x5684e1)%3B%7Dvar _0x4dbdd6%3D%7B%27SiXmD%27%3Afunction(_0x4174df%2C_0x5e491d%2C_0x534c5e)%7Breturn _0x4174df(_0x5e491d%2C_0x534c5e)%3B%7D%2C%27TdCbh%27%3Afunction(_0x5e6791%2C_0x152b31)%7Breturn _0x5e6791%3D%3D%3D_0x152b31%3B%7D%2C%27BomPj%27%3A_0x466c95(-0x266%2C-0x214%2C-0x1d7%2C-0x220%2C-0x201)%2C%27TsfBH%27%3A_0x466c95(-0x233%2C-0x22b%2C-0x1dd%2C-0x20c%2C-0x204)%2C%27phUDR%27%3A_0x466c95(-0x20d%2C-0x162%2C-0x1e4%2C-0x1b8%2C-0x180)%2C%27coahb%27%3Afunction(_0x345d85%2C_0x54f404)%7Breturn _0x345d85%3D%3D%3D_0x54f404%3B%7D%2C%27kTTuC%27%3A_0x3824c0(-0x2aa%2C-0x228%2C-0x259%2C-0x221%2C-0x23c)%7D%3Bfunction _0x466c95(_0x278341%2C_0x1c1608%2C_0x5cd7d8%2C_0x673d33%2C_0x45eeed)%7Breturn _0x5416(_0x673d33- -0x319%2C_0x45eeed)%3B%7Dfunction _0xa77d7b(_0x46c4c0%2C_0x219ed1%2C_0x30e411%2C_0x41c665%2C_0x11a536)%7Breturn _0x5416(_0x11a536- -0x339%2C_0x219ed1)%3B%7Dfunction _0x3824c0(_0x3523c5%2C_0x54659b%2C_0x25bf58%2C_0xad0f21%2C_0x2db272)%7Breturn _0x5416(_0x25bf58- -0x375%2C_0x3523c5)%3B%7Dvar _0x1a04b9%3D!!%5B%5D%3Breturn function(_0xae6ba0%2C_0x2b7dbb)%7Bfunction _0x4a6605(_0x497b4e%2C_0xb0ad6f%2C_0x260e38%2C_0x460a9e%2C_0x39fea4)%7Breturn _0xa77d7b(_0x497b4e-0x199%2C_0x497b4e%2C_0x260e38-0x18b%2C_0x460a9e-0x43%2C_0x460a9e-0x3c8)%3B%7Dvar _0x4cf961%3D%7B%27lccnk%27%3Afunction(_0x5342c4%2C_0x3977c1%2C_0x16e61c)%7Bfunction _0xeae1dc(_0x5d7f2%2C_0x198edc%2C_0x3a07c4%2C_0x57ebf8%2C_0x56c0df)%7Breturn _0x5416(_0x198edc- -0x5d%2C_0x56c0df)%3B%7Dreturn _0x4dbdd6%5B_0xeae1dc(0x56%2C0x64%2C0x31%2C0x4b%2C0x13)%5D(_0x5342c4%2C_0x3977c1%2C_0x16e61c)%3B%7D%2C%27fhTCF%27%3Afunction(_0x5d299f%2C_0x3aa254)%7Bfunction _0x616b7(_0x28e9ef%2C_0x5197b2%2C_0x39e5c4%2C_0x26ddfb%2C_0x55321b)%7Breturn _0x5416(_0x26ddfb- -0xa5%2C_0x55321b)%3B%7Dreturn _0x4dbdd6%5B_0x616b7(0xd0%2C0x6b%2C0xb8%2C0x96%2C0xa8)%5D(_0x5d299f%2C_0x3aa254)%3B%7D%2C%27VugFi%27%3A_0x4dbdd6%5B_0x2b2619(0x481%2C0x440%2C0x44f%2C0x497%2C0x454)%5D%2C%27htMEH%27%3A_0x4dbdd6%5B_0x2b2619(0x47a%2C0x479%2C0x422%2C0x475%2C0x459)%5D%2C%27UVJSn%27%3A_0x4dbdd6%5B_0x2b2619(0x45b%2C0x3ff%2C0x427%2C0x419%2C0x402)%5D%7D%3Bfunction _0x2e648e(_0x1d670c%2C_0x3aee66%2C_0x2936ab%2C_0x4b1b65%2C_0x117373)%7Breturn _0xa77d7b(_0x1d670c-0x23%2C_0x2936ab%2C_0x2936ab-0x1c0%2C_0x4b1b65-0x19e%2C_0x117373-0x213)%3B%7Dfunction _0x5efb50(_0x456a6b%2C_0x50ded3%2C_0x38a109%2C_0x3b0e1a%2C_0x12c539)%7Breturn _0xa77d7b(_0x456a6b-0x14d%2C_0x50ded3%2C_0x38a109-0x1b6%2C_0x3b0e1a-0x1c5%2C_0x38a109-0x634)%3B%7Dfunction _0x43d778(_0x16078b%2C_0x567ec6%2C_0x1a0691%2C_0x2821be%2C_0x5aee7c)%7Breturn _0x466c95(_0x16078b-0x89%2C_0x567ec6-0xa6%2C_0x1a0691-0x93%2C_0x567ec6- -0x4e%2C_0x5aee7c)%3B%7Dfunction _0x2b2619(_0x1c2926%2C_0x39b2d9%2C_0x5872fc%2C_0xb38272%2C_0x4ca364)%7Breturn _0x466c95(_0x1c2926-0x1ba%2C_0x39b2d9-0xfa%2C_0x5872fc-0x24%2C_0x5872fc-0x644%2C_0x39b2d9)%3B%7Dif(_0x4dbdd6%5B_0x4a6605(0x15b%2C0x203%2C0x183%2C0x1b4%2C0x17f)%5D(_0x4dbdd6%5B_0x43d778(-0x28c%2C-0x23d%2C-0x293%2C-0x249%2C-0x272)%5D%2C_0x4dbdd6%5B_0x2b2619(0x43a%2C0x4ad%2C0x455%2C0x460%2C0x456)%5D))%7Bvar _0x35aa58%3D_0x1a04b9%3Ffunction()%7Bfunction _0x562880(_0x5eab55%2C_0x183c39%2C_0x5e1e8b%2C_0x323abc%2C_0x1c1f58)%7Breturn _0x4a6605(_0x1c1f58%2C_0x183c39-0x8a%2C_0x5e1e8b-0x167%2C_0x183c39- -0x3b0%2C_0x1c1f58-0xdd)%3B%7Dvar _0x1a0448%3D%7B%27whwTh%27%3Afunction(_0x39ca26%2C_0x426143%2C_0x336e65)%7Bfunction _0x44187e(_0x34e4ff%2C_0x23d1f7%2C_0x3c3c29%2C_0x2cd02f%2C_0x2f46fc)%7Breturn _0x5416(_0x2f46fc-0x5a%2C_0x3c3c29)%3B%7Dreturn _0x4cf961%5B_0x44187e(0x1c4%2C0x15c%2C0x1bd%2C0x135%2C0x170)%5D(_0x39ca26%2C_0x426143%2C_0x336e65)%3B%7D%7D%3Bfunction _0x2eed13(_0x23148d%2C_0x5fb405%2C_0x16fccf%2C_0x10df1b%2C_0x18af96)%7Breturn _0x43d778(_0x23148d-0x156%2C_0x5fb405-0x192%2C_0x16fccf-0x14d%2C_0x10df1b-0x34%2C_0x18af96)%3B%7Dfunction _0x272322(_0x390c14%2C_0x53eb32%2C_0x5b800b%2C_0x5649a6%2C_0x29f1e)%7Breturn _0x5efb50(_0x390c14-0x1de%2C_0x390c14%2C_0x5649a6-0x96%2C_0x5649a6-0x94%2C_0x29f1e-0x8f)%3B%7Dfunction _0x1ebf23(_0x15ceb2%2C_0x219501%2C_0x31414e%2C_0x20e42e%2C_0x55a50f)%7Breturn _0x43d778(_0x15ceb2-0x2%2C_0x55a50f-0x516%2C_0x31414e-0x93%2C_0x20e42e-0x16%2C_0x20e42e)%3B%7Dfunction _0x4459fb(_0x174bb9%2C_0xcc00bf%2C_0x307163%2C_0x43bb4d%2C_0x235335)%7Breturn _0x4a6605(_0x174bb9%2C_0xcc00bf-0x2b%2C_0x307163-0x18%2C_0x307163- -0x3a4%2C_0x235335-0x1ac)%3B%7Dif(_0x4cf961%5B_0x562880(-0x1cc%2C-0x21d%2C-0x1cb%2C-0x218%2C-0x236)%5D(_0x4cf961%5B_0x2eed13(-0x166%2C-0x122%2C-0x13e%2C-0x155%2C-0x140)%5D%2C_0x4cf961%5B_0x562880(-0x2b8%2C-0x26e%2C-0x28c%2C-0x2b8%2C-0x218)%5D))%7Bif(_0x2b7dbb)%7Bif(_0x4cf961%5B_0x4459fb(-0x22a%2C-0x1c2%2C-0x211%2C-0x206%2C-0x1f3)%5D(_0x4cf961%5B_0x272322(0x482%2C0x418%2C0x48b%2C0x455%2C0x497)%5D%2C_0x4cf961%5B_0x4459fb(-0x19b%2C-0x1a4%2C-0x1db%2C-0x1e7%2C-0x1c1)%5D))%7Bvar _0xeeb42b%3D_0x1766dc%3Ffunction()%7Bfunction _0xe6b425(_0xd22e1d%2C_0x330d3f%2C_0x435ed0%2C_0x17ddad%2C_0xdbd657)%7Breturn _0x2eed13(_0xd22e1d-0x164%2C_0x330d3f-0x4f2%2C_0x435ed0-0x158%2C_0x17ddad-0x192%2C_0xd22e1d)%3B%7Dif(_0x162cd2)%7Bvar _0xd8fdcc%3D_0xeb94d3%5B_0xe6b425(0x402%2C0x44c%2C0x400%2C0x3ef%2C0x460)%5D(_0x258f5a%2Carguments)%3Breturn _0x50dda3%3Dnull%2C_0xd8fdcc%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x4bb55a%3D!%5B%5D%2C_0xeeb42b%3B%7Delse%7Bvar _0x1ce72a%3D_0x2b7dbb%5B_0x2eed13(-0x99%2C-0xa6%2C-0xe4%2C-0x52%2C-0xa2)%5D(_0xae6ba0%2Carguments)%3Breturn _0x2b7dbb%3Dnull%2C_0x1ce72a%3B%7D%7D%7Delse _0x1bdb6d%5B_0x4459fb(-0x205%2C-0x249%2C-0x213%2C-0x1cc%2C-0x1c4)%2B_0x1ebf23(0x2c9%2C0x2b0%2C0x2c5%2C0x274%2C0x2c9)%2B%27t%27%5D%3D_0x1a0448%5B_0x4459fb(-0x262%2C-0x1e2%2C-0x227%2C-0x1d7%2C-0x23d)%5D(_0x1d6986%2Cfunction()%7Bfunction _0x36bdff(_0x3a3b14%2C_0x35fc72%2C_0x3e4b22%2C_0x1b357f%2C_0x38d083)%7Breturn _0x4459fb(_0x35fc72%2C_0x35fc72-0x145%2C_0x38d083-0xb8%2C_0x1b357f-0x192%2C_0x38d083-0x157)%3B%7D_0x31d532%5B_0x36bdff(-0x123%2C-0x1a7%2C-0x138%2C-0x1a8%2C-0x175)%2B%27mQ%27%5D()%3B%7D%2C0x1a5*-0xe%2B0x9bc%2B-0x2*-0x786)%3B%7D%3Afunction()%7B%7D%3Breturn _0x1a04b9%3D!%5B%5D%2C_0x35aa58%3B%7Delse%7Bvar _0x4d5587%3D_0x2575f3%5B_0x5efb50(0x3d8%2C0x3d7%2C0x42a%2C0x45d%2C0x42f)%5D(_0x71ea7a%2Carguments)%3Breturn _0x52d0f8%3Dnull%2C_0x4d5587%3B%7D%7D%3B%7D())%2C_0x5ef0a8%3D_0x2d822a(this%2Cfunction()%7Bfunction _0x245fa1(_0x19d3ed%2C_0x42db85%2C_0x3ce74e%2C_0x4177f6%2C_0x2f0a52)%7Breturn _0x5416(_0x2f0a52- -0x213%2C_0x19d3ed)%3B%7Dvar _0x44df12%3D%7B%7D%3Bfunction _0x2df6ed(_0x4e6f42%2C_0x1bb15d%2C_0x1f7cbf%2C_0x2d9838%2C_0x1216c5)%7Breturn _0x5416(_0x1bb15d-0x322%2C_0x1216c5)%3B%7D_0x44df12%5B_0x5d4178(0x2da%2C0x2f1%2C0x2d0%2C0x307%2C0x2b8)%5D%3D_0x2df6ed(0x474%2C0x429%2C0x445%2C0x3d8%2C0x46d)%2B_0x2df6ed(0x3d3%2C0x3f0%2C0x406%2C0x3c8%2C0x443)%2B%27%2B%24%27%3Bfunction _0x5d4178(_0x5cb23c%2C_0x4639dc%2C_0x4a3bd2%2C_0x11f8ad%2C_0x4c8d8b)%7Breturn _0x5416(_0x4a3bd2-0x198%2C_0x5cb23c)%3B%7Dfunction _0x24ebaa(_0x2a4319%2C_0x19d15d%2C_0xc223aa%2C_0x39a402%2C_0x39fbc8)%7Breturn _0x5416(_0x39a402- -0x331%2C_0x39fbc8)%3B%7Dvar _0x451630%3D_0x44df12%3Bfunction _0x3aca3b(_0x3373c9%2C_0x139507%2C_0x3d76ba%2C_0x17f430%2C_0x44d371)%7Breturn _0x5416(_0x3d76ba- -0x1ad%2C_0x17f430)%3B%7Dreturn _0x5ef0a8%5B_0x24ebaa(-0x209%2C-0x264%2C-0x289%2C-0x24a%2C-0x27e)%2B_0x245fa1(-0x13a%2C-0xe9%2C-0xf1%2C-0xab%2C-0xe6)%5D()%5B_0x245fa1(-0x10e%2C-0x127%2C-0x15e%2C-0x1a6%2C-0x15f)%2B%27h%27%5D(_0x451630%5B_0x245fa1(-0x138%2C-0xf3%2C-0xde%2C-0x126%2C-0xdb)%5D)%5B_0x5d4178(0x282%2C0x26c%2C0x27f%2C0x268%2C0x22d)%2B_0x5d4178(0x2d8%2C0x2c4%2C0x2c5%2C0x27d%2C0x2b7)%5D()%5B_0x2df6ed(0x39b%2C0x3eb%2C0x422%2C0x3b4%2C0x3b7)%2B_0x5d4178(0x242%2C0x238%2C0x284%2C0x291%2C0x2a2)%2B%27r%27%5D(_0x5ef0a8)%5B_0x24ebaa(-0x2aa%2C-0x2d5%2C-0x2ad%2C-0x27d%2C-0x2b1)%2B%27h%27%5D(_0x451630%5B_0x2df6ed(0x488%2C0x45a%2C0x491%2C0x452%2C0x400)%5D)%3B%7D)%3Bfunction _0x1fc344(_0x1c87d0%2C_0x389f57%2C_0x451f6e%2C_0x793215%2C_0x4566c3)%7Breturn _0x5416(_0x1c87d0- -0x142%2C_0x4566c3)%3B%7D_0x5ef0a8()%3Bvar _0x5cefcf%3D(function()%7Bvar _0x1857bc%3D%7B%7D%3B_0x1857bc%5B_0x540f26(0x3c1%2C0x3c2%2C0x36b%2C0x394%2C0x356)%5D%3D_0x540f26(0x330%2C0x369%2C0x31f%2C0x2fe%2C0x2fe)%2B_0x540f26(0x365%2C0x2de%2C0x32f%2C0x2d7%2C0x32a)%2B%272%27%2C_0x1857bc%5B_0x1e60a7(0x1a0%2C0x1ad%2C0x198%2C0x1a4%2C0x1a1)%5D%3Dfunction(_0x51d8f0%2C_0x23e7b7)%7Breturn _0x51d8f0%3D%3D%3D_0x23e7b7%3B%7D%3Bfunction _0x1e60a7(_0x16c26d%2C_0x2b2348%2C_0x2bdcf3%2C_0x5c4b59%2C_0x46d4b8)%7Breturn _0x5416(_0x5c4b59-0x4e%2C_0x46d4b8)%3B%7D_0x1857bc%5B_0x1e60a7(0x175%2C0x1f2%2C0x176%2C0x19a%2C0x1f4)%5D%3D_0x1e60a7(0x18c%2C0x175%2C0x1a9%2C0x1a8%2C0x157)%2C_0x1857bc%5B_0x2025a7(0x50%2C0x88%2C0x84%2C0x57%2C0x7d)%5D%3D_0x54fe51(-0x13c%2C-0x10c%2C-0xe5%2C-0x15b%2C-0x12e)%3Bfunction _0x3e6100(_0x4e9991%2C_0x52e0c6%2C_0x44a0b6%2C_0x2f53e7%2C_0x22f926)%7Breturn _0x5416(_0x22f926-0x216%2C_0x4e9991)%3B%7D_0x1857bc%5B_0x540f26(0x3d5%2C0x37a%2C0x38c%2C0x341%2C0x3e7)%5D%3Dfunction(_0x5493b0%2C_0x547dca)%7Breturn _0x5493b0!%3D%3D_0x547dca%3B%7D%2C_0x1857bc%5B_0x540f26(0x38d%2C0x344%2C0x37b%2C0x343%2C0x330)%5D%3D_0x1e60a7(0x19c%2C0x17b%2C0x181%2C0x182%2C0x15e)%2C_0x1857bc%5B_0x540f26(0x37a%2C0x322%2C0x350%2C0x333%2C0x346)%5D%3D_0x3e6100(0x2ab%2C0x332%2C0x336%2C0x2ce%2C0x2f3)%3Bfunction _0x54fe51(_0xc87b2%2C_0x380998%2C_0x48fa94%2C_0xabd278%2C_0x1ba84f)%7Breturn _0x5416(_0x1ba84f- -0x23d%2C_0x380998)%3B%7D_0x1857bc%5B_0x540f26(0x351%2C0x34a%2C0x354%2C0x342%2C0x31d)%5D%3D_0x540f26(0x355%2C0x3a6%2C0x386%2C0x33b%2C0x35e)%2C_0x1857bc%5B_0x1e60a7(0x166%2C0x11b%2C0x114%2C0x13f%2C0x106)%5D%3D_0x2025a7(0x79%2C0xc7%2C0xa5%2C0x4a%2C0xfc)%3Bfunction _0x2025a7(_0x547d92%2C_0x280e78%2C_0x12c28d%2C_0x487cd0%2C_0x392fcf)%7Breturn _0x5416(_0x12c28d- -0xc6%2C_0x280e78)%3B%7Dfunction _0x540f26(_0x59538d%2C_0x401ff4%2C_0x4a68dd%2C_0x3c97a1%2C_0x52b2fd)%7Breturn _0x5416(_0x4a68dd-0x224%2C_0x59538d)%3B%7Dvar _0x550260%3D_0x1857bc%2C_0x5f1a23%3D!!%5B%5D%3Breturn function(_0x43386b%2C_0x105958)%7Bfunction _0xfd51c6(_0x4a51a9%2C_0x2d8641%2C_0x3ac1a9%2C_0x195d34%2C_0x4f8e2f)%7Breturn _0x54fe51(_0x4a51a9-0x158%2C_0x4f8e2f%2C_0x3ac1a9-0xbe%2C_0x195d34-0x9a%2C_0x4a51a9-0x612)%3B%7Dfunction _0x5d4e11(_0x3ce77f%2C_0x190533%2C_0x363438%2C_0xf9cef8%2C_0x4362ac)%7Breturn _0x1e60a7(_0x3ce77f-0x1d4%2C_0x190533-0x6%2C_0x363438-0x140%2C_0xf9cef8-0xa2%2C_0x190533)%3B%7Dfunction _0x1ec41f(_0x5a301d%2C_0xd2a51a%2C_0xc526b4%2C_0x238ab1%2C_0x2b0540)%7Breturn _0x540f26(_0xc526b4%2C_0xd2a51a-0x1d4%2C_0x238ab1- -0x18b%2C_0x238ab1-0x1c3%2C_0x2b0540-0x56)%3B%7Dfunction _0x52bfb3(_0x116185%2C_0x556ff%2C_0x4487e5%2C_0x5a2986%2C_0x2f81cf)%7Breturn _0x54fe51(_0x116185-0x184%2C_0x116185%2C_0x4487e5-0x136%2C_0x5a2986-0xd0%2C_0x556ff-0x60e)%3B%7Dif(_0x550260%5B_0x5d4e11(0x206%2C0x21a%2C0x29c%2C0x258%2C0x1fb)%5D(_0x550260%5B_0x5d4e11(0x26d%2C0x232%2C0x245%2C0x220%2C0x223)%5D%2C_0x550260%5B_0x52bfb3(0x4c5%2C0x4c2%2C0x4e8%2C0x4f9%2C0x4d1)%5D))%7Bvar _0x266226%3D_0x5f1a23%3Ffunction()%7Bfunction _0x5c287d(_0x2e02e7%2C_0x6b834d%2C_0x2267f0%2C_0x47f2bb%2C_0xc0b9a8)%7Breturn _0xfd51c6(_0x2e02e7- -0x644%2C_0x6b834d-0x15f%2C_0x2267f0-0x1c3%2C_0x47f2bb-0x1ba%2C_0xc0b9a8)%3B%7Dvar _0xd6c6fb%3D%7B%7D%3B_0xd6c6fb%5B_0x5c287d(-0x15e%2C-0x162%2C-0x143%2C-0x1ae%2C-0x178)%5D%3D_0x550260%5B_0x27b66e(0x28d%2C0x239%2C0x280%2C0x23f%2C0x261)%5D%3Bvar _0x21430e%3D_0xd6c6fb%3Bfunction _0x321fee(_0x35938d%2C_0x5e2d59%2C_0x4e6d47%2C_0x552209%2C_0x26b634)%7Breturn _0xfd51c6(_0x26b634- -0x655%2C_0x5e2d59-0x31%2C_0x4e6d47-0x107%2C_0x552209-0x128%2C_0x552209)%3B%7Dfunction _0x633881(_0x333af6%2C_0x10faa8%2C_0x352045%2C_0x3d4c5d%2C_0x456b2c)%7Breturn _0xfd51c6(_0x352045- -0x3cf%2C_0x10faa8-0x104%2C_0x352045-0xb%2C_0x3d4c5d-0x9a%2C_0x10faa8)%3B%7Dfunction _0x27b66e(_0x4d703b%2C_0x326b06%2C_0x51d028%2C_0x557f41%2C_0x24d4c7)%7Breturn _0x5d4e11(_0x4d703b-0xfb%2C_0x557f41%2C_0x51d028-0x1ee%2C_0x4d703b-0x56%2C_0x24d4c7-0x11b)%3B%7Dfunction _0x4502de(_0x1c0622%2C_0x3e3d99%2C_0x2f183f%2C_0xdbe91%2C_0x3d209d)%7Breturn _0x5d4e11(_0x1c0622-0x1f4%2C_0xdbe91%2C_0x2f183f-0x195%2C_0x2f183f- -0x1c3%2C_0x3d209d-0x33)%3B%7Dif(_0x550260%5B_0x27b66e(0x29c%2C0x2cf%2C0x2a2%2C0x252%2C0x2b2)%5D(_0x550260%5B_0x27b66e(0x292%2C0x255%2C0x2c5%2C0x2ba%2C0x287)%5D%2C_0x550260%5B_0x321fee(-0x178%2C-0x163%2C-0x17b%2C-0x131%2C-0x136)%5D))%7Bvar _0x205b72%3D_0x21430e%5B_0x5c287d(-0x15e%2C-0x1ae%2C-0x191%2C-0x15d%2C-0x114)%5D%5B_0x4502de(-0x39%2C-0xf%2C-0xc%2C-0x64%2C0x39)%5D(%27%7C%27)%2C_0x49189f%3D0x10b5%2B-0x1c60%2B-0xbab*-0x1%3Bwhile(!!%5B%5D)%7Bswitch(_0x205b72%5B_0x49189f%2B%2B%5D)%7Bcase%270%27%3Avar _0x547387%3D_0x44b8c1%5B_0x633881(0xb3%2C0x8a%2C0xcf%2C0xb1%2C0x89)%2B_0x321fee(-0x145%2C-0x1ae%2C-0x1d6%2C-0x166%2C-0x194)%2B%27r%27%5D%5B_0x4502de(0x11%2C-0x35%2C-0x6%2C0x18%2C0xe)%2B_0x633881(0x13d%2C0xc2%2C0xe7%2C0xf8%2C0xde)%5D%5B_0x5c287d(-0x11d%2C-0x149%2C-0x101%2C-0x11a%2C-0x16f)%5D(_0x574629)%3Bcontinue%3Bcase%271%27%3A_0x547387%5B_0x633881(0xd6%2C0xee%2C0xd0%2C0x129%2C0x8d)%2B_0x4502de(0x3e%2C0x4d%2C0x7c%2C0x5a%2C0x30)%5D%3D_0x90b890%5B_0x5c287d(-0x11d%2C-0xca%2C-0x135%2C-0x106%2C-0x150)%5D(_0x72dc2e)%3Bcontinue%3Bcase%272%27%3A_0x38463f%5B_0x33a5a2%5D%3D_0x547387%3Bcontinue%3Bcase%273%27%3A_0x547387%5B_0x5c287d(-0x188%2C-0x182%2C-0x16f%2C-0x135%2C-0x169)%2B_0x321fee(-0x134%2C-0x11b%2C-0x12f%2C-0x194%2C-0x153)%5D%3D_0x7a147a%5B_0x5c287d(-0x188%2C-0x1d1%2C-0x1ad%2C-0x149%2C-0x1a6)%2B_0x5c287d(-0x142%2C-0x16f%2C-0x168%2C-0xea%2C-0x150)%5D%5B_0x4502de(0x30%2C0x79%2C0x7f%2C0xae%2C0x8e)%5D(_0x7a147a)%3Bcontinue%3Bcase%274%27%3Avar _0x7a147a%3D_0x2057db%5B_0x33a5a2%5D%7C%7C_0x547387%3Bcontinue%3Bcase%275%27%3Avar _0x33a5a2%3D_0x4d897f%5B_0x22853c%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bif(_0x105958)%7Bif(_0x550260%5B_0x633881(0x1b7%2C0x125%2C0x16e%2C0x161%2C0x196)%5D(_0x550260%5B_0x5c287d(-0x118%2C-0x112%2C-0x111%2C-0x12e%2C-0x12c)%5D%2C_0x550260%5B_0x4502de(0x52%2C0x7a%2C0x59%2C0x1c%2C0x33)%5D))%7Bvar _0x16897a%3D_0x105958%5B_0x27b66e(0x275%2C0x22c%2C0x2c1%2C0x261%2C0x299)%5D(_0x43386b%2Carguments)%3Breturn _0x105958%3Dnull%2C_0x16897a%3B%7Delse%7Bvar _0x4ac11d%3D_0x41f5ea%3Ffunction()%7Bfunction _0xa042c(_0x45869e%2C_0x3b8072%2C_0x31b878%2C_0x105a18%2C_0x516a87)%7Breturn _0x321fee(_0x45869e-0x8e%2C_0x3b8072-0xc8%2C_0x31b878-0x5e%2C_0x516a87%2C_0x105a18-0x223)%3B%7Dif(_0x229a39)%7Bvar _0x2c27f0%3D_0x4243ab%5B_0xa042c(0x129%2C0xe3%2C0xe5%2C0xd2%2C0x85)%5D(_0x3783cb%2Carguments)%3Breturn _0x493998%3Dnull%2C_0x2c27f0%3B%7D%7D%3Afunction()%7B%7D%3Breturn _0x4467f0%3D!%5B%5D%2C_0x4ac11d%3B%7D%7D%7D%7D%3Afunction()%7B%7D%3Breturn _0x5f1a23%3D!%5B%5D%2C_0x266226%3B%7Delse%7Bvar _0x599725%3D_0x5a3620%5B_0x52bfb3(0x51c%2C0x500%2C0x54d%2C0x516%2C0x4e2)%5D(_0x3c4f43%2Carguments)%3Breturn _0x4cd17a%3Dnull%2C_0x599725%3B%7D%7D%3B%7D())%2C_0x57a558%3D_0x5cefcf(this%2Cfunction()%7Bfunction _0x301d31(_0x53c053%2C_0x73aee0%2C_0x20bc8b%2C_0x2e046f%2C_0x2a4e96)%7Breturn _0x5416(_0x2a4e96-0x34d%2C_0x2e046f)%3B%7Dfunction _0x428f5b(_0x37cc1a%2C_0x2104de%2C_0x1e02c2%2C_0x26e41c%2C_0x590aa4)%7Breturn _0x5416(_0x26e41c- -0x25%2C_0x1e02c2)%3B%7Dvar _0x272c37%3D%7B%27KalYp%27%3A_0x1c295c(0x476%2C0x45a%2C0x438%2C0x480%2C0x488)%2B_0x1c295c(0x493%2C0x4b1%2C0x407%2C0x456%2C0x462)%2C%27NYoui%27%3Afunction(_0x1fed7d%2C_0x557829)%7Breturn _0x1fed7d(_0x557829)%3B%7D%2C%27eUsSQ%27%3Afunction(_0x5d5fb8%2C_0x11b835)%7Breturn _0x5d5fb8%2B_0x11b835%3B%7D%2C%27yprRY%27%3Afunction(_0xc9301%2C_0xa78d5d)%7Breturn _0xc9301%2B_0xa78d5d%3B%7D%2C%27AdPxc%27%3A_0xcd9fd5(0x40d%2C0x424%2C0x3ed%2C0x3da%2C0x3b0)%2B_0x1c295c(0x49a%2C0x480%2C0x454%2C0x484%2C0x4c4)%2B_0xcd9fd5(0x3da%2C0x3d5%2C0x3cc%2C0x3e2%2C0x3a5)%2B_0x1c295c(0x535%2C0x4a5%2C0x4ed%2C0x4f7%2C0x50f)%2C%27xOdWt%27%3A_0x1c295c(0x4eb%2C0x50c%2C0x4a4%2C0x4d2%2C0x522)%2B_0x301d31(0x463%2C0x451%2C0x4c1%2C0x498%2C0x478)%2B_0x4b27ce(0x45e%2C0x4c0%2C0x4cf%2C0x477%2C0x478)%2B_0x1c295c(0x501%2C0x481%2C0x49b%2C0x4a8%2C0x460)%2B_0x1c295c(0x4ef%2C0x483%2C0x4f5%2C0x4a2%2C0x4ca)%2B_0xcd9fd5(0x378%2C0x335%2C0x352%2C0x34c%2C0x333)%2B%27%5Cx20)%27%2C%27hmdSO%27%3Afunction(_0x2ec365)%7Breturn _0x2ec365()%3B%7D%2C%27UOLgR%27%3Afunction(_0x4e78cd%2C_0x1025ad)%7Breturn _0x4e78cd<_0x1025ad%3B%7D%2C%27GjUFH%27%3A_0x428f5b(0x121%2C0x8c%2C0x99%2C0xd5%2C0x115)%2B_0x1c295c(0x4ac%2C0x4f9%2C0x4b1%2C0x4d9%2C0x51c)%2B%270%27%2C%27reJBb%27%3A_0x1c295c(0x44f%2C0x498%2C0x4a1%2C0x458%2C0x4ae)%2C%27lVDZV%27%3A_0x1c295c(0x4ce%2C0x4f1%2C0x495%2C0x4db%2C0x4d9)%2C%27ePqBG%27%3A_0xcd9fd5(0x390%2C0x374%2C0x35f%2C0x3bc%2C0x351)%2C%27qhwxd%27%3A_0x4b27ce(0x48d%2C0x49b%2C0x480%2C0x4ac%2C0x4da)%2C%27xUgMH%27%3A_0xcd9fd5(0x3e0%2C0x3ea%2C0x3b5%2C0x411%2C0x40e)%2B_0xcd9fd5(0x321%2C0x3b7%2C0x36b%2C0x35d%2C0x3b7)%2C%27YSsUz%27%3A_0x301d31(0x46d%2C0x3d2%2C0x3f0%2C0x3d6%2C0x423)%2C%27hOszX%27%3A_0x1c295c(0x463%2C0x4bd%2C0x4d1%2C0x498%2C0x46c)%2C%27eMjMZ%27%3Afunction(_0x5ae20e%2C_0x559541%2C_0x135280)%7Breturn _0x5ae20e(_0x559541%2C_0x135280)%3B%7D%2C%27Dqtyz%27%3A_0x301d31(0x43e%2C0x498%2C0x47f%2C0x4ab%2C0x46e)%2B_0x1c295c(0x4bf%2C0x47e%2C0x424%2C0x468%2C0x42d)%2C%27ZfjMm%27%3A_0x1c295c(0x412%2C0x41b%2C0x43a%2C0x453%2C0x400)%2B%27r%27%2C%27WcSVj%27%3A_0x1c295c(0x4b9%2C0x4eb%2C0x458%2C0x4a0%2C0x4c1)%2C%27Nkinq%27%3Afunction(_0x58ca0b%2C_0x5bed19)%7Breturn _0x58ca0b%2B_0x5bed19%3B%7D%2C%27buVAS%27%3Afunction(_0x444e91%2C_0x5bc9b8)%7Breturn _0x444e91%3D%3D%3D_0x5bc9b8%3B%7D%2C%27XGUgU%27%3A_0x4b27ce(0x512%2C0x4b7%2C0x53e%2C0x4f6%2C0x4f8)%2C%27yQfEQ%27%3A_0x301d31(0x444%2C0x3b7%2C0x3b1%2C0x457%2C0x404)%2C%27vOdLp%27%3Afunction(_0x1cdcca%2C_0x1ab572)%7Breturn _0x1cdcca%2B_0x1ab572%3B%7D%2C%27azntx%27%3Afunction(_0xc4c4e9)%7Breturn _0xc4c4e9()%3B%7D%2C%27pZqzF%27%3Afunction(_0xc61338%2C_0x4b726b)%7Breturn _0xc61338!%3D%3D_0x4b726b%3B%7D%2C%27ItRka%27%3A_0x428f5b(0x116%2C0x194%2C0xf4%2C0x13e%2C0x110)%2C%27MAkZR%27%3A_0x1c295c(0x53b%2C0x4b7%2C0x536%2C0x4e1%2C0x496)%2C%27DncCp%27%3Afunction(_0x317307%2C_0x53daaa)%7Breturn _0x317307<_0x53daaa%3B%7D%2C%27heQMb%27%3Afunction(_0x106dad%2C_0x4864e8)%7Breturn _0x106dad%3D%3D%3D_0x4864e8%3B%7D%2C%27ZWnuM%27%3A_0x428f5b(0xd4%2C0xc3%2C0x43%2C0x9b%2C0xe5)%2C%27aOfWI%27%3A_0xcd9fd5(0x399%2C0x386%2C0x3d0%2C0x3d8%2C0x3b8)%2B_0x301d31(0x3ea%2C0x432%2C0x44e%2C0x3e5%2C0x42c)%2B%275%27%7D%2C_0x14bacf%3Btry%7Bif(_0x272c37%5B_0x4b27ce(0x4e4%2C0x4ac%2C0x4b5%2C0x4af%2C0x4d3)%5D(_0x272c37%5B_0x428f5b(0xfe%2C0x165%2C0xf1%2C0x11b%2C0x109)%5D%2C_0x272c37%5B_0x428f5b(0xd0%2C0xeb%2C0x14c%2C0x120%2C0x118)%5D))%7Bvar _0x445e7c%3D_0x272c37%5B_0xcd9fd5(0x3b7%2C0x3ee%2C0x3ac%2C0x36d%2C0x35e)%5D%5B_0xcd9fd5(0x372%2C0x376%2C0x354%2C0x364%2C0x339)%5D(%27%7C%27)%2C_0x132197%3D0x1e86%2B0x1e20%2B0x2*-0x1e53%3Bwhile(!!%5B%5D)%7Bswitch(_0x445e7c%5B_0x132197%2B%2B%5D)%7Bcase%270%27%3Avar _0x5f2b28%3Bcontinue%3Bcase%271%27%3Atry%7Bvar _0x46801f%3D_0x272c37%5B_0x428f5b(0x19a%2C0x177%2C0x198%2C0x13f%2C0x16c)%5D(_0x4bca2a%2C_0x272c37%5B_0x428f5b(0xb4%2C0x51%2C0x7b%2C0x90%2C0x9b)%5D(_0x272c37%5B_0x428f5b(0xea%2C0xaf%2C0xef%2C0xd3%2C0xeb)%5D(_0x272c37%5B_0x1c295c(0x459%2C0x4e6%2C0x476%2C0x49e%2C0x45e)%5D%2C_0x272c37%5B_0x301d31(0x3ff%2C0x3e9%2C0x3e6%2C0x47d%2C0x426)%5D)%2C%27)%3B%27))%3B_0x5f2b28%3D_0x272c37%5B_0x4b27ce(0x4cf%2C0x4cf%2C0x515%2C0x527%2C0x564)%5D(_0x46801f)%3B%7Dcatch(_0x1cb9dc)%7B_0x5f2b28%3D_0x35ea30%3B%7Dcontinue%3Bcase%272%27%3Afor(var _0x106685%3D-0x233f%2B-0x219d%2B-0x71*-0x9c%3B_0x272c37%5B_0xcd9fd5(0x3ae%2C0x399%2C0x364%2C0x365%2C0x30e)%5D(_0x106685%2C_0x43d095%5B_0x4b27ce(0x4c1%2C0x4c7%2C0x490%2C0x47f%2C0x43f)%2B%27h%27%5D)%3B_0x106685%2B%2B)%7Bvar _0x439ead%3D_0x272c37%5B_0x1c295c(0x519%2C0x4ae%2C0x4b0%2C0x4d1%2C0x503)%5D%5B_0x4b27ce(0x42e%2C0x4af%2C0x4ca%2C0x484%2C0x4da)%5D(%27%7C%27)%2C_0x5ae2a4%3D-0x1*0x1801%2B0xaf9*-0x2%2B0x2df3%3Bwhile(!!%5B%5D)%7Bswitch(_0x439ead%5B_0x5ae2a4%2B%2B%5D)%7Bcase%270%27%3A_0x1ba70f%5B_0x4d05b4%5D%3D_0x940b24%3Bcontinue%3Bcase%271%27%3Avar _0x4377ff%3D_0x1ba70f%5B_0x4d05b4%5D%7C%7C_0x940b24%3Bcontinue%3Bcase%272%27%3A_0x940b24%5B_0x4b27ce(0x44d%2C0x496%2C0x464%2C0x4a4%2C0x4c9)%2B_0x4b27ce(0x504%2C0x4d5%2C0x545%2C0x4ea%2C0x541)%5D%3D_0x4377ff%5B_0x428f5b(0x87%2C0x6e%2C0x10f%2C0xc2%2C0xe0)%2B_0xcd9fd5(0x3d7%2C0x392%2C0x3ba%2C0x37b%2C0x3c6)%5D%5B_0x4b27ce(0x4c6%2C0x527%2C0x50e%2C0x50f%2C0x532)%5D(_0x4377ff)%3Bcontinue%3Bcase%273%27%3A_0x940b24%5B_0x4b27ce(0x4d3%2C0x46a%2C0x4a1%2C0x487%2C0x476)%2B_0xcd9fd5(0x42c%2C0x3bb%2C0x3dc%2C0x395%2C0x3c7)%5D%3D_0x3afddd%5B_0x428f5b(0x10d%2C0x125%2C0x169%2C0x12d%2C0x124)%5D(_0x31d82a)%3Bcontinue%3Bcase%274%27%3Avar _0x940b24%3D_0x29fde5%5B_0x1c295c(0x466%2C0x427%2C0x468%2C0x459%2C0x411)%2B_0x4b27ce(0x4a8%2C0x4d1%2C0x4c9%2C0x4a9%2C0x49e)%2B%27r%27%5D%5B_0xcd9fd5(0x362%2C0x39d%2C0x35a%2C0x387%2C0x399)%2B_0x4b27ce(0x4a5%2C0x491%2C0x4ea%2C0x49e%2C0x484)%5D%5B_0xcd9fd5(0x3e2%2C0x3dd%2C0x3df%2C0x405%2C0x3f2)%5D(_0x294c33)%3Bcontinue%3Bcase%275%27%3Avar _0x4d05b4%3D_0x43d095%5B_0x106685%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Dcontinue%3Bcase%273%27%3Avar _0x1ba70f%3D_0x5f2b28%5B_0x428f5b(0x128%2C0x141%2C0x16d%2C0x130%2C0x141)%2B%27le%27%5D%3D_0x5f2b28%5B_0x301d31(0x46b%2C0x44b%2C0x446%2C0x4d3%2C0x4a2)%2B%27le%27%5D%7C%7C%7B%7D%3Bcontinue%3Bcase%274%27%3Avar _0x43d095%3D%5B_0x272c37%5B_0xcd9fd5(0x41e%2C0x383%2C0x3d5%2C0x3fd%2C0x402)%5D%2C_0x272c37%5B_0x1c295c(0x487%2C0x45e%2C0x468%2C0x496%2C0x43e)%5D%2C_0x272c37%5B_0x4b27ce(0x529%2C0x4f3%2C0x4fb%2C0x522%2C0x514)%5D%2C_0x272c37%5B_0x301d31(0x3f1%2C0x42b%2C0x3ef%2C0x3d5%2C0x428)%5D%2C_0x272c37%5B_0x428f5b(0xd4%2C0x91%2C0xc2%2C0xbd%2C0xd7)%5D%2C_0x272c37%5B_0x301d31(0x4ae%2C0x4a1%2C0x4f8%2C0x491%2C0x4b6)%5D%2C_0x272c37%5B_0x4b27ce(0x457%2C0x4c1%2C0x492%2C0x47a%2C0x46c)%5D%5D%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x3b063d%3D_0x272c37%5B_0xcd9fd5(0x3ce%2C0x3eb%2C0x3f1%2C0x438%2C0x41c)%5D(Function%2C_0x272c37%5B_0x428f5b(0xd7%2C0xb3%2C0x134%2C0x10c%2C0x12c)%5D(_0x272c37%5B_0x301d31(0x470%2C0x48d%2C0x461%2C0x434%2C0x47e)%5D(_0x272c37%5B_0x428f5b(0x116%2C0x104%2C0x10e%2C0xe9%2C0x134)%5D%2C_0x272c37%5B_0xcd9fd5(0x380%2C0x353%2C0x366%2C0x33a%2C0x31b)%5D)%2C%27)%3B%27))%3B_0x14bacf%3D_0x272c37%5B_0x301d31(0x47e%2C0x45c%2C0x460%2C0x426%2C0x44c)%5D(_0x3b063d)%3B%7D%7Dcatch(_0x45e4fb)%7Bif(_0x272c37%5B_0x4b27ce(0x4b9%2C0x460%2C0x48e%2C0x4a0%2C0x4d8)%5D(_0x272c37%5B_0x1c295c(0x4dc%2C0x4db%2C0x519%2C0x4d6%2C0x4cd)%5D%2C_0x272c37%5B_0x301d31(0x425%2C0x481%2C0x496%2C0x4b3%2C0x46f)%5D))_0x14bacf%3Dwindow%3Belse%7Bif(_0x544254)%7Bvar _0x2c4709%3D_0x36d883%5B_0x4b27ce(0x4bf%2C0x4c7%2C0x4de%2C0x4ec%2C0x4de)%5D(_0x4ff5ae%2Carguments)%3Breturn _0x332aa2%3Dnull%2C_0x2c4709%3B%7D%7D%7Dfunction _0xcd9fd5(_0x153eea%2C_0x246a6c%2C_0x1c928f%2C_0x4e60af%2C_0x54d9b9)%7Breturn _0x5416(_0x1c928f-0x28d%2C_0x246a6c)%3B%7Dvar _0x2f9d27%3D_0x14bacf%5B_0x428f5b(0x159%2C0x144%2C0x17a%2C0x130%2C0x16c)%2B%27le%27%5D%3D_0x14bacf%5B_0x4b27ce(0x516%2C0x4dc%2C0x55a%2C0x512%2C0x4ee)%2B%27le%27%5D%7C%7C%7B%7D%2C_0xcb9070%3D%5B_0x272c37%5B_0x4b27ce(0x542%2C0x542%2C0x4e6%2C0x505%2C0x4ab)%5D%2C_0x272c37%5B_0x428f5b(0xe6%2C0x9a%2C0xb7%2C0xe1%2C0x95)%5D%2C_0x272c37%5B_0x1c295c(0x4c9%2C0x4ab%2C0x541%2C0x4f5%2C0x4f3)%5D%2C_0x272c37%5B_0x301d31(0x470%2C0x460%2C0x43c%2C0x445%2C0x428)%5D%2C_0x272c37%5B_0x4b27ce(0x48a%2C0x4a7%2C0x4b9%2C0x49f%2C0x4ba)%5D%2C_0x272c37%5B_0xcd9fd5(0x40b%2C0x439%2C0x3f6%2C0x423%2C0x3bd)%5D%2C_0x272c37%5B_0x4b27ce(0x482%2C0x433%2C0x438%2C0x47a%2C0x457)%5D%5D%3Bfunction _0x4b27ce(_0x59ceda%2C_0x1e2fe6%2C_0x562fd5%2C_0x3924cd%2C_0x22e19f)%7Breturn _0x5416(_0x3924cd-0x3bd%2C_0x1e2fe6)%3B%7Dfunction _0x1c295c(_0x4f73d1%2C_0x3af836%2C_0x358e66%2C_0x989e3f%2C_0x3b6a97)%7Breturn _0x5416(_0x989e3f-0x390%2C_0x358e66)%3B%7Dfor(var _0x2e72e5%3D-0x1*-0x1efe%2B-0x42d%2B-0x1ad1%3B_0x272c37%5B_0x4b27ce(0x47c%2C0x4f7%2C0x4b5%2C0x4d8%2C0x4ff)%5D(_0x2e72e5%2C_0xcb9070%5B_0x1c295c(0x41a%2C0x428%2C0x40d%2C0x452%2C0x49e)%2B%27h%27%5D)%3B_0x2e72e5%2B%2B)%7Bif(_0x272c37%5B_0xcd9fd5(0x36a%2C0x3aa%2C0x35c%2C0x37c%2C0x339)%5D(_0x272c37%5B_0x428f5b(0xf1%2C0xd2%2C0x116%2C0xf4%2C0x10c)%5D%2C_0x272c37%5B_0x4b27ce(0x4b5%2C0x4f4%2C0x49f%2C0x4d6%2C0x4b8)%5D))%7Bvar _0x3c565f%3D_0x272c37%5B_0x4b27ce(0x4bd%2C0x500%2C0x4c2%2C0x4c2%2C0x493)%5D%5B_0x301d31(0x471%2C0x3c0%2C0x458%2C0x456%2C0x414)%5D(%27%7C%27)%2C_0x364132%3D-0x60d*-0x2%2B0x304%2B-0xf1e%3Bwhile(!!%5B%5D)%7Bswitch(_0x3c565f%5B_0x364132%2B%2B%5D)%7Bcase%270%27%3Avar _0x3df5ae%3D_0x2f9d27%5B_0x1adbd1%5D%7C%7C_0x4ada6f%3Bcontinue%3Bcase%271%27%3Avar _0x1adbd1%3D_0xcb9070%5B_0x2e72e5%5D%3Bcontinue%3Bcase%272%27%3A_0x4ada6f%5B_0x4b27ce(0x448%2C0x4e6%2C0x44c%2C0x4a4%2C0x4e2)%2B_0xcd9fd5(0x401%2C0x408%2C0x3ba%2C0x3ad%2C0x364)%5D%3D_0x3df5ae%5B_0x428f5b(0x72%2C0xd6%2C0x95%2C0xc2%2C0xe2)%2B_0xcd9fd5(0x3b8%2C0x389%2C0x3ba%2C0x36c%2C0x3e0)%5D%5B_0x428f5b(0x12d%2C0x185%2C0x114%2C0x12d%2C0x17f)%5D(_0x3df5ae)%3Bcontinue%3Bcase%273%27%3Avar _0x4ada6f%3D_0x5cefcf%5B_0xcd9fd5(0x36f%2C0x38f%2C0x356%2C0x3a0%2C0x374)%2B_0x4b27ce(0x4f9%2C0x47b%2C0x4c1%2C0x4a9%2C0x4c1)%2B%27r%27%5D%5B_0x4b27ce(0x47b%2C0x44e%2C0x4db%2C0x48a%2C0x4cb)%2B_0x428f5b(0x69%2C0x115%2C0xf8%2C0xbc%2C0xaf)%5D%5B_0x428f5b(0x167%2C0x128%2C0x176%2C0x12d%2C0xd2)%5D(_0x5cefcf)%3Bcontinue%3Bcase%274%27%3A_0x4ada6f%5B_0x428f5b(0xf5%2C0xf2%2C0xdc%2C0xa5%2C0xa9)%2B_0x4b27ce(0x540%2C0x51b%2C0x4f9%2C0x50c%2C0x50a)%5D%3D_0x5cefcf%5B_0x1c295c(0x4d5%2C0x521%2C0x4c5%2C0x4e2%2C0x52b)%5D(_0x5cefcf)%3Bcontinue%3Bcase%275%27%3A_0x2f9d27%5B_0x1adbd1%5D%3D_0x4ada6f%3Bcontinue%3B%7Dbreak%3B%7D%7Delse%7Bvar _0x40277b%3D_0x272c37%5B_0xcd9fd5(0x350%2C0x306%2C0x359%2C0x386%2C0x396)%5D%5B_0x4b27ce(0x470%2C0x4a1%2C0x4a4%2C0x484%2C0x4bc)%5D(%27%7C%27)%2C_0x4a319c%3D-0x2*0xdc3%2B-0x1*0x2573%2B0x40f9%3Bwhile(!!%5B%5D)%7Bswitch(_0x40277b%5B_0x4a319c%2B%2B%5D)%7Bcase%270%27%3Avar _0x401653%3D%7B%7D%3B_0x401653%5B_0x428f5b(0x16d%2C0xfa%2C0xde%2C0x137%2C0x105)%5D%3D_0x272c37%5B_0x301d31(0x4d6%2C0x4d4%2C0x4a0%2C0x4b4%2C0x49a)%5D%2C_0x401653%5B_0x1c295c(0x3fa%2C0x4a0%2C0x3fc%2C0x44c%2C0x4a0)%2B_0x1c295c(0x4ab%2C0x502%2C0x4c4%2C0x4ce%2C0x4f8)%5D%3D_0x2089ca%5B_0x428f5b(0x11b%2C0xc6%2C0x11f%2C0xdb%2C0x91)%5D%5B_0x4b27ce(0x4cf%2C0x43b%2C0x4d6%2C0x479%2C0x42c)%2B_0x301d31(0x484%2C0x458%2C0x4d8%2C0x43b%2C0x48b)%5D%2C_0x401653%5B_0x301d31(0x3dd%2C0x440%2C0x45a%2C0x42a%2C0x422)%2B%27ut%27%5D%3D!(-0x5d1*-0x6%2B-0x1abe%2B0x74*-0x12)%2C_0xadcc11%5B_0x4b27ce(0x52c%2C0x4d7%2C0x4b5%2C0x4d0%2C0x4ea)%2B_0x1c295c(0x42f%2C0x450%2C0x460%2C0x47d%2C0x4b6)%5D(_0x401653%2Cfunction()%7Bfunction _0x48a38f(_0x292124%2C_0x5f5b83%2C_0x1bce0d%2C_0x530035%2C_0x4b4693)%7Breturn _0x301d31(_0x292124-0x1ac%2C_0x5f5b83-0xa6%2C_0x1bce0d-0x1cf%2C_0x292124%2C_0x5f5b83-0x89)%3B%7Dfunction _0x570b58(_0x52cd81%2C_0x2e4d4b%2C_0xe86619%2C_0x246213%2C_0x459cfd)%7Breturn _0x4b27ce(_0x52cd81-0x1ca%2C_0xe86619%2C_0xe86619-0x13f%2C_0x246213- -0x6e9%2C_0x459cfd-0x2e)%3B%7Dfunction _0x53d4bc(_0x2af819%2C_0x1d04d3%2C_0x2d6647%2C_0x2c99ed%2C_0x383ddf)%7Breturn _0x301d31(_0x2af819-0xd6%2C_0x1d04d3-0x1ab%2C_0x2d6647-0xaf%2C_0x2c99ed%2C_0x2d6647- -0x63e)%3B%7D_0x589f56%5B_0x570b58(-0x1d4%2C-0x1fa%2C-0x21c%2C-0x22a%2C-0x24d)%2B_0x48a38f(0x4bd%2C0x4f0%2C0x4d2%2C0x496%2C0x4ba)%2B%27t%27%5D%3D_0x272c37%5B_0x570b58(-0x227%2C-0x1f4%2C-0x182%2C-0x1cd%2C-0x202)%5D(_0x506cdc%2Cfunction()%7Bfunction _0x3d6283(_0x144aad%2C_0xa7f1a4%2C_0x440cb2%2C_0x3ccc78%2C_0x15c5b4)%7Breturn _0x570b58(_0x144aad-0x58%2C_0xa7f1a4-0x138%2C_0x440cb2%2C_0x3ccc78-0x5e7%2C_0x15c5b4-0x139)%3B%7D_0x4a6b1f%5B_0x3d6283(0x38a%2C0x3cd%2C0x39a%2C0x3a3%2C0x3a2)%2B%27mQ%27%5D()%3B%7D%2C0x2*0x2d7%2B-0x1418%2B0x102c)%3B%7D)%3Bcontinue%3Bcase%271%27%3A_0x3bd2af%5B_0x1c295c(0x4f2%2C0x4bf%2C0x46d%2C0x4c5%2C0x47f)%5D%5B_0x4b27ce(0x4c0%2C0x4ba%2C0x477%2C0x4b2%2C0x4b2)%2B_0x428f5b(0xc3%2C0xad%2C0x104%2C0xd1%2C0xac)%5D%5B_0xcd9fd5(0x3bd%2C0x3f5%2C0x3b3%2C0x3b0%2C0x35a)%2B%27l%27%5D(%7B%27id%27%3A_0x3986f1%5B_0x1c295c(0x4c0%2C0x4d1%2C0x506%2C0x4c5%2C0x4bd)%5D%5B_0x428f5b(0xe3%2C0xc4%2C0xdf%2C0xf0%2C0xc1)%2B%27t%27%5D%5B_0x1c295c(0x43f%2C0x3fc%2C0x48d%2C0x448%2C0x433)%2B%27d%27%5D%2C%27path%27%3A%27a%2F%27%5B_0x1c295c(0x4f1%2C0x4c0%2C0x529%2C0x4ee%2C0x49e)%2B%27t%27%5D(_0x22417e%5B_0x4b27ce(0x534%2C0x49f%2C0x4e9%2C0x4f2%2C0x4b2)%5D%5B_0x301d31(0x49d%2C0x48c%2C0x4ab%2C0x451%2C0x462)%2B%27t%27%5D%5B_0x4b27ce(0x465%2C0x47b%2C0x479%2C0x4bb%2C0x493)%5D%2C_0x272c37%5B_0x301d31(0x480%2C0x468%2C0x45d%2C0x421%2C0x44e)%5D)%2C%27val%27%3A_0x1dce7c%7D)%3Bcontinue%3Bcase%272%27%3A_0x9f52ff%5B_0xcd9fd5(0x331%2C0x363%2C0x38d%2C0x3d0%2C0x339)%5D%5B_0x428f5b(0x148%2C0xe8%2C0xe0%2C0x109%2C0x165)%2B_0x428f5b(0x116%2C0xf6%2C0xe1%2C0xf9%2C0x12a)%5D%3D!!%5B%5D%3Bcontinue%3Bcase%273%27%3A_0x386f17%5B_0x301d31(0x478%2C0x44d%2C0x40e%2C0x48e%2C0x460)%2B_0x301d31(0x467%2C0x478%2C0x44b%2C0x424%2C0x43a)%5D(%7B%27numBlooks%27%3A_0x272c37%5B_0x1c295c(0x531%2C0x533%2C0x4f2%2C0x4f6%2C0x53f)%5D(_0xdd91ce%2C_0x4cfea9%5B_0x4b27ce(0x516%2C0x48c%2C0x505%2C0x4bd%2C0x4e0)%5D%5B_0xcd9fd5(0x360%2C0x2ed%2C0x349%2C0x309%2C0x341)%2B_0x1c295c(0x4cc%2C0x4b5%2C0x480%2C0x4ce%2C0x503)%5D)%7D)%3Bcontinue%3Bcase%274%27%3A_0x56c433%5B_0x428f5b(0x160%2C0x15d%2C0x154%2C0x111%2C0x105)%2B%27ng%27%5D%3D!(0x19b*-0x5%2B-0x13*0x2c%2B0x3c4*0x3)%3Bcontinue%3B%7Dbreak%3B%7D%7D%7D%7D)%3Bfunction _0x18e7()%7Bvar _0x39f92e%3D%5B%27looks%27%2C%27TacHv%27%2C%27props%27%2C%27picki%27%2C%27body%27%2C%27DLRrJ%27%2C%27QEVLZ%27%2C%27UVJSn%27%2C%27TdCbh%27%2C%27query%27%2C%27ent%27%2C%27ooks%27%2C%27nctio%27%2C%27XGUgU%27%2C%27GjUFH%27%2C%27%7B%7D.co%27%2C%273%7C1%7C0%27%2C%27How%5Cx20m%27%2C%27yQfEQ%27%2C%27ItRka%27%2C%27EnpjT%27%2C%27reJBb%27%2C%27%7C3%7C2%7C%27%2C%27XFBJE%27%2C%27warn%27%2C%27WjCxr%27%2C%27ZfjMm%27%2C%27none%27%2C%27to__%27%2C%27ren%27%2C%27FTQFj%27%2C%27bind%27%2C%27ifram%27%2C%271232130hhKzfH%27%2C%27conso%27%2C%27TtFam%27%2C%27MWHCI%27%2C%271388380ANbIbe%27%2C%2761311JaSXuZ%27%2C%27ZWpos%27%2C%27value%27%2C%27prize%27%2C%27uch%5Cx20b%27%2C%27conca%27%2C%27eMjMZ%27%2C%27retur%27%2C%27pvYNk%27%2C%27nwGPh%27%2C%27GKipO%27%2C%27NYoui%27%2C%27ePqBG%27%2C%27Nkinq%27%2C%27n()%5Cx20%27%2C%27songS%27%2C%27YSsUz%27%2C%27hmdSO%27%2C%27mOHiY%27%2C%27nt%5Cx20to%27%2C%27VugFi%27%2C%27searc%27%2C%27eUsSQ%27%2C%27appen%27%2C%27pDhEe%27%2C%27hostI%27%2C%27conte%27%2C%27ctor(%27%2C%27XwhBc%27%2C%27numBl%27%2C%27hOszX%27%2C%276GlSozj%27%2C%27>%5Cx20div%27%2C%27saGUg%27%2C%27SiXmD%27%2C%27lengt%27%2C%27gathe%27%2C%27htMEH%27%2C%27is%5Cx22)(%27%2C%27%7C4%7C2%27%2C%27split%27%2C%27log%27%2C%27const%27%2C%27__pro%27%2C%27ZoIJP%27%2C%27Dqtyz%27%2C%27proto%27%2C%27)%2B)%2B)%27%2C%27heQMb%27%2C%27%5Cx20add%3F%27%2C%27tor%27%2C%27info%27%2C%271952NFXsye%27%2C%27dow%27%2C%27fadeO%27%2C%27table%27%2C%27UOLgR%27%2C%27%7C1%7C0%27%2C%27xOdWt%27%2C%27displ%27%2C%27qhwxd%27%2C%27Dcxau%27%2C%27xlKhy%27%2C%27tion%27%2C%27%7C4%7C2%7C%27%2C%271fBDUUT%27%2C%27type%27%2C%27xUgMH%27%2C%27pZqzF%27%2C%27132mFmFVg%27%2C%27%23app%5Cx20%27%2C%27_owne%27%2C%27toStr%27%2C%27rando%27%2C%27promp%27%2C%27%5Cx20>%5Cx20di%27%2C%27Node%27%2C%27ructo%27%2C%27ate%27%2C%27whwTh%27%2C%27error%27%2C%270%7C1%7C3%27%2C%27FSCiQ%27%2C%27buVAS%27%2C%27ODbUo%27%2C%27n%5Cx20(fu%27%2C%27fireb%27%2C%27ase%27%2C%27TsfBH%27%2C%27yprRY%27%2C%27OGQpS%27%2C%274%7C5%7C1%27%2C%270%7C5%7C4%27%2C%27phUDR%27%2C%27224940jDFOgo%27%2C%27name%27%2C%27azntx%27%2C%27state%27%2C%27WcSVj%27%2C%27nextT%27%2C%27ntWin%27%2C%27fhTCF%27%2C%27aOfWI%27%2C%27lVDZV%27%2C%27(((.%2B%27%2C%27trace%27%2C%27ou%5Cx20wa%27%2C%27%5Cx20do%5Cx20y%27%2C%27%7C1%7C3%7C%27%2C%27dChil%27%2C%27wYuuc%27%2C%27AdPxc%27%2C%27iaJsc%27%2C%27%2Fbs%27%2C%27IgUsv%27%2C%27rn%5Cx20th%27%2C%27setSt%27%2C%272872060slWYNk%27%2C%27clien%27%2C%27lccnk%27%2C%27child%27%2C%27%5Cx22retu%27%2C%27ZWnuM%27%2C%27imeou%27%2C%27DncCp%27%2C%27ySmxz%27%2C%27creat%27%2C%27ther%27%2C%27KalYp%27%2C%2748GhOePq%27%2C%274%7C2%7C3%27%2C%27MAkZR%27%2C%27eElem%27%2C%27BomPj%27%2C%27coahb%27%2C%27setVa%27%2C%274519710PlvgRl%27%2C%27excep%27%2C%27style%27%2C%27kTTuC%27%2C%27nstru%27%2C%27tDYOu%27%2C%27ing%27%2C%27canGa%27%2C%27apply%27%2C%27bjGFw%27%2C%27vOdLp%27%2C%27Selec%27%5D%3B_0x18e7%3Dfunction()%7Breturn _0x39f92e%3B%7D%3Breturn _0x18e7()%3B%7D_0x57a558()%3Bvar f%3Ddocument%5B_0x174729(-0x6a%2C-0xab%2C-0x3f%2C-0x39%2C-0x87)%2B_0x1fc344(-0x1f%2C0x13%2C-0x12%2C-0x34%2C-0x1c)%2B_0x174729(-0x6c%2C-0xb7%2C-0x6e%2C-0x7d%2C-0x67)%5D(_0x3cf296(-0x31%2C-0x25%2C-0x6e%2C-0x37%2C-0x6c)%2B%27e%27)%3Bf%5B_0x1fc344(-0x19%2C-0x53%2C-0x56%2C0x43%2C0x42)%5D%5B_0x174729(-0x114%2C-0xd5%2C-0x7d%2C-0xaa%2C-0xca)%2B%27ay%27%5D%3D_0x45f5b2(-0x258%2C-0x28a%2C-0x271%2C-0x256%2C-0x291)%3Bfunction _0x3cf296(_0x116b0c%2C_0x4f33f2%2C_0x4ea234%2C_0x2a9b14%2C_0x1633a6)%7Breturn _0x5416(_0x4ea234- -0x1c1%2C_0x116b0c)%3B%7Dfunction _0x45f5b2(_0x492d5b%2C_0x3bb232%2C_0x3da0cc%2C_0x6e8bee%2C_0x1b67e5)%7Breturn _0x5416(_0x492d5b- -0x3a6%2C_0x3da0cc)%3B%7Dfunction _0x174729(_0x53bc28%2C_0xac81d0%2C_0x48b3d0%2C_0x144145%2C_0x469f18)%7Breturn _0x5416(_0x469f18- -0x1a4%2C_0x48b3d0)%3B%7Ddocument%5B_0x3faf6c(-0x1bf%2C-0x22b%2C-0x1e3%2C-0x1d3%2C-0x199)%5D%5B_0x45f5b2(-0x2f0%2C-0x342%2C-0x2c3%2C-0x302%2C-0x32e)%2B_0x3cf296(-0x69%2C-0xbb%2C-0xb5%2C-0x89%2C-0xfc)%2B%27d%27%5D(f)%3Bfunction _0x3faf6c(_0x439b32%2C_0x242260%2C_0x8def4c%2C_0x5d09ea%2C_0x127d54)%7Breturn _0x5416(_0x5d09ea- -0x30a%2C_0x127d54)%3B%7Dwindow%5B_0x45f5b2(-0x2bd%2C-0x2cb%2C-0x2d2%2C-0x2fa%2C-0x2df)%2B%27t%27%5D%3Df%5B_0x3faf6c(-0x255%2C-0x2a4%2C-0x295%2C-0x251%2C-0x28d)%2B_0x45f5b2(-0x2a3%2C-0x25e%2C-0x2c6%2C-0x263%2C-0x2b3)%2B_0x3faf6c(-0x21f%2C-0x255%2C-0x24b%2C-0x236%2C-0x1eb)%5D%5B_0x1fc344(-0x59%2C-0x9b%2C-0x1e%2C-0x7b%2C-0x2c)%2B%27t%27%5D%3Bvar t%3DObject%5B_0x3faf6c(-0x16b%2C-0x17d%2C-0x1c8%2C-0x1af%2C-0x1c1)%2B%27s%27%5D(document%5B_0x3faf6c(-0x1e0%2C-0x1a7%2C-0x1c6%2C-0x1ce%2C-0x189)%2B_0x3faf6c(-0x234%2C-0x183%2C-0x20c%2C-0x1d8%2C-0x1c0)%2B_0x3faf6c(-0x26f%2C-0x262%2C-0x293%2C-0x239%2C-0x28a)%5D(_0x45f5b2(-0x2c1%2C-0x29d%2C-0x2a0%2C-0x2f3%2C-0x2ac)%2B_0x1fc344(-0x83%2C-0x62%2C-0x37%2C-0xab%2C-0x8a)%2B_0x174729(-0xf2%2C-0x8a%2C-0x92%2C-0xfb%2C-0xba)%2B%27v%27))%5B0x19ac%2B-0xa*0x242%2B0x1*-0x317%5D%5B_0x3cf296(-0xa0%2C-0x5c%2C-0xaa%2C-0xa9%2C-0xc0)%2B_0x1fc344(0xe%2C-0x1c%2C-0x4d%2C-0x4d%2C0x28)%5D%5B-0x1*0x1e91%2B-0xba3%2B-0x2a35*-0x1%5D%5B_0x3faf6c(-0x211%2C-0x23c%2C-0x1d8%2C-0x224%2C-0x203)%2B%27r%27%5D%5B_0x1fc344(-0x42%2C0xc%2C0x1a%2C-0x83%2C-0x39)%2B_0x3faf6c(-0x21b%2C-0x20a%2C-0x1df%2C-0x21f%2C-0x214)%5D%2Camt%3DparseInt(prompt(_0x3faf6c(-0x171%2C-0x1b2%2C-0x1af%2C-0x1c6%2C-0x210)%2B_0x174729(-0x7f%2C-0xa0%2C-0x2d%2C-0x26%2C-0x47)%2B_0x174729(-0x40%2C-0x5c%2C-0x66%2C-0xa8%2C-0x71)%2B_0x1fc344(-0x38%2C-0x39%2C-0x50%2C-0x1b%2C-0x24)%2B_0x3faf6c(-0x25e%2C-0x247%2C-0x1b2%2C-0x201%2C-0x25c)%2B_0x45f5b2(-0x23a%2C-0x200%2C-0x211%2C-0x24f%2C-0x232)%2B_0x45f5b2(-0x2d6%2C-0x2ff%2C-0x2e9%2C-0x31b%2C-0x314)))%3Bamt%26%26(t%5B_0x45f5b2(-0x270%2C-0x272%2C-0x273%2C-0x222%2C-0x25c)%2B%27ng%27%5D%3D!(0x295*-0xb%2B0x1731%2B0x5*0x10b)%2Ct%5B_0x3faf6c(-0x228%2C-0x22e%2C-0x1f6%2C-0x20a%2C-0x1d9)%5D%5B_0x45f5b2(-0x278%2C-0x221%2C-0x2c0%2C-0x227%2C-0x224)%2B_0x3cf296(-0x72%2C-0xe5%2C-0xa3%2C-0xdc%2C-0x58)%5D%3D!!%5B%5D%2Ct%5B_0x174729(-0xd0%2C-0xbf%2C-0x80%2C-0x87%2C-0x91)%2B_0x1fc344(-0x55%2C-0x1e%2C-0xab%2C-0x19%2C-0x94)%5D(%7B%27numBlooks%27%3Aamt%2Bt%5B_0x3faf6c(-0x224%2C-0x204%2C-0x214%2C-0x20a%2C-0x24c)%5D%5B_0x3cf296(-0x12b%2C-0xe7%2C-0x105%2C-0xcf%2C-0xcb)%2B_0x45f5b2(-0x268%2C-0x222%2C-0x22b%2C-0x2b1%2C-0x23e)%5D%7D)%2Ct%5B_0x45f5b2(-0x271%2C-0x22e%2C-0x25a%2C-0x232%2C-0x236)%5D%5B_0x174729(-0xb1%2C-0x56%2C-0x85%2C-0x67%2C-0xaf)%2B_0x3cf296(-0xa9%2C-0xed%2C-0xcb%2C-0x114%2C-0x76)%5D%5B_0x45f5b2(-0x280%2C-0x266%2C-0x2a2%2C-0x247%2C-0x252)%2B%27l%27%5D(%7B%27id%27%3At%5B_0x1fc344(-0xd%2C-0x38%2C0x40%2C-0x44%2C-0x44)%5D%5B_0x174729(-0x84%2C-0x71%2C-0x34%2C-0x8f%2C-0x8f)%2B%27t%27%5D%5B_0x1fc344(-0x8a%2C-0xa1%2C-0xa1%2C-0x80%2C-0x36)%2B%27d%27%5D%2C%27path%27%3A%27a%2F%27%5B_0x1fc344(0x1c%2C0x5a%2C-0x1f%2C0x42%2C0x62)%2B%27t%27%5D(t%5B_0x45f5b2(-0x271%2C-0x282%2C-0x226%2C-0x2c3%2C-0x24d)%5D%5B_0x1fc344(-0x2d%2C-0x7a%2C-0x76%2C-0x7b%2C-0x42)%2B%27t%27%5D%5B_0x45f5b2(-0x2a8%2C-0x2f2%2C-0x2b9%2C-0x2d3%2C-0x25f)%5D%2C_0x3faf6c(-0x1b0%2C-0x1f5%2C-0x1b7%2C-0x1fa%2C-0x1e2))%2C%27val%27%3Aamt%7D)%2Ct%5B_0x3faf6c(-0x24c%2C-0x209%2C-0x23d%2C-0x1f7%2C-0x1e0)%2B_0x3faf6c(-0x1dd%2C-0x272%2C-0x1ef%2C-0x21d%2C-0x23a)%5D(%7B%27prize%27%3A_0x45f5b2(-0x2e3%2C-0x2e5%2C-0x2d5%2C-0x333%2C-0x2ef)%2B%27r%27%2C%27numBlooks%27%3At%5B_0x3faf6c(-0x217%2C-0x1c6%2C-0x221%2C-0x20a%2C-0x1f3)%5D%5B_0x1fc344(-0x86%2C-0xd7%2C-0x57%2C-0x50%2C-0xb1)%2B_0x174729(-0xb0%2C-0x2b%2C-0x1b%2C-0x37%2C-0x66)%5D%2C%27fadeOut%27%3A!(-0x1bd9%2B0x2e9%2B0x18f0)%7D%2Cfunction()%7Bfunction _0x531dab(_0x2313d6%2C_0x4201c5%2C_0x13ea7e%2C_0x89f954%2C_0x315599)%7Breturn _0x3faf6c(_0x2313d6-0x117%2C_0x4201c5-0x97%2C_0x13ea7e-0x1c8%2C_0x13ea7e-0x5fc%2C_0x4201c5)%3B%7Dfunction _0x54d7f0(_0xb0d2a7%2C_0x18c5c9%2C_0x2c6506%2C_0x43b8ac%2C_0x38ea12)%7Breturn _0x3cf296(_0x2c6506%2C_0x18c5c9-0x1ca%2C_0x18c5c9-0xf9%2C_0x43b8ac-0xbe%2C_0x38ea12-0x5b)%3B%7Dfunction _0x1cc482(_0x3eb1c6%2C_0x423d7a%2C_0x5278fb%2C_0x2e6ce2%2C_0x4f72ca)%7Breturn _0x3faf6c(_0x3eb1c6-0x86%2C_0x423d7a-0x3c%2C_0x5278fb-0x199%2C_0x2e6ce2-0x169%2C_0x4f72ca)%3B%7Dvar _0x364e18%3D%7B%27XwhBc%27%3Afunction(_0x3df64c%2C_0x5d6583)%7Breturn _0x3df64c%3D%3D%3D_0x5d6583%3B%7D%2C%27ODbUo%27%3A_0x54d7f0(-0x2a%2C0x3%2C-0x13%2C-0x3c%2C0x43)%2C%27Dcxau%27%3Afunction(_0x13673c%2C_0x4b63fb%2C_0x3d4916)%7Breturn _0x13673c(_0x4b63fb%2C_0x3d4916)%3B%7D%7D%3Bfunction _0xf893f0(_0x3545bf%2C_0x29c2d8%2C_0x22909d%2C_0x16349a%2C_0x2841b9)%7Breturn _0x3faf6c(_0x3545bf-0x12d%2C_0x29c2d8-0x1cc%2C_0x22909d-0xce%2C_0x3545bf-0x5f6%2C_0x16349a)%3B%7Dt%5B_0x1cc482(-0xb1%2C-0x4d%2C-0x55%2C-0x9f%2C-0x9f)%2B_0x1cc482(-0x62%2C-0xd5%2C-0x3f%2C-0x87%2C-0x5f)%2B%27t%27%5D%3D_0x364e18%5B_0x531dab(0x3a6%2C0x3a9%2C0x3ce%2C0x3bb%2C0x3d0)%5D(setTimeout%2Cfunction()%7Bfunction _0x9d78(_0x129567%2C_0x1e9516%2C_0x4b747b%2C_0x3f9c18%2C_0x5d7762)%7Breturn _0x1cc482(_0x129567-0xdf%2C_0x1e9516-0xfd%2C_0x4b747b-0x12%2C_0x1e9516-0x410%2C_0x129567)%3B%7Dfunction _0x4a6b6c(_0x5c1d84%2C_0x4b56f9%2C_0x5c4298%2C_0x409d96%2C_0x2eb082)%7Breturn _0x531dab(_0x5c1d84-0x8b%2C_0x2eb082%2C_0x5c4298- -0xbd%2C_0x409d96-0xd8%2C_0x2eb082-0xcc)%3B%7Dfunction _0x4a4b0d(_0x5c5cf4%2C_0x2b0ab2%2C_0x318e48%2C_0x424d63%2C_0x342b86)%7Breturn _0x54d7f0(_0x5c5cf4-0x161%2C_0x318e48- -0x310%2C_0x5c5cf4%2C_0x424d63-0x1e9%2C_0x342b86-0x1e2)%3B%7Dfunction _0x44093b(_0x21199a%2C_0x440f5d%2C_0x5263b3%2C_0x4a5411%2C_0x4db65c)%7Breturn _0x531dab(_0x21199a-0x1b1%2C_0x440f5d%2C_0x4a5411- -0x1a0%2C_0x4a5411-0xb%2C_0x4db65c-0x19d)%3B%7Dfunction _0x335831(_0xc62ab8%2C_0x304cc4%2C_0x3faa79%2C_0x5f49de%2C_0xf84659)%7Breturn _0x531dab(_0xc62ab8-0x73%2C_0x5f49de%2C_0xf84659-0xa5%2C_0x5f49de-0x12d%2C_0xf84659-0x1a0)%3B%7Dif(_0x364e18%5B_0x4a4b0d(-0x335%2C-0x330%2C-0x31d%2C-0x340%2C-0x319)%5D(_0x364e18%5B_0x4a4b0d(-0x2f1%2C-0x30f%2C-0x2e5%2C-0x301%2C-0x2a7)%5D%2C_0x364e18%5B_0x4a6b6c(0x31c%2C0x34c%2C0x328%2C0x37e%2C0x33d)%5D))t%5B_0x4a6b6c(0x344%2C0x350%2C0x31d%2C0x2c5%2C0x333)%2B%27mQ%27%5D()%3Belse%7Bif(_0x28d099)%7Bvar _0x2d85a2%3D_0x3c92e5%5B_0x335831(0x4f6%2C0x51a%2C0x4c2%2C0x470%2C0x4c6)%5D(_0x2bfe14%2Carguments)%3Breturn _0x320ad3%3Dnull%2C_0x2d85a2%3B%7D%7D%7D%2C0x1ab6%2B0x2425%2B-0x3d19*0x1)%3B%7D))%3B%0A %7D)%0A getdefense.addEventListener(%27click%27%2C () %3D> %7B %0A%0A %7D) %0A break%3B%0A%0A %7D%0A %7D%0A%7D%0A%0Afunction kingesp() %7B%0A function ChoiceUII() %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"espp"><style>details>summary%7Bcursor%3Apointer%3Btransition%3A1s%3Blist-style%3Acircle%7D.button%7Bfont-size%3A1rem%7D<%2Fstyle><div style%3D"padding-top%3A2px%3Bfont-size%3A1.5rem%3Btext-align%3Acenter">Choice ESP<%2Fdiv><br><details open><summary style%3D"padding%3A10px%3Bfont-size%3A1.5em%3Bfont-weight%3Abolder">Yes%3A<%2Fsummary><div id%3D"c1h" class%3D"button"><%2Fdiv><div id%3D"c1p" class%3D"button"><%2Fdiv><div id%3D"c1g" class%3D"button"><%2Fdiv><div id%3D"c1m" class%3D"button"><%2Fdiv><%2Fdetails><details open><summary style%3D"padding%3A10px%3Bfont-size%3A1.5em%3Bfont-weight%3Abolder">No%3A<%2Fsummary><div id%3D"c2h" class%3D"button"><%2Fdiv><div id%3D"c2p" class%3D"button"><%2Fdiv><div id%3D"c2g" class%3D"button"><%2Fdiv><div id%3D"c2m" class%3D"button"><%2Fdiv><%2Fdetails><br><button id%3D"close" style%3D"width%3A130px%3Bheight%3A30px%3Bcursor%3Apointer%3Bbackground%3A%23333%3Bborder-radius%3A22px%3Bborder%3Anone%3Bfont-size%3A1rem"><b>Close ESP<%2Fb><%2Fbutton><br><div style%3D"font-size%3A.8rem">ui by <a href%3D"https%3A%2F%2F">Sharp (Toad_UI)<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 200px%3B background%3A rgb(31%2C 25%2C 30)%3B border-radius%3A 13px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A%0A function closeui() %7B%0A const esp %3D document.getElementById("espp")%0A esp.remove()%3B%0A %7D%0A%0A function addUtils() %7B%0A const exit %3D document.getElementById("close")%0A exit.addEventListener(%27click%27%2C closeui)%3B%0A %7D%0A ChoiceUII()%0A addUtils()%0A%0A function updateChoices() %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A const no %3D hack.stateNode.state.guest.no%0A const yes %3D hack.stateNode.state.guest.yes%0A const c2gold %3D document.getElementById("c2g")%0A const c2happy %3D document.getElementById("c2h")%0A const c2people %3D document.getElementById("c2p")%0A const c2mats %3D document.getElementById("c2m")%0A const c1gold %3D document.getElementById("c1g")%0A const c1happy %3D document.getElementById("c1h")%0A const c1people %3D document.getElementById("c1p")%0A const c1mats %3D document.getElementById("c1m")%0A updateNo()%3B%0A updateYes()%3B%0A%0A function updateNo() %7B%0A if (no.happiness !%3D null) %7B%0A c2happy.innerHTML %3D %60Happiness%3A %24%7Bno.happiness%7D%60%0A %7D else %7B%0A c2happy.innerHTML %3D null%3B%0A %7D%0A if (no.people !%3D null) %7B%0A c2people.innerHTML %3D %60People%3A %24%7Byes.people%7D%60%0A %7D else %7B%0A c2people.innerHTML %3D null%3B%0A %7D%0A if (no.gold !%3D null) %7B%0A c2gold.innerHTML %3D %60Gold%3A %24%7Bno.gold%7D%60%0A %7D else %7B%0A c2gold.innerHTML %3D null%3B%0A %7D%0A if (no.materials !%3D null) %7B%0A c2mats.innerHTML %3D %60Materials%3A %24%7Bno.materials%7D%60%0A %7D else %7B%0A c2mats.innerHTML %3D null%3B%0A %7D%0A %7D%0A%0A function updateYes() %7B%0A if (yes.happiness !%3D null) %7B%0A c1happy.innerHTML %3D %60Happiness%3A %24%7Byes.happiness%7D%60%0A %7D else %7B%0A c1happy.innerHTML %3D null%3B%0A %7D%0A if (yes.people !%3D null) %7B%0A c1people.innerHTML %3D %60People%3A %24%7Byes.people%7D%60%0A %7D else %7B%0A c1people.innerHTML %3D null%3B%0A %7D%0A if (yes.gold !%3D null) %7B%0A c1gold.innerHTML %3D %60Gold%3A %24%7Byes.gold%7D%60%0A %7D else %7B%0A c1gold.innerHTML %3D null%3B%0A %7D%0A if (yes.materials !%3D null) %7B%0A c1mats.innerHTML %3D %60Materials%3A %24%7Byes.materials%7D%60%0A %7D else %7B%0A c1mats.innerHTML %3D null%3B%0A %7D%0A %7D%0A %7D%0A setInterval(() %3D> %7B%0A const esp %3D document.getElementById("espp")%0A if (esp !%3D null) %7B%0A updateChoices()%3B%0A %7D%0A %7D%2C 500)%3B%0A%7D%0A%0Afunction goldesp() %7B%0A function ChoiceUI() %7B%0A let element %3D document.createElement(%27div%27)%3B%0A element.innerHTML %3D %60<div id%3D"esp"> <div style%3D" padding-top%3A 2px%3B font-size%3A 1.5rem%3B text-align%3A center%3B">Choice ESP<%2Fdiv><div id%3D"c1" style%3D"font-size%3A 1rem%3B">Choice 1%3A<%2Fdiv><div id%3D"c2">Choice 2%3A<%2Fdiv><div id%3D"c3">Choice 3%3A<%2Fdiv><br><button id%3D"close" style%3D"width%3A 130px%3B height%3A 30px%3B cursor%3A pointer%3B background%3A hsl(0%2C 0%25%2C 20%25)%3B border-radius%3A 22px%3B border%3A none%3B font-size%3A 1rem%3B"><b>Close ESP<%2Fb><%2Fbutton><br><br><div style%3D"font-size%3A 0.8rem%3B">ui by <a href%3D"https%3A%2F%2Fgithub.com%2FBlooketware">Blooketware<%2Fa><%2Fdiv><%2Fdiv>%60%3B%0A element.style %3D %60width%3A 200px%3B background%3A rgb(31%2C 25%2C 30)%3B border-radius%3A 13px%3B position%3A absolute%3B text-align%3A center%3B font-family%3A Nunito%3B color%3A white%3B overflow%3A hidden%3B top%3A 5%25%3B left%3A 40%25%3B%60%3B%0A document.body.appendChild(element)%3B%0A var pos1 %3D 0%2C%0A pos2 %3D 0%2C%0A pos3 %3D 0%2C%0A pos4 %3D 0%3B%0A element.onmousedown %3D ((e %3D window.event) %3D> %7B%0A e.preventDefault()%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A document.onmouseup %3D (() %3D> %7B%0A document.onmouseup %3D null%3B%0A document.onmousemove %3D null%3B%0A %7D)%3B%0A document.onmousemove %3D ((e) %3D> %7B%0A e %3D e %7C%7C window.event%3B%0A e.preventDefault()%3B%0A pos1 %3D pos3 - e.clientX%3B%0A pos2 %3D pos4 - e.clientY%3B%0A pos3 %3D e.clientX%3B%0A pos4 %3D e.clientY%3B%0A let top %3D (element.offsetTop - pos2) > 0 %3F (element.offsetTop - pos2) %3A 0%3B%0A let left %3D (element.offsetLeft - pos1) > 0 %3F (element.offsetLeft - pos1) %3A 0%3B%0A element.style.top %3D top %2B "px"%3B%0A element.style.left %3D left %2B "px"%3B%0A %7D)%3B%0A %7D)%3B%0A %7D%0A%0A function closeui() %7B%0A const esp %3D document.getElementById("esp")%0A esp.remove()%3B%0A %7D%0A%0A function addUtilss() %7B%0A const exit %3D document.getElementById("close")%0A exit.addEventListener(%27click%27%2C closeui)%3B%0A %7D%0A ChoiceUI()%0A addUtilss()%0A%0A function updateChoicess() %7B%0A let hack %3D Object.values(document.querySelector(%27%23app > div > div%27))%5B1%5D.children%5B1%5D._owner%0A const choice %3D hack.stateNode.state.choices%0A const c1 %3D document.getElementById("c1")%0A const c2 %3D document.getElementById("c2")%0A const c3 %3D document.getElementById("c3")%0A c1.innerHTML %3D "Choice 1%3A " %2B choice%5B0%5D.text%0A c2.innerHTML %3D "Choice 2%3A " %2B choice%5B1%5D.text%0A c3.innerHTML %3D "Choice 3%3A " %2B choice%5B2%5D.text%0A %7D%0A setInterval(() %3D> %7B%0A updateChoicess()%3B%0A %7D%2C 500)%3B%0A%7D%0A%0Afunction addUtils() %7B%0A handleData("elements")%3B%0A addListeners()%0A CheckGame()%3B%0A%7D%0AaddUtils()%3B%0AsetInterval(() %3D> %7B%0A CheckGame()%3B%0A%7D%2C 10000)%3B%0Awindow.alert("made by Jacob huggins.")%3B%7D)()%3B