From e580bfd57a7e89d3a84d537079631d925fd68225 Mon Sep 17 00:00:00 2001 From: sidneys Date: Mon, 10 Dec 2018 20:33:57 +0100 Subject: [PATCH] v8.5.9 --- .editorconfig | 3 + .eslintrc | 11 +- README.md | 191 +- RELEASENOTES.json | 18 + app/html/main.html | 2 +- app/scripts/main/components/application.js | 24 +- app/scripts/main/components/globals.js | 3 + .../main/managers/configuration-manager.js | 4 +- app/scripts/main/menus/app-menu.js | 5 +- app/scripts/main/menus/tray-menu.js | 35 +- app/scripts/main/windows/main-window.js | 3 +- app/scripts/renderer/main.js | 52 +- app/scripts/renderer/pushbullet/clipboard.js | 4 +- app/scripts/renderer/pushbullet/device.js | 7 +- app/scripts/renderer/pushbullet/push.js | 763 +- app/scripts/renderer/pushbullet/sms.js | 155 +- .../renderer/webviews/pushbullet-webview.js | 51 +- bin/cli.js | 183 +- package-lock.json | 1620 +-- package.json | 48 +- pushbullet.d.ts | 1361 +++ resources/api/ace/ace.js | 11 - resources/api/fleur.png | Bin 5317 -> 0 bytes .../css/font-awesome.min.css | 4 - .../fonts/fontawesome-webfont-.eot | Bin 70807 -> 0 bytes .../fonts/fontawesome-webfont-v=4.5.0.eot | Bin 70807 -> 0 bytes .../fonts/fontawesome-webfont-v=4.5.0.svg | 655 -- .../fonts/fontawesome-webfont-v=4.5.0.ttf | Bin 142072 -> 0 bytes .../fonts/fontawesome-webfont-v=4.5.0.woff | Bin 83588 -> 0 bytes .../fonts/fontawesome-webfont-v=4.5.0.woff2 | Bin 66624 -> 0 bytes resources/api/forge.min.js | 1 - resources/api/index.html | 1952 ---- resources/api/oauth.png | Bin 147209 -> 0 bytes resources/api/window.pb.js | 8977 ----------------- resources/web/pushbullet.js | 118 +- yarn.lock | 769 +- 36 files changed, 3453 insertions(+), 13577 deletions(-) mode change 100644 => 100755 bin/cli.js create mode 100644 pushbullet.d.ts delete mode 100644 resources/api/ace/ace.js delete mode 100644 resources/api/fleur.png delete mode 100644 resources/api/font-awesome-4.5.0/css/font-awesome.min.css delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-.eot delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.eot delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.svg delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.ttf delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.woff delete mode 100644 resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.woff2 delete mode 100644 resources/api/forge.min.js delete mode 100644 resources/api/index.html delete mode 100644 resources/api/oauth.png delete mode 100644 resources/api/window.pb.js diff --git a/.editorconfig b/.editorconfig index be1415b6..6e938b0b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,6 +15,9 @@ indent_size = 2 [*.json] indent_size = 2 +[*.ts] +indent_size = 2 + [*.md] trim_trailing_whitespace = false diff --git a/.eslintrc b/.eslintrc index aeba823c..41a8659d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -14,6 +14,13 @@ }, "root": true, "rules": { + "array-bracket-spacing": [ + "error", + "always", + { + "singleValue": true + } + ], "brace-style": [ "error", "1tbs", @@ -38,7 +45,7 @@ "error", 4, { - "MemberExpression": "off", + "MemberExpression": 1, "SwitchCase": 1 } ], @@ -128,4 +135,4 @@ ], "wrap-iife": "off" } -} +} \ No newline at end of file diff --git a/README.md b/README.md index 7c69ba58..1b2bf50d 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,103 @@ # PB for Desktop [![travis](https://travis-ci.org/sidneys/pb-for-desktop.svg?branch=master)](http://travis-ci.org/sidneys/pb-for-desktop) [![appveyor](https://ci.appveyor.com/api/projects/status/25mhkye21umnbd79?svg=true)](https://ci.appveyor.com/project/sidneys/pb-for-desktop) [![npm](https://img.shields.io/npm/v/pb-for-desktop.svg?style=flat-square)](https://npmjs.com/package/pb-for-desktop)

- PB for Desktop is a lightweight open-source Desktop app for PushBullet.
+ PB for Desktop is a lightweight open-source Desktop app for PushBullet.
Receive native push notifications on macOS, Windows and Linux.

-

- Not affiliated with PushBullet Incorporated.

+

+ Not affiliated with PushBullet, Inc.

------ -![Screenshot: Pushbullet for Desktop (macOS)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-macos.png) +

+ Pushbullet for Desktop, macOS
+ macOS +

-![Screenshot: Pushbullet for Desktop (Windows)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-win32.png) +

+ Pushbullet for Desktop on Windows
+ Windows +

-![Screenshot: Pushbullet for Desktop (Linux)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-linux.png) +

+ Pushbullet for Desktop, Linux
+ Linux +

------ -> **Native Notifications** - -Uses the macOS [Notification Center](https://en.wikipedia.org/wiki/Notification_Center), the Windows 10 [Action Center](https://en.wikipedia.org/wiki/Action_Center) and [libnotify](https://launchpad.net/ubuntu/+source/libnotify) for Linux. -> **Cross-Platform** +> **Cross Platform** Tested on: -- macOS: 10.11, 10.12, 10.13 -- Windows 10: 1607, 1703, 1709 -- Linux: Ubuntu 16.04/17.04, elementaryOS 0.4, Linuxmint 18 + - **macOS** 10.11 (El Capitan), 10.12 (Sierra), 10.13 (High Sierra), 10.14 (Mojave) + - **Windows 10** 1607, 1703, 1709, 1803 + - **Linux** Ubuntu (16, 17, 18), elementaryOS (0.4) > **Unobtrusive** -Small resource footprint - runs as a macOS Menu Bar app or a Windows System Tray app. +Runs as a Menubar (macOS) or a SysTray (Windows) app. Small resource footprint. -> **Simple Setup** +> **Native Notifications** -No wrestling with API-Keys or other technical knowledge required. -Login to Pushbullet using Google or Facebook. +Uses macOS' [Notification Center](https://en.wikipedia.org/wiki/Notification_Center), the Windows 10 [Action Center](https://en.wikipedia.org/wiki/Action_Center) and [libnotify](https://launchpad.net/ubuntu/+source/libnotify) for Linux. -> **Channel Images** +> **Notification Thumbnails** -Channel-specific (e.g. [IFTTT](https://ifttt.com/), [Zapier](https://zapier.com/), [Chat](http://lifehacker.com/huge-pushbullet-update-adds-instant-messaging-chat-hea-1714870644)) icon images for most notifications. +For text-based pushes, notification thumbnails are generated on-the-fly based on a the originating Websites' favicon. +For pushes containing image content, a thumbnail-sized image is shown within the notification. -> **Push Previews** +> **Simple Setup** -Preview thumbnails for pushes containing images. +No wrestling with API-Keys or other technical knowledge required. +Login to Pushbullet using Google or Facebook. -> **Custom Notification Sound Effect** +> **Custom Notification Sounds** -Use the default Pushbullet notification sound effect or one of your choice. -Supports `.m4a`, `.mp3`, `.mp4`, `.ogg` and `.wav`. +Use the default PushBullet sound or one of your choice. +Ships multiple sound effect sets: Android, iOS, Tesla Motors, Slack, Nintendo, Windows, macOS +Or use your own custom sound (supported formats: `.m4a`, `.mp3`, `.mp4`, `.ogg` and `.wav`) -> **Dedicated Push Target** +> **SMS** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]() -Use the *PB for Desktop* PushBullet device to only send pushes to your desktop. +Send & receive SMS to Android devices. -> **Inline Notification SMS Message Reply** +> **Inline SMS Message Reply** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]() Reply to SMS messages directly within native Desktop notifications (macOS). -> **Mirroring** +> **Channel Images for IFTTT and Zapier** + +Channel-specific (e.g. [IFTTT](https://ifttt.com/), [Zapier](https://zapier.com/), [Chat](http://lifehacker.com/huge-pushbullet-update-adds-instant-messaging-chat-hea-1714870644)) icon images for most notifications. + +> **Notification Mirroring** Mirror Android notifications (Android). -> **SMS** [![Feature Status: Beta](https://img.shields.io/badge/feature-alpha-blue.svg?style=flat-square)]() +> **Direct Pushes to Desktop** -Send & receive SMS to Android devices. +Adds a `PB for Desktop` PushBullet device for sending pushes to your desktop. -> **Emoji** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]() +> **Developer Friendly** + +Ships multiple NodeJS-driven command scripts for Developers, as [code contributions are welcome](#contribute). -Use tags to add emoji to notifications, e.g.: add `{video}` to show a πŸ“Ί with every notification. ## Contents 1. [Installation](#installation) -1. [Developers](#development) -1. [Continuous Integration](#continuous-integration) +1. [Development](#development) +1. [Building](#building) 1. [Roadmap](#roadmap) 1. [Contribute](#contribute) 1. [Author](#author) -## Installation + +## Installation ### Standard Installation @@ -95,26 +109,28 @@ Grab the latest version here: [Download Pushbullet for Desktop](https://sidneys. npm install --global pb-for-desktop ``` -## Developers -### Sources -Clone the repo and install dependencies. +## Development + +### Getting the Sourcecode -```shell -git clone https://github.com/sidneys/pb-for-desktop.git pb-for-desktop +To clone the Git repository and install the required dependencies, run these Shell commands: + +```bash +git clone https://github.com/sidneys/pb-for-desktop.git cd pb-for-desktop npm install ``` -### Scripts +### Developer Commands + +The following `npm` scripts are available for development purposes: #### *start* Runs the app in development mode. -Usage: - ```bash npm run start ``` @@ -122,14 +138,10 @@ npm run start Parameters: - `--debug` Start with development tools - - `--livereload` Start with live reload - #### *localsetup* -Install the app in the System app folder and start it. - -Usage: +Installs the app in the System app folder and starts it. ```bash npm run localsetup @@ -137,16 +149,15 @@ npm run localsetup Parameters: - - `--build` Rebuild project before installation - - `--debug` Start with development tools - + - `--build` Rebuilds app before installation + - `--debug` Start with enabled development tools + - `--beta` Build Beta application version -#### *build* +#### *build* Builds the application and creates platform-specific installation packages (see [requirements](#build-requirements)). If no parameter is supplied, the current platform is built. - -Usage: +Supports building a Beta application version, which is running side-by-side with the regular version. ```bash npm run build @@ -157,78 +168,56 @@ Parameters: - `--macos` Build & Package for macOS - `--windows` Build & Package for Windows - `--linux` Build & Package for Linux - - `--metadata` Generate Auto-Updater metadata + - `--beta` Build Beta application version -### Build Requirements -- Building for Windows requires [`wine`](https://winehq.org) and [`mono`](https://nsis.sourceforge.net/Docs/Chapter3.htm) (on macOS, Linux) -- Building for Linux requires [`fakeroot`](https://wiki.debian.org/FakeRoot)Β andΒ [`dpkg `](https://wiki.ubuntuusers.de/dpkg/) (on macOS, Windows) -- Only macOS can build for other platforms. +## Building -#### macOS Build Setup +### Build the App for the current Platform -Install [Homebrew](https://brew.sh), then run: +See the [`build`](#build) Developer command. -```bash -brew install wine mono fakeroot dpkg -``` +### Multi-Platform Builds + +- Only macOS can build all other platforms and requires [Homebrew](https://brew.sh) to install the prerequisite software. +- Building Windows (on macOS, Linux) requires [`wine`](https://winehq.org), [`mono`](https://nsis.sourceforge.net/Docs/Chapter3.htm) +- Building Linux (on macOS, Windows) requires [`fakeroot`](https://wiki.debian.org/FakeRoot),Β [`dpkg `](https://wiki.ubuntuusers.de/dpkg/) -#### Linux Build Setup +#### Build-for-Windows Preparation on macOS ```bash -sudo apt-get install wine mono fakeroot dpkg +brew install wine mono ``` +#### Build-for-Linux Preparation on macOS -## Continuous Integration - -> Turnkey **build-in-the-cloud** integration. - -The CI deployment is managed by a custom layer of node scripts and Electron-optimized configuration templates. -Completed Installation packages are deployed to [GitHub Releases](https://github.com/sidneys/pb-for-desktop/masters). Builds for all platforms and architectures take about 5 minutes. -Backed by the open-source-friendly guys at [Travis](http://travis-ci.org/) and AppVeyor](https://ci.appveyor.com/) and running [electron-packager](https://github.com/electron-userland/electron-packager) under the hood. - -### Setup - -1. [Fork](https://github.com/sidneys/pb-for-desktop/fork) the repo -1. Generate your GitHub [Personal Access Token](https://github.com/settings/tokens) using "repo" as scope. Copy it to the clipboard. -1. **macOS + Linux** - 1. Sign in to [Travis](http://travis-ci.org/) using GitHub. - 2. Open your [Travis Profile](https://travis-ci.org/profile), click "Sync Account" and wait for the process to complete. - 3. Find this repository in the list, enable it and click "βš™" to open its settings. - 4. Create a new Environment Variable named **GITHUB_TOKEN**. Paste your Token from step 2 as *value*. -1. **Windows** - 1. Sign in to [AppVeyor](https://ci.appveyor.com/) using GitHub. - 2. Click on ["New Project"](https://ci.appveyor.com/projects/new), select "GitHub", look up this repo in the list and click "Add". - 3. After import navigate to the *Settings* > *Environment* subsection - 4. Select "Add Variable", insert **GITHUB_TOKEN** for *name*, paste your Token as *value*. Save. +```bash +brew install fakeroot dpkg +``` -### Triggering Builds +#### Build-for-Windows Preparation on Linux -1. Add a new Tag to start the build process: +```bash +apt-get install wine mono gcc-multilib g++-multilib +``` - ```shell - git tag -a v1.0.1 - git push --tags - ``` - The builds are started in parallel and added to the "Releases" page of the GitHub repo (in draft mode). -1. Use the editing feature to publish the new app version. -1. There is no step 3 ## Roadmap -- [ ] Signed binaries +- [ ] Binaries signed for Distribution (macOS, Windows) - [ ] End-To-End Tests (see [Spectron](https://github.com/electron/spectron)) + ## Contribute ![Contributions Wanted](https://img.shields.io/badge/contributions-wanted-red.svg?style=flat-square) Read the [contribution documentation](https://github.com/sidneys/pb-for-desktop/blob/master/CONTRIBUTING.md) first. -- [Dev Chat](http://gitter.im/sidneys/pb-for-desktop): Talk about features and suggestions. - [Issues](http;//github.com/sidneys/pb-for-desktop/issues) File bugs and document issues. +- [Developer Chat](http://gitter.im/sidneys/pb-for-desktop): Talk about features and suggestions. + ## License @@ -236,8 +225,8 @@ Read the [contribution documentation](https://github.com/sidneys/pb-for-desktop/ MIT -## Author -[sidneys](http://sidneys.github.io) 2017 +## Author +[sidneys](http://sidneys.github.io) 2018 diff --git a/RELEASENOTES.json b/RELEASENOTES.json index 7d17c26e..f34794c5 100644 --- a/RELEASENOTES.json +++ b/RELEASENOTES.json @@ -1,4 +1,22 @@ { + "8.5.9": { + "🍾 features": [ + "Adds 'In-Line Reply' (interactive Notifications) to Pushbullet User-to-User Chats / Chat Messages (macOS)", + "Adds 'Push Dismissal': When closing individual or multiple Desktop Notifications, the corresponding pushes are marked as `seen` within the backend, too (https://docs.pushbullet.com/#update-push) (macOS)" + ], + "πŸ’Ž improvements": [ + "Improves 'In-Line Reply' (interactive Notifications) responsiveness for SMS Messages (macOS)", + "Improves automated dependency installation for the global `pb-for-desktop` Nodejs module", + "Various stability- and performance improvements" + ], + "πŸ“’ documentation": [ + "adds TypeScript Declaration [pushbullet.d.ts](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html) for the official Pushbullet API as well as the undocumented Browser Client & -Frontend (`window.pb`, `window.onecup`, etc.)" + ], + "πŸ‘· internals": [ + "upgrades `electron` to `v4.0.0`", + "upgrades `node_modules`" + ] + }, "8.1.1": { "🍾 features": [ "supports macOS Mojaves' system-wide dark mode (macOS)", diff --git a/app/html/main.html b/app/html/main.html index c30c931c..3068628e 100644 --- a/app/html/main.html +++ b/app/html/main.html @@ -34,7 +34,7 @@ disablewebsecurity="true" partition="persist:app" preload="../scripts/renderer/webviews/pushbullet-webview.js" - src="http://pushbullet.com"> + src="https://www.pushbullet.com"> diff --git a/app/scripts/main/components/application.js b/app/scripts/main/components/application.js index 07e142a1..76c47987 100755 --- a/app/scripts/main/components/application.js +++ b/app/scripts/main/components/application.js @@ -48,35 +48,35 @@ const globals = require(path.join(appRootPath['path'], 'app', 'scripts', 'main', /** - * Hotfix + * HOTFIX * Window Translucency * @see {@link https://github.com/electron/electron/issues/2170} */ -// app.disableHardwareAcceleration() +app.disableHardwareAcceleration() /** - * Hotfix + * HOTFIX * EventEmitter Memory Leak * @see {@link https://stackoverflow.com/questions/9768444/possible-eventemitter-memory-leak-detected} */ events.EventEmitter.defaultMaxListeners = Infinity /** - * Hotfix + * HOTFIX * Chrome 66 Autoplay Policy * @see {@link https://github.com/electron/electron/issues/13525} */ app.commandLine.appendSwitch('autoplay-policy', 'no-user-gesture-required') /** - * Hotfix + * HOTFIX * Electron Security Warning * @see {@link https://stackoverflow.com/questions/48854265/why-do-i-see-an-electron-security-warning-after-updating-my-electron-project-t} */ process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true' /** - * Hotfix + * HOTFIX * Notification API not working (Windows) * @see {@link https://github.com/electron/electron/issues/10864} */ @@ -85,7 +85,7 @@ if (platformTools.isWindows) { } /** - * Hotfix + * HOTFIX * Missing App Indicator (Linux) * @see {@link https://github.com/electron/electron/issues/10427} */ @@ -123,7 +123,7 @@ if (!app.requestSingleInstanceLock()) { } /** - * @listens Electron.App#second-instance + * @listens Electron.App:second-instance */ app.on('second-instance', (event, commandLine, workingDirectory) => { logger.warn('Additional application instance detected:', app.getPath('exe')) @@ -136,7 +136,7 @@ app.on('second-instance', (event, commandLine, workingDirectory) => { }) /** - * @listens Electron.App#before-quit + * @listens Electron.App:before-quit */ app.on('before-quit', () => { logger.debug('app#before-quit') @@ -145,7 +145,7 @@ app.on('before-quit', () => { }) /** - * @listens Electron.App#before-quit-for-update + * @listens Electron.App:before-quit-for-update */ app.on('before-quit-for-update', () => { logger.debug('app#before-quit-for-update') @@ -154,7 +154,7 @@ app.on('before-quit-for-update', () => { }) /** - * @listens Electron.App#ready + * @listens Electron.App:ready */ app.once('ready', () => { logger.debug('app#ready') @@ -162,7 +162,7 @@ app.once('ready', () => { /** - * @listens Electron.systemPreferences#appearance-changed + * @listens Electron.systemPreferences:appearance-changed */ systemPreferences.on('appearance-changed', (newAppearance) => { logger.debug('systemPreferences#appearance-changed', 'newAppearance:', newAppearance) diff --git a/app/scripts/main/components/globals.js b/app/scripts/main/components/globals.js index 5c75abf8..ff06f6ce 100755 --- a/app/scripts/main/components/globals.js +++ b/app/scripts/main/components/globals.js @@ -23,6 +23,9 @@ const appRootPath = require('app-root-path') const packageJson = require(path.join(appRootPath['path'], 'package.json')) +/** @namespace global */ + + /** * Manifest * @global diff --git a/app/scripts/main/managers/configuration-manager.js b/app/scripts/main/managers/configuration-manager.js index b671306b..d48fe624 100644 --- a/app/scripts/main/managers/configuration-manager.js +++ b/app/scripts/main/managers/configuration-manager.js @@ -672,7 +672,7 @@ let removeLegacyItems = (callback = () => {}) => { /** - * @listens Electron.App#Event:ready + * @listens Electron.App:ready */ app.once('ready', () => { logger.debug('app#ready') @@ -690,7 +690,7 @@ app.once('ready', () => { }) /** - * @listens Electron.App#before-quit + * @listens Electron.App:before-quit */ app.on('quit', () => { logger.debug('app#quit') diff --git a/app/scripts/main/menus/app-menu.js b/app/scripts/main/menus/app-menu.js index 4b8c7b74..907fd7b2 100644 --- a/app/scripts/main/menus/app-menu.js +++ b/app/scripts/main/menus/app-menu.js @@ -103,8 +103,7 @@ let getAppMenuTemplate = () => { accelerator: (() => { if (process.platform === 'darwin') { return 'Ctrl+Command+F' - } - else { + } else { return 'F11' } })(), @@ -220,7 +219,7 @@ let getAppMenuTemplate = () => { { label: `Restart in Debugging Mode...`, click() { - app.relaunch({ args: process.argv.slice(1).concat(['--debug']) }) + app.relaunch({ args: process.argv.slice(1).concat([ '--debug' ]) }) app.quit() } }, diff --git a/app/scripts/main/menus/tray-menu.js b/app/scripts/main/menus/tray-menu.js index 838939e0..448a8e1b 100644 --- a/app/scripts/main/menus/tray-menu.js +++ b/app/scripts/main/menus/tray-menu.js @@ -14,7 +14,7 @@ const path = require('path') * Electron * @constant */ -const { app, ipcMain, Menu, Tray, webContents } = require('electron') +const { app, ipcMain, Menu, MenuItem, Tray, webContents } = require('electron') /** * Modules @@ -166,8 +166,8 @@ let createTrayMenuTemplate = () => { if (!session.clearCache) { return } session.clearCache(() => { session.clearStorageData({ - storages: ['appcache', 'cookies', 'filesystem', 'indexdb', 'localstorage', 'serviceworkers', 'shadercache', 'websql'], - quotas: ['persistent', 'syncable', 'temporary'] + storages: [ 'appcache', 'cookies', 'filesystem', 'indexdb', 'localstorage', 'serviceworkers', 'shadercache', 'websql' ], + quotas: [ 'persistent', 'syncable', 'temporary' ] }, () => { logger.info('logout', 'cleared cache and storage') }) @@ -311,7 +311,7 @@ let createTrayMenuTemplate = () => { type: 'normal', click() { app.focus() - dialogProvider.file('Open Sound File (.m4a, .mp3, .mp4, .ogg, .wav)', ['m4a', 'mp3', 'mp4', 'wav', 'ogg'], appSoundDirectory, (error, soundFile) => { + dialogProvider.file('Open Sound File (.m4a, .mp3, .mp4, .ogg, .wav)', [ 'm4a', 'mp3', 'mp4', 'wav', 'ogg' ], appSoundDirectory, (error, soundFile) => { if (error) { logger.error('pushbulletSoundFile', 'dialogProvider.file', error) return @@ -425,11 +425,26 @@ class TrayMenu extends Tray { super(trayIconDefault) this.template = template - this.menu = Menu.buildFromTemplate(this.template) + // this.menu = Menu.buildFromTemplate(this.template) + + this.menu = new Menu() + template.forEach((menuItem) => { + this.menu.append(new MenuItem(menuItem)) + }) this.init() } + /** + * @fires TrayMenu#EventEmitter:tray-close + */ + onClose() { + logger.debug('onClose') + + // Notify Embedders + webContents.getAllWebContents().forEach(contents => contents.send('tray-close')) + } + /** * Init */ @@ -457,6 +472,16 @@ class TrayMenu extends Tray { } }) + /** + * @listens Electron.Menu#menu-will-close' + */ + this.menu.on('menu-will-close', () => { + logger.debug('TrayMenu#menu-will-close') + + // Emit + this.onClose() + }) + /** * @listens ipcMain */ diff --git a/app/scripts/main/windows/main-window.js b/app/scripts/main/windows/main-window.js index f8996ec8..7afdf9ee 100644 --- a/app/scripts/main/windows/main-window.js +++ b/app/scripts/main/windows/main-window.js @@ -56,6 +56,7 @@ class MainWindow extends BrowserWindow { // Hotfix: Window Translucency, https://github.com//electron/electron/issues/2170 // backgroundColor: platformTools.isMacOS ? void 0 : '#95A5A6', backgroundColor: '#303030', + backgroundThrottling: false, frame: true, hasShadow: platformTools.isMacOS ? true : void 0, height: void 0, @@ -110,7 +111,7 @@ class MainWindow extends BrowserWindow { }) /** - * @listens MainWindow#will-navigate + * @listens MainWindow:will-navigate */ this.webContents.on('will-navigate', (event, url) => { logger.debug('AppWindow.webContents#will-navigate') diff --git a/app/scripts/renderer/main.js b/app/scripts/renderer/main.js index 77943c3d..d5f144f9 100644 --- a/app/scripts/renderer/main.js +++ b/app/scripts/renderer/main.js @@ -49,6 +49,13 @@ const stylesheetFilepath = path.join(appRootPath, 'app', 'styles', 'injected', ' let retrieveAppShowBadgeCount = () => configurationManager('appShowBadgeCount').get() +/** + * Background Throttling Restoration Delay + * @constant + */ +const backgroundThrottlingDelay = 5000 + + /** * DOM Components * @constant @@ -118,6 +125,29 @@ let onLogin = () => { domTools.setText(spinnerTextElement, 'logged in') } +/** @namespace webContents.getLastWebPreferences() */ + +/** + * Tray Menu Close handler + */ +let onTrayClose = () => { + logger.debug('onTrayClose') + + const webContents = remote.getCurrentWebContents() + + // Get webPreferences + const webPreferences = webContents.getLastWebPreferences() + + // Disable backgroundThrottling – then restore after Delay + webContents.setBackgroundThrottling(true) + const timeout = setTimeout(() => { + webContents.setBackgroundThrottling(!!webPreferences.backgroundThrottling) + + clearTimeout(timeout) + }, backgroundThrottlingDelay) +} + + /** * Set application badge count * @param {Number} total - Number to set @@ -154,7 +184,17 @@ ipcRenderer.on('zoom', (event, direction) => { /** - * @listens webviewViewElement#did-fail-load + * @listens ipcRenderer#Event:tray-close + */ +ipcRenderer.on('tray-close', () => { + logger.debug('ipcRenderer#tray-close') + + onTrayClose() +}) + + +/** + * @listens webviewViewElement#Event:did-fail-load */ webviewViewElement.addEventListener('did-fail-load', () => { logger.debug('webviewViewElement#did-fail-load') @@ -163,7 +203,7 @@ webviewViewElement.addEventListener('did-fail-load', () => { }) /** - * @listens webviewViewElement#did-navigate-in-page + * @listens webviewViewElement#Event:did-navigate-in-page */ webviewViewElement.addEventListener('did-navigate-in-page', (event) => { logger.debug('webviewViewElement#did-navigate-in-page') @@ -188,7 +228,7 @@ webviewViewElement.addEventListener('did-navigate-in-page', (event) => { }) /** - * @listens webviewViewElement#dom-ready + * @listens webviewViewElement#Event:dom-ready */ webviewViewElement.addEventListener('dom-ready', () => { logger.debug('webviewViewElement#dom-ready') @@ -200,7 +240,7 @@ webviewViewElement.addEventListener('dom-ready', () => { /** @namespace event.channel */ /** - * @listens webviewViewElement#ipc-message + * @listens webviewViewElement#Event:ipc-message */ webviewViewElement.addEventListener('ipc-message', (event) => { logger.debug('playerViewElement#ipc-message', 'channel', event.channel, 'args', event.args.join()) @@ -224,7 +264,7 @@ webviewViewElement.addEventListener('ipc-message', (event) => { }) /** - * @listens webviewViewElement#load-commit + * @listens webviewViewElement#Event:load-commit */ webviewViewElement.addEventListener('load-commit', (event) => { logger.debug('webviewViewElement#load-commit') @@ -264,7 +304,7 @@ webviewViewElement.addEventListener('load-commit', (event) => { }) /** - * @listens webviewViewElement#new-window + * @listens webviewViewElement#Event:new-window */ webviewViewElement.addEventListener('new-window', (event) => { logger.debug('webviewViewElement#new-window') diff --git a/app/scripts/renderer/pushbullet/clipboard.js b/app/scripts/renderer/pushbullet/clipboard.js index d8dc8206..2aa41b27 100644 --- a/app/scripts/renderer/pushbullet/clipboard.js +++ b/app/scripts/renderer/pushbullet/clipboard.js @@ -57,9 +57,7 @@ let retrievePushbulletClipboardEnabled = () => configurationManager('pushbulletC let getDevice = () => { logger.debug('getDevice') - const pb = window.pb - - return pb.api.devices.all.filter((device) => { + return window.pb.api.devices.all.filter((/** Pushbullet.Device */ device) => { return (device.model === 'pb-for-desktop') })[0] } diff --git a/app/scripts/renderer/pushbullet/device.js b/app/scripts/renderer/pushbullet/device.js index 617d1ac0..5d7606f1 100644 --- a/app/scripts/renderer/pushbullet/device.js +++ b/app/scripts/renderer/pushbullet/device.js @@ -15,12 +15,9 @@ const logger = require('@sidneys/logger')({ write: true }) const defaultInterval = 2000 -/** @namespace window.dispatchEvent */ - - /** * Create 'pb-for-desktop' device values - * @return {{has_sms: boolean, icon: string, manufacturer: string, model: string, nickname: string}} + * @return {Object} */ let createDeviceValues = () => { logger.debug('createDeviceValues') @@ -51,7 +48,7 @@ let createDevice = () => { let getDevices = () => { logger.debug('getDevices') - return window.pb.api.devices.all.filter((device) => { + return window.pb.api.devices.all.filter((/** Pushbullet.Device */ device) => { return (device.model === 'pb-for-desktop') }) } diff --git a/app/scripts/renderer/pushbullet/push.js b/app/scripts/renderer/pushbullet/push.js index 3eaa4531..4e0b9e80 100644 --- a/app/scripts/renderer/pushbullet/push.js +++ b/app/scripts/renderer/pushbullet/push.js @@ -16,14 +16,13 @@ const url = require('url') * @constant */ const electron = require('electron') -const { remote } = electron +const { remote, ipcRenderer } = electron /** * Modules * External * @constant */ -const _ = require('lodash') const appRootPath = require('app-root-path')['path'] const dataUriToBuffer = require('data-uri-to-buffer') const fileType = require('file-type') @@ -38,6 +37,8 @@ const moment = require('moment') const notificationProvider = remote.require('@sidneys/electron-notification-provider') const opn = require('opn') const shortid = require('shortid') +const throttledQueue = require('throttled-queue') +const _ = require('lodash') /** * Modules @@ -57,38 +58,38 @@ const appName = remote.getGlobal('manifest').name const appTemporaryDirectory = (isDebug && process.defaultApp) ? appRootPath : os.tmpdir() -/** @namespace Audio */ -/** @namespace pb.api.accounts */ -/** @namespace pb.api.grants */ -/** @namespace pb.api.pushes */ -/** @namespace pb.api.pushes.dismiss */ -/** @namespace pb.sms */ -/** @namespace push.application_name */ -/** @namespace push.dismissed */ -/** @namespace push.file_name */ -/** @namespace push.file_url */ -/** @namespace push.image_url */ -/** @namespace push.notifications */ - - /** * Urls * @constant */ -const besticonEndpointUrl = 'pb-for-desktop-besticon.herokuapp.com' -const pushbulletUrl = 'www.pushbullet.com' -const youtubeUrl = 'img.youtube.com' +const besticonUrl = 'https://pb-for-desktop-besticon.herokuapp.com' +const pushbulletUrl = 'https://www.pushbullet.com' +const youtubeUrl = 'https://img.youtube.com' /** - * Notifications + * Defaults * @constant * @default */ -const notificationInterval = 2000 -const maxRecentNotifications = 5 -const faviconImageSize = 120 +const recentPushesAmount = 5 +const besticonIconSize = 120 +const notificationInterval = 1000 const notificationImageSize = 88 +/** + * Notifications Queue + * @global + */ +let queueNotification = throttledQueue(1, notificationInterval, true) + + +/** + * Global Settings + * @global + */ +let lastNotificationTimestamp +let audioElement + /** * Retrieve PushbulletLastNotificationTimestamp @@ -112,7 +113,7 @@ let retrieveAppShowBadgeCount = () => configurationManager('appShowBadgeCount'). /** * Retrieve PushbulletHideNotificationBody * @return {Boolean} - Hide - */ + // */ let retrievePushbulletHideNotificationBody = () => configurationManager('pushbulletHideNotificationBody').get() /** @@ -140,163 +141,185 @@ let retrievePushbulletSoundFile = () => configurationManager('pushbulletSoundFil let retrievePushbulletSoundVolume = () => configurationManager('pushbulletSoundVolume').get() -/** - * @instance - */ -let lastNotificationTimestamp -let appSoundVolume - /** * Set application badge count * @param {Number} total - Number to set - * */ let updateBadge = (total) => { logger.debug('updateBadge') - if (Boolean(retrieveAppShowBadgeCount()) === false) { - return - } + const appShowBadgeCount = retrieveAppShowBadgeCount() + if (!!appShowBadgeCount) { return } remote.app.setBadgeCount(total) } /** * Play Sound - * @param {String} file - Path to WAV audio - * @param {Function=} callback - Callback - * */ -let playSound = (file, callback = () => {}) => { +let playSound = () => { logger.debug('playSound') - let url = fileUrl(file) - let AudioElement = new Audio(url) + // Retrieve State + const pushbulletSoundEnabled = retrievePushbulletSoundEnabled() - AudioElement.volume = appSoundVolume + // Skip if not enabled + if (!pushbulletSoundEnabled) { return } - /** - * @listens audio:MediaEvent#error - */ - AudioElement.addEventListener('error', (error) => { - logger.error('playSound', error) - callback(error) - }) + // Retrieve File, Volume + const pushbulletSoundFile = retrievePushbulletSoundFile() + const pushbulletSoundVolume = retrievePushbulletSoundVolume() + + // Create File URL + const url = fileUrl(pushbulletSoundFile) + + // Setup Audio Element + audioElement = new Audio(url) + audioElement.volume = pushbulletSoundVolume - AudioElement.play().then(() => { + // Errorhandling + audioElement.onerror = () => { + logger.error('playSound', url, audioElement.error.message, audioElement.error.code) + } + + // Play + audioElement.play().then(() => { logger.debug('playSound', url) - callback(null) }) } /** - * Find images for Pushbullet push - * @param {Object} push - Push Object - * @returns {String} Image URI + * Get Timestamp with Milliseconds + * @returns {String} - Timestamp + * */ -let generateImageUrl = (push) => { - logger.debug('generateImageUrl') +let getTimestamp = () => { + const date = new Date() + return `${date.toLocaleTimeString()}.${date.getMilliseconds()}` +} - const pb = window.pb - let iconUrl +/** + * Generate Image for Notification + * @param {Object} push - Push Object + * @returns {String} - Image URL + */ +let generateNotificationImage = (push) => { + logger.debug('generateNotificationImage') - /** - * Account icon - */ + // Account Image let iconAccount - const accountIdShort = push['receiver_iden'] + const accountId = push.receiver_iden - for (let account of pb.api.accounts.all) { - if (account['iden'].startsWith(accountIdShort)) { - iconAccount = account['image_url'] + for (let account of window.pb.api.accounts.all) { + if (account['iden'].startsWith(accountId)) { + iconAccount = account.image_url } } - /** - * Channel icon - */ - let iconChannel - const channelId = push['client_iden'] + // Grant Image + let iconGrant + const grantId = push.client_iden - for (let channel of pb.api.grants.all) { - if (channel['client']['iden'] === channelId) { - iconChannel = channel['client']['image_url'] + for (let grant of window.pb.api.grants.all) { + if (grant['client']['iden'] === grantId) { + iconGrant = grant['client']['image_url'] } } - /** - * Device icon - */ + // Device Image let iconDevice - const deviceId = push['source_device_iden'] + const deviceId = push.source_device_iden - for (let device of pb.api.devices.all) { - if (device['iden'] === deviceId) { - iconDevice = `http://${pushbulletUrl}/img/deviceicons/${device.icon}.png` + for (let device of window.pb.api.devices.all) { + if (device.iden === deviceId) { + iconDevice = `${pushbulletUrl}/img/deviceicons/${device.icon}.png` } } - /** - * SMS icon - */ - if (push['type'] === 'sms_changed') { - iconDevice = `http://${pushbulletUrl}/img/deviceicons/phone.png` + // SMS Image + let iconSms + + if (push.type === 'sms_changed') { + iconSms = `${pushbulletUrl}/img/deviceicons/phone.png` + } + + // Chat Image + let iconChat + + if (!!push.sender_email) { + const target = window.pb.targets.by_email(push.sender_email) + iconChat = target.image_url } - /** - * Mirror icon - */ - let iconMirror + // Mirroring Image + let iconMirroring - if (push['type'] === 'mirror') { - iconMirror = `data:image/jpeg;base64,${push.icon}` + if (push.type === 'mirror') { + iconMirroring = `data:image/jpeg;base64,${push.icon}` } - /** - * Website icon - */ - let iconWebsite + // Link Image + let iconLink - if (push['type'] === 'link') { - // YouTube - if (getYouTubeID(push['url'])) { - iconWebsite = `http://${youtubeUrl}/vi/${getYouTubeID(push['url'])}/hqdefault.jpg` + if (push.type === 'link') { + // Handle YouTube URLs (Thumbnail) + if (getYouTubeID(push.url)) { + iconLink = `${youtubeUrl}/vi/${getYouTubeID(push['url'])}/hqdefault.jpg` } else { - iconWebsite - = `https://${besticonEndpointUrl}/icon?fallback_icon_color=4AB367&formats=ico,png&size=1..${faviconImageSize}..200&url=${push['url']}` + // Handle other URLS (Favicon) + iconLink = `${besticonUrl}/icon?fallback_icon_color=4AB367&formats=ico,png&size=1..${besticonIconSize}..200&url=${push.url}` } } - // Fallback - iconUrl = iconWebsite || iconMirror || iconChannel || iconDevice || iconAccount + // Image Fallbacks Sequence + const iconUrl = iconLink || iconMirroring || iconChat || iconGrant || iconDevice || iconSms || iconAccount return iconUrl } /** - * Dismiss Pushbullet push - * @param {Object} push - Push Object - * + * Create Note Push + * @param {String} message - Message + * @param {String=} email - Target E-Mail + * @param {String} deviceId - Target Device Id + * @param {function=} callback - Callback */ -let dismissPushbulletPush = (push) => { - logger.debug('dismissPushbulletPush') +let createNotePush = (message, email, deviceId, callback = () => {}) => { + logger.debug('createNotePush') + + window.pb.api.pushes.create({ + type: 'note', + email: !!deviceId ? void 0 : email, + device_iden: !!email ? void 0 : deviceId, + title: message, + body: message + }) + + // Callback + callback(email || deviceId) +} - const pb = window.pb +/** + * Dismiss Push + * @param {Pushbullet.Push} push - Push Object + */ +let dismissPush = (push) => { + logger.debug('dismissPush') // direction: self if (push.direction === 'self') { if (!push.dismissed && !push.target_device_iden) { - logger.debug('dismissPushbulletPush', 'self', 'push.title:', push.title) - pb.api.pushes.dismiss(push) + logger.debug('dismissPush', 'self', 'push.title:', push.title) + window.pb.api.pushes.dismiss(push) } } // direction: incoming if (push.direction === 'incoming') { if (!push.dismissed) { - logger.debug('dismissPushbulletPush', 'incoming', 'push.title:', push.title) - pb.api.pushes.dismiss(push) + logger.debug('dismissPush', 'incoming', 'push.title:', push.title) + window.pb.api.pushes.dismiss(push) } } } @@ -315,11 +338,12 @@ let parsePush = (message) => { let subtitle = message let title = message + // Parse Push for Notification Formatting + // [ Title ] [ Subtitle ] Body Text // characters for tag detection const tagStart = '[' const tagEnd = ']' - let tagList = title.match(new RegExp(`\\${tagStart}(.*?)\\${tagEnd}`, 'gi')) || [] let titleList = title.match(new RegExp(`${tagStart}^${tagStart}\\${tagEnd}${tagEnd}+(?=${tagEnd})`, 'gi')) || [] @@ -348,110 +372,107 @@ let parsePush = (message) => { /** * Decorate Push objects - * @param {Object} push - Push Object - * @returns {Object} - Push Object + * @param {Pushbullet.Push|SmsEphemeral|SmsChangeEphemeral|NotificationEphemeral|DismissalEphemeral|ClipboardEphemeral} push - Pushbullet Push + * @returns {DecoratedPush} - Push Object */ -let decoratePushbulletPush = (push) => { - logger.debug('decoratePushbulletPush', push.type) - //logger.debug('decoratePushbulletPush', 'undecorated:', push); +let decoratePush = (push) => { + logger.debug('decoratePush', push.type) + + // Copy Push Object + const decoratedPush = Object.assign({}, push) - switch (push.type) { + switch (decoratedPush.type) { // Link case 'link': - push.url = push['url'] - push.icon = generateImageUrl(push) + decoratedPush.icon = generateNotificationImage(decoratedPush) - if (!push.body && !push.title) { - push.title = push.url + if (!decoratedPush.body && !decoratedPush.title) { + decoratedPush.title = decoratedPush.url } - if (!push.body && push.title) { - let parsed = parsePush(push.title) + if (!decoratedPush.body && decoratedPush.title) { + let parsed = parsePush(decoratedPush.title) - push.body = parsed.body - push.subtitle = parsed.subtitle - push.title = parsed.title + decoratedPush.body = parsed.body + decoratedPush.subtitle = parsed.subtitle + decoratedPush.title = parsed.title } break // Note case 'note': - push.title = push.title || push.body - push.body = push.body || push.title - push.icon = generateImageUrl(push) - //push.title = `Note | ${push.title}`; + decoratedPush.title = decoratedPush.title || decoratedPush.body + decoratedPush.body = decoratedPush.body || decoratedPush.title + decoratedPush.icon = generateNotificationImage(decoratedPush) + //push.title = `Note | ${push.title}` break // File case 'file': - push.title = push.title || push.file_name - push.body = push.body || push.title - push.url = push.file_url - push.icon = push.image_url || generateImageUrl(push) - //push.title = `File | ${push.title}`; + decoratedPush.title = decoratedPush.title || decoratedPush.file_name + decoratedPush.body = decoratedPush.body || decoratedPush.title + decoratedPush.url = decoratedPush.file_url + decoratedPush.icon = decoratedPush.image_url || generateNotificationImage(decoratedPush) + //push.title = `File | ${push.title}` break // Mirror case 'mirror': - if (push.application_name && push.title) { - push.title = `${push.application_name} | ${push.title}` - } else if (push.application_name && !push.title) { - push.title = push.application_name + if (decoratedPush.application_name && decoratedPush.title) { + decoratedPush.title = `${decoratedPush.application_name} | ${decoratedPush.title}` + } else if (decoratedPush.application_name && !decoratedPush.title) { + decoratedPush.title = decoratedPush.application_name } - push.body = push.body || push.title - push.url = push.file_url - push.icon = push.image_url || generateImageUrl(push) + decoratedPush.body = decoratedPush.body || decoratedPush.title + decoratedPush.url = decoratedPush.file_url + decoratedPush.icon = decoratedPush.image_url || generateNotificationImage(decoratedPush) break // SMS case 'sms_changed': - if (push.notifications.length !== 0) { - let sms = push.notifications[0] - let phonenumber = sms.title - let text = sms.body - let time = (new Date(0)).setUTCSeconds(sms.timestamp) - - push.title = `SMS | ${phonenumber}` - push.body = `${text}${os.EOL}${moment(time).fromNow()}` - push.icon = push.image_url || generateImageUrl(push) - } + if (decoratedPush.notifications.length === 0) { return } + + let sms = decoratedPush.notifications[0] + let phonenumber = sms.title + let text = sms.body + let time = (new Date(0)).setUTCSeconds(sms.timestamp) + + decoratedPush.title = `SMS | ${phonenumber}` + decoratedPush.body = `${text}${os.EOL}${moment(time).fromNow()}` + decoratedPush.icon = decoratedPush.image_url || generateNotificationImage(decoratedPush) + break } // Detect URLs in title - let detectedUrl = (push.title && push.title.match(/\bhttps?:\/\/\S+/gi)) || [] - if (!push.url && detectedUrl.length > 0) { - push.url = detectedUrl[0] + let detectedUrl = (decoratedPush.title && decoratedPush.title.match(/\bhttps?:\/\/\S+/gi)) || [] + if (!decoratedPush.url && detectedUrl.length > 0) { + decoratedPush.url = detectedUrl[0] } // Trim - push.title = push.title && push.title.trim() - push.body = push.body && push.body.trim() + decoratedPush.title = decoratedPush.title && decoratedPush.title.trim() + decoratedPush.body = decoratedPush.body && decoratedPush.body.trim() - //logger.debug('decoratePushbulletPush', 'decorated:', push); - - return push + return decoratedPush } + /** * Show Notification * @param {Object} notificationOptions - NotificationConfiguration - * @param {Object=} pushObject - Pushbullet Push + * @param {Pushbullet.Push|Object=} push - Pushbullet Push */ -let renderNotification = (notificationOptions, pushObject) => { - logger.debug('renderNotification') +let showNotification = (notificationOptions, push) => { + logger.info('showNotification') - /** - * Create notification - */ + // Create Notification const notification = notificationProvider.create(notificationOptions) - /** - * @listens notification:PointerEvent#click - */ + /** @listens notification#click */ notification.on('click', () => { - logger.debug('notification#click') + logger.info('notification#click') // Open url if (notificationOptions.url) { @@ -459,63 +480,68 @@ let renderNotification = (notificationOptions, pushObject) => { } // Dismiss within Pushbullet - if (pushObject) { - dismissPushbulletPush(pushObject) + if (push) { + dismissPush(push) } }) - /** - * @listens notification:PointerEvent#close - */ + /** @listens notification#close */ notification.on('close', () => { - logger.debug('notification#close') + logger.info('notification#close') // Dismiss within Pushbullet - if (pushObject) { - dismissPushbulletPush(pushObject) + if (push) { + dismissPush(push) } }) - /** - * @listens notification:PointerEvent#reply - */ - notification.on('reply', (event, reply) => { - logger.debug('notification#reply') + /** @listens notification#reply */ + notification.on('reply', (event, message) => { + logger.info('notification#reply') + + if (!!!message) { + logger.warn('reply message was empty') + + return + } + + // SMS Reply + if (push.type === 'sms_changed') { + pbSms.reply(message, push.source_device_iden, pbSms.getMessageThreadId(push), (target) => { + logger.info('reply message sent', 'to:', target) + }) + } + + // Chat Reply + if (push.type === 'note' || push.type === 'link' || push.type === 'file') { + createNotePush(message, push.sender_email, null, (target) => { + logger.info('reply message sent', 'to:', target) + }) + } - pbSms.sendReply(reply, (error) => { - if (error) { - logger.error('notification#reply', error) - } - }) }) - /** - * @listens notification:PointerEvent#error - */ + /** @listens notification#error */ notification.on('error', (error) => { logger.error('notification#error', error) }) - /** - * @listens notification:PointerEvent#show - */ + /** @listens notification#show */ notification.on('show', (event) => { - logger.debug('notification#show', event) + logger.info('notification#show') }) - /** - * Show notification - */ - notification.show() + // Queue Throttled Notification + queueNotification(() => { + logger.info('Triggering Notification at:', getTimestamp()) + // Show Notification + notification.show() - /** - * Play sound - */ - if (retrievePushbulletSoundEnabled()) { - playSound(retrievePushbulletSoundFile()) - } + // Play Sound + playSound() + }) } /** @@ -531,6 +557,7 @@ let writeResizeImage = (source, target, callback = () => {}) => { if (error) { logger.error('writeResizeImage', 'jimp.read', error) callback(error) + return } @@ -538,6 +565,7 @@ let writeResizeImage = (source, target, callback = () => {}) => { if (error) { logger.error('writeResizeImage', 'result.resize', error) callback(error) + return } @@ -550,192 +578,137 @@ let writeResizeImage = (source, target, callback = () => {}) => { /** * Create Notification from Push Objects - * @param {Object} push - Push Object + * @param {Pushbullet.Push|SmsEphemeral|SmsChangeEphemeral|NotificationEphemeral|DismissalEphemeral|ClipboardEphemeral} push - Pushbullet Push */ let convertPushToNotification = (push) => { logger.debug('convertPushToNotification') - /** - * Decorate Push object - */ - push = decoratePushbulletPush(push) + // Copy Push Object + const decoratedPush = decoratePush(push) - /** - * Create Options - */ + // Create Options const notificationOptions = { - body: push.body, - icon: push.icon, - subtitle: push.subtitle, - tag: push.iden, - title: push.title, - url: push.url + body: decoratedPush.body, + icon: decoratedPush.icon, + subtitle: decoratedPush.subtitle, + tag: decoratedPush.iden, + title: decoratedPush.title, + url: decoratedPush.url + } + + // SMS Feature Enabled? + if (decoratedPush.type === 'sms_changed') { + const pushbulletSmsEnabled = retrievePushbulletSmsEnabled() + if (!pushbulletSmsEnabled) { return } } - /** - * Body - */ - const hideNotificationBody = retrievePushbulletHideNotificationBody() - if (hideNotificationBody) { - notificationOptions.body = void 0 + // Hide Notification Body? + const pushbulletHideNotificationBody = retrievePushbulletHideNotificationBody() + if (pushbulletHideNotificationBody) { + notificationOptions.body = '' } - /** - * Reply - */ - if (push.type === 'sms_changed') { + // Enable SMS Reply? + if (decoratedPush.type === 'sms_changed') { notificationOptions.hasReply = true notificationOptions.replyPlaceholder = 'Your SMS Reply' } - /** - * Fetch Favicon - */ + // Enable Chat Reply? + if ((decoratedPush.type === 'note' || decoratedPush.type === 'link' || decoratedPush.type === 'file') && decoratedPush.direction === 'incoming' && !!decoratedPush.sender_email) { + notificationOptions.hasReply = true + notificationOptions.replyPlaceholder = 'Your Chat Reply' + } + + // Image: Create Temporary Path const imageUrl = notificationOptions.icon || '' const imageProtocol = url.parse(imageUrl).protocol const imageFilepathTemporary = path.join(appTemporaryDirectory, `${appName}.push.${shortid.generate()}.png`) - /** - * Image: None - */ + // Image: Skip if (!imageProtocol) { - renderNotification(notificationOptions, push) + showNotification(notificationOptions, decoratedPush) return } - /** - * Image: From DataURI - */ + // Image: Generate from Data URL if (imageProtocol === 'data:') { writeResizeImage(dataUriToBuffer(imageUrl), imageFilepathTemporary, (error, imageFilepathConverted) => { - if (error) { - return - } + if (error) { return } notificationOptions.icon = imageFilepathConverted - renderNotification(notificationOptions, push) + showNotification(notificationOptions, decoratedPush) }) return } - /** - * Image: From URI - */ + // Image: Download from Web imageDownloader.image({ url: imageUrl, dest: imageFilepathTemporary }) - .then((result) => { - const imageFilepathDownloaded = result.filename - const imageBuffer = result.image - const imageType = fileType(imageBuffer) - const isIco = icojs.isICO(imageBuffer) - const isPng = imageType.mime === 'image/png' - const isJpeg = imageType.mime === 'image/jpg' || imageType.mime === 'image/jpeg' - - logger.debug('convertPushToNotification', 'imageDownloader', 'imageUrl:', imageUrl, 'imageFilepathDownloaded:', imageFilepathDownloaded, 'imageType:', imageType) - - /** - * .PNG - */ - if (isPng || isJpeg) { - writeResizeImage(imageBuffer, imageFilepathDownloaded, (error, imageFilepathConverted) => { - if (error) { - return - } - - notificationOptions.icon = imageFilepathConverted - renderNotification(notificationOptions, push) - }) - - return - } - - /** - * .ICO -> .PNG - */ - if (isIco) { - icojs.parse(imageBuffer, 'image/png').then(imageList => { - const imageMaximum = imageList[imageList.length - 1] - writeResizeImage(Buffer.from(imageMaximum.buffer), imageFilepathDownloaded, (error, imageFilepathConverted) => { - if (error) { - return - } - - notificationOptions.icon = imageFilepathConverted - renderNotification(notificationOptions, push) - }) - }) - } - - }) - /** - * Image Downloader failed: Fallback to AppIcon - */ - .catch((error) => { - logger.warn('convertPushToNotification', 'imageDownloader', error) - - renderNotification(notificationOptions, push) - }) -} - -/** - * Test if a notification should be shown for this push - * @param {Object} push - Push Object - * @returns {Boolean|void} - */ -let shouldShowPush = (push) => { - //logger.debug('shouldShowPush'); + .then((result) => { + const imageFilepathDownloaded = result.filename + const imageBuffer = result.image + const imageType = fileType(imageBuffer) + const isIco = icojs.isICO(imageBuffer) + const isPng = imageType.mime === 'image/png' + const isJpeg = imageType.mime === 'image/jpg' || imageType.mime === 'image/jpeg' + + // From .PNG + if (isPng || isJpeg) { + writeResizeImage(imageBuffer, imageFilepathDownloaded, (error, imageFilepathConverted) => { + if (error) { return } + + notificationOptions.icon = imageFilepathConverted + showNotification(notificationOptions, decoratedPush) + }) - // Activity - if (push.hasOwnProperty('active')) { - // Push is not active - if (Boolean(push.active) === false) { - // logger.debug('shouldShowPush', false, 'push is not active'); - return false - } - } - - // Direction - if (push.direction === 'self') { - // Don't show if Push was dismissed - if (Boolean(push.dismissed) === true) { - // logger.debug('shouldShowPush', false, 'push was dismissed already'); - return false - } - } + return + } - // SMS - if (push.type === 'sms_changed') { - // Don't show if SMS is disabled - const pushbulletSmsEnabled = retrievePushbulletSmsEnabled() - if (!pushbulletSmsEnabled) { - // logger.debug('shouldShowPush', false, 'sms mirroring is not enabled'); - return false - } - // Don't show if SMS has no attached notifications - if (push.notifications.length === 0) { - // logger.debug('shouldShowPush', false, 'sms push is empty'); - return false - } - } + // From .ICO + if (isIco) { + icojs.parse(imageBuffer, 'image/png').then(imageList => { + const imageMaximum = imageList[imageList.length - 1] + writeResizeImage(Buffer.from(imageMaximum.buffer), imageFilepathDownloaded, (error, imageFilepathConverted) => { + if (error) { return } + + notificationOptions.icon = imageFilepathConverted + showNotification(notificationOptions, decoratedPush) + }) + }) + } - // logger.debug('shouldShowPush:', true, 'type:', push.type); + }) + // Image: Fallback to App Icon + .catch((error) => { + logger.warn('convertPushToNotification', 'imageDownloader', error) - return true + showNotification(notificationOptions, decoratedPush) + }) } /** - * Show Pushbullet push + * Test if Push is ignored * @param {Object} push - Push Object + * @returns {Boolean} - Yes / No */ -let showPush = (push) => { - //logger.debug('showPush'); +let testIfPushIsIgnored = (push) => { + //logger.debug('testIfPushIsIgnored') + + // Push inactive? + if (!!!push.active) { + return true + } - // Test if in snooze mode - const isSnoozing = (Date.now() < remote.getGlobal('snoozeUntil')) + // Push dismissed + if (push.direction === 'self' && !!push.dismissed) { + return true + } - if (!isSnoozing && shouldShowPush(push)) { - convertPushToNotification(push) + // Push SMS notifications empty? + if (push.type === 'sms_changed' && !!!push.notifications.length) { + return true } } @@ -744,23 +717,13 @@ let showPush = (push) => { * @param {Number=} queueLimit - Limit result to fixed number * @returns {Array|undefined} List of Pushes */ -let getRecentPushesList = (queueLimit = 0) => { - logger.debug('fetchRecentPushes') - - const pb = window.pb - - let recentPushesList = [] +let getRecentPushes = (queueLimit = 0) => { + logger.debug('getRecentPushes') - // Build list of recent active pushes - for (let iden in pb.api.pushes.objs) { - if (pb.api.pushes.objs.hasOwnProperty(iden)) { - if (shouldShowPush(pb.api.pushes.objs[iden])) { - recentPushesList.push(pb.api.pushes.objs[iden]) - } - } - } + // List recent Pushes + const recentPushesList = window.pb.api.pushes.all.filter(push => !testIfPushIsIgnored(push)) - // Sort recent pushes by date created + // Sort recent Pushes (by date) recentPushesList.sort((pushA, pushB) => { const dateA = pushA.created const dateB = pushB.created @@ -773,10 +736,8 @@ let getRecentPushesList = (queueLimit = 0) => { return 0 }) - // Apply size limit to recent pushes - recentPushesList = recentPushesList.slice(recentPushesList.length - queueLimit, recentPushesList.length) - - return recentPushesList + // Return sliced list + return recentPushesList.slice(recentPushesList.length - queueLimit, recentPushesList.length) } /** @@ -789,49 +750,49 @@ let getRecentPushesList = (queueLimit = 0) => { let enqueuePush = (pushes, ignoreDate = false, updateBadgeCount = true, callback = () => {}) => { logger.debug('enqueuePush') - pushes = _.isArray(pushes) ? pushes : [pushes] + pushes = _.isArray(pushes) ? pushes : [ pushes ] if (pushes.length === 0) { logger.warn('enqueuePush', 'pushes list was empty') callback(null, 0) + return } let nextPushesList = pushes let notifyAfter = lastNotificationTimestamp || 0 - // Remove pushes older than 'lastNotification' from array - if (Boolean(ignoreDate) === false) { - nextPushesList = pushes.filter((element) => { - return (element.created) > notifyAfter - }) + // Filter Pushes before lastNotificationTimestamp + if (!!!ignoreDate) { + nextPushesList = pushes.filter(push => push.created > notifyAfter) } - nextPushesList.forEach((push, pushIndex) => { - //logger.debug('enqueuePush', 'push:', push); + nextPushesList.forEach((push, pushIndex, pushList) => { + // Client Snoozing? + const isSnoozing = (Date.now() < remote.getGlobal('snoozeUntil')) - let timeout = setTimeout(() => { + // Push ignored? + const isIgnoredPush = testIfPushIsIgnored(push) - // Show local notification - showPush(push) + if (!isSnoozing && !isIgnoredPush) { + convertPushToNotification(push) + } - // Update saved lastNotification - if (push.created > notifyAfter) { - lastNotificationTimestamp = push.created - storePushbulletLastNotificationTimestamp(push.created) - } + // Last Iteration? + if (pushIndex !== pushList.length - 1) { return } - // Last push triggered - if (nextPushesList.length === (pushIndex + 1)) { - if (updateBadgeCount) { - updateBadge(remote.app.getBadgeCount() + nextPushesList.length) - } + // Store lastNotificationTimestamp + if (push.created > notifyAfter) { + lastNotificationTimestamp = push.created + storePushbulletLastNotificationTimestamp(push.created) + } - callback(null, nextPushesList.length) + // Update AppIcon Badge + if (updateBadgeCount) { + updateBadge(remote.app.getBadgeCount() + nextPushesList.length) + } - clearTimeout(timeout) - } - }, (Math.round(notificationInterval) * (pushIndex + 1))) + callback(null, pushList.length) }) } @@ -843,12 +804,13 @@ let enqueuePush = (pushes, ignoreDate = false, updateBadgeCount = true, callback let enqueueRecentPushes = (callback = () => {}) => { logger.debug('enqueueRecentPushes') - const pushesList = getRecentPushesList(maxRecentNotifications) + const pushesList = getRecentPushes(recentPushesAmount) enqueuePush(pushesList, true, false, (error, count) => { if (error) { logger.error('enqueueRecentPushes', error) callback(error) + return } @@ -863,10 +825,16 @@ let init = () => { logger.debug('init') lastNotificationTimestamp = retrievePushbulletLastNotificationTimestamp() - appSoundVolume = retrievePushbulletSoundVolume() } +/** + * @listens ipcRenderer:tray-close + */ +ipcRenderer.on('tray-close', () => { + logger.debug('ipcRenderer#tray-close') +}) + /** * @listens window:UIEvent#load */ @@ -885,3 +853,8 @@ module.exports = { enqueueRecentPushes: enqueueRecentPushes, updateBadge: updateBadge } + +/** + * @typedef DecoratedPush + * @mixes {Pushbullet.Push} + */ diff --git a/app/scripts/renderer/pushbullet/sms.js b/app/scripts/renderer/pushbullet/sms.js index 73d952ee..0fd35f9d 100644 --- a/app/scripts/renderer/pushbullet/sms.js +++ b/app/scripts/renderer/pushbullet/sms.js @@ -8,117 +8,107 @@ */ const logger = require('@sidneys/logger')({ write: true }) -/** @namespace onecup.refresh */ -/** @namespace pb.api.accounts */ -/** @namespace pb.api.pinger.ping_all */ -/** @namespace pb.api.pushes */ -/** @namespace pb.api.pushes.dismiss */ -/** @namespace pb.api.sms.current_thread.id */ -/** @namespace pb.api.sms.current_thread.recipients */ -/** @namespace pb.api.sms.fetch_device */ -/** @namespace pb.api.sms.first_sms_device */ -/** @namespace pb.rand_iden */ -/** @namespace pb.sms */ -/** @namespace pb.sms.message_time_out */ -/** @namespace pb.sms.picker.target */ -/** @namespace push.application_name */ -/** @namespace push.dismissed */ -/** @namespace result.ciphertext */ -/** @namespace result.threads */ +/** + * Get First SMS Device Id + * @returns {String} - Device Id + */ +let getFirstSmsDeviceId = () => window.pb.api.sms.first_sms_device().iden /** - * Fetch SMS conversation threads - * @param {function(*)} callback - Callback - * @private + * Get Last SMS Device Id + * @returns {String} - Device Id */ -let fetchSmsThreads = (callback = () => {}) => { - logger.debug('getSmsThreads') +let getLastSmsDeviceId = () => window.pb.db.get('last_sms_device_iden') - const pb = window.pb +/** + * Get Thread Id for SMS Message + * @param {Pushbullet.Push|Pushbullet.SmsChangeEphemeral} push - Push + * @returns {String} - Thread Id + */ +let getMessageThreadId = (push) => push.notifications[0].thread_id - // Update SMS configuration - pb.api.pinger.ping_all() - const firstSmsDeviceIden = pb.api.sms.first_sms_device().iden || pb.db.get('last_sms_device_iden') - const device = pb.api.devices.objs[firstSmsDeviceIden] - // Update device configuration - if (!pb.sms.target) { - pb.sms.target = pb.targets.make(device) - pb.sms.picker.target = pb.sms.target - } - pb.api.sms.fetch_device() - - // Fetch latest message threads - pb.net.get(`/v2/permanents/${pb.sms.target.obj.iden}_threads`, {}, (result) => { - if (!result) { return callback(new Error('no sms found')) } - - let threads - - if (result.encrypted) { - try { - result = JSON.parse(pb.e2e.decrypt(result.ciphertext)) - threads = result.threads || [] - } catch (error1) { - threads = [] - } - } else { - threads = result.threads || [] +/** + * Parse Ephemeral + * @param {Pushbullet.BaseEphemeral} message - Message + * @returns {Object} - Parsed Message + */ +let decodeEphemeral = (message) => { + let parsed = {} + + if (message.encrypted) { + try { + parsed = JSON.parse(window.pb.e2e.decrypt(message.ciphertext)) + logger.debug('E2E Decryption successful') + } catch (error) { + logger.error('E2E Decryption failed', error) } + } else { + parsed = message + } - callback(null, threads) - }) + return parsed } /** * Send SMS reply - * @param {String} reply - Reply message - * @param {function(*)} callback - Callback + * @param {String} message - Message + * @param {String} deviceId - Target Device Id + * @param {String} threadId - Thread Id + * @param {function=} callback - Callback * @return {void} * @public */ -let sendReply = (reply, callback = () => {}) => { - logger.debug('sendReply') +let reply = (message, deviceId, threadId, callback = () => {}) => { + logger.debug('reply') - const onecup = window.onecup - const pb = window.pb + // Refresh SMS Messages + window.pb.api.pinger.ping_all() - if (!Boolean(reply)) { - callback(new Error('no text provided for sms reply')) - return + // Refresh SMS Targets + if (!window.pb.sms.target) { + window.pb.sms.target = window.pb.targets.by_device_iden(getLastSmsDeviceId() || getFirstSmsDeviceId()) + window.pb.sms.picker.target = window.pb.sms.target } - // Fetch latest conversations - fetchSmsThreads((error, threads) => { - if (error) { - return callback(error) - } + // Refresh SMS Devices + window.pb.api.sms.fetch_device() + + // Fetch Device SMS Message Threads + window.pb.net.get(`/v2/permanents/${window.pb.sms.target.obj.iden}_threads`, {}, (data) => { + logger.debug('reply', `/v2/permanents/${window.pb.sms.target.obj.iden}_threads`) + + data = decodeEphemeral(data) + const threads = data.threads || [] - const latestThread = threads[0] + // Lookup Thread of SMS Message + const thread = threads.find(thread => thread.id === threadId) + const addressList = thread.recipients.map(recipient => recipient.address) - // Create Reply + // Schedule UI Update + setTimeout(window.onecup.refresh, window.pb.sms.message_time_out + 1000) + + // Create Push const push = { - target: pb.sms.target, - addresses: latestThread.recipients.map(recipient => recipient.address), + target: window.pb.targets.by_device_iden(deviceId), + addresses: addressList, ghost: true, timestamp: Date.now() / 1000, direction: 'outgoing', - body: reply, - guid: pb.rand_iden(), - thread_id: latestThread.id + body: message, + guid: window.pb.rand_iden(), + thread_id: threadId } - // Schedule UI Update - let timeout = setTimeout(() => { - onecup.refresh() - - clearTimeout(timeout) - }, pb.sms.message_time_out + 1000) + // Dispatch Text Push + window.pb.api.texts.send(push.target.obj, push.addresses, push.body, push.guid, push.thread_id) - // Send SMS - pb.api.texts.send(push.target.obj, push.addresses, push.body, push.guid, push.thread_id) + // Enqueue SMS Push + window.pb.sms.q.push(push) - callback() + // Callback + callback(push.addresses) }) } @@ -127,5 +117,6 @@ let sendReply = (reply, callback = () => {}) => { * @exports */ module.exports = { - sendReply: sendReply + getMessageThreadId: getMessageThreadId, + reply: reply } diff --git a/app/scripts/renderer/webviews/pushbullet-webview.js b/app/scripts/renderer/webviews/pushbullet-webview.js index aae53d10..b49be6da 100644 --- a/app/scripts/renderer/webviews/pushbullet-webview.js +++ b/app/scripts/renderer/webviews/pushbullet-webview.js @@ -15,8 +15,7 @@ const path = require('path') * @constant */ const electron = require('electron') -const { remote } = electron -const { ipcRenderer } = electron +const { remote, ipcRenderer } = electron /** * Modules @@ -59,17 +58,6 @@ const appName = remote.getGlobal('manifest').name const defaultInterval = 500 const defaultTimeout = 500 - -/** @namespace item.created */ -/** @namespace newPush.target_device_iden */ -/** @namespace pb.api.devices */ -/** @namespace pb.api.pushes */ -/** @namespace pb.e2e */ -/** @namespace pb.e2e.decrypt */ -/** @namespace push.iden */ -/** @namespace window.onecup */ -/** @namespace window.pb */ - /** * Retrieve PushbulletLastNotificationTimestamp * @return {Number} - timestamp @@ -109,12 +97,12 @@ let injectAppKeyboardNavigation = () => { // Add interaction buttonElementList.forEach((element) => { - element.setAttribute('tabindex', 0) + element.setAttribute('tabindex', '0') element.onkeyup = (event) => { logger.debug('injectAppKeyboardNavigation', 'element.onkeyup') // Require Enter or Space key - if ([13, 32].includes(event.keyCode)) { + if ([ 13, 32 ].includes(event.keyCode)) { element.click() } } @@ -133,7 +121,7 @@ let injectMessageKeyboardNavigation = () => { // Add interaction pushElementList.forEach((element) => { element.style.userSelect = 'all' - element.setAttribute('tabindex', 0) + element.setAttribute('tabindex', '0') // Ignore elements with no textual content if (!Boolean(element.textContent.trim())) { return } @@ -424,10 +412,8 @@ let init = () => { if (!pb || !navigator.onLine) { return } logger.info('pushbullet', 'online') - const isOnline = true - - ipcRenderer.send('online', isOnline) - ipcRenderer.sendToHost('online', isOnline) + ipcRenderer.send('online', true) + ipcRenderer.sendToHost('online', true) loginPushbulletUser() @@ -445,23 +431,24 @@ process.once('loaded', () => { }) /** - * @listens ipcRenderer#did-navigate-in-page + * @listens ipcRenderer:did-navigate-in-page */ -ipcRenderer.on('did-navigate-in-page', (event) => { - logger.debug('ipcRenderer#did-navigate-in-page', event) +ipcRenderer.on('did-navigate-in-page', () => { + logger.debug('ipcRenderer#did-navigate-in-page') // Inject interface improvements injectAppKeyboardNavigation() injectMessageKeyboardNavigation() }) + /** - * @listens window:Event#contextmenu + * @listens window:Event:contextmenu */ -window.addEventListener('contextmenu', (ev) => { +window.addEventListener('contextmenu', (event) => { logger.debug('window#contextmenu') - if (!ev.target['closest']('textarea, input, [contenteditable="true"]')) { + if (!event.target['closest']('textarea, input, [contenteditable="true"]')) { return } @@ -478,10 +465,8 @@ window.addEventListener('contextmenu', (ev) => { window.addEventListener('offline', () => { logger.debug('window#offline') - const isOnline = false - - ipcRenderer.send('online', isOnline) - ipcRenderer.sendToHost('online', isOnline) + ipcRenderer.send('online', false) + ipcRenderer.sendToHost('online', false) }) /** @@ -490,10 +475,8 @@ window.addEventListener('offline', () => { window.addEventListener('online', () => { logger.debug('window#online') - const isOnline = true - - ipcRenderer.send('online', isOnline) - ipcRenderer.sendToHost('online', isOnline) + ipcRenderer.send('online', true) + ipcRenderer.sendToHost('online', true) }) /** diff --git a/bin/cli.js b/bin/cli.js old mode 100644 new mode 100755 index 013c59dc..d39bcc61 --- a/bin/cli.js +++ b/bin/cli.js @@ -8,18 +8,19 @@ * @constant */ const path = require('path') -const child_process = require('child_process') +const childProcess = require('child_process') +const os = require('os') /** * Modules * External * @constant */ +const _ = require('lodash') const appRootPath = require('app-root-path') -const parseSemver = require('parse-semver') +const readPkg = require('read-pkg') const simpleReload = require('simple-reload') -const tryRequire = require('try-require') - +const detectInstalled = require('detect-installed') /** * Modules * Configuration @@ -32,7 +33,7 @@ appRootPath.setPath(path.join(__dirname, '..')) * @constant */ const packageJson = require(path.join(appRootPath.path, 'package.json')) -const logger = require(path.join(appRootPath.path, 'lib', 'logger'))({ namespace: packageJson.productName, timestamp: false }) +const logger = require('@sidneys/logger')({ write: false }) /** * Filesystem @@ -43,117 +44,125 @@ const applicationPath = path.join(appRootPath.path, packageJson.main) /** - * Install required Dependencies - * @param {Object} dependencyObject - package.json dependency map - * @param {Function} callback - Callback + * Reads dependencies, devDependencies, peerDependencies, bundleDependencies + * from package.json and returns them as an Array in shorthand format (name@version). + * @param {String=} targetDirectory - Path to the root of an analysed module. + * @returns {String[]} */ -let installDependencies = (dependencyObject, callback) => { - logger.debug('installDependencies', dependencyObject) +let readPackageDependencies = (targetDirectory = appRootPath.path) => { + logger.debug('readPackageDependencies', targetDirectory) - let cb = callback || function() {} + const packageJson = readPkg.sync({ cwd: targetDirectory }) - // Generate list of dependencies - let dependencyNameList = Object.keys(dependencyObject) + const dependenciesTreeList = _(packageJson).pickBy((v, k) => k.match(/dependencies/gi)).values().value() + const unifiedDependenciesTree = _.merge(...dependenciesTreeList) + // const semverList = _(unifiedDependenciesTree).map((v, k) => `${k}@${v}`).value() + const nameList = _(unifiedDependenciesTree).map((v, k) => k).value() - // Determine uninstalled dependencies - dependencyNameList = dependencyNameList.filter((dependencyName) => { - const isInstalled = tryRequire.resolve(dependencyName) - return !isInstalled - }) + return nameList +} - // Generate package names - let dependencyList = dependencyNameList.map((dependencyName) => { - const foundVersion = dependencyObject[dependencyName] - let parsedVersion +/** + * Install Packages + * @param {String=} targetDirectory - Path to the root of an analysed module. + * @param {Function=} callback - Callback + */ +let installPackages = (targetDirectory, callback = () => {}) => { + logger.debug('installPackages') - try { - parsedVersion = parseSemver(`${dependencyName}@${foundVersion}`).version - } catch (err) { - parsedVersion = foundVersion - } + // Determine Missing Package Names + const packageNameList = _(readPackageDependencies(targetDirectory)) + const unresolvedPackageNameList = packageNameList.filter(packageName => !detectInstalled.sync(packageName, { local: true })) - return `${dependencyName}@${parsedVersion}` - }) + unresolvedPackageNameList.forEach((packageName, index, array) => { + logger.debug('npm install', packageName) - // Install - if (dependencyList.length > 0) { - /** - * npm install - */ - logger.info('installing dependencies:', `"${dependencyList.join('", "')}"`) - - child_process.execSync(`npm install ${dependencyList.join(' ')} --loglevel silent`, { - cwd: appRootPath.path, - maxBuffer: (20000 * 1024), - stdio: 'inherit' + // npm install + // childProcess.execSync(`npm install ${unresolvedPackageName}`, { + const npm = childProcess.spawn(`npm`, [ 'install', packageName ], { + cwd: appRootPath.path }) - logger.info(`installing dependencies complete.`) - } + npm.stdout.on('data', (data) => { + data.toString().trim().split(os.EOL).forEach(line => logger.info('npm', line)) + }) + npm.stderr.on('data', (data) => { + data.toString().trim().split(os.EOL).forEach(line => logger.error('npm', line)) + }) - cb(null) + npm.on('close', (code) => { + if (index === array.length - 1) { + logger.info(`Installing Packages complete.`) + callback() + } + }) + + // // npm install + // childProcess.execSync(`npm install ${unresolvedPackageName}`, { + // cwd: appRootPath.path, + // stdio: 'inherit' + // }) + // + // // Las Iteration + // if (index === array.length - 1) { + // logger.info(`Installing Packages complete.`) + // callback() + // } + }) } /** - * Launch App - * @param {String} electronPath - Path to Electron - * @param {String} applicationPath - Path to App + * Wait until Package is available + * @param {String} packageName - Package Name + * @param {Function=} callback - Callback */ -let launchApplication = (electronPath, applicationPath) => { - logger.debug('launchApplication') +let waitForPackage = (packageName, callback = () => {}) => { + logger.debug('waitForPackage') - /** - * Launch application - */ - logger.info('application location:', `"${appRootPath.path}"`) - logger.info('electron installation:', `"${path.relative(appRootPath.path, electronPath)}"`) + // Wait until Package is ready + const interval = setInterval(() => { + const packagePath = simpleReload(packageName) - const child = child_process.spawn(electronPath, [applicationPath], { - cwd: appRootPath.path, - detached: true, - stdio: 'ignore' - }) + if (!packagePath) { return } - /** - * Fork process - */ - child.unref() - - /** - * Exit - */ - process.on('exit', () => { - logger.info('successfully started.') - }) - - process.exit(0) + // Callback + callback(packagePath) + clearInterval(interval) + }, 2000) } - /** - * Main + * Launch Package + * @param {String} packagePath - Package Path + * @param {Array=} launchArguments - Launch Arguments */ -let main = () => { - logger.debug('main') - - installDependencies(packageJson.devDependencies, () => { - let interval = setInterval(() => { - const electron = simpleReload('electron') +let launchPackage = (packagePath, launchArguments) => { + logger.debug('launchPackage') - if (!electron) { - return - } + // Launch Application + logger.info('Launching Application', appRootPath.path) - launchApplication(electron, applicationPath) - clearInterval(interval) - }, 2000) + const child = childProcess.spawn(packagePath, launchArguments, { + cwd: appRootPath.path, + detached: true, + stdio: 'ignore' }) + + // Fork + child.unref() + + // Exit + process.exit(0) } /** - * Init + * Handle Start as (global) CLI Module */ if (require.main === module) { - main() + installPackages(appRootPath.path, () => { + waitForPackage('electron', (packagePath) => { + launchPackage(packagePath, [ applicationPath ]) + }) + }) } diff --git a/package-lock.json b/package-lock.json index 72b00e52..7e1481d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "pb-for-desktop", - "version": "8.1.1", + "version": "8.5.9", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -30,12 +30,12 @@ } }, "@babel/polyfill": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.0.0.tgz", - "integrity": "sha512-dnrMRkyyr74CRelJwvgnnSUDh2ge2NCTyHVwpOdvRMHtJUyxLtMAfhBN3s64pY41zdw0kgiLPh6S20eb1NcX6Q==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.2.5.tgz", + "integrity": "sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug==", "requires": { "core-js": "^2.5.7", - "regenerator-runtime": "^0.11.1" + "regenerator-runtime": "^0.12.0" } }, "@jimp/bmp": { @@ -77,6 +77,19 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } } } }, @@ -353,29 +366,29 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, "@sidneys/dom-tools": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@sidneys/dom-tools/-/dom-tools-1.17.0.tgz", - "integrity": "sha512-tgA/jbvSEHfyfxOzVU9Ew/QMgBIOvJtFHz1fht2oL0TjmimbhcO/uvOJy+VaN5+GUCOaV8hdbMrmOKnf7bXxYw==", + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@sidneys/dom-tools/-/dom-tools-1.26.0.tgz", + "integrity": "sha512-8OjhcxLqwbGAM7UroAEzqj+RRSi8XEX2VbRJKTTtZJ8gFU34P2E793GrYqRYDQt97GGC2J0a7VtK+baEIJSCNA==", "requires": { - "@sidneys/logger": "^1.27.0", + "@sidneys/logger": "^1.37.0", "clean-css": "^4.2.1", "file-url": "^2.0.2", "lodash": "^4.17.11", - "moment": "^2.22.2", + "moment": "^2.23.0", "moment-duration-format": "^2.2.2" } }, "@sidneys/electron-build": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-build/-/electron-build-1.40.0.tgz", - "integrity": "sha512-PMB87m3/L/4Ftuea3TOO3D8q23+XtluB4PuLc9UhpfwCoT1onXUHfEBvTt8T6wOR23INpl4cvv4Lo1QV/Q5ZcQ==", - "requires": { - "@sidneys/electron-deploy-github": "^1.26.0", - "@sidneys/is-env": "^1.22.0", - "@sidneys/logger": "^1.27.0", - "@sidneys/releasenotes": "^1.20.0", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-build/-/electron-build-1.49.0.tgz", + "integrity": "sha512-r/3YD1/EzZhz81gnrcVcjMAhtYGmG3tBKjyxkJQUbuVqJPORPL0+1fuD8MzuXEaJLMSoo/AC+TFCIadukXSx0g==", + "requires": { + "@sidneys/electron-deploy-github": "^1.35.0", + "@sidneys/is-env": "^1.32.0", + "@sidneys/logger": "^1.37.0", + "@sidneys/releasenotes": "^1.29.0", "app-root-path": "^2.1.0", - "electron-builder": "^20.38.2", + "electron-builder": "^20.38.4", "electron-icon-maker": "0.0.4", "fs-extra": "^7.0.1", "jsonfile": "^5.0.0", @@ -395,23 +408,23 @@ } }, "@sidneys/electron-debug-service": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-debug-service/-/electron-debug-service-0.20.0.tgz", - "integrity": "sha512-Gae/lNHN+OdAnTznSZBcGJtCRpRRmCVwepf03TD+mPg1B/WFQB0vN1XCJhVnjXI5nbs5F82WSMNg/6Q2je0T9w==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-debug-service/-/electron-debug-service-0.29.0.tgz", + "integrity": "sha512-3iorB4DcngkSiA3sZYq1SXZdbPswqcJRMGodHXwZZIc4KotfCZVg7c9Ygek3kjbE/ZJSZJGkmqTIiF0FmqSuhQ==", "requires": { - "@sidneys/is-env": "^1.22.0", - "@sidneys/logger": "^1.27.0", + "@sidneys/is-env": "^1.32.0", + "@sidneys/logger": "^1.37.0", "filesize": "^3.6.1", "try-require": "^1.2.1" } }, "@sidneys/electron-deploy-github": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-deploy-github/-/electron-deploy-github-1.26.0.tgz", - "integrity": "sha512-pFAVMEQuRG1yu5eWeJQpnUz8RreBwYFeHyZp8ZrN/EPh6nvFDBfpBH7CYALKW79mUWnCJQifubDUJGQSCZKn0A==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-deploy-github/-/electron-deploy-github-1.35.0.tgz", + "integrity": "sha512-bfCRLoVU7sV9Tye+mS7CsWdkt9p6CFeaiboaOJ3Dc3zyx3vEPShY8906fVTnDBMiWhQT5+xGx7E+FpKZMiGEFA==", "requires": { - "@sidneys/logger": "^1.27.0", - "@sidneys/releasenotes": "^1.20.0", + "@sidneys/logger": "^1.37.0", + "@sidneys/releasenotes": "^1.29.0", "app-root-path": "^2.1.0", "git-branch": "^2.0.1", "globby": "^8.0.1", @@ -422,22 +435,22 @@ } }, "@sidneys/electron-dialog-provider": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-dialog-provider/-/electron-dialog-provider-1.21.0.tgz", - "integrity": "sha512-HDMruvXNWt+IvTrXK6hiXkH+Fa1GgJboIEbSYi0OC5Bpo6xrRjdKFR0VGY85sSA+K0yqNmy56lNJhNa9jocfbA==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-dialog-provider/-/electron-dialog-provider-1.30.0.tgz", + "integrity": "sha512-Pu230i8KkwvGTHUZmTW6sGjWiNIM+8avgh5VVfJnqFU6Vs0f2fVevi5qqQMDvKgHV98c3Ke3N94ZTs9cLu3FYw==", "requires": { - "@sidneys/logger": "^1.27.0", - "@sidneys/platform-tools": "^1.26.0" + "@sidneys/logger": "^1.37.0", + "@sidneys/platform-tools": "^1.37.0" } }, "@sidneys/electron-localsetup": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-localsetup/-/electron-localsetup-1.21.0.tgz", - "integrity": "sha512-gVBgtqnCx4OYWJFiaxAjhhDN1J0yJ3wSvi5S/v1bpBA+nI/P6hUECWwu0GmqIdIx+Vso7uTXydVY7kuPMKvc9w==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-localsetup/-/electron-localsetup-1.30.0.tgz", + "integrity": "sha512-srb/dJyEobtG+dBOryofhzD4ugeHbv5hnDz/naQqMObIx+sW4x8pFJH2P7GsKgzPy9UU+n283ItgunwE1Mpzzw==", "requires": { - "@sidneys/is-env": "^1.22.0", - "@sidneys/logger": "^1.27.0", - "@sidneys/platform-tools": "^1.26.0", + "@sidneys/is-env": "^1.32.0", + "@sidneys/logger": "^1.37.0", + "@sidneys/platform-tools": "^1.37.0", "app-root-path": "^2.1.0", "fkill": "^5.3.0", "fs-extra": "^7.0.1", @@ -446,45 +459,45 @@ } }, "@sidneys/electron-notification-provider": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-notification-provider/-/electron-notification-provider-0.21.0.tgz", - "integrity": "sha512-Is9G0zgfSPjKrfyAMEFGbdrMkmUevlBvDDLMtSG+v3ur+twVHYXjc25QwcmqUSWylnzfPnG6zN4/Dscphk6fUA==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-notification-provider/-/electron-notification-provider-0.30.0.tgz", + "integrity": "sha512-KZAK2JEJydNm9v1Nqgimtkwy9ubz8fnSCtmng1gD+rKIE3eoHvKakxPc1pStVGCv2m3FYQ5UJINoVJXEdEOj3A==", "requires": { - "@sidneys/logger": "^1.27.0", + "@sidneys/logger": "^1.37.0", "lodash": "^4.17.11" } }, "@sidneys/electron-power-service": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-power-service/-/electron-power-service-0.20.0.tgz", - "integrity": "sha512-zRIT+6bJdiLdxRdFIvsSKs+PkeOClj9ZT6FkdJIpZAQwu2VzXqjtHeJoCyX+jzbJW/i35urjos5vdDFaxXLjjA==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-power-service/-/electron-power-service-0.29.0.tgz", + "integrity": "sha512-qOfnkPRbA8xWtQOmswlbqUMhM9ufg+7lWzLFpJcd2ppyBeLgkORT7zLvYYks1DPuCxxgyGYrYI040L50Wo/0YQ==", "requires": { - "@sidneys/logger": "^1.27.0", - "@sidneys/platform-tools": "^1.26.0" + "@sidneys/logger": "^1.37.0", + "@sidneys/platform-tools": "^1.37.0" } }, "@sidneys/electron-updater-service": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@sidneys/electron-updater-service/-/electron-updater-service-0.34.0.tgz", - "integrity": "sha512-yGXHJUgUs3B1wirg1holwgwRzoDyoUsqJil17MDtjovFtCMAjT5PCK8OgVo+lfH7abWpxBzu5Srmug6RMaSOJQ==", - "requires": { - "@sidneys/electron-dialog-provider": "^1.21.0", - "@sidneys/electron-notification-provider": "0.21.0", - "@sidneys/logger": "^1.27.0", - "@sidneys/platform-tools": "^1.26.0", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@sidneys/electron-updater-service/-/electron-updater-service-0.43.0.tgz", + "integrity": "sha512-m0wL3TVcOP9eP0xk+G2wGbzuXLh+Q46R6S5dVUlj9xForUXEDy3mKYviY3WPhQ+0GbOvD1pxhEuUsTRW6f0jDQ==", + "requires": { + "@sidneys/electron-dialog-provider": "^1.30.0", + "@sidneys/electron-notification-provider": "0.30.0", + "@sidneys/logger": "^1.37.0", + "@sidneys/platform-tools": "^1.37.0", "app-root-path": "^2.1.0", "electron-store": "^2.0.0", - "electron-updater": "^4.0.5", + "electron-updater": "^4.0.6", "remove-markdown": "^0.3.0", "semver-compare": "^1.0.0" } }, "@sidneys/is-env": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@sidneys/is-env/-/is-env-1.22.0.tgz", - "integrity": "sha512-eXk1jU4H3roBhaoRwb0/OaiY8VVV2CITahSi0EKK2QIrdq0sQnrYmqLvDDpQnWlGAmCjsNyXH75row3LlzsjSQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/@sidneys/is-env/-/is-env-1.32.0.tgz", + "integrity": "sha512-vCEEBBxaIDrMn0dh8v0/Gz6hZY8jw7HJffOUCoKrxOBgGLW3d2oSetkgVO+0u2o60340ycdajTXEH/3ER5dxjw==", "requires": { - "@sidneys/required-count": "^1.26.0", + "@sidneys/required-count": "^1.39.0", "chalk": "^2.4.1", "chalkline": "^0.0.5", "lodash": "^4.17.11", @@ -493,34 +506,34 @@ } }, "@sidneys/logger": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@sidneys/logger/-/logger-1.27.0.tgz", - "integrity": "sha512-+pJXcZCDwhwZ03sDPJgnWlcIL3dayU5l1l2/U024/GMnPrfunvYVHmhq8GjtCfNnTN1/CmdKwkYXlFwLTBlQXQ==", + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/@sidneys/logger/-/logger-1.37.0.tgz", + "integrity": "sha512-D/o/Ag4AZ/YZsK4+6z4oclvCgo1BIWc07Z3IafcZsTY9yu+FbN776yy70qvZn/YrnkkHq/JaKE7C94HN2hp0QA==", "requires": { - "@sidneys/is-env": "^1.22.0", + "@sidneys/is-env": "^1.32.0", "appdirectory": "^0.1.0", "chalk": "^2.4.1", "fs-extra": "^7.0.1", "lodash": "^4.17.11", - "package.root": "^1.0.3", "present": "^1.0.0", - "read-pkg-up": "^4.0.0" + "read-pkg-up": "^4.0.0", + "root-path": "^0.2.1" } }, "@sidneys/platform-tools": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@sidneys/platform-tools/-/platform-tools-1.26.0.tgz", - "integrity": "sha512-5dPZGWIpwNsTVUuyGiYmSr1HX2U5YzbX1Gt2XCFIaqS+/asZuDQor3FKyMh0DHhB4wmI88GamZTz0siKThn+mQ==", + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/@sidneys/platform-tools/-/platform-tools-1.37.0.tgz", + "integrity": "sha512-Sl/EeBrnyLFDx+562Ogw0H22H/ntsYpsyiS5ghvzfV0h7zRoCnjxIhvpAWLZdqZwuAs0Gy/es5XnoVhMwyMVGA==", "requires": { "lodash": "^4.17.11" } }, "@sidneys/releasenotes": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@sidneys/releasenotes/-/releasenotes-1.20.0.tgz", - "integrity": "sha512-Ch+klj9oEjBIQGxQqoAS+NYBJKnyCAjhqRdvkr6t38ROjq94sM0HCH6lZYIIUOitqyNLQxvEOobLNjTIBZvYpw==", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@sidneys/releasenotes/-/releasenotes-1.29.0.tgz", + "integrity": "sha512-H001OD1SDTwKpKcdsy4wtvd8Fb6no+Xa30oJj+P7hmkkHR+G2Aud4V+EPTWrCaKHNnuOcy8FoyIoWUFsYO7fWg==", "requires": { - "@sidneys/logger": "^1.27.0", + "@sidneys/logger": "^1.37.0", "app-root-path": "^2.1.0", "fs-extra": "^7.0.1", "json2md": "^1.6.1", @@ -529,9 +542,9 @@ } }, "@sidneys/required-count": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@sidneys/required-count/-/required-count-1.26.0.tgz", - "integrity": "sha512-deF6D1L5egsRPVvH0uJ+Tg+mU33rv74XNTypnGgNsXi/Xn5Px0GJ/gwNEz3V/WLn9PFpAyDEe9JqV3WmjGKkyQ==" + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/@sidneys/required-count/-/required-count-1.39.0.tgz", + "integrity": "sha512-1c68I/27S3D27Xv/n9L9CWdFn4gCkpm118KRKT9alR8e0flHtFVrDOnZQT+p9wXfOKjnQ08uR0/Obm1umWCjpA==" }, "@sindresorhus/is": { "version": "0.7.0", @@ -539,9 +552,18 @@ "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" }, "@types/node": { - "version": "8.10.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.34.tgz", - "integrity": "sha512-alypNiaAEd0RBGXoWehJ2gchPYCITmw4CYBoB5nDlji8l8on7FsklfdfIs4DDmgpKLSX3OF3ha6SV+0W7cTzUA==" + "version": "8.10.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.39.tgz", + "integrity": "sha512-rE7fktr02J8ybFf6eysife+WF+L4sAHWzw09DgdCebEu+qDwMvv4zl6Bc+825ttGZP73kCKxa3dhJOoGJ8+5mA==" + }, + "@wabson/list-dependencies": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@wabson/list-dependencies/-/list-dependencies-0.1.0.tgz", + "integrity": "sha1-kZzfRy9dxjpgAeFu0tN9C6os2QQ=", + "dev": true, + "requires": { + "read-package-json": "^2.0.4" + } }, "acorn": { "version": "6.0.4", @@ -572,9 +594,9 @@ } }, "ajv": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -620,29 +642,29 @@ "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "app-builder-bin": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.0.tgz", - "integrity": "sha512-7HphDMS2U9MwAA6R7lSU6MASFR/D+VJDb5hQ4Fn2coOMyaRn71QDWPdG0TPnDr88F2I7bsTuHYud28S/yN2lZw==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.1.tgz", + "integrity": "sha512-W0l85O+s6lOaziWqAhszPfwiG0s15FvMBP9j9i/bknsMccUkwN60u4Cy7yYtf6akCUDuJenLqpTX4/xvkq1egw==" }, "app-builder-lib": { - "version": "20.38.2", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.38.2.tgz", - "integrity": "sha512-jwysFwaU4ohvHqv5jNCeoZSO0N/8x7W/c0S6TiTb6QUC3U0YVcsN7DPMj7QApHzTvMTO9kxzjUzwA8dbQZVovg==", + "version": "20.38.4", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.38.4.tgz", + "integrity": "sha512-JbuAJQBndcCW6BJVIb2tPjM5wiuIjz2LUlbyVxNIawM2wFKUBV9kr0N3RNBJFxcrCEuA9oprMUCoymJdrMUVfA==", "requires": { "7zip-bin": "~4.1.0", - "app-builder-bin": "2.6.0", + "app-builder-bin": "2.6.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.6", - "builder-util": "9.6.0", - "builder-util-runtime": "8.0.2", + "builder-util": "9.6.1", + "builder-util-runtime": "8.1.0", "chromium-pickle-js": "^0.2.0", "debug": "^4.1.0", "ejs": "^2.6.1", "electron-osx-sign": "0.4.11", - "electron-publish": "20.38.2", + "electron-publish": "20.38.3", "fs-extra-p": "^7.0.0", "hosted-git-info": "^2.7.1", - "is-ci": "^1.2.1", + "is-ci": "^2.0.0", "isbinaryfile": "^3.0.3", "js-yaml": "^3.12.0", "lazy-val": "^1.0.3", @@ -655,36 +677,18 @@ "temp-file": "^3.3.2" }, "dependencies": { - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" - }, "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "requires": { - "ci-info": "^1.5.0" - } - }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" } } }, @@ -752,7 +756,7 @@ }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } @@ -806,10 +810,9 @@ "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=" }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=" }, "assertion-error": { "version": "1.1.0", @@ -874,10 +877,9 @@ } }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=" }, "aws4": { "version": "1.8.0", @@ -969,24 +971,6 @@ "integrity": "sha1-P7BnBgKsKHjrdw3CA58YNr5irls=", "requires": { "readable-stream": "~1.0.2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } } }, "bluebird": { @@ -1123,45 +1107,32 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "builder-util": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.6.0.tgz", - "integrity": "sha512-6T4E3aNVndTZ2oCt+22S0wxt47d094MxrADi6S012QumXlDNfSsyu1ffbGN9w0HG+4aubpLzf9apKgMP1yl4Kw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.6.1.tgz", + "integrity": "sha512-8MljKTjeV+A+LLVexuWEV3EpWbiUcsHHrB4Bg2qNo/3dC+vTo6g/27+W3Ij7Ij1UTobSkNBstFieWijXJCco9A==", "requires": { "7zip-bin": "~4.1.0", - "app-builder-bin": "2.6.0", + "app-builder-bin": "2.6.1", "bluebird-lst": "^1.0.6", - "builder-util-runtime": "^8.0.2", + "builder-util-runtime": "^8.1.0", "chalk": "^2.4.1", "debug": "^4.1.0", "fs-extra-p": "^7.0.0", - "is-ci": "^1.2.1", + "is-ci": "^2.0.0", "js-yaml": "^3.12.0", "source-map-support": "^0.5.9", "stat-mode": "^0.2.2", "temp-file": "^3.3.2" }, "dependencies": { - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" - }, "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "requires": { - "ci-info": "^1.5.0" - } - }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -1170,9 +1141,9 @@ } }, "builder-util-runtime": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.0.2.tgz", - "integrity": "sha512-46AjyMQ1/yBvGnXWmqNGlg8te7jCPCs7TJ0zDC2+4vV/t5iZp2dR1H9UfVpcBxlvBq3dlAOmwb9fz1d9xZN1+Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.1.0.tgz", + "integrity": "sha512-s1mlJ28mv+56Iebh6c9aXjVe11O3Z0cDTwAGeB0PCcUzHA37fDxGgS8ZGoYNMZP+rBHj21d/od1wuYofTVLaQg==", "requires": { "bluebird-lst": "^1.0.6", "debug": "^4.1.0", @@ -1181,9 +1152,9 @@ }, "dependencies": { "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } @@ -1277,10 +1248,9 @@ "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" }, "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz", + "integrity": "sha1-t7Zc5r8UE4hlOc/VM/CzDv+pz4g=" }, "catharsis": { "version": "0.8.9", @@ -1343,7 +1313,7 @@ }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } @@ -1424,10 +1394,9 @@ } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz", + "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=" }, "cliui": { "version": "4.1.0", @@ -1495,12 +1464,11 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, + "version": "0.0.7", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "0.0.5" } }, "commander": { @@ -1525,7 +1493,7 @@ }, "concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "resolved": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { "buffer-from": "^1.0.0", @@ -1589,9 +1557,9 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", - "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" }, "core-util-is": { "version": "1.0.2", @@ -1829,16 +1797,33 @@ } }, "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=" }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" }, + "detect-installed": { + "version": "2.0.4", + "resolved": "http://registry.npmjs.org/detect-installed/-/detect-installed-2.0.4.tgz", + "integrity": "sha1-oIUEZefD68/5eda2U1rTRLgN18U=", + "requires": { + "get-installed-path": "^2.0.3" + }, + "dependencies": { + "get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "requires": { + "global-modules": "1.0.0" + } + } + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -1854,11 +1839,11 @@ } }, "dmg-builder": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.5.2.tgz", - "integrity": "sha512-eT3qc8IrwfDyq5ddGO807Wya2ltVlIlE0FVf6Aa+HWdlp9JnYayPNGWrQA9xIHpKKlq206JdNZ6LYIn93EAzdg==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.5.3.tgz", + "integrity": "sha512-ZNl4GFBg6rdFplnuoK56iftxh/qgM7rXJUxgl21eK4WsjxgQwtQ0REZo+pDSL4OzVeyOO8MMNWSNQcCsBLiDyA==", "requires": { - "app-builder-lib": "~20.38.2", + "app-builder-lib": "~20.38.3", "bluebird-lst": "^1.0.6", "builder-util": "~9.6.0", "fs-extra-p": "^7.0.0", @@ -1936,9 +1921,9 @@ "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==" }, "electron": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/electron/-/electron-3.0.10.tgz", - "integrity": "sha512-I39IeQP3NOlbjKzTDK8uK2JdiHDfhV5SruCS2Gttkn2MaKCY+yIzQ6Wr4DyBXLeTEkL1sbZxbqQVhCavAliv5w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-4.0.0.tgz", + "integrity": "sha512-3XPG/3IXlvnT1oe1K6zEushoD0SKbP8xwdrL10EWGe6k2iOV4hSHqJ8vWnR8yZ7VbSXmBRfomEFDNAo/q/cwKw==", "dev": true, "requires": { "@types/node": "^8.0.24", @@ -1947,38 +1932,23 @@ } }, "electron-builder": { - "version": "20.38.2", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.38.2.tgz", - "integrity": "sha512-uUEzfc/e8J7nAowvFQw4SyHIe4d6VSHO1LmcLy53he4aGXlVklHluhbwa0rxATPdYVNgHmJz7zoVgYYOd/YS+A==", + "version": "20.38.4", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.38.4.tgz", + "integrity": "sha512-WHOr3Rz2wktxV5TqmRL6woO9/wrIZeRfJPSEXOhgfgLskE5Sp2Aer0zAF7lHNqXuG6JhU+0I9IYFAxa73MTs9w==", "requires": { - "app-builder-lib": "20.38.2", + "app-builder-lib": "20.38.4", "bluebird-lst": "^1.0.6", - "builder-util": "9.6.0", - "builder-util-runtime": "8.0.2", + "builder-util": "9.6.1", + "builder-util-runtime": "8.1.0", "chalk": "^2.4.1", - "dmg-builder": "6.5.2", + "dmg-builder": "6.5.3", "fs-extra-p": "^7.0.0", - "is-ci": "^1.2.1", + "is-ci": "^2.0.0", "lazy-val": "^1.0.3", "read-config-file": "3.2.0", "sanitize-filename": "^1.6.1", "update-notifier": "^2.5.0", "yargs": "^12.0.5" - }, - "dependencies": { - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "requires": { - "ci-info": "^1.5.0" - } - } } }, "electron-download": { @@ -2151,6 +2121,19 @@ "mime-db": "~1.37.0" } }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -2209,6 +2192,11 @@ "requires": { "safe-buffer": "^5.0.1" } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, @@ -2233,13 +2221,13 @@ } }, "electron-publish": { - "version": "20.38.2", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.38.2.tgz", - "integrity": "sha512-GXwnZm9I9l4RjlDwuALpR57aIH38qRzDEYbhLysmrC5T2xlCgyBIfxS5EUNESqKT+9KeJJZcj+eTKMjbz+Qafw==", + "version": "20.38.3", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.38.3.tgz", + "integrity": "sha512-Qomq253NT5DfjUZgFSx6p+gheU5YhM6zZ67fTtBZvwyk0v8HwxNXfa8fZT7h+1c3BwEmjusTbmjZRNW/XZBXFA==", "requires": { "bluebird-lst": "^1.0.6", "builder-util": "~9.6.0", - "builder-util-runtime": "^8.0.2", + "builder-util-runtime": "^8.1.0", "chalk": "^2.4.1", "fs-extra-p": "^7.0.0", "lazy-val": "^1.0.3", @@ -2271,26 +2259,27 @@ } }, "electron-updater": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.0.5.tgz", - "integrity": "sha512-2w93987YlPNMbhYQe6+EsSpkhtgYtLyYuAMttqQckwFdBJJat4Jo8ja/gmBk2Aa760g2Jt7aIBPQvlJDiXGPgg==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.0.6.tgz", + "integrity": "sha512-JPGLME6fxJcHG8hX7HWFl6Aew6iVm0DkcrENreKa5SUJCHG+uUaAhxDGDt+YGcNkyx1uJ6eBGMvFxDTLUv67pg==", "requires": { "bluebird-lst": "^1.0.6", - "builder-util-runtime": "~8.0.2", + "builder-util-runtime": "~8.1.0", "fs-extra-p": "^7.0.0", "js-yaml": "^3.12.0", "lazy-val": "^1.0.3", "lodash.isequal": "^4.5.0", - "pako": "^1.0.6", + "pako": "^1.0.7", "semver": "^5.6.0", "source-map-support": "^0.5.9" - }, - "dependencies": { - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" - } + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" } }, "env-paths": { @@ -2317,9 +2306,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz", - "integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==", + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.11.1.tgz", + "integrity": "sha512-gOKhM8JwlFOc2acbOrkYR05NW8M6DCMSvfcJiBB5NDxRE1gv8kbvxKaC9u69e6ZGEMWXcswA/7eKR229cEIpvg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2362,9 +2351,15 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, "cross-spawn": { @@ -2381,20 +2376,76 @@ } }, "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "inquirer": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", + "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, + "requires": { + "ansi-regex": "^4.0.0" + } + } + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -2408,7 +2459,21 @@ "dev": true, "requires": { "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } } + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true } } }, @@ -2642,6 +2707,21 @@ "debug": "2.6.9", "mkdirp": "0.5.1", "yauzl": "2.4.1" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + } } }, "extsprintf": { @@ -2697,12 +2777,12 @@ } }, "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "file-entry-cache": { @@ -2716,9 +2796,9 @@ } }, "file-type": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.6.0.tgz", - "integrity": "sha512-GNOg09GC+rZzxetGZFoL7QOnWXRqvWuEdKURIJlr0d6MW107Iwy6voG1PPOrm5meG6ls59WkBmBMAZdVSVajRQ==" + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.7.0.tgz", + "integrity": "sha512-AbaGtdWYYRaVrv2MwL/65myuRJ9j3e79e7etJ79US18QHuVlzJBcQHUH+HxDUoLtbyWRTUfLzLkGXX3pP9kfZg==" }, "file-url": { "version": "2.0.2", @@ -2842,14 +2922,13 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" } }, "fragment-cache": { @@ -2995,13 +3074,6 @@ "read": "~1.0.5", "stream-browserify": "~0.1.3", "xtend": "~2.1.2" - }, - "dependencies": { - "mkdirp": { - "version": "0.3.5", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" - } } }, "git-branch": { @@ -3125,9 +3197,9 @@ } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "growl": { "version": "1.10.5", @@ -3140,13 +3212,38 @@ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, + "version": "1.8.0", + "resolved": "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", + "integrity": "sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI=", "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "bluebird": "^2.9.30", + "chalk": "^1.0.0", + "commander": "^2.8.1", + "is-my-json-valid": "^2.12.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } } }, "has-ansi": { @@ -3253,14 +3350,13 @@ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" } }, "hyperquest": { @@ -3270,13 +3366,6 @@ "requires": { "duplexer": "~0.1.0", "through": "~2.2.0" - }, - "dependencies": { - "through": { - "version": "2.2.7", - "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", - "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=" - } } }, "icojs": { @@ -3314,20 +3403,40 @@ "pngjs": "^3.0.0", "svg2png": "4.1.0", "uuid": "^3.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" }, "ignore": { "version": "3.3.10", @@ -3470,6 +3579,11 @@ "requires": { "safe-buffer": "^5.0.1" } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, @@ -3516,40 +3630,56 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inquirer": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", - "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", + "version": "0.8.2", + "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.8.2.tgz", + "integrity": "sha1-QVhlSOHF2bP4HfcyUDS6rKtvWKs=", + "requires": { + "ansi-regex": "^1.1.1", + "chalk": "^1.0.0", + "cli-width": "^1.0.1", + "figures": "^1.3.5", + "lodash": "^3.3.1", + "readline2": "^0.1.1", + "rx": "^2.4.3", "through": "^2.3.6" }, "dependencies": { "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", + "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=" }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", - "dev": true, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-regex": "^4.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } + }, + "lodash": { + "version": "3.10.1", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" } } }, @@ -3573,7 +3703,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "^3.0.2" @@ -3622,7 +3752,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "^3.0.2" @@ -3946,11 +4076,20 @@ }, "dependencies": { "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, "minimist": { "version": "0.0.8", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -3965,12 +4104,6 @@ "requires": { "minimist": "0.0.8" } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", - "dev": true } } }, @@ -4071,10 +4204,9 @@ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { "graceful-fs": "^4.1.9" } @@ -4179,7 +4311,7 @@ }, "lodash.isempty": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "resolved": "http://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" }, "lodash.isequal": { @@ -4394,18 +4526,16 @@ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" }, "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "version": "1.12.0", + "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" }, "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, + "version": "2.0.14", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", "requires": { - "mime-db": "~1.37.0" + "mime-db": "~1.12.0" } }, "mimic-fn": { @@ -4459,19 +4589,9 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" }, "mocha": { "version": "5.2.0", @@ -4517,6 +4637,19 @@ "path-is-absolute": "^1.0.0" } }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -4528,9 +4661,9 @@ } }, "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", + "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==" }, "moment-duration-format": { "version": "2.2.2", @@ -4651,6 +4784,11 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -4700,6 +4838,53 @@ "request": "^2.45.0", "single-line-log": "^1.1.2", "throttleit": "0.0.2" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", + "dev": true, + "requires": { + "speedometer": "~0.1.2", + "through2": "~0.2.3" + } + }, + "single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", + "dev": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "dev": true + } } }, "number-is-nan": { @@ -4708,10 +4893,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", + "integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=" }, "object-assign": { "version": "4.1.1", @@ -4812,11 +4996,11 @@ } }, "os-locale": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", - "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "requires": { - "execa": "^0.10.0", + "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" }, @@ -4834,18 +5018,26 @@ } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": { "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } } } }, @@ -4915,29 +5107,6 @@ "semver": "^5.1.0" } }, - "package.loader": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/package.loader/-/package.loader-0.4.1.tgz", - "integrity": "sha1-fCMnr1a98INqi7MdV8LGlBFKVQY=", - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=" - } - } - }, - "package.root": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/package.root/-/package.root-1.0.3.tgz", - "integrity": "sha1-7ildFmgiAxDqEhW3ZqStWLe5qbc=", - "requires": { - "package.loader": "^0.4.0" - } - }, "pako": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", @@ -4988,6 +5157,37 @@ "mocha": "^5.2.0" }, "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "got": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", @@ -5012,6 +5212,11 @@ "url-to-options": "^1.0.1" } }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, "into-stream": { "version": "3.1.0", "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", @@ -5021,11 +5226,50 @@ "p-is-promise": "^1.1.0" } }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + } + }, "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + }, "url-parse-lax": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", @@ -5059,14 +5303,6 @@ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" }, - "parse-semver": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", - "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", - "requires": { - "semver": "^5.1.0" - } - }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -5084,7 +5320,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -5211,14 +5447,6 @@ "graceful-fs": "^4.1.6" } }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "^4.1.9" - } - }, "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", @@ -5295,6 +5523,11 @@ "requires": { "safe-buffer": "^5.0.1" } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, @@ -5486,13 +5719,20 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.0.1.tgz", + "integrity": "sha1-IFDmKhKDg/UJrzArVA22mpWpHQI=", "requires": { + "single-line-log": "~0.3.1", "speedometer": "~0.1.2", "through2": "~0.2.3" + }, + "dependencies": { + "single-line-log": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-0.3.1.tgz", + "integrity": "sha1-p61lB/IYzl3+FsS/LWWSRkGeegY=" + } } }, "ps-list": { @@ -5510,9 +5750,9 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" }, "publish-release": { "version": "github:sidneys/publish-release#bbe23f8503bf85b6cb5f77cbb139f29e442bf28d", @@ -5533,247 +5773,36 @@ "string-editor": "0.1.0" }, "dependencies": { - "ansi-regex": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", - "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "assert-plus": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=" - }, - "aws-sign2": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", - "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=" - }, - "bl": { - "version": "0.9.5", - "resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz", - "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", - "requires": { - "readable-stream": "~1.0.26" - } - }, - "caseless": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz", - "integrity": "sha1-t7Zc5r8UE4hlOc/VM/CzDv+pz4g=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cli-width": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz", - "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=" - }, - "combined-stream": { - "version": "0.0.7", - "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", - "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", - "requires": { - "delayed-stream": "0.0.5" - } - }, - "delayed-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=" - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "form-data": { - "version": "0.2.0", - "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", - "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", - "requires": { - "async": "~0.9.0", - "combined-stream": "~0.0.4", - "mime-types": "~2.0.3" - } - }, - "har-validator": { - "version": "1.8.0", - "resolved": "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", - "integrity": "sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI=", - "requires": { - "bluebird": "^2.9.30", - "chalk": "^1.0.0", - "commander": "^2.8.1", - "is-my-json-valid": "^2.12.0" - } - }, - "http-signature": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", - "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", - "requires": { - "asn1": "0.1.11", - "assert-plus": "^0.1.5", - "ctype": "0.5.3" - } - }, - "inquirer": { - "version": "0.8.2", - "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.8.2.tgz", - "integrity": "sha1-QVhlSOHF2bP4HfcyUDS6rKtvWKs=", - "requires": { - "ansi-regex": "^1.1.1", - "chalk": "^1.0.0", - "cli-width": "^1.0.1", - "figures": "^1.3.5", - "lodash": "^3.3.1", - "readline2": "^0.1.1", - "rx": "^2.4.3", - "through": "^2.3.6" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, "lodash": { "version": "3.6.0", "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.6.0.tgz", "integrity": "sha1-Umao9J3Zib5Pn2gbbyoMVShdDZo=" }, - "mime-db": { - "version": "1.12.0", - "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", - "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" - }, - "mime-types": { - "version": "2.0.14", - "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", - "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", - "requires": { - "mime-db": "~1.12.0" - } - }, "minimist": { "version": "1.1.1", "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz", "integrity": "sha1-G8K8cWWM3KVxJHVoQ2NhWwtPaVs=" - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" - }, - "oauth-sign": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", - "integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=" - }, - "progress-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.0.1.tgz", - "integrity": "sha1-IFDmKhKDg/UJrzArVA22mpWpHQI=", - "requires": { - "single-line-log": "~0.3.1", - "speedometer": "~0.1.2", - "through2": "~0.2.3" - }, - "dependencies": { - "single-line-log": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-0.3.1.tgz", - "integrity": "sha1-p61lB/IYzl3+FsS/LWWSRkGeegY=" - } - } - }, - "qs": { - "version": "2.4.2", - "resolved": "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz", - "integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "request": { - "version": "2.54.0", - "resolved": "http://registry.npmjs.org/request/-/request-2.54.0.tgz", - "integrity": "sha1-oTkXzY6PpzMy2gvy+EowGB3vGVM=", - "requires": { - "aws-sign2": "~0.5.0", - "bl": "~0.9.0", - "caseless": "~0.9.0", - "combined-stream": "~0.0.5", - "forever-agent": "~0.6.0", - "form-data": "~0.2.0", - "har-validator": "^1.4.0", - "hawk": "~2.3.0", - "http-signature": "~0.10.0", - "isstream": "~0.1.1", - "json-stringify-safe": "~5.0.0", - "mime-types": "~2.0.1", - "node-uuid": "~1.4.0", - "oauth-sign": "~0.6.0", - "qs": "~2.4.0", - "stringstream": "~0.0.4", - "tough-cookie": ">=0.12.0", - "tunnel-agent": "~0.4.0" - } - }, - "single-line-log": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-0.4.1.tgz", - "integrity": "sha1-h6VWSfdJ14PsDc2AToFA2Yc8fO4=" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" } } }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz", + "integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=" }, "query-string": { "version": "5.1.1", @@ -5825,14 +5854,27 @@ "lazy-val": "^1.0.3" } }, + "read-package-json": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", + "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + } + }, "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", "requires": { - "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "parse-json": "^4.0.0", + "pify": "^3.0.0" } }, "read-pkg-up": { @@ -5842,12 +5884,24 @@ "requires": { "find-up": "^3.0.0", "read-pkg": "^3.0.0" + }, + "dependencies": { + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + } } }, "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -5878,7 +5932,7 @@ }, "mute-stream": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", + "resolved": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", "integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=" }, "strip-ansi": { @@ -5901,9 +5955,9 @@ } }, "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" }, "regex-not": { "version": "1.0.2", @@ -5961,31 +6015,38 @@ } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "version": "2.54.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.54.0.tgz", + "integrity": "sha1-oTkXzY6PpzMy2gvy+EowGB3vGVM=", + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.9.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.6.0", + "form-data": "~0.2.0", + "har-validator": "^1.4.0", + "hawk": "~2.3.0", + "http-signature": "~0.10.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.6.0", + "qs": "~2.4.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "dependencies": { + "bl": { + "version": "0.9.5", + "resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "requires": { + "readable-stream": "~1.0.26" + } + } } }, "request-progress": { @@ -5994,13 +6055,6 @@ "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", "requires": { "throttleit": "^1.0.0" - }, - "dependencies": { - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" - } } }, "require-directory": { @@ -6034,7 +6088,7 @@ "dependencies": { "underscore": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", "dev": true } @@ -6091,6 +6145,11 @@ "glob": "^7.0.5" } }, + "root-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/root-path/-/root-path-0.2.1.tgz", + "integrity": "sha1-Q9UO1CFNTWyNmaEMEaXjkcOF450=" + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -6151,9 +6210,9 @@ "integrity": "sha1-Az1go60g7PLgCUDRT5eCNGV3QzU=" }, "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "semver-compare": { "version": "1.0.0", @@ -6220,36 +6279,15 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "simple-reload": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/simple-reload/-/simple-reload-0.0.4.tgz", + "integrity": "sha1-tupsBBFV/7v5ivupuHF556PxzNY=" + }, "single-line-log": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", - "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", - "dev": true, - "requires": { - "string-width": "^1.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-0.4.1.tgz", + "integrity": "sha1-h6VWSfdJ14PsDc2AToFA2Yc8fO4=" }, "slash": { "version": "1.0.0", @@ -6440,9 +6478,9 @@ } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, "speedometer": { "version": "0.1.4", @@ -6509,9 +6547,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", + "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -6539,6 +6577,11 @@ } } }, + "start": { + "version": "5.1.0", + "resolved": "http://registry.npmjs.org/start/-/start-5.1.0.tgz", + "integrity": "sha1-HBcfDvlIf1bQq5p1Ws6GAWkgh2M=" + }, "stat-mode": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", @@ -6824,7 +6867,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -6962,16 +7005,20 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "throttled-queue": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/throttled-queue/-/throttled-queue-1.0.5.tgz", + "integrity": "sha1-1X51ybwzvS3wm+dPYv0bwnIkyv0=" + }, "throttleit": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", - "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" }, "through": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=" }, "through2": { "version": "0.2.3", @@ -6980,6 +7027,24 @@ "requires": { "readable-stream": "~1.1.9", "xtend": "~2.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } } }, "timed-out": { @@ -7050,19 +7115,12 @@ } }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "trim": { @@ -7095,13 +7153,9 @@ "dev": true }, "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" }, "tweetnacl": { "version": "0.14.5", @@ -7127,6 +7181,12 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "underscore": { + "version": "1.8.3", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, "underscore-contrib": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", @@ -7138,7 +7198,7 @@ "dependencies": { "underscore": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", "dev": true } @@ -7324,11 +7384,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -7411,7 +7466,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -7433,6 +7488,23 @@ "dev": true, "requires": { "mkdirp": "^0.5.1" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + } } }, "write-file-atomic": { diff --git a/package.json b/package.json index cb4be458..d9774a73 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "pb-for-desktop", "appId": "de.sidneys.pb-for-desktop", "productName": "PB for Desktop", - "version": "8.1.1", + "version": "8.5.9", "description": "PB for Desktop is a Pushbullet desktop application for macOS, Windows and Linux", "license": "MIT", "homepage": "https://sidneys.github.io/pb-for-desktop", @@ -46,27 +46,28 @@ ], "preferGlobal": true, "dependencies": { - "@sidneys/dom-tools": "^1.17.0", - "@sidneys/electron-build": "^1.40.0", - "@sidneys/electron-debug-service": "^0.20.0", - "@sidneys/electron-deploy-github": "^1.26.0", - "@sidneys/electron-dialog-provider": "^1.21.0", - "@sidneys/electron-localsetup": "^1.21.0", - "@sidneys/electron-notification-provider": "^0.21.0", - "@sidneys/electron-power-service": "^0.20.0", - "@sidneys/electron-updater-service": "^0.34.0", - "@sidneys/is-env": "^1.22.0", - "@sidneys/logger": "^1.27.0", - "@sidneys/platform-tools": "^1.26.0", - "@sidneys/releasenotes": "^1.20.0", + "@sidneys/dom-tools": "^1.26.0", + "@sidneys/electron-build": "^1.49.0", + "@sidneys/electron-debug-service": "^0.29.0", + "@sidneys/electron-deploy-github": "^1.35.0", + "@sidneys/electron-dialog-provider": "^1.30.0", + "@sidneys/electron-localsetup": "^1.30.0", + "@sidneys/electron-notification-provider": "^0.30.0", + "@sidneys/electron-power-service": "^0.29.0", + "@sidneys/electron-updater-service": "^0.43.0", + "@sidneys/is-env": "^1.32.0", + "@sidneys/logger": "^1.37.0", + "@sidneys/platform-tools": "^1.37.0", + "@sidneys/releasenotes": "^1.29.0", "app-root-path": "^2.1.0", "appdirectory": "^0.1.0", "auto-launch": "git+https://sidneys@github.com/sidneys/node-auto-launch.git#bugfixes-maintainance", "data-uri-to-buffer": "^2.0.0", + "detect-installed": "^2.0.4", "electron-editor-context-menu": "^1.1.1", "electron-settings": "^3.2.0", - "electron-updater": "^4.0.5", - "file-type": "^10.6.0", + "electron-updater": "^4.0.6", + "file-type": "^10.7.0", "file-url": "^2.0.2", "filesize": "^3.6.1", "fs-extra": "^7.0.1", @@ -75,17 +76,22 @@ "image-downloader": "^3.4.2", "jimp": "^0.6.0", "lodash": "^4.17.11", - "moment": "^2.22.2", + "mocha": "^5.2.0", + "moment": "^2.23.0", "opn": "^5.4.0", "parse-domain": "^2.1.7", - "parse-semver": "^1.1.1", + "read-pkg": "^4.0.1", + "read-pkg-up": "^4.0.0", "shortid": "^2.2.14", - "try-require": "^1.2.1" + "simple-reload": "0.0.4", + "start": "^5.1.0", + "throttled-queue": "^1.0.5" }, "devDependencies": { + "@wabson/list-dependencies": "^0.1.0", "docdash": "^1.0.1", - "electron": "3.0.10", - "eslint": "^5.10.0", + "electron": "^4.0.0", + "eslint": "^5.11.1", "jsdoc": "^3.5.5" }, "main": "./app/scripts/main/components/application.js", diff --git a/pushbullet.d.ts b/pushbullet.d.ts new file mode 100644 index 00000000..62e76938 --- /dev/null +++ b/pushbullet.d.ts @@ -0,0 +1,1361 @@ +// Type definitions for Pushbullet +// Project: https://docs.pushbullet.com/ +// Definitions by: sidneys + +/// + +declare namespace Pushbullet { + /** + * Push Direction + */ + enum MessageDirection { + incoming = 'incoming', + outgoing = 'outgoing', + self = 'self', + } + + /** + * Base Push Types + */ + enum PushType { + Default = 'push', + Note = 'note', + Link = 'link', + File = 'file', + } + + /** + * Image URLs + */ + enum ImageUrl { + Everything = '/img/deviceicons/everything.png', + System = '/img/deviceicons/system.png', + User = '/img/deviceicons/user.png', + Phone = '/img/deviceicons/phone.png', + Group = '/img/deviceicons/system.png' + } + + /** + * Ephemeral Types + */ + enum EphemeralType { + Sms = 'messaging_extension_reply', + SmsChanged = 'sms_changed', + Notification = 'mirror', + Dismissal = 'dismissal', + Clipboard = 'clip' + } + + /** + * Package Names + */ + enum PackageName { + Android = 'com.pushbullet.android', + } + + /** + * Package Names + */ + enum URI { + Api = 'https://api.pushbullet.com', + Log = 'https://ocelot.pushbullet.com', + Redirect = 'https://www.pushbullet.com/' + } + + /** + * Objects (such as pushes and devices) can be created, modified, + * listed and deleted. All timestamps that appear on objects are + * floating point seconds since the epoch, also called Unix Time. + */ + interface Item { + /** + * Unique identifier for this object + * Example: "ujpah72o0sjAoRtnM0jc" + */ + iden: string + /** + * false if the item has been deleted + * Example: true + */ + active: boolean + /** + * Creation time in floating point seconds (unix timestamp) + * Example: 1.381092887398433e+09 + */ + created: number + /** + * Last modified time in floating point seconds (unix timestamp) + * Example: 1.441054560741007e+09 + */ + modified: number + } + + /** + * A Push. + */ + interface Push extends Item { + /** + * Type of the push, one of "note", "file", "link". + * Example: "note" + */ + type: PushType + /** + * true if the push has been dismissed by any device or if any device + * was active when the push was received + * Example: false + */ + dismissed: boolean + /** + * Unique identifier set by the client, used to identify a push in case you + * receive it from /v2/everything before the call to /v2/pushes has completed. + * This should be a unique value. Pushes with guid set are mostly idempotent, + * meaning that sending another push with the same guid is unlikely to create + * another push (it will return the previously created push). + * Example: "993aaa48567d91068e96c75a74644159" + */ + guid: string + /** + * Direction the push was sent in, can be "self", "outgoing", or "incoming" + * Example: "self" + */ + direction: MessageDirection + /** + * User iden of the sender + * Example: "ujpah72o0" + */ + sender_iden: string + /** + * Email address of the sender + * Example: "elon@teslamotors.com" + */ + sender_email: string + /** + * Canonical email address of the sender + * Example: "elon@teslamotors.com" + */ + sender_email_normalized: string + /** + * Name of the sender + * Example: "Elon Musk" + */ + sender_name: string + /** + * User iden of the receiver + * Example: "ujpah72o0" + */ + receiver_iden: string + /** + * Email address of the receiver + * Example: "elon@teslamotors.com" + */ + receiver_email: string + /** + * Canonical email address of the receiver + * Example: "elon@teslamotors.com" + */ + receiver_email_normalized: string + /** + * Device iden of the target device, if sending to a single device + * Example: "ujpah72o0sjAoRtnM0jc" + */ + target_device_iden: string + /** + * Device iden of the sending device. Optionally set by the sender when creating a push + * Example: "ujpah72o0sjAoRtnM0jc" + */ + source_device_iden: string + /** + * If the push was created by a client, set to the iden of that client. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + client_iden: string + /** + * If the push was created by a channel, set to the iden of that channel + * Example: "ujpah72o0sjAoRtnM0jc" + */ + channel_iden: string + /** + * List of guids (client side identifiers, not the guid field on pushes) + * for awake apps at the time the push was sent. If the length of this + * list is > 0, dismissed will be set to true and the awake app(s) must + * decide what to do with the notification + * Example: ["web-2d8cdf2a2b9b","web-cdb2313c74e"] + */ + awake_app_guids: string[] + /** + * Title of the push, used for all types of pushes + * Example: "Space Travel Ideas" + */ + title: string + /** + * Body of the push, used for all types of pushes + * Example: "Space Elevator, Mars Hyperloop, Space Model S (Model Space?) + */ + body: string + /** + * URL field, used for type="link" pushes + * Example: "http://www.teslamotors.com/" + */ + url: string + /** + * File name, used for type="file" pushes + * Example: "john.jpg" + */ + file_name: string + /** + * File mime type, used for type="file" pushes + * Example: "image/jpeg" + */ + file_type: string + /** + * File download url, used for type="file" pushes + * Example: "https://dl.pushbulletusercontent.com + * /foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" + */ + file_url: string + /** + * URL to an image to use for this push, present on + * type="file" pushes if file_type matches image/* + * Example: "https://lh3.googleuserconten.com + * /mrrz35lLbiYAz8ejkJcpdsYhN3tMEtrXxj93k_gQPin4GfdD + * jVy2Bj26pOGrpFQmAM7OFBHcDfdMjrScg3EUIJrgJeY" + */ + image_url: string + /** + * Width of image in pixels, only present if image_url is set + * Example: 322 + */ + image_width: number + /** + * Height of image in pixels, only present if image_url is set + * Example: 484 + */ + image_height: number + } + + /** + * Chats are created whenever you send a message to someone or a receive + * a message from them and there is no existing chat between you and the + * other user. + */ + interface Chat extends Item { + /** + * If true, notifications from this chat will not be shown + * Example: false + */ + muted: boolean + /** + * The user or email that the chat is with + */ + with: { + /** + * If this is a user, the iden of that user + * Example: "ujlMns72k" + */ + iden: string + /** + * "email" or "user" + * Example: "user" + */ + type: ('email' | 'user') + /** + * Name of the person + * Example: "John Carmack" + */ + name: string + /** + * Email address of the person + * Example: "carmack@idsoftware.com" + */ + email: string + /** + * Canonical email address of the person + * Example: "carmack@idsoftware.com" + */ + email_normalized: string + /** + * Image to display for the person + * Example: "https://dl.pushbulletusercontent.com + * /foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" + */ + image_url: string + } + } + + /** + * A Device. + */ + interface Device extends Item { + /** + * Icon to use for this device, can be an arbitrary string. + * Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system" + * Example: ios + */ + icon?: string + /** + * Name to use when displaying the device + * Example: "Elon Musk's iPhone" + */ + nickname?: string + /** + * true if the nickname was automatically generated from the manufacturer and model fields (only used for some android phones) + * Example: true + */ + generated_nickname?: boolean + /** + * Manufacturer of the device + * Example: "Apple + */ + manufacturer?: string + /** + * Model of the device + * Example: "iPhone 5s (GSM)" + */ + model: string + /** + * Version of the Pushbullet application installed on the device + * Example: 8623 + */ + app_version?: number + /** + * String fingerprint for the device, used by apps to avoid duplicate + * devices. Value is platform-specific. + * Example: "nLN19IRNzS5xidPF+X8mKGNRpQo2X6XBgyO30FL6OiQ=" + */ + fingerprint?: string + /** + * Fingerprint for the device's end-to-end encryption key, used to + * determine which devices the current device (based on its own + * key fingerprint) will be able to talk to. + * Example: "5ae6ec7e1fe681861b0cc85c53accc13bf94c11db7461a2808903f7469bfda56" + */ + key_fingerprint?: string + /** + * Platform-specific push token. If you are making your own device, leave + * this blank and you can listen for events on the Realtime Event Stream. + * Example: "production:f73be0ee7877c8c7fa69b1468cde764f" + */ + push_token?: (string | null) + /** + * true if the devices has SMS capability, currently only true for type="android" devices + * Example: true + */ + has_sms?: boolean + /** + * true if the devices has MMS capability, currently only true for type="android" devices + * Example: true + */ + has_mms?: boolean + /** + * @deprecated use {@link icon} field instead + * Type of device, can be an arbitrary string. + * Commonly used values are: "android", "chrome", "firefox", "ios", "windows", "stream", "safari", "mac", "opera", "website" + */ + type?: string + /** + * @deprecated old name for {@link type} + */ + kind?: string + /** + * @deprecated used to be for partially-initialized type="android" devices + */ + pushable?: string + } + + /** + * Subscribe to channels to receive any updates pushed to that channel. + * Channels can be created on the website. Each channel has a unique tag to identify it. + * When you push to a channel, all people subscribed to that channel will receive a push. + * To push to a channel, use the channel_tag parameter on create-push + */ + interface Subscription extends Item { + /** + * If true, notifications from this chat will not be shown + * Example: false + */ + muted: boolean + /** + * Information about the channel that is being subscribed to + */ + channel: { + /** + * Unique identifier for the channel + * Example: "ujpah72o0sjAoRtnM0jc" + */ + iden: string + /** + * Unique tag for this channel + * Example: "elonmusknews" + */ + tag: string + /** + * Name of the channel + * Example: "Elon Musk News" + */ + name: string + /** + * Description of the channel + * Example: "News about Elon Musk." + */ + description: string + /** + * Image for the channel + * Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg" + */ + image_url: string + /** + /** + * Link to a website for the channel + * Example: "https://twitter.com/elonmusk" + */ + website_url: string + } + } + + /** + * OAuth Grants (Connected Apps) + */ + interface Grant extends Item { + client: { + /** + * Unique identifier for the grant + * Example: "ujpah72o0sjAoRtnM0jc" + */ + iden: string + /** + * Image for the grant + * Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg" + */ + image_url: string + /** + * Name of the grant + * Example: "Elon Musk News" + */ + name: string + /** + /** + * Link to a website for the grant + * Example: "https://twitter.com/elonmusk" + */ + website_url: string + } + } + + /** + * Text + */ + interface Text extends Item { + data: { + /** + * The iden of the device corresponding to the phone that should send the text. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + target_device_iden: string + /** + * The phone numbers the text should be sent to. + * Example: "000155533133" + */ + addresses: string[] + /** + * The text message to send. + * Example: "Hello!" + */ + message: string + /** + * File mime type, used for type="file" pushes + * Example: "image/jpeg" + */ + file_type: string + } + } + + /** + * You can send arbitrary JSON messages, called "ephemerals", to all + * devices on your account. Ephemerals are stored for a short period of + * time (if at all) and are sent directly to devices. + */ + interface BaseEphemeral { + /** + * Must be set to push which is the only type of ephemeral currently. + */ + type: "push" + /** + * true if the message is encrypted + * Example: "MXAdvN64uXWtLXCRaqYHEtGhiogR1VHyXX21Lpjp4jv3v+JWygMBA9Wp5npbQdfeZAgOZI+JT3y3pbmq+OrKXrK1rg==" + */ + encrypted?: boolean + /** + * Base64-Encoded JSON Object + * Example: "MXAdvN64uXWtLXCRaqYHEtGhiogR1VHyXX21Lpjp4jv3v+JWygMBA9Wp5npbQdfeZAgOZI+JT3y3pbmq+OrKXrK1rg==" + */ + ciphertext?: string + /** + * JSON Data + * Example: "MXAdvN64uXWtLXCRaqYHEtGhiogR1VHyXX21Lpjp4jv3v+JWygMBA9Wp5npbQdfeZAgOZI+JT3y3pbmq+OrKXrK1rg==" + */ + push?: (SmsEphemeral | SmsChangeEphemeral | NotificationEphemeral | DismissalEphemeral | ClipboardEphemeral) + } + + /** + * SMS Ephemeral + */ + interface SmsEphemeral { + /** + * "messaging_extension_reply" for sending SMS. + */ + type: EphemeralType.Sms + /** + * The user iden of the user sending this message. + * Example: "ujpah72o0" + */ + source_user_iden: string + /** + * "com.pushbullet.android" for sending SMS. + */ + package_name: PackageName.Android + /** + * The iden of the device corresponding to the phone that should send the SMS. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + target_device_iden: string + /** + * Phone number to send the SMS to. + * Example: "+1 303 555 1212" + */ + conversation_iden: string + /** + * The SMS message to send. + * Example: "Hello!" + */ + message: string + } + + /** + * SmS Change Ephemeral Data + */ + interface SmsChangeEphemeral { + /** + * "clip" for clipboard messages. + */ + type: EphemeralType.SmsChanged + /** + * The iden of the device sending this message. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + source_device_iden: string + /** + * The iden of the device sending this message. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + notifications: { + /** + * The SMS message text + * Example: "Hello!" + */ + body: string + /** + * The SMS messages' originating phone number + * Example: "6505551212" + */ + title: string + /** + * The SMS messages' timestamp + * Example: 1546022176 + */ + timestamp: number + /** + * Unique identifier of the corresponding SMS message thread + * Example: "3" + */ + thread_id: string + } + } + + /** + * Mirrored Notification Ephemeral + */ + interface NotificationEphemeral { + /** + * "mirror" for mirrored notifications. + */ + type: EphemeralType.Notification + /** + * The user iden of the user sending this message. + * Example: "ujpah72o0" + */ + source_user_iden: string + /** + * Base64-encoded JPEG image to use as the icon of the push. + * Example: "/9j/4AAQSkZJRgABAQAA [..]" + */ + icon: string + /** + * The title of the notification. + * Example: "Mirroring test" + */ + title: string + /** + * The body of the notification. + * Example: "If you see this on your computer, Android-to-PC notifications are working!\n" + */ + body: string + /** + * The iden of the device sending this message. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + source_device_iden: string + /** + * The name of the application that created the notification. + * Example: "Pushbullet" + */ + application_name: string + /** + * True if the notification can be dismissed. + * Example: true + */ + dismissable: boolean + /** + * The package that made the notification, used when updating/dismissing an existing notification. + * Example: "com.pushbullet.android" + */ + package_name: string + /** + * The id of the notification, used when updating/dismissing an existing notification. + * Example: "-8" + */ + notification_id: string + /** + * The tag of the notification, used when updating/dismissing an existing notification. + * Example: null + */ + notification_tag: (string | null) + /** + * The phone is rooted. + * Example: false + */ + has_root: boolean + /** + * The client version of the app sending this message. + * Example: 125 + */ + client_version: number + } + + /** + * Dismissal Ephemeral + */ + interface DismissalEphemeral { + /** + * "dismissal" for notification dismissals. + */ + type: EphemeralType.Dismissal + /** + * The user iden of the user sending this message. + * Example: "ujpah72o0" + */ + source_user_iden: string + /** + * Set to the package_name field from the mirrored notification. + */ + package_name: string + /** + * Set to the notification_id field from the mirrored notification. + * Example: "-8" + */ + notification_id: string + /** + * Set to the notification_tag field from the mirrored notification. + * Example: null + */ + notification_tag: (string | null) + } + + /** + * Clipboard Ephemeral Data + */ + interface ClipboardEphemeral { + /** + * "clip" for clipboard messages. + */ + type: EphemeralType.Dismissal + /** + * The user iden of the user sending this message. + * Example: "ujpah72o0" + */ + source_user_iden: string + /** + * The text to copy to the clipboard. + */ + body: string + /** + * The iden of the device sending this message. + * Example: "ujpah72o0sjAoRtnM0jc" + */ + source_device_iden: string + } +} + +/** + * Pushbullet Web Client Interface via window.pb + */ +declare namespace PushbulletBrowserClient { + interface Window { + /** + * window.pb + */ + pb: { + VERSION: number + DEBUG: boolean + API_SERVER: Pushbullet.URI.Api + AUTH_REDIRECT_URI: Pushbullet.URI.Log + LOG_SERVER: Pushbullet.URI.Log + URLS: { + android: 'https://play.google.com/store/apps/details?id=com.pushbullet.android&referrer=utm_source%3Dpushbullet.com' + chrome: 'https://chrome.google.com/webstore/detail/chlffgpmiacpedhhbkiomidkjlcfhogd' + firefox: 'https://addons.mozilla.org/en-US/firefox/addon/pushbullet/versions/' + ios: 'https://itunes.apple.com/us/app/pushbullet/id810352052?ls=1&mt=8' + mac: 'https://itunes.apple.com/us/app/pushbullet-from-pushbullet/id948415170?ls=1&mt=12' + opera: 'https://addons.opera.com/en/extensions/details/pushbullet/' + safari: 'http://update.pushbullet.com/extension.safariextz' + windows: 'https://update.pushbullet.com/pushbullet_installer.exe' + } + session_id: string + file_dragging: boolean + in_frame: boolean + PUSH_PER_PAGE: number + show_pushes: number + client_id: string + stuff_loaded: boolean + delete_mode: null + rename_mode: null + logging_in: boolean + pro: { + plan: string + upgrading: boolean + } + db: { + VERSION: number + local_storage: boolean + } + + channels: { + uploading: boolean + file_url: string + } + channel_create: { + expanded: boolean + } + chats: { + picker: Picker + } + everything: { + modified_after: string + cursor: {} + } + net: { + API_VERSION: string + USER_AGENT: string + } + header: { + height: number + navs: Array<[string, string]> + mobile: boolean + } + path: string[] + visit_info: { + path: string + referrer: string + browser_name: string + browser_version: string + browser_mobile: boolean + user_agent: string + platform: string + language: string + encryption: boolean + } + browser: { + name: string + version: string + mobile: boolean + } + setup: { + invite_picker: Picker + invite_emails: {} + } + account: PushbulletApiSuite.Account + pushbox: { + target: object + scroll_lock: boolean + width_minibar: number + width_sidebar: number + width_mainbar: number + } + support: { + email: string + message: string + message_sent: boolean + guesses: object[] + name: string + } + remotefiles: { + view: string + device_started: boolean + popup: object + } + pushform: { + target: object + expanded: boolean + type: string + title?: string + content?: string + url?: string + address?: string + file_name: string + file_url?: string + file_type?: string + file_progress: number + message: string + error_message: string + waiting: boolean + to_selection: number + picker: { + props: { + direction: string + placeholder: string + clear_on_click: boolean + } + search?: string + target: string + } + showing: boolean + } + search: { + type: string + q: string + } + targets: { + delete_check_iden: string + block_check_iden: string + } + sms: { + q: string[] + message_time_out: number + count: number + form_showing: boolean + picker: Picker + new_sms_picker: Picker + target: object + wants_thread_id: string + } + chat_heads: object + clients: object + oauth: object + widget: object + error: object + pushes: object + /** + * Pushbullet Backend API Suites + */ + api: { + accounts: PushbulletApiSuite.AccountsApi + devices: PushbulletApiSuite.DevicesApi + grants: PushbulletApiSuite.GrantsApi + pinger: PushbulletApiSuite.PingerSuite + pushes: PushbulletApiSuite.PushesApi + sms: PushbulletApiSuite.SmsApi + text: PushbulletApiSuite.TextsApi + }, + /** + * E2E Utilities + */ + e2e: { + decrypt(encrypted: string): string + enabled: boolean + encrypt(plaintext: string): string + error: boolean + init(): void + key_fingerprint: string + set_password(plaintext: string): string + } + }, + /** + * UI Utilities + */ + onecup: { + /** + * Navigates to the given URL. + */ + goto(url: string): void + /** + * Marks the UI as requiring a refresh. + */ + refresh(): void + } + /** + * Sidebar Utilities + */ + sidebar: { + needs_update: boolean + /** + * Marks the Sidebar as requiring a refresh. + */ + update(): void + }, + /** + * SMS Utilities + */ + sms: { + message_time_out: 30000 + count: number + form_showing: boolean + picker: object + send(message: string): void + send_new(): void + send_file(file: Pushbullet.Push): void + target: { + desc: string + image_url: string + info: { + blurb: "" + count: number + recent: number + } + name: string + obj: Pushbullet.Device + type: string + url: string + } + } + /** + * Websocket Utilities + */ + ws: { + last_message: 30000 + connected: boolean + socket: WebSocket + } + + /** + * Push Targeting Utilities + */ + targets: { + block_check_iden: string + by_device_iden(iden: string): Pushbullet.Item + by_email(email: string): Pushbullet.Item + by_tag(tag: string): Pushbullet.Item + chats(): Pushbullet.Chat[] + delete_check_iden: string + devices: Pushbullet.Device[] + generate(): void + make(obj: Pushbullet.Item, force_type?: string): Pushbullet.Item + make_ac_target(ac: Pushbullet.Chat): Pushbullet.Item + make_email(email: string): Pushbullet.Item + make_phone(phone: string): Pushbullet.Item + match(target: object): boolean + subscriptions(): Pushbullet.Item[] + } + + /** + * Generate Random Identifier + */ + rand_iden(): string + + /** + * Database Utilities + */ + db: { + VERSION: number + local_storage: boolean + check(): void + clear(): void + del_simple(key: string): void + get(key: string): string + get_simple(key: string): string + set(key: string, data: any): void + set_simple(key: string, data: any): void + space(): void + version_guard(): boolean + } + } + + /** + * SMS Message Thread + */ + interface SmsMessageRecipient { + number: string + name: string + address: string + } + + /** + * SMS Message Thread + */ + interface SmsMessageThread { + /** + * Unique identifier for this Thread + */ + id: string + /** + * Latest SMS Message in Thread + */ + latest: { + type: 'sms' + id: string + guid: string + body: string + direction: Pushbullet.MessageDirection + status: ('sent' | 'not sent') + timestamp: number + } + recipients: SmsMessageRecipient[] + } +} + +interface Picker { + props: { + placeholder: string + label: string + direction: ('bottom' | 'top') + clear_on_click: boolean + phone_suggest?: boolean + email_suggest?: boolean + cb(): void + [key: string]: any + } +} + +declare namespace PushbulletApiSuite { + /** + * Base API Suite + */ + interface BaseApiSuite { + type: string + name: string + nice_name: string + uri: string + all: (Pushbullet.Item[] | []) + objs: { [key: string]: Pushbullet.Item[] } + + _load_storage(): void + + _save_storage(): void + + build_all(): void + + clear_error(): void + + create(item: BasePushCreationOptions | NoteCreationOptions | LinkCreationOptions | FileCreationOptions | Object): void + + delete(item: Pushbullet.Item): void + + new_item(push: Pushbullet.Item): void + + post_create(): void + + post_get(): void + + reset(): void + + save(): void + + set_all(items: Pushbullet.Item[]): void + + start(): void + + update(item: Pushbullet.Item): void + + new_obj: {} + loaded: boolean + getting: boolean + creating: boolean + updating: boolean + deleting: boolean + delete_check: boolean + have_fetched: boolean + modified_after: number + } + + /** + * Base Push Creation Options + */ + interface BasePushCreationOptions { + /** + * Type of the push, one of "note", "file", "link". + * Example: "note" + */ + type: (Pushbullet.PushType | string) + /** + * Send the push to a specific device. Appears as target_device_iden on the push. + */ + device_iden?: string + /** + * Send the push to this email address. If that email address is associated with + * a Pushbullet user, we will send it directly to that user, otherwise we will + * fallback to sending an email to the email address (this will also happen if + * a user exists but has no devices registered). + */ + email?: string + /** + * Send the push to all subscribers to your channel that has this tag. + */ + channel_tag?: string + /** + * Send the push to all users who have granted access to your OAuth client that has this iden. + */ + client_iden?: string + /** + * A message associated with the push. + */ + body: string + } + + /** + * Note Creation Options + */ + interface NoteCreationOptions extends BasePushCreationOptions { + /** + * The note's title. + */ + title: string + } + + /** + * Link Creation Options + */ + interface LinkCreationOptions extends BasePushCreationOptions { + /** + * The link's title. + */ + title: string + /** + * URL field, used for type="link" pushes + * Example: "http://www.teslamotors.com/" + */ + url: string + } + + /** + * File Creation Options + */ + interface FileCreationOptions extends BasePushCreationOptions { + /** + * The name of the file. + * Example: "john.jpg" + */ + file_name: string + /** + * The MIME type of the file. + * Example: "image/jpeg" + */ + file_type: string + /** + * The url for the file. See pushing files for how to get a file_url + * Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg" + */ + file_url: string + } + + /** + * Pushes API + */ + interface PushesApi extends BaseApiSuite { + type: (Pushbullet.PushType | string) + name: "pushes" + nice_name: "Push" + uri: "/v2/pushes" + default_image_url: Pushbullet.ImageUrl.Everything + queue: Pushbullet.Push[] + error_queue: Pushbullet.Push[] + file_queue: Pushbullet.Push[] + dismissing: { [key: string]: boolean[] } + notified_push_idens: string[] + + add_target(push: Pushbullet.Push): void + + delete_all(): void + + dismiss(push: Pushbullet.Push): void + + do_file_queue(): void + + do_push_queue(): void + + notified(): void + + notify_after: boolean + + post_get(): void + + queue_push(push: Pushbullet.Push): void + + remove_from_error_queue(push: Pushbullet.Push): void + + remove_from_file_queue(push: Pushbullet.Push): void + + remove_from_queue(push: Pushbullet.Push): void + + retry_send(push: Pushbullet.Push): void + + send(): void + + send_file(): void + + should_notify(): void + + start(): void + + upload_abort(push: Pushbullet.Push): void + + upload_file(file: string, callback: Function): void + + upload_file_finish(upload: object, push: Pushbullet.Push): void + + upload_file_parts(upload: object, push: Pushbullet.Push, index: number): void + + upload_push(push: Pushbullet.Push): void + } + + /** + * SMS API + */ + interface SmsApi extends BaseApiSuite { + default_image_url: Pushbullet.ImageUrl.User + default_group_image_url: Pushbullet.ImageUrl.Group + thread: Pushbullet.SmsEphemeral[] + threads: Pushbullet.SmsEphemeral[] + + fetch_device(): void + + fetch_thread(): void + + first_sms_device(): Pushbullet.Device + + get_phonebook(): void + + phonebook_cache: {} + + set_limit(limit: number): void + + start(): void + + tickle(): void + } + + /** + * Accounts API + */ + interface AccountsApi extends BaseApiSuite { + type: "account" + default_image_url: Pushbullet.ImageUrl.User + name: "accounts" + nice_name: "Account" + uri: "/v2/accounts" + + fetch_device(): void + + fetch_thread(): void + + get_phonebook(): void + + phonebook_cache: {} + + set_limit(limit: number): void + + start(): void + + tickle(): void + } + + /** + * Devices API + */ + interface DevicesApi extends BaseApiSuite { + type: "device" + default_image_url: Pushbullet.ImageUrl.Phone + name: "devices" + nice_name: "Device" + uri: "/v2/devices" + last_awake_time: number + last_awake_state: boolean + + is_awake(): boolean + + awake(state: boolean): void + + guess_icon(device: Pushbullet.Device): string + } + + /** + * Texts API + */ + interface TextsApi extends BaseApiSuite { + type: "text" + name: "texts" + nice_name: "Text" + + send(device: Pushbullet.Device, addresses: string[], message: string, guid: string, thread_id: string, file_type: string, file_url: string): boolean + } + + /** + * Grants API + */ + interface GrantsApi extends BaseApiSuite { + type: "grant" + name: "grants" + nice_name: "OAuth Grant" + default_image_url: Pushbullet.ImageUrl.System + uri: "/v2/grants" + + by_client_iden(iden: string): Pushbullet.Grant + } + + /** + * Account API + */ + interface Account { + last_active: number + preferences: {} + + track_active(): void + + start(): void + + get(): void + + save(): void + + set(account: object): void + + delete(): void + + delete_all_access_tokens(): void + + create_access_token(): void + + setup_done(type: string): void + + setup_restart(type: string): void + + load_preferences(): void + + migrate_preferences(): void + + save_preferences(): void + + upgrade_pro(token_id: string, plan_id: string): void + + downgrade_pro(): void; + } + + /** + * Pinger Suite + */ + interface PingerSuite { + online: {} + last_ping_time: number + + pong_iden(device_iden: string): void + + ping_all(): void + } +} diff --git a/resources/api/ace/ace.js b/resources/api/ace/ace.js deleted file mode 100644 index 4d27ea60..00000000 --- a/resources/api/ace/ace.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)u[n]==1&&(a=t.timeStamp);else if(n===18&&o===3&&f===2){var l=t.timeStamp-a;l<50&&(u.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,o,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}function f(e){u=Object.create(null)}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=(u[e.keyCode]||0)+1;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){(!document.hasFocus||!document.hasFocus())&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){!e instanceof o&&(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("
"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight());var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)),height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1){var i=t.start.column-this.pos.column;this.length+=n;if(!this.session.$fromUndo){if(e.action==="insert")for(var s=this.others.length-1;s>=0;s--){var o=this.others[s],u={row:o.row,column:o.column+i};o.row===t.start.row&&t.start.column=0;s--){var o=this.others[s],u={row:o.row,column:o.column+i};o.row===t.start.row&&t.start.column=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action=="remove"){var i=t.splice(n+1,r);i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(r);s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){e&&(t=!1,e.row=n)}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[e.row]=e;var t=this.editor.renderer;return e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),e},this.removeLineWidget=function(e){e._inDocument=!1,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}this.session.lineWidgets&&(this.session.lineWidgets[e.row]=undefined),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.lineWidgets&&n.lineWidgets[o];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div")},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u}); - (function() { - window.require(["ace/ace"], function(a) { - a && a.config.init(true); - if (!window.ace) - window.ace = a; - for (var key in a) if (a.hasOwnProperty(key)) - window.ace[key] = a[key]; - }); - })(); - \ No newline at end of file diff --git a/resources/api/fleur.png b/resources/api/fleur.png deleted file mode 100644 index 8c1bf114124bb612abbc27c827144d49faf9e7fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5317 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 diff --git a/resources/api/font-awesome-4.5.0/css/font-awesome.min.css b/resources/api/font-awesome-4.5.0/css/font-awesome.min.css deleted file mode 100644 index ae9d4ae9..00000000 --- a/resources/api/font-awesome-4.5.0/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont-v=4.5.0.eot');src:url('../fonts/fontawesome-webfont-.eot#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont-v=4.5.0.woff2') format('woff2'),url('../fonts/fontawesome-webfont-v=4.5.0.woff') format('woff'),url('../fonts/fontawesome-webfont-v=4.5.0.ttf') format('truetype'),url('../fonts/fontawesome-webfont-v=4.5.0.svg#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} diff --git a/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-.eot b/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-.eot deleted file mode 100644 index 9b6afaedc0fd7aaf927a07f82da9c11022251b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70807 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 diff --git a/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.eot b/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.eot deleted file mode 100644 index 9b6afaedc0fd7aaf927a07f82da9c11022251b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70807 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 diff --git a/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.svg b/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.svg deleted file mode 100644 index d05688e9..00000000 --- a/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.svg +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.ttf b/resources/api/font-awesome-4.5.0/fonts/fontawesome-webfont-v=4.5.0.ttf deleted file mode 100644 index 26dea7951a73079223b50653c455c5adf46a4648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142072 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 +|+&Vdls@0SAya!8#E9iVniRwHu0GY;H*n zR85WCMp8<;snu)zXP=G#Xp%p5&d~RHxMxCJ%JB}XSeUWMFU9vZy3ei-xcz(F8k=rp zdyPM(m0MZZ60|zi?q$sAj;xPPN%hK%PyX-8mZZEy{;|=m@WRkFXXA z5nF70;)1&WoP37EU9F}3icj&lSaW?;#r|w_SUit?N9L1_cPc}*K5%Pkt1n=2nYaoV z5-=GAhF=RUdZ;btZBMs=_tMe1fL6m~K|7*rAS?BN=yO0|fNo_f%Xms&H32%tGnW7tmw`>^wOMdk3PM6+%w}g8kf6c?98ir#!ZcT z6o%=3F`@>TLafTh+!$%g~lJN`>1|lZ=iJwyN^0%@(IsRoHUw zXOYP(ZdllU&ZNn)iuxBGyy(%3XGgV=Sf4qC*5@Qi3JMh0*%4vsObbtU5^D;iN4f2+6Pgs9+! zFz?f{)81^a-WuIAtL^JIp2gF?`W~IPb9;TI)2_;waI30XdAik>bo0GGa#)5+^8=>@C#`nkbj4_os-y*V4S)O3m!b~)n1PK0yhRG zFCJ|6G}v5j#sj`KX03`vTutn(_3VN5 z+jvzt8c-Y+F6Z`3c*MuR6w?^XLbtJ2dJqEK;y5OhaA?dRX0TBf2N9BH2;omVj@`T+ z^e@r&*zC(kl9AaEDNC?)S}@R=cpwzOCJcry4fQ4&6xF~GAsBB@;n}6;*v^6QRoWg8 zmk+GV=2fTF+_>bjCM&~&JLS0QRv8vO7%|2E@y5S;%&}E#98){9N+hCWJEuCFZdD$V zWEJX=F;^A3s@{Y#=a7TP%7%Q=9Ol$GSJb7Q2iiMdczoWehupLEUvB@rtXEs~1@o46 zsE#VTWBUd%=EqK?$92fTuAtm8E*(tN)^lE8n+TrrqTpS|$TNgyty~Tx|^+cZ~{(HPNg(I^#1 zVW}f>9LN9dc8|4B_^|xw@h%_j^0CHs(c+Ih(*Mv{e^?vG-XGiM5qK$wo$~ZY8s!g^ z(~Z>}Q`<=FZEAE{Lu2!&g7@)1S#p!guN_B00#_m7EtYS!sLR#tlSo$^xU z>4D*T+0~~?4*g~Lsxnfb?CPl>6MFbDxZ+Gucp!wyAOrYSSm1ut(Ku;za(<`FY79W3 z5wk*YrXv47#=-B@M6-{Jqav=9r$@@j17t=)k4Nd?|InV5^;d$T;p9FR<^F=ihaAcJ zf8EDE>Y$Jcy3j=R;79EuKOChROj8l0467IwI+S(h)JaTPv5yiYEHrV84<6jk^V<)yeZDG(Gfe`bCa>ye`<^P@Ik^2vw%4yh3t-B{ zz?*=+(&6h;Bemd~;7vMO!BS-y1`@n1xD>(L;>D>j0n@Np5PGuQmi{eU`jsumaxB}= zK~20bI;v&S(|zR@kcx*2ZYjWYJuix~nBRGvia8ZL5<5*oWR;F&&ey4%I6w2gwaYzlJw+ck|KivfE=bq4#PSkz^X%0T>+mLh5R}I@eibEuNdbVuPoKBJn!rUAw#N!`*sw91@KDTTQVbuvE?d>K@c{R;?l5RPTg2jmZOKO~DO*D>KV z-vN2Y)&pDnxD@jmk9%WYwr1(U?L&b7gWKio^bQzvI3~J$;Sd>btm%;fV%Ds?p^wE1 zea3*YdbKgI8uoDqqO1?qboKH4a6N?|J#W^s{a~f;@uC_{GmSvj^xWt~Egt?7v>2$0 zM_04h>L_XfJ1t;_^aJ4co28Xv^_F#QqOg|-7eZD5rFDg#k?1%a@|(I#*w@8$%^wo0 zo~-S=b+WW05Qoq#pyo*@iapP6><7w-_*u@+>y1LGpMGbR8mUuCy?oVgb5?jPR`!~a1HNd=-@4m) zCT!=v%UU#^iKJAQ%*BFZKN<%=LI-H8>hs6sMJJqE4Pz!er>b*r$lC zD_T&NcXxP3ZB7}YxAHl)IW;Zt=Fm?ndMb=%6&07`%yfP`PM25kHO6;JT{NfC#)qfU zz*O2~3ws66RJK2_@+Oi*pdIBIyVH0WGMwO-ah*HtfwQ$shV? z<^7}ICi;^TIF0;*I)n@geSm|Cps`FL8HuJkI_01GBN2aLvQ-(ehgYoX)qY3hST^GD z^B1hP!b-t82+Fmv(rz*97czEuRgA9xG_MhbIy$xCx1Ib>{(?Vp(wirrrU@wQh!iG^ zw(Km*3gM)6Qd?+pL_f9VW`rTI_yB!V&^Z21V#=w9TEP5%{p9v2~JL`pI$?%RFaUI7BAW< z-)Mp2O7t8D)pGi`qZv=pFqs|ZPuZ;HjS=HiS`(w&GPV)J{Vjj*=>Cp*5jsm=vyuj{ zEx-vBl715@h&g9v#1wVbg;6ZR7_Bk&g^?*r@iR(894Y((8dr&WbOJ|nJRdsokn)uJ z2T)9sm4{5rag*v7TcxtE@DBI;{ZG+ML;&S~K;kLC^3%dQg?B{KyoBpi#;kKC>b$sE zrzv_XGeQR#D9ce5RpaM=)FLWJ1$-a9f!@UNYZjn_Vk}B9NxDM`8yj{5P?qM7hz*~7 zieMyWIu^lDuyvHdo|307i@~R!(g5<_C1jx0>K_(p$>cezVYo#2Nf??zz&~wY{J6Ei&_gZ9Au?vEARo4!<& zn=H)%#SF+HpegyFF-UE}9B3d5(Hhez1bZ^X*`*TLf1%|_l(mw~Kl8%Gk*tERciJjyarf|+v3 zn6AKlW#2pXL&KF+evpyksJ;~K zrpd{Oh*`4-re-B@S_8^`#!6b=zw-Mp#u;{qI9}}E`9V$QKgBa}=oKZ!BlIj8T7Q5E z_3)T~44!~K;U^3e0<7?Et_qt<02T0}=^s<{^HyW$6kNOeulU~Hvxh4AUv7UAY_uAK znbYs!5A!=Rcmhi3V%0D4TOYfv;6Cr1y+8OCKe}q~&;yS{LHUC5Tj2;(!zQz8N@1E| zmzDt?wNQ#71L&=fWA6j*6LK}O*X|JF2T(=OK55d7_Cl5=Q>leyf>7876N)=YAF?o& zGJehT?K5DRl38f{Dsfq&7x(TGh6;O9sRgNxC_rXqz;zilUwj|YTI5?o+ytlvS}m~1 z5)&mjLN%W(Y)iMdrBOdi7P9R#X0-FX@oT(4)t*W5JCi)yfg;J|LcD+_7iREwmcrZd zKw(=wy)OgYx=_tZab!vz8z#NXjlbAUAbV{gY9c?aUx}(jM^F{Nv%a$fT}|@L2egIS zN^6PU`7GXRj=FQ&>e31rp)8~djsIgxC9S)KS~if;;8L7Yg_;N&RJT$)gAC! zBiJdcpL+2&wvQ+glq#nI!bAg6OMobbc>s`WV)+qYfO#*`U4&jR^ANiI#b$i4woK4`G|M`MbI43tIiX5 ztAA0ihSZB_w9~ZXbnO;ae5Yv0Y1+-Rr)&t{cgki{`!J71do%)Gu^xwkb$Epg0}w_` zg}sK+*VT}RLqVVLFz6Q<2D=TJJZDe3D#{n%#U&L6B7%n!?<%c9v)Jyg2G+USn) z((s+~y^VMjNDg7a32R2vQ--MFa#~CFx2Nd>XjH#RsPpmUAai(_JmO#WL46Vk;Nasv zo6Yr_%VtAJkZ-vB>R3AD_@AG5`2)`9odG|)m~VDy7K`R6?6bMSwL+AMAK>0B{0lbxS$XT-PUUQjA5uvCK?omDKi(5Pq4U1k|vfLj9UAR zd?K2UCXB9syD`#?ndHCdYG{t!@SO(s3<#>OhU1vnK0!@={rp>RJ%7`*TyEMXO0loI zd|&NiujKQ_xUR~oDtY~5wOvcP@K^g7Y6V5rXF?jxA+j#ttm0?B#sUUg;(v>XFU~B@bd`&WCfFQJ7FiioqM3%DMKu^L1mCV%?{6T5X;Ykzu zyz$!ac4E<21gq8rb~F8J5uOUP7;pXh)qw~0xc7!VI3@J?G=k zZ|?l+SHApU+LjK~r7P0YV;&iHO&1=#Jy-#3Rk6l@{RXC8ux`Nk&gRR;s|&Kd*-)ff zacNGyeo@C{zcS0#mbv;Tk8V%++_E*Dw57da>*`%wg^UC1268huEJP*p(WB`wcQ4q8 z2L#ehhlPMs1qKhNYZTHYjcC?RNE6TO>pOGeOogqyYxl}dGuI=VxqhKLpo8LHyzBhs z^X9E;>&r3LxMJ(gpI=wHvgVfJ6&iBTZ#3>o4*pniiGt*$(l8Q{gghL6oB(z)7c>#A zV9Ed|z;PPxlXXG|&S5Qg;Eic!OqgkJ9QYW!pS{BFFFYF!-0+oXLv-ia0r|4PT}HZa z)JWeI2;9Yf3H$J0-o>+TZ`*L~Hz?@LH?G~V?d_NT@)tg-A^MdY0?}yT?48C>X4U_} zc#DPJsGn8;1`8Q~dV}QVC;HLW0nj~_@U)sKodwA6gautYY;=5M+nJwD}x6J>%{@ za&92-3HAbWp0}#Q=2Ihynz-yqK5`4Iu&{g}J!ikM?KcZvVV7Qe^=GDE@Gq0TclY%C zChDhQ@XJTK`DdMftKc|vo@WlKT{zcIGsHucPqnVM(KRE*duxc5c`9(UcV#%w0hlcE&*^t)wcbIG_E}7eNE)V}ie{WvxYtQ#SR+#5^ z^=V9YvLU1J9j~j;%I!mkbdS@q*2*&QvI<+^5u9_XkM{RwX(ywYNf^tM?V!n;n=GKu zl&*%{FK$|KC&!#2-4@o};`*@grihPmuT;Ks%)K&yFmQ##>|T601;m_#Gv5H~gDX+q z=pUQr1LAs)jxZEQNf?cbk|Pc^C^LK=rkY4Y(^x_l4ADuBk>7edTxXyUV&(}~L`fFQ zQg!elVX+~J#aP}v<0_A_7-=hw0UU?EAc~-&F_aj-yy&<@RjWAmkxr)1JoZZF{)+Xi z4uFg4gk7ivU-1?NduWmUB}_wfKC;jRwrJ^&&KjkSMuwiwgN0+7r5);N6B;z z=E=jQ`9o6|g=*T`7LFUBoonEjs=<$s^x3hET`SvrTYK6kS4}AvA#doCs~;6PAx&63 zwW%W3Qr$Rn+BxU%m}S;6=3?n7rFQkRXLQbMtQKODAs5u%d8obfjLEtyT-P!!eg0R) zeQbzuos_qi3e-%U-qO9fXXTD1XSc=0!=tX4#W8MJSEPRdIwaB*1PMrVO$821r8B9H z6zzd(Cxu4nX4o_pT^ckl`s#FF$AbmzgdLEEbvKQQWeNTQcFUmU#{5F>U`X?|gp!=gfJ-N>Ou=e6@kmnFPjGwx!rKx4v)bVDPf)A0)wwa^AL?bz# z&wbB${@G_)&-X+LKy50dC?R5m@C3hjq-gnLG;kQll~Pc9N{NwtI0=yj`HmO4%A$^H z9|>$vmIlA{WJ$XFq(9^5Z$QdlPZ(y5VXn<91z*@ZwO z@Gl3iOzQ@*?c^v}ebUvb!2Cm5i(OZEK9X{?EaHX18#Wcm^Q_0(uk)PS$iu`Fj=i{6 z$kR2yQ_h#3z#3O_Baaw; zVh%umU=PaymdSq_^1ejT+CnLw$zxDg$!--)OObvBz1K;W#%70c2>v-2xx|+NXp}>;$Qlq03pd!>2fGKQ@#{QwTnm}X1otMZ%7qMdFND{X9AhA zN9>KY6IHnrX{WC?n9_?dg9#C~_JEnOa19kFMXB4h`gnHru3f7cj=X>MF1f!T@^YT8 z#&)5G;+&p?HRP9?P!s0M+?Q!KO{;engyoT=$ z2~tY7E@K=V%C9**&G;9U6<-{~%jebB8(Z7vMrvy7*XmQUb!LfLVE?kG($VAYf}2)*zrD;&}Kmc1UNez9?=9YA#=XCXXAd%6=8Zjj~- z_A&Gygu>cPA;)tV0sO1d-z5N}nIY#Xj$c?BOUHA-c*k;bu7Ju|?s!hg(HsJHss0I4 z7By=+RJJ-87ZA%~kehT$K?)3mabRfBm2?6-(+!R#-7yw;5S(eotjZa)r>#EcI`!t? zo>{$WeCDG0)gfmjxM|kb`y&+(d~wUa-?e@sc;hCRI|#cb8Fn4=BbC;MMJZ>`b>~$3 z^{s1LyRMqXD*3`~E{igK8Cxl@nY;ay2Uqy4XD~kU)Ip37=Azhss9;%1v*>N>tS3~_ znW3Ik!g#H79fgPO{#S-4aK`OjaoCzm@e9#H8h=6s&E4|5(QKXJ5P z%r^DGWRPfrDR3OwZ|lNY1d}eP7&x|)!vruH>nyo<)+lloCSd-?rX^$wMrZlo)_JYz zx@NiWwdmrehG=2!Gl!md>3P=L|HMnTvJ3m<6&_& zB=5RdT?;+j(6l(pAHDUZC;D0I^DjMd=o#bTKDim2oOhi~TeNIt51KDw(VuX`-fa*w zjoF=G9lkbYC%5#v0)c?5*TQ!yZ9d0?4?4YViqhRxywTRE zDLa%luk*o=TD};@=!77`0l=`G0yU0=ao;y=epXT6IANyE=Fn@l>nr_^%f?r@ZJ)3O z&(kd*tFqc$i$mj570hcNE^4Pa({fs?kI{-v09JvNDMZk>jBozy*(pYG+OEInTWmJFkC)@9Qd-v|b?j1j#SJ99RrZk3| zil*tZ%fobQ!?~Va%E}e12X9-naPF(abT^i)4j;eGBavpXO6%ir9l>ds6T%jbo{~5a z{pyCzBi%-#6HA1a3H@sb#*0B1F|2`#m^?ngUy&;dDJ@}309vSBd1`U1(chQti&P{V zL!C;ha$KS@jaVVhWcB#)1ofx4UYl2I>V27jJJy_=Xib4S{rugD^ZUMe-PVvXKnR!l z66+^VtO%!?(`_qmn=|2=4F{g0s#84IwrKJXrmR~Nx#nZd;aO^HEK{HG6>^&Hws`sc z&qQiG^B2TgXID=1vek+67Q_>aW(Gs+7v1^T8O;p~Gd!1BSaIvZOy#w^nvyg2Y&-wL z1Aq&nD}mgAr*%k*wv57P7zNsZF&s1|z*@RX6*NzcN-lmpOoFadhWuEG7^0yP*oUk} z@f$A*Pf0FGid;Q7Jfg$H)f{sNGQRp6b=^6+TYn0pr}5QEXDsGPHzvkarj*W5W3nQG z@nn6ii*pAyJTsxb{AD7cg@3}7^$Fu$F=nyQ*4*=#Zn^6VY^t2HPE^EXqztKk zHSNBxcbym3fW7kC1tef(K$%|SqIdI|m*UXwd zBN<<}{On-sqFdpGNTb#;Zrmfg)kW(=!I_H^@dbh&_=22Oi5~}@bW*@!IXgDMusU$; zyC(+}E?<}A_X^KCSR%-RONTNE33v<=KLl75TnY(13FeCNleJv)%)ZqdcC4RQ;p_HQ z%v-->!|J}7&EMp+`K)i{5J1^?n%K(n=a*hTzs1wGXl67Niq2fr=4qLK{nDquS$LU` z|JKtKVA*%7(96a4Vl#|^WNeVK#AAgZULKigOt5*OXrelq*T_Zc74|qKfH1XVJO}S9 zH=;-pVMGz7idm9=uozH~SF*&AmJBn9tvo7mCYQUc~o6zvNla70GJ zB23FPj(`Jik+CCg&kGDR0O}5Z96YA6yp4MutV-=QE{midzL54Z5puEp!iRZ3gMz^3-{q3Y;~CO-G1+Jjp-|w_G{rR-ONf)52Bv=47`bHsN##K5 z42uX#y2lagV=fv%6J}agoAJ|fnA>LxTTLA#zv~%HAsH?5J`+M@kj)Qp%zmVg-Rg91Vlk;XbuP9E7RuKqr9bn-FRps7+i7DW?KK zcJ;yS)*9xcg9U z`Q0yF*_26DPn)@Lo6j|bDcQDg=CtZmrs>L;?p}^aYOysv935k^hAw{h<3H|O{PcT$ zKYqOW>BG6X_ia5>?P#o9)Yh?J)ohvuS9bQQ1s!dR>KZ%LGq>J1HwVp^kYYleNpY2m z{1f?#gy1cbgqE;Px*PaILj(obucu+Mjzqec4VRs9Hyo(fGVN_hQ6ZW$tb-Qvw@r5g zC8j&lDNx$5D{H~Hgux`$$nZTDeikikJXUuNm=*CaPlt&h#*Y@#u(*Kju{fMoi^I`s zwOV{uYeu!$WZ7nmYBnqU!>v0NH+BurRD2Y}JDJB6k4Jvt;PwHJH)Ly{v})~)#xs*= zL^q~W=f7~iCv#Qxxa66Q*|n=CHCTfadS-7BB zGqj41GjBcX+Ot+&X>F*eh(zqMGptvx!i8IwbW~^wP_504u?9u9x?J#e?Fxreenob#{`Ul48F-_ci1d8n_~4Z4ov;yl;%rjcI}?gchkhm zP(`R>ZRMobCp~+~%|F|oyKCr^*MEP~Z@X}9{`yd5Vt(%I#SeXF=hQbR`+EaR7udL> zSP@u~zcB93s+#B-5qS6~eat!`ToLM+IRC%@d~-v8WB8nL)uGzN89!%%JD)VZdAxI6 zb@dhVE6xo!Jl1%{&klcW#*}G`C)n1n2(Jv=yk1*KYj~K(gwa97F@VMxI10VTK$uh- z)RTx&01lBpBtf1OMAy||Y-oHa$>8N({KVYRlFxv94Q`GyZ($ zgnGHg?$g`4S}V_~a_PQ$dn)FZt6h_3PO|Ai*8A_fd7Z1u>g#Hq8gNxNDV3Av_~&Rc zYp6P>vbC#C_t|UY`Uz(;Z*I{#>yp}RTh;0{>x1?Hyq^4XCRHj;)vmzQ)-Ip5%2mgA z|9dYB>NeEvs+Qfcl)c^uxrvGMML$j3_|bdQNe*aA--sW`n%|T>V`!UErP3Zlen0&s zuOKW~0bgdE5>42%LO|9TX8sQhSdxP}=riY?$3EjYZR8T^c#7>m>nvlVy7Gf#mXMHZFdRjnAkv${6^v;5DXD^(5fPuk<4EBeeEk7{JiO}_<)x~`<++)R8V%We zle;{+-w~28ytk7(HNA0Sqb(rI6_Kj2%|0R1GD}sRx{ps~lRm9Y@HJK@Jd^eX!Tpqz zJnS61YH5yE%K_Vr9$jb5*7p!q#ckm zc4#YRUch=k`Ks}g&l^WxuWx?+nMpgZA@(a(lz>2{%0oQtQ(s)C%8E|M^|#V%b-rE@Jl||FLQEgRYzSNzgk2HfK=3A}Am^H;nKY!f#T` zrC`pKf(S}j%9w%tLD`CUHFCaW-%oLG@?8yO5d*(L;cW0u02Ab_IqVZ|*hr9+wHfa= zWxK=g3X0hTAqe^!lp%Jx5X8L{gDf7@28g~fKhxp#Yp_0X`rpT~k4ZU(de`)fxTWIq zz<|?#9Ev2~hagLSgcr+^w4EA4ZJ_TDO+%(6(*-p|1PZ1R>sd(g5M2i=*ryKP;ZkDc zo�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%0D0!#Bo^>xe$Z4SmykflG_VnkLvLv4@e#4_y4Q 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�>=olG4!T4BYNCc4f{&*Kgc`m= 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.splice(c-1,2),c-=2)}}e=e.join("/")}else e.indexOf("./")===0&&(e=e.substring(2));if((v||g)&&m){n=e.split("/");for(c=n.length;c>0;c-=1){r=n.slice(0,c).join("/");if(v)for(h=v.length;h>0;h-=1){i=m[v.slice(0,h).join("/")];if(i){i=i[r];if(i){s=i,u=c;break}}}if(s)break;!a&&g&&g[r]&&(a=g[r],f=c)}!s&&a&&(s=a,u=f),s&&(n.splice(0,u,s),e=n.join("/"))}return e}function g(e,t){return function(){return s.apply(r,p.call(arguments,0).concat([e,t]))}}function y(e){return function(t){return m(t,e)}}function b(e){return function(t){a[e]=t}}function w(e){if(v(f,e)){var t=f[e];delete f[e],c[e]=!0,i.apply(r,t)}if(!v(a,e)&&!v(c,e))throw new Error("No "+e);return a[e]}function E(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return function(){return l&&l.config&&l.config[e]||{}}}var i,s,o,u,a={},f={},l={},c={},h=Object.prototype.hasOwnProperty,p=[].slice,d=/\.js$/;o=function(e,t){var n,r=E(e),i=r[0];return e=r[1],i&&(i=m(i,t),n=w(i)),i?n&&n.normalize?e=n.normalize(e,y(t)):e=m(e,t):(e=m(e,t),r=E(e),i=r[0],e=r[1],i&&(n=w(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},u={require:function(e){return g(e)},exports:function(e){var t=a[e];return typeof t!="undefined"?t:a[e]={}},module:function(e){return{id:e,uri:"",exports:a[e],config:S(e)}}},i=function(e,t,n,i){var s,l,h,p,d,m=[],y=typeof n,E;i=i||e;if(y==="undefined"||y==="function"){t=!t.length&&n.length?["require","exports","module"]:t;for(d=0;d15?(i=Date.now(),u(e)):(n.push(e),n.length===1&&o.setAttribute("a",s=!s))}}t.nextTick=t.setImmediate})(),t.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"},t.isArrayBuffer=function(e){return typeof ArrayBuffer!="undefined"&&e instanceof ArrayBuffer},t.isArrayBufferView=function(e){return e&&t.isArrayBuffer(e.buffer)&&e.byteLength!==undefined},t.ByteBuffer=n,t.ByteStringBuffer=n;var r=4096;t.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>r&&(this.data.substr(0,1),this._constructedStringLength=0)},t.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},t.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},t.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},t.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);var n=this.data;while(t>0)t&1&&(n+=e),t>>>=1,t>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},t.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},t.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(t.encodeUtf8(e))},t.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))},t.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))},t.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))},t.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))},t.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},t.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},t.ByteStringBuffer.prototype.putInt=function(e,t){var n="";do t-=8,n+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(n)},t.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},t.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},t.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t},t.ByteStringBuffer.prototype.bytes=function(e){return typeof e=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},t.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},t.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},t.ByteStringBuffer.prototype.copy=function(){var e=t.createBuffer(this.data);return e.read=this.read,e},t.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},t.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},t.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},t.ByteStringBuffer.prototype.toHex=function(){var e="";for(var t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},t.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},t.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},t.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},t.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},t.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},t.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},t.DataBuffer.prototype.putInt=function(e,t){this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this},t.DataBuffer.prototype.putSignedInt=function(e,t){return this.accommodate(t/8),e<0&&(e+=2<0);return t},t.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},t.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t},t.DataBuffer.prototype.bytes=function(e){return typeof e=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},t.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},t.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},t.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},t.DataBuffer.prototype.copy=function(){return new t.DataBuffer(this)},t.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},t.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},t.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},t.DataBuffer.prototype.toHex=function(){var e="";for(var t=this.read;t0)t&1&&(n+=e),t>>>=1,t>0&&(e+=e);return n},t.xorBytes=function(e,t,n){var r="",i="",s="",o=0,u=0;for(;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),u>=10&&(r+=s,s="",u=0),s+=String.fromCharCode(i),++u;return r+=s,r},t.hexToBytes=function(e){var t="",n=0;e.length&!0&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));for(;n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];t.encode64=function(e,t){var n="",r="",i,o,u,a=0;while(a>2),n+=s.charAt((i&3)<<4|o>>4),isNaN(o)?n+="==":(n+=s.charAt((o&15)<<2|u>>6),n+=isNaN(u)?"=":s.charAt(u&63)),t&&n.length>t&&(r+=n.substr(0,t)+"\r\n",n=n.substr(t));return r+=n,r},t.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var t="",n,r,i,s,u=0;while(u>4),i!==64&&(t+=String.fromCharCode((r&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t},t.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},t.decodeUtf8=function(e){return decodeURIComponent(escape(e))},t.binary={raw:{},hex:{},base64:{}},t.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},t.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length)),n=n||0;var i=n;for(var s=0;s>2),n+=s.charAt((i&3)<<4|o>>4),isNaN(o)?n+="==":(n+=s.charAt((o&15)<<2|u>>6),n+=isNaN(u)?"=":s.charAt(u&63)),t&&n.length>t&&(r+=n.substr(0,t)+"\r\n",n=n.substr(t));return r+=n,r},t.binary.base64.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),n=n||0;var i,s,u,a,f=0,l=n;while(f>4,u!==64&&(r[l++]=(s&15)<<4|u>>2,a!==64&&(r[l++]=(u&3)<<6|a));return t?l-n:r.subarray(0,l)},t.text={utf8:{},utf16:{}},t.text.utf8.encode=function(e,n,r){e=t.encodeUtf8(e);var i=n;i||(i=new Uint8Array(e.length)),r=r||0;var s=r;for(var o=0;o0?(s=n[r].substring(0,i),o=n[r].substring(i+1)):(s=n[r],o=null),s in t||(t[s]=[]),!(s in Object.prototype)&&o!==null&&t[s].push(unescape(o))}return t},n;return typeof e=="undefined"?(d===null&&(typeof window!="undefined"&&window.location&&window.location.search?d=t(window.location.search.substring(1)):d={}),n=d):n=t(e),n},t.parseFragment=function(e){var n=e,r="",i=e.indexOf("?");i>0&&(n=e.substring(0,i),r=e.substring(i+1));var s=n.split("/");s.length>0&&s[0]===""&&s.shift();var o=r===""?{}:t.getQueryVariables(r);return{pathString:n,queryString:r,path:s,query:o}},t.makeRequest=function(e){var n=t.parseFragment(e),r={path:n.pathString,query:n.queryString,getPath:function(e){return typeof e=="undefined"?n.path:n.path[e]},getQuery:function(e,t){var r;return typeof e=="undefined"?r=n.query:(r=n.query[e],r&&typeof t!="undefined"&&(r=r[t])),r},getQueryLast:function(e,t){var n,i=r.getQuery(e);return i?n=i[i.length-1]:n=t,n}};return r},t.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},t.setPath=function(e,t,n){if(typeof e=="object"&&e!==null){var r=0,i=t.length;while(r0&&s.push(r),o=t.lastIndex;var u=n[0][1];switch(u){case"s":case"o":i");break;case"%":s.push("%");break;default:s.push("<%"+u+"?>")}}return s.push(e.substring(o)),s.join("")},t.formatNumber=function(e,t,n,r){var i=e,s=isNaN(t=Math.abs(t))?2:t,o=n===undefined?",":n,u=r===undefined?".":r,a=i<0?"-":"",f=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=f.length>3?f.length%3:0;return a+(l?f.substr(0,l)+u:"")+f.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+u)+(s?o+Math.abs(i-f).toFixed(s).slice(2):"")},t.formatSize=function(e){return e>=1073741824?e=t.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=t.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=t.formatNumber(e/1024,0)+" KiB":e=t.formatNumber(e,0)+" bytes",e},t.bytesFromIP=function(e){return e.indexOf(".")!==-1?t.bytesFromIPv4(e):e.indexOf(":")!==-1?t.bytesFromIPv6(e):null},t.bytesFromIPv4=function(e){e=e.split(".");if(e.length!==4)return null;var n=t.createBuffer();for(var r=0;rr[i].end-r[i].start&&(i=r.length-1))}n.push(o)}if(r.length>0){var f=r[i];f.end-f.start>0&&(n.splice(f.start,f.end-f.start+1,""),f.start===0&&n.unshift(""),f.end===7&&n.push(""))}return n.join(":")},t.estimateCores=function(e,n){function i(e,u,a){if(u===0){var f=Math.floor(e.reduce(function(e,t){return e+t},0)/e.length);return t.cores=Math.max(1,f),URL.revokeObjectURL(r),n(null,t.cores)}s(a,function(t,n){e.push(o(a,n)),i(e,u-1,a)})}function s(e,t){var n=[],i=[];for(var s=0;su.st&&i.sti.st&&u.st0)return t.cores=navigator.hardwareConcurrency,n(null,t.cores);if(typeof Worker=="undefined")return t.cores=1,n(null,t.cores);if(typeof Blob=="undefined")return t.cores=2,n(null,t.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){var t=Date.now(),n=t+4;while(Date.now()4){var n=t;t=e.util.createBuffer();for(var r=0;r0))return!0;for(var r=0;r0))return!0;for(var r=0;r0)return!1;var n=e.length(),r=e.at(n-1);return r>this.blockSize<<2?!1:(e.truncate(r),!0)},t.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},t.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._prev=this._iv.slice(0)}},t.cbc.prototype.encrypt=function(e,t,n){if(e.length()0))return!0;for(var r=0;r0))return!0;for(var r=0;r0)return!1;var n=e.length(),r=e.at(n-1);return r>this.blockSize<<2?!1:(e.truncate(r),!0)},t.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=e.util.createBuffer(),this._partialBytes=0},t.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.cfb.prototype.encrypt=function(e,t,n){var r=e.length();if(r===0)return!0;this.cipher.encrypt(this._inBlock,this._outBlock);if(this._partialBytes===0&&r>=this.blockSize){for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0)e.read-=this.blockSize;else for(var i=0;i0&&this._partialOutput.getBytes(this._partialBytes);if(s>0&&!n)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=0},t.cfb.prototype.decrypt=function(e,t,n){var r=e.length();if(r===0)return!0;this.cipher.encrypt(this._inBlock,this._outBlock);if(this._partialBytes===0&&r>=this.blockSize){for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0)e.read-=this.blockSize;else for(var i=0;i0&&this._partialOutput.getBytes(this._partialBytes);if(s>0&&!n)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=0},t.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=e.util.createBuffer(),this._partialBytes=0},t.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ofb.prototype.encrypt=function(e,t,n){var r=e.length();if(e.length()===0)return!0;this.cipher.encrypt(this._inBlock,this._outBlock);if(this._partialBytes===0&&r>=this.blockSize){for(var i=0;i0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i0)e.read-=this.blockSize;else for(var i=0;i0&&this._partialOutput.getBytes(this._partialBytes);if(s>0&&!n)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(r-this._partialBytes)),this._partialBytes=0},t.ofb.prototype.decrypt=t.ofb.prototype.encrypt,t.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=e.util.createBuffer(),this._partialBytes=0},t.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=n(e.iv),this._inBlock=this._iv.slice(0),this._partialBytes=0},t.ctr.prototype.encrypt=function(e,t,n){var i=e.length();if(i===0)return!0;this.cipher.encrypt(this._inBlock,this._outBlock);if(this._partialBytes===0&&i>=this.blockSize)for(var s=0;s0&&(o=this.blockSize-o),this._partialOutput.clear();for(var s=0;s0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes);if(o>0&&!n)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}r(this._inBlock)},t.ctr.prototype.decrypt=t.ctr.prototype.encrypt,t.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=e.util.createBuffer(),this._partialBytes=0,this._R=3774873600},t.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var n=e.util.createBuffer(t.iv);this._cipherLength=0;var s;"additionalData"in t?s=e.util.createBuffer(t.additionalData):s=e.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null;if(t.decrypt){this._tag=e.util.createBuffer(t.tag).getBytes();if(this._tag.length!==this._tagLength/8)throw new Error("Authentication tag does not match tag length.")}this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var o=n.length();if(o===12)this._j0=[n.getInt32(),n.getInt32(),n.getInt32(),1];else{this._j0=[0,0,0,0];while(n.length()>0)this._j0=this.ghash(this._hashSubkey,this._j0,[n.getInt32(),n.getInt32(),n.getInt32(),n.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(i(o*8)))}this._inBlock=this._j0.slice(0),r(this._inBlock),this._partialBytes=0,s=e.util.createBuffer(s),this._aDataLength=i(s.length()*8);var u=s.length()%this.blockSize;u&&s.fillWithByte(0,this.blockSize-u),this._s=[0,0,0,0];while(s.length()>0)this._s=this.ghash(this._hashSubkey,this._s,[s.getInt32(),s.getInt32(),s.getInt32(),s.getInt32()])},t.gcm.prototype.encrypt=function(e,t,n){var i=e.length();if(i===0)return!0;this.cipher.encrypt(this._inBlock,this._outBlock);if(this._partialBytes===0&&i>=this.blockSize){for(var s=0;s0&&(o=this.blockSize-o),this._partialOutput.clear();for(var s=0;s0&&this._partialOutput.getBytes(this._partialBytes);if(o>0&&!n)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),r(this._inBlock)},t.gcm.prototype.decrypt=function(e,t,n){var i=e.length();if(i0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),r(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var s=0;s0;--r)t[r]=e[r]>>>1|(e[r-1]&1)<<31;t[0]=e[0]>>>1,n&&(t[0]^=this._R)},t.gcm.prototype.tableMultiply=function(e){var t=[0,0,0,0];for(var n=0;n<32;++n){var r=n/8|0,i=e[r]>>>(7-n%8)*4&15,s=this._m[n][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t},t.gcm.prototype.ghash=function(e,t,n){return t[0]^=n[0],t[1]^=n[1],t[2]^=n[2],t[3]^=n[3],this.tableMultiply(t)},t.gcm.prototype.generateHashTable=function(e,t){var n=8/t,r=4*n,i=16*n,s=new Array(i);for(var o=0;o>>1,i=new Array(n);i[r]=e.slice(0);var s=r>>>1;while(s>0)this.pow(i[2*s],i[s]=[]),s>>=1;s=2;while(s>8^p&255^99,i[r]=p,s[p]=r,d=e[p],l=e[r],c=e[l],h=e[c],v=d<<24^p<<16^p<<8^(p^d),m=(l^c^h)<<24^(r^h)<<16^(r^c^h)<<8^(r^l^h);for(var g=0;g<4;++g)u[g][r]=v,a[g][p]=m,v=v<<24|v>>>8,m=m<<24|m>>>8;r===0?r=f=1:(r=l^e[e[e[l^h]]],f^=e[e[f]])}}function l(e,t){var n=e.slice(0),s,u=1,f=n.length,l=f+6+1,c=r*l;for(var h=f;h>>16&255]<<24^i[s>>>8&255]<<16^i[s&255]<<8^i[s>>>24]^o[u]<<24,u++):f>6&&h%f===4&&(s=i[s>>>24]<<24^i[s>>>16&255]<<16^i[s>>>8&255]<<8^i[s&255]),n[h]=n[h-f]^s;if(t){var p,d=a[0],v=a[1],m=a[2],g=a[3],y=n.slice(0);c=n.length;for(var h=0,b=c-r;h>>24]]^v[i[p>>>16&255]]^m[i[p>>>8&255]]^g[i[p&255]];n=y}return n}function c(e,t,n,r){var o=e.length/4-1,f,l,c,h,p;r?(f=a[0],l=a[1],c=a[2],h=a[3],p=s):(f=u[0],l=u[1],c=u[2],h=u[3],p=i);var d,v,m,g,y,b,w;d=t[0]^e[0],v=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];var E=3;for(var S=1;S>>24]^l[v>>>16&255]^c[m>>>8&255]^h[g&255]^e[++E],b=f[v>>>24]^l[m>>>16&255]^c[g>>>8&255]^h[d&255]^e[++E],w=f[m>>>24]^l[g>>>16&255]^c[d>>>8&255]^h[v&255]^e[++E],g=f[g>>>24]^l[d>>>16&255]^c[v>>>8&255]^h[m&255]^e[++E],d=y,v=b,m=w;n[0]=p[d>>>24]<<24^p[v>>>16&255]<<16^p[m>>>8&255]<<8^p[g&255]^e[++E],n[r?3:1]=p[v>>>24]<<24^p[m>>>16&255]<<16^p[g>>>8&255]<<8^p[d&255]^e[++E],n[2]=p[m>>>24]<<24^p[g>>>16&255]<<16^p[d>>>8&255]<<8^p[v&255]^e[++E],n[r?1:3]=p[g>>>24]<<24^p[d>>>16&255]<<16^p[v>>>8&255]<<8^p[m&255]^e[++E]}function h(t){t=t||{};var n=(t.mode||"CBC").toUpperCase(),r="AES-"+n,i;t.decrypt?i=e.cipher.createDecipher(r,t.key):i=e.cipher.createCipher(r,t.key);var s=i.start;return i.start=function(t,n){var r=null;n instanceof e.util.ByteBuffer&&(r=n,n={}),n=n||{},n.output=r,n.iv=t,s.call(i,n)},i}e.aes=e.aes||{},e.aes.startEncrypting=function(e,t,n,r){var i=h({key:e,output:n,decrypt:!1,mode:r});return i.start(t),i},e.aes.createEncryptionCipher=function(e,t){return h({key:e,output:null,decrypt:!1,mode:t})},e.aes.startDecrypting=function(e,t,n,r){var i=h({key:e,output:n,decrypt:!0,mode:r});return i.start(t),i},e.aes.createDecryptionCipher=function(e,t){return h({key:e,output:null,decrypt:!0,mode:t})},e.aes.Algorithm=function(e,t){n||f();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return c(r._w,e,t,!1)},decrypt:function(e,t){return c(r._w,e,t,!0)}}}),r._init=!1},e.aes.Algorithm.prototype.initialize=function(t){if(this._init)return;var n=t.key,r;if(typeof n!="string"||n.length!==16&&n.length!==24&&n.length!==32){if(e.util.isArray(n)&&(n.length===16||n.length===24||n.length===32)){r=n,n=e.util.createBuffer();for(var i=0;i>>=2;for(var i=0;i=64){u=e.h0,a=e.h1,f=e.h2,l=e.h3;for(p=0;p<16;++p)t[p]=n.getInt32Le(),c=l^a&(f^l),o=u+c+s[p]+t[p],h=i[p],u=l,l=f,f=a,a+=o<>>32-h;for(;p<32;++p)c=f^l&(a^f),o=u+c+s[p]+t[r[p]],h=i[p],u=l,l=f,f=a,a+=o<>>32-h;for(;p<48;++p)c=a^f^l,o=u+c+s[p]+t[r[p]],h=i[p],u=l,l=f,f=a,a+=o<>>32-h;for(;p<64;++p)c=f^(a|~l),o=u+c+s[p]+t[r[p]],h=i[p],u=l,l=f,f=a,a+=o<>>32-h;e.h0=e.h0+u|0,e.h1=e.h1+a|0,e.h2=e.h2+f|0,e.h3=e.h3+l|0,d-=64}}var t=e.md5=e.md5||{};e.md=e.md||{},e.md.algorithms=e.md.algorithms||{},e.md.md5=e.md.algorithms.md5=t,t.create=function(){o||u();var t=null,r=e.util.createBuffer(),i=new Array(16),s={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,messageLength64:[0,0]};return s.start=function(){return s.messageLength=0,s.messageLength64=[0,0],r=e.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878},s},s.start(),s.update=function(n,o){return o==="utf8"&&(n=e.util.encodeUtf8(n)),s.messageLength+=n.length,s.messageLength64[0]+=n.length/4294967296>>>0,s.messageLength64[1]+=n.length>>>0,r.putBytes(n),a(t,i,r),(r.read>2048||r.length()===0)&&r.compact(),s},s.digest=function(){var o=e.util.createBuffer();o.putBytes(r.bytes()),o.putBytes(n.substr(0,64-(s.messageLength64[1]+8&63))),o.putInt32Le(s.messageLength64[1]<<3),o.putInt32Le(s.messageLength64[0]<<3|s.messageLength64[0]>>>28);var u={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3};a(u,i,o);var f=e.util.createBuffer();return f.putInt32Le(u.h0),f.putInt32Le(u.h1),f.putInt32Le(u.h2),f.putInt32Le(u.h3),f},s};var n=null,r=null,i=null,s=null,o=!1}var r="md5";if(typeof n!="function"){if(typeof module!="object"||!module.exports)return typeof forge=="undefined"&&(forge={}),e(forge);var i=!0;n=function(e,n){n(t,module)}}var s,o=function(t,n){n.exports=function(n){var i=s.map(function(e){return t(e)}).concat(e);n=n||{},n.defined=n.defined||{};if(n.defined[r])return n[r];n.defined[r]=!0;for(var o=0;o=64){i=e.h0,s=e.h1,o=e.h2,u=e.h3,a=e.h4;for(l=0;l<16;++l)r=n.getInt32(),t[l]=r,f=u^s&(o^u),r=(i<<5|i>>>27)+f+a+1518500249+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;for(;l<20;++l)r=t[l-3]^t[l-8]^t[l-14]^t[l-16],r=r<<1|r>>>31,t[l]=r,f=u^s&(o^u),r=(i<<5|i>>>27)+f+a+1518500249+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;for(;l<32;++l)r=t[l-3]^t[l-8]^t[l-14]^t[l-16],r=r<<1|r>>>31,t[l]=r,f=s^o^u,r=(i<<5|i>>>27)+f+a+1859775393+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;for(;l<40;++l)r=t[l-6]^t[l-16]^t[l-28]^t[l-32],r=r<<2|r>>>30,t[l]=r,f=s^o^u,r=(i<<5|i>>>27)+f+a+1859775393+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;for(;l<60;++l)r=t[l-6]^t[l-16]^t[l-28]^t[l-32],r=r<<2|r>>>30,t[l]=r,f=s&o|u&(s^o),r=(i<<5|i>>>27)+f+a+2400959708+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;for(;l<80;++l)r=t[l-6]^t[l-16]^t[l-28]^t[l-32],r=r<<2|r>>>30,t[l]=r,f=s^o^u,r=(i<<5|i>>>27)+f+a+3395469782+r,a=u,u=o,o=s<<30|s>>>2,s=i,i=r;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+u|0,e.h4=e.h4+a|0,c-=64}}var t=e.sha1=e.sha1||{};e.md=e.md||{},e.md.algorithms=e.md.algorithms||{},e.md.sha1=e.md.algorithms.sha1=t,t.create=function(){r||i();var t=null,o=e.util.createBuffer(),u=new Array(80),a={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,messageLength64:[0,0]};return a.start=function(){return a.messageLength=0,a.messageLength64=[0,0],o=e.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},a},a.start(),a.update=function(n,r){return r==="utf8"&&(n=e.util.encodeUtf8(n)),a.messageLength+=n.length,a.messageLength64[0]+=n.length/4294967296>>>0,a.messageLength64[1]+=n.length>>>0,o.putBytes(n),s(t,u,o),(o.read>2048||o.length()===0)&&o.compact(),a},a.digest=function(){var r=e.util.createBuffer();r.putBytes(o.bytes()),r.putBytes(n.substr(0,64-(a.messageLength64[1]+8&63))),r.putInt32(a.messageLength64[0]<<3|a.messageLength64[0]>>>28),r.putInt32(a.messageLength64[1]<<3);var i={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};s(i,u,r);var f=e.util.createBuffer();return f.putInt32(i.h0),f.putInt32(i.h1),f.putInt32(i.h2),f.putInt32(i.h3),f.putInt32(i.h4),f},a};var n=null,r=!1}var r="sha1";if(typeof n!="function"){if(typeof module!="object"||!module.exports)return typeof forge=="undefined"&&(forge={}),e(forge);var i=!0;n=function(e,n){n(t,module)}}var s,o=function(t,n){n.exports=function(n){var i=s.map(function(e){return t(e)}).concat(e);n=n||{},n.defined=n.defined||{};if(n.defined[r])return n[r];n.defined[r]=!0;for(var o=0;o=64){for(l=0;l<16;++l)t[l]=n.getInt32();for(;l<64;++l)r=t[l-2],r=(r>>>17|r<<15)^(r>>>19|r<<13)^r>>>10,s=t[l-15],s=(s>>>7|s<<25)^(s>>>18|s<<14)^s>>>3,t[l]=r+t[l-7]+s+t[l-16]|0;c=e.h0,h=e.h1,p=e.h2,d=e.h3,v=e.h4,m=e.h5,g=e.h6,y=e.h7;for(l=0;l<64;++l)u=(v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7),a=g^v&(m^g),o=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),f=c&h|p&(c^h),r=y+u+a+i[l]+t[l],s=o+f,y=g,g=m,m=v,v=d+r|0,d=p,p=h,h=c,c=r+s|0;e.h0=e.h0+c|0,e.h1=e.h1+h|0,e.h2=e.h2+p|0,e.h3=e.h3+d|0,e.h4=e.h4+v|0,e.h5=e.h5+m|0,e.h6=e.h6+g|0,e.h7=e.h7+y|0,b-=64}}var t=e.sha256=e.sha256||{};e.md=e.md||{},e.md.algorithms=e.md.algorithms||{},e.md.sha256=e.md.algorithms.sha256=t,t.create=function(){r||s();var t=null,i=e.util.createBuffer(),u=new Array(64),a={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,messageLength64:[0,0]};return a.start=function(){return a.messageLength=0,a.messageLength64=[0,0],i=e.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},a},a.start(),a.update=function(n,r){return r==="utf8"&&(n=e.util.encodeUtf8(n)),a.messageLength+=n.length,a.messageLength64[0]+=n.length/4294967296>>>0,a.messageLength64[1]+=n.length>>>0,i.putBytes(n),o(t,u,i),(i.read>2048||i.length()===0)&&i.compact(),a},a.digest=function(){var r=e.util.createBuffer();r.putBytes(i.bytes()),r.putBytes(n.substr(0,64-(a.messageLength64[1]+8&63))),r.putInt32(a.messageLength64[0]<<3|a.messageLength64[0]>>>28),r.putInt32(a.messageLength64[1]<<3);var s={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};o(s,u,r);var f=e.util.createBuffer();return f.putInt32(s.h0),f.putInt32(s.h1),f.putInt32(s.h2),f.putInt32(s.h3),f.putInt32(s.h4),f.putInt32(s.h5),f.putInt32(s.h6),f.putInt32(s.h7),f},a};var n=null,r=!1,i=null}var r="sha256";if(typeof n!="function"){if(typeof module!="object"||!module.exports)return typeof forge=="undefined"&&(forge={}),e(forge);var i=!0;n=function(e,n){n(t,module)}}var s,o=function(t,n){n.exports=function(n){var i=s.map(function(e){return t(e)}).concat(e);n=n||{},n.defined=n.defined||{};if(n.defined[r])return n[r];n.defined[r]=!0;for(var o=0;o=128){for(_=0;_<16;++_)t[_][0]=n.getInt32()>>>0,t[_][1]=n.getInt32()>>>0;for(;_<80;++_)H=t[_-2],D=H[0],P=H[1],r=((D>>>19|P<<13)^(P>>>29|D<<3)^D>>>6)>>>0,i=((D<<13|P>>>19)^(P<<3|D>>>29)^(D<<26|P>>>6))>>>0,j=t[_-15],D=j[0],P=j[1],o=((D>>>1|P<<31)^(D>>>8|P<<24)^D>>>7)>>>0,u=((D<<31|P>>>1)^(D<<24|P>>>8)^(D<<25|P>>>7))>>>0,B=t[_-7],F=t[_-16],P=i+B[1]+u+F[1],t[_][0]=r+B[0]+o+F[0]+(P/4294967296>>>0)>>>0,t[_][1]=P>>>0;m=e[0][0],g=e[0][1],y=e[1][0],b=e[1][1],w=e[2][0],E=e[2][1],S=e[3][0],x=e[3][1],T=e[4][0],N=e[4][1],C=e[5][0],k=e[5][1],L=e[6][0],A=e[6][1],O=e[7][0],M=e[7][1];for(_=0;_<80;++_)l=((T>>>14|N<<18)^(T>>>18|N<<14)^(N>>>9|T<<23))>>>0,c=((T<<18|N>>>14)^(T<<14|N>>>18)^(N<<23|T>>>9))>>>0,h=(L^T&(C^L))>>>0,p=(A^N&(k^A))>>>0,a=((m>>>28|g<<4)^(g>>>2|m<<30)^(g>>>7|m<<25))>>>0,f=((m<<4|g>>>28)^(g<<30|m>>>2)^(g<<25|m>>>7))>>>0,d=(m&y|w&(m^y))>>>0,v=(g&b|E&(g^b))>>>0,P=M+c+p+s[_][1]+t[_][1],r=O+l+h+s[_][0]+t[_][0]+(P/4294967296>>>0)>>>0,i=P>>>0,P=f+v,o=a+d+(P/4294967296>>>0)>>>0,u=P>>>0,O=L,M=A,L=C,A=k,C=T,k=N,P=x+i,T=S+r+(P/4294967296>>>0)>>>0,N=P>>>0,S=w,x=E,w=y,E=b,y=m,b=g,P=i+u,m=r+o+(P/4294967296>>>0)>>>0,g=P>>>0;P=e[0][1]+g,e[0][0]=e[0][0]+m+(P/4294967296>>>0)>>>0,e[0][1]=P>>>0,P=e[1][1]+b,e[1][0]=e[1][0]+y+(P/4294967296>>>0)>>>0,e[1][1]=P>>>0,P=e[2][1]+E,e[2][0]=e[2][0]+w+(P/4294967296>>>0)>>>0,e[2][1]=P>>>0,P=e[3][1]+x,e[3][0]=e[3][0]+S+(P/4294967296>>>0)>>>0,e[3][1]=P>>>0,P=e[4][1]+N,e[4][0]=e[4][0]+T+(P/4294967296>>>0)>>>0,e[4][1]=P>>>0,P=e[5][1]+k,e[5][0]=e[5][0]+C+(P/4294967296>>>0)>>>0,e[5][1]=P>>>0,P=e[6][1]+A,e[6][0]=e[6][0]+L+(P/4294967296>>>0)>>>0,e[6][1]=P>>>0,P=e[7][1]+M,e[7][0]=e[7][0]+O+(P/4294967296>>>0)>>>0,e[7][1]=P>>>0,I-=128}}var t=e.sha512=e.sha512||{};e.md=e.md||{},e.md.algorithms=e.md.algorithms||{},e.md.sha512=e.md.algorithms.sha512=t;var n=e.sha384=e.sha512.sha384=e.sha512.sha384||{};n.create=function(){return t.create("SHA-384")},e.md.sha384=e.md.algorithms.sha384=n,e.sha512.sha256=e.sha512.sha256||{create:function(){return t.create("SHA-512/256")}},e.md["sha512/256"]=e.md.algorithms["sha512/256"]=e.sha512.sha256,e.sha512.sha224=e.sha512.sha224||{create:function(){return t.create("SHA-512/224")}},e.md["sha512/224"]=e.md.algorithms["sha512/224"]=e.sha512.sha224,t.create=function(t){i||u(),typeof t=="undefined"&&(t="SHA-512");if(t in o){var n=o[t],s=null,f=e.util.createBuffer(),l=new Array(80);for(var c=0;c<80;++c)l[c]=new Array(2);var h={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:64,messageLength:0,messageLength128:[0,0,0,0]};return h.start=function(){h.messageLength=0,h.messageLength128=[0,0,0,0],f=e.util.createBuffer(),s=new Array(n.length);for(var t=0;t>>0,r>>>0];for(var i=3;i>=0;--i)h.messageLength128[i]+=r[1],r[1]=r[0]+(h.messageLength128[i]/4294967296>>>0),h.messageLength128[i]=h.messageLength128[i]>>>0,r[0]=r[1]/4294967296>>>0;return f.putBytes(t),a(s,l,f),(f.read>2048||f.length()===0)&&f.compact(),h},h.digest=function(){var n=e.util.createBuffer();n.putBytes(f.bytes()),n.putBytes(r.substr(0,128-(h.messageLength128[3]+16&127)));var i=[];for(var o=0;o<3;++o)i[o]=h.messageLength128[o]<<3|h.messageLength128[o-1]>>>28;i[3]=h.messageLength128[3]<<3,n.putInt32(i[0]),n.putInt32(i[1]),n.putInt32(i[2]),n.putInt32(i[3]);var u=new Array(s.length);for(var o=0;on.blockLength&&(n.start(),n.update(o.bytes()),o=n.digest()),r=e.util.createBuffer(),i=e.util.createBuffer(),f=o.length();for(var a=0;ac)return a(null,d);p.start(null,null),p.update(n),p.update(e.util.int32ToBytes(y)),v=g=p.digest().getBytes(),b=2,E()}function E(){if(b<=s)return p.start(null,null),p.update(g),m=p.digest().getBytes(),v=e.util.xorBytes(v,m,f),g=m,++b,e.util.setImmediate(E);d+=y4||!u||u==="sha1"))return typeof u!="string"&&(u="sha1"),n=new Buffer(n,"binary"),a?i.pbkdf2Sync.length===4?i.pbkdf2(t,n,s,o,function(e,t){if(e)return a(e);a(null,t.toString("binary"))}):i.pbkdf2(t,n,s,o,u,function(e,t){if(e)return a(e);a(null,t.toString("binary"))}):i.pbkdf2Sync.length===4?i.pbkdf2Sync(t,n,s,o).toString("binary"):i.pbkdf2Sync(t,n,s,o,u).toString("binary");if(typeof u=="undefined"||u===null)u=e.md.sha1.create();if(typeof u=="string"){if(!(u in e.md.algorithms))throw new Error("Unknown hash algorithm: "+u);u=e.md[u].create()}var f=u.digestLength;if(o>4294967295*f){var l=new Error("Derived key is too long.");if(a)return a(l);throw l}var c=Math.ceil(o/f),h=o-(c-1)*f,p=e.hmac.create();p.start(u,t);var d="",v,m,g;if(!a){for(var y=1;y<=c;++y){p.start(null,null),p.update(n),p.update(e.util.int32ToBytes(y)),v=g=p.digest().getBytes();for(var b=2;b<=s;++b)p.start(null,null),p.update(g),m=p.digest().getBytes(),v=e.util.xorBytes(v,m,f),g=m;d+=y=32)return f(),e();var t=32-n.pools[0].messageLength<<5;n.seedFile(t,function(t,r){if(t)return e(t);n.collect(r),f(),e()})}function a(){if(n.pools[0].messageLength>=32)return f();var e=32-n.pools[0].messageLength<<5;n.collect(n.seedFileSync(e)),f()}function f(){var e=n.plugin.md.create();e.update(n.pools[0].digest().getBytes()),n.pools[0].start();var t=1;for(var r=1;r<32;++r)t=t===31?2147483648:t<<2,t%n.reseeds===0&&(e.update(n.pools[r].digest().getBytes()),n.pools[r].start());var i=e.digest().getBytes();e.start(),e.update(i);var s=e.digest().getBytes();n.key=n.plugin.formatKey(i),n.seed=n.plugin.formatSeed(s),n.reseeds=n.reseeds===4294967295?0:n.reseeds+1,n.generated=0}function l(t){var n=null;if(typeof window!="undefined"){var r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(n=function(e){return r.getRandomValues(e)})}var i=e.util.createBuffer();if(n)while(i.length()>16),l+=(f&32767)<<16,l+=f>>15,l=(l&2147483647)+(l>>31),h=l&4294967295;for(var u=0;u<3;++u)c=h>>>(u<<3),c^=Math.floor(Math.random()*256),i.putByte(String.fromCharCode(c&255))}}return i.getBytes(t)}var n={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0},i=t.md,s=new Array(32);for(var o=0;o<32;++o)s[o]=i.create();return n.pools=s,n.pool=0,n.generate=function(t,r){function l(c){if(c)return r(c);if(f.length()>=t)return r(null,f.getBytes(t));n.generated>1048575&&(n.key=null);if(n.key===null)return e.util.nextTick(function(){u(l)});var h=i(n.key,n.seed);n.generated+=h.length,f.putBytes(h),n.key=o(i(n.key,s(n.seed))),n.seed=a(i(n.key,n.seed)),e.util.setImmediate(l)}if(!r)return n.generateSync(t);var i=n.plugin.cipher,s=n.plugin.increment,o=n.plugin.formatKey,a=n.plugin.formatSeed,f=e.util.createBuffer();n.key=null,l()},n.generateSync=function(t){var r=n.plugin.cipher,i=n.plugin.increment,s=n.plugin.formatKey,o=n.plugin.formatSeed;n.key=null;var u=e.util.createBuffer();while(u.length()1048575&&(n.key=null),n.key===null&&a();var f=r(n.key,n.seed);n.generated+=f.length,u.putBytes(f),n.key=s(r(n.key,i(n.seed))),n.seed=o(r(n.key,n.seed))}return u.getBytes(t)},r?(n.seedFile=function(e,t){r.randomBytes(e,function(e,n){if(e)return t(e);t(null,n.toString())})},n.seedFileSync=function(e){return r.randomBytes(e).toString()}):(n.seedFile=function(e,t){try{t(null,l(e))}catch(n){t(n)}},n.seedFileSync=l),n.collect=function(e){var t=e.length;for(var r=0;r>i&255);n.collect(r)},n.registerWorker=function(e){if(e===self)n.seedFile=function(e,t){function n(e){var r=e.data;r.forge&&r.forge.prng&&(self.removeEventListener("message",n),t(r.forge.prng.err,r.forge.prng.bytes))}self.addEventListener("message",n),self.postMessage({forge:{prng:{needed:e}}})};else{var t=function(t){var r=t.data;r.forge&&r.forge.prng&&n.seedFile(r.forge.prng.needed,function(t,n){e.postMessage({forge:{prng:{err:t,bytes:n}}})})};e.addEventListener("message",t)}},n}}var r="prng";if(typeof n!="function"){if(typeof module!="object"||!module.exports)return typeof forge=="undefined"&&(forge={}),e(forge);var i=!0;n=function(e,n){n(t,module)}}var s,o=function(t,n){n.exports=function(n){var i=s.map(function(e){return t(e)}).concat(e);n=n||{},n.defined=n.defined||{};if(n.defined[r])return n[r];n.defined[r]=!0;for(var o=0;o - - - -Pushbullet API - - - - - - - - - -

Pushbullet API

- -
Pushbullet's API enables developers to build on the Pushbullet infrastructure. Our goal is to provide a full API that enables anything to tap into the Pushbullet network.
- -
This is important to us because we believe everything, not just smartphones and computers, should be able to exchange information in real time. Here are some of the things you can build with Pushbullet:
- -
-
    -
  • Have a website and want to offer push notifications? We've built everything you need.
  • -
  • Want to build a Pushbullet client for a platform we don't officially support yet? Everything you need is here.
  • -
  • Working on a home automation system? Pushbullet can get everything chatting.
  • -
  • Working with sensors and want to send messages to another device? Pushbullet is just what you need.
  • -
  • Manage IT/servers and want to get updates and alerts no matter where you are or what device you're using? Pushbullet makes it easy.
  • -
-
- - - -
- -

Sections

-
    -
  • API - Send/receive pushes using the Pushbullet server.
  • -
  • iPhone Extensions - Interact with the iPhone app from your app or webpage.
  • -
  • Changelog - Recent changes to the API.
  • -
- -

Problems/Feedback

-
If you have questions, feel free to post them to the pushbullet tag on Stack Overflow. We monitor this tag and will reply as quickly as we can.
- - -
- -

API Quick Start

- -
All of our examples use the curl command line tool already available on most systems.
- -
-
    -
  • If you use Mac, it should already be installed, just open the Terminal app and run it.
  • -
  • If you are using Linux, it should already be installed, just open the Console and run it.
  • -
  • On Windows you're going to have to download it here or from the curl download page.
  • -
-
- -
The Pushbullet API lets you send/receive pushes and do everything else the official Pushbullet clients can do. To access the API you'll need an access token so the server knows who you are. You can get one from your Account Settings page.
- -
Once you have that access token, you can use it to access your Pushbullet account using the Pushbullet API:
- -
Example: Get Current User
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/users/me
Response
{
-  "created": 1.381092887398433e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0",
-  "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45",
-  "max_upload_size": 2.62144e+07,
-  "modified": 1.441054560741007e+09,
-  "name": "Elon Musk"
-}
- -

API Overview

- -

Requests

- -
The API accepts requests over HTTPS at https://api.pushbullet.com. All POST requests must use a JSON body with the Content-Type header set to application/json. Most programming languages have some way to encoded objects to JSON, and using the built-in library is recommended, since it will correctly handle newline characters and quotes.
- -

Authentication

-
To authenticate for the API, use your access token in a header like Access-Token: <your_access_token_here>. Your access token can be found on the Account Settings page. Keep in mind that this key has full access to your account, so don't go posting it all over the internets.
- - - - -
If you are making an app that uses the Pushbullet API on behalf of another user (for instance, to send push notifications as that user), use OAuth to get an access token for that user. Using your own access token while developing though saves you from having to setup OAuth until later.
- -
You can make a request from any app, though how you do that may depend on if you are writing a script or using a programming language. If you have a terminal and the curl utility you can perform requests from the command line.
- -
Example: Get Current User
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/users/me
Response
{
-  "created": 1.381092887398433e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0",
-  "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45",
-  "max_upload_size": 2.62144e+07,
-  "modified": 1.441054560741007e+09,
-  "name": "Elon Musk"
-}
- -
Because we allow CORS requests, you can make a request from any browser (you can hit the run button or copy and paste this code into your javascript console):
- -

Responses

-
Responses are always JSON. Keys are either present with a non-empty value, or entirely absent from the response. Empty values are: null, false, "", [], and {}. Deleted objects will only have the keys iden, active, created, and modified because all other properties have been removed and are now empty values.
- -
Example: API Response
-
{
-  "created": 1.35794175382879e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.39932599218423e+09
-}
- - -

HTTP Status Codes

-
    -
  • 200 OK - Everything worked as expected.
  • -
  • 400 Bad Request - Usually this results from missing a required parameter.
  • -
  • 401 Unauthorized - No valid access token provided.
  • -
  • 403 Forbidden - The access token is not valid for that request.
  • -
  • 404 Not Found - The requested item doesn't exist.
  • -
  • 429 Too Many Requests - You have been ratelimited for making too many requests to the server.
  • -
  • 5XX Server Error - Something went wrong on Pushbullet's side. If this error is from an intermediate server, it may not be valid JSON.
  • -
- -

Errors

-
Error responses (any non-200 error code) contain information on the kind of error that happened. The response JSON will have an error property with the following fields:
- -
    -
  • type - A machine-readable code to refer to this type of error. Either invalid_request for client side errors or server for server side errors.
  • -
  • message - A (mostly) human-readable error message.
  • -
  • param - (OPTIONAL) Appears sometimes during an invalid_request error to say which parameter in the request caused the error.
  • -
  • cat - Some sort of ASCII cat to offset the pain of receiving an error message.
  • -
- -
Example: Error Response
-
{
-  "error": {
-    "cat": "~(=^β€₯^)",
-    "message": "The resource could not be found.",
-    "type": "invalid_request"
-  }
-}
- - -
Errors from the Pushbullet server will have this JSON body. Errors from intermediate servers or the hosting infrastructure may not, so you should be able to handle a non-JSON response as a generic error.
- -

Objects

-
Objects (such as pushes and devices) can be created, modified, listed and deleted.
-
All timestamps that appear on objects are floating point seconds since the epoch, also called Unix Time.
-
All calls to list objects (list-*) accept the active, limit, and cursor parameters.
- -

Bootstrapping

-
By default, listing objects of any type will return deleted objects (this is useful for syncing). When you are getting the initial list of objects, you may want to only fetch the active ones. To get only active objects, set active to true on the request.
- - - - -

Pagination

-
When listing objects, if you receive a cursor in the response, it means the results are on multiple pages. To request the next page of results, use this cursor as the parameter cursor in the next request. Any time you list a collection of objects, they may be multiple pages (objects are always returned with the most recent ones first). You can specify a limit parameter on any calls that return a list of objects to get a smaller number of objects on each page. The default (maximum) limit is 500, including deleted objects.
- -

Syncing Changes

-
All calls to list objects accept a modified_after property (a timestamp). Any objects modified since that time will be returned, most recently modified first. The modified_after parameter should be the most recent modified value from an object returned by the server (don't trust the local machine's timestamp as it usually is not the same value as the server).
- - - - -

Deleted Objects

-
When you query with a modified_after timestamp to sync changed objects to a device, you need to know if an object was deleted so you can remove it locally. Deleted objects will have active=false and all properties except for iden, created, modified, and active will be missing from the returned object. Deleted objects show up by default when listing objects.
- -

Resizing Images

-
Pushes have an image_url property that can be resized by setting query parameters. To use this, add =s<pixels> to the end of the url.
-
Example: Resize an Image
-
Resize the image so that the longest side is not longer than 100 pixels
-Before - -After - - -
The image_url should be hosted on domain ending with .googleusercontent.com. If the domain does not end with that, you should not attempt to resize the image with a query parameter. Objects besides pushes have an image_url property but they cannot necessarily be resized the same way.
- -

Backwards Compatibility

-
We try to make only backwards compatible changes to existing public API calls. This means that we should not change the meaning of existing calls, and that we will only add, not remove, keys from objects returned from the API. Adding a key is considered to be a backwards-compatible change.
- -

Ratelimiting

-
When you do a request to the API you will receive headers like the following on the response:
-
-X-Ratelimit-Limit: 32768
-X-Ratelimit-Remaining: 32765
-X-Ratelimit-Reset: 1432447070
-
- -
These tell you what the ratelimit is, how much you have remaining and when it resets (integer seconds in Unix Time). The units are a sort of generic 'cost' number. A request costs 1 and a database operation costs 4. So reading 500 pushes costs about 500 database operations + 1 request = 500*4 + 1 = 2001. You can see how much a request cost by the change in X-Ratelimit-Remaining between two requests. -
- -
- -

Guides

- -

OAuth2

- -

Overview

- -
OAuth lets you access a user's Pushbullet account or have them authenticate with their Pushbullet account using a browser.
- -
OAuth is a standard authentication procedure used by most websites, here's how it works: - -
    -
  1. You, the app developer, register your app (called an "OAuth client") with Pushbullet
  2. -
  3. Using a url you generate in your app (you can see an example one on the Create Client page) you send the user to the Pushbullet site. One of the parameters of the url is a redirect url that the user will be sent to when they are done authorizing your app.
  4. -
  5. The user authorizes your application by clicking the "Allow" button.
  6. -
  7. The user is redirected to the redirect url you provided earlier, which is generally your site or your app.
  8. -
- -
Here's roughly how this looks with pictures:
- -
- -
- -

Getting Started

- -
To get started, create a client (register your application) on the Create Client page. For the examples on this page, the client looks like this:
- -
EXAMPLE CLIENT
- -
{
-  "client_id": "YW7uItOzxPFx8vJ4",
-  "client_secret": "MmA98EDg0pjr4fZw",
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "image_url": "http://www.catpusher.com/logo.png",
-  "name": "Cat Pusher",
-  "redirect_uri": "http://www.catpusher.com/auth_complete",
-  "website_url": "http://www.catpusher.com"
-}
- - -

Getting an Access Token

- -
Once you've created a client, you can send a user to https://www.pushbullet.com/authorize with the following parameters:
- -
    -
  • client_id - client_id from registering your client
  • -
  • redirect_uri - The url you want to redirect the user to after authorization is complete. The path portion must match what was provided for the client, the query string may be set dynamically.
  • -
  • response_type - Either "code" (if you've got a server) or "token" (if your app is entirely on the client)
  • -
- -
EXAMPLE URL
- -
-https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=http%3A%2F%2Fwww.catpusher.com%2Fauth_complete&response_type=code
-
- - -
NOTE: There's an example url ("oauth test url") on the Create Client page for your app.
- -
When the user is sent to this page, they are able to authorize or deny your application. If they choose deny, they get redirected to the redirect_uri with the parameter "error=access_denied".
- -
If they chose authorize, there are two possible next steps, depending on the value of response_type:
- -

For Client-Side Apps: response_type=token

- -
The user is redirected to the redirect_uri with a url fragment of "access_token=<access_token>". If you have a client side app running an embedded web browser, you can configure your redirect_uri to be "https://www.pushbullet.com/login-success" and then use this redirect_uri in the authorize call.
- -
EXAMPLE URL
- -
-https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=https%3A%2F%2Fwww.pushbullet.com%2Flogin-success&response_type=token
-
- - -
EXAMPLE REDIRECT
- -
-https://www.pushbullet.com/login-success#access_token=o.RUe7IZgC6384GrI1
-
- - -

For Apps with Servers: response_type=code

- -
If you have a server you can use this response_type, it's potentially more secure than the client-side one, since the client never sees the actual access token. In this mode the user is redirected to the redirect_uri with a parameter "code=<code>".
- -
EXAMPLE URL
- -
-https://www.pushbullet.com/authorize?client_id=YW7uItOzxPFx8vJ4&redirect_uri=http%3A%2F%2Fwww.catpusher.com%2Fauth_complete&response_type=code
-
- - -
EXAMPLE REDIRECT
- -
-http://www.catpusher.com/auth_complete?code=RUe7IZgC6384GrI1
-
- - -
Your server then peforms a POST request to https://api.pushbullet.com/oauth2/token with the following parameters:
- -
    -
  • grant_type - Set to "authorization_code"
  • -
  • client_id - client_id from registering your client
  • -
  • client_secret - client_secret from registering your client
  • -
  • code - code from the redirect
  • -
- -
Example: Convert Code to Access Token
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"client_id":"YW7uItOzxPFx8vJ4","client_secret":"MmA98EDg0pjr4fZw","code":"RUe7IZgC6384GrI1","grant_type":"authorization_code"}' \
-     --request POST \
-     https://api.pushbullet.com/oauth2/token
Response
{
-  "access_token": "a6FJVAA0LVJKrT8k",
-  "token_type": "Bearer"
-}
- -
You can add extra query params to the end of redirect_uri if you need to store extra state for the request. For instance, if you have your client's redirect_uri set to http://www.catpusher.com/auth_complete, then when you build the url to send the user to Pushbullet, you could specify redirect_uri=http://www.catpusher.com/auth_complete?state=zhk2KJ3SAAS3q1. When the user finishes authorizing your app, they would end up at http://www.catpusher.com/auth_complete?state=zhk2KJ3SAAS3q1&code=RUe7IZgC6384GrI1.
- -

Using Your Access Token

- -
Now that you have an access token, you can access Pushbullet as that user. Just include the access_token with your requests as the username in HTTP Basic Auth or set the Access-Token header to your access_token. Make sure to keep the access_token in a safe place, it allows access to your users accounts!
- -
Example: Get Current User
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/users/me
Response
{
-  "created": 1.381092887398433e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0",
-  "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45",
-  "max_upload_size": 2.62144e+07,
-  "modified": 1.441054560741007e+09,
-  "name": "Elon Musk"
-}
- -
The access_token does not have a set expiration time, but may be expired at some point in the future. If you delete your client, all existing tokens are invalidated.
- -
- -

End-to-End Encryption

-
We support end-to-end encryption for Notification Mirroring, Universal Copy & Paste, and SMS. We use client-side symmetric encryption for this. No keys are ever sent to the server, not even public keys, which is especially nice from a security standpoint.
- -
The encryption is used primarily for ephemerals. If you enable it in your Pushbullet client, you should be able to see the encrypted messages on the stream whenever you use any of the features that support end-to-end encryption.
- -

Key Generation

-
The key is created from a user-supplied password and passed through PBKDF2: -
    -
  • Pseudorandom function: HMAC-SHA256
  • -
  • Password: password supplied by the user for encryption, must be the same on all Pushbullet devices owned by the user
  • -
  • Salt: the user iden for the current user, e.g. up0snaKOsn
  • -
  • Number of iterations: 30,000
  • -
  • Derived key length: 256-bit
  • -
-
- -
Code Sample: Generate an Encryption/Decryption Key
-
This example uses the javascript Forge library
-var pseudorandom_function = forge.md.sha256.create();
-var password = "hunter2";
-var salt = "up0snaKOsn";
-var iterations = 30000;
-var derived_key_length_bytes = 32; // 256-bit
-var key = forge.pkcs5.pbkdf2(
-  password,
-  salt,
-  iterations,
-  derived_key_length_bytes,
-  pseudorandom_function
-)
-// encode to base64 so we can easily print the key
-// (normally it's in binary and can't be printed)
-var base64_key = btoa(key);
-console.log("base64_key:", base64_key);
- -

Encryption

-
To encrypt a message, use AES-256 with GCM Authentication. AES-256 uses the 256-bit key that is output by PBKDF2. To encrypt you need to generate a 96-bit initialization vector (this is used to start the encryption process, it is not a secret). The output of AES-256 with GCM will be the encrypted message (arbitrary length) and a 128-bit tag. The encoding for this encrypted message looks like this: -
-
-encoded_message = "1" + tag + initialization_vector + encrypted_message
-
- -
-The 1 prefix is a version number indicating the version of the encoding. When encoded_message is put into JSON, it must be base64-encoded since JSON cannot handle binary data. -
- -
Code Sample: Encrypt a Message
-
This example uses the javascript Forge library
-// convert key from base64 to binary
-var key = atob("1sW28zp7CWv5TtGjlQpDHHG4Cbr9v36fG5o4f74LsKg=");
-var initialization_vector = forge.random.getBytes(12); // 96-bit
-var message = "meow!";
-
-var cipher = forge.cipher.createCipher('AES-GCM', key);
-cipher.start({"iv": initialization_vector});
-cipher.update(forge.util.createBuffer(forge.util.encodeUtf8(message)));
-cipher.finish();
-
-var tag = cipher.mode.tag.getBytes();
-var encrypted_message = cipher.output.getBytes();
-
-var encoded_message = "1" + tag + initialization_vector + encrypted_message;
-var base64_encoded_message = btoa(encoded_message);
-console.log("base64_encoded_message:", base64_encoded_message);
- -

Decryption

-
If you can encrypt a message, decrypting it is straightforward. You need to decode the encoded_message into the tag, initialization_vector, and encrypted_message.
- -
Code Sample: Decrypt an Encrypted Message
-
This example uses the javascript Forge library
-var key = atob("1sW28zp7CWv5TtGjlQpDHHG4Cbr9v36fG5o4f74LsKg=");
-var encoded_message = atob("MSfJxxY5YdjttlfUkCaKA57qU9SuCN8+ZhYg/xieI+lDnQ==");
-
-var version = encoded_message.substr(0, 1);
-var tag = encoded_message.substr(1, 16); // 128 bits
-var initialization_vector = encoded_message.substr(17, 12); // 96 bits
-var encrypted_message = encoded_message.substr(29);
-
-if (version != "1") {
-  throw "invalid version"
-}
-
-var decipher = forge.cipher.createDecipher('AES-GCM', key);
-decipher.start({
-    'iv': initialization_vector,
-    'tag': tag
-});
-decipher.update(forge.util.createBuffer(encrypted_message));
-decipher.finish();
-
-var message = decipher.output.toString('utf8');
-console.log("message:", message);
-    
- -
Make sure your encryption library is checking the validity of the tag parameter by using an incorrect tag and verifying that you get some sort of error. You must also discard any encoded_message without a prefix of 1 as those will be different, incompatible encodings in the future.
- -

Encrypted Ephemeral Format

-
An ephemeral that looks like this:
-
{
-  "push": {
-    "data": {
-      "key1": "value1",
-      "key2": "value2"
-    }
-  },
-  "type": "push"
-}
-
Will look like this when encrypted:
-
{
-  "push": {
-    "ciphertext": "MXAdvN64uXWtLXCRaqYHEtGhiogR1VHyXX21Lpjp4jv3v+JWygMBA9Wp5npbQdfeZAgOZI+JT3y3pbmq+OrKXrK1rg==",
-    "encrypted": true
-  },
-  "type": "push"
-}
-
Where ciphertext is the base64_encoded_message from the encryption example.
-
If you decode ciphertext then you will get the following javascript object:
-
{
-  "key1": "value1",
-  "key2": "value2"
-}
-
- -

Realtime Event Stream

- -

Connect to the stream

- -
You can connect to the websocket for an account by creating a secure websocket connection (wss://) to wss://stream.pushbullet.com/websocket/<your_access_token_here>
- - - -
Once you are connected, you will see type="nop" messages periodically as well as other types if you send any ephemerals or pushes.
- -

Stream Messages

- -
All messages are JSON objects with a type key.
- -

Types

-
-
    -
  • type="nop" - Sent every 30 seconds confirming the connection is active.
  • -
  • - type="tickle" - Tells you something has changed on the server. The subtype property tells you what has changed. -
      -
    • subtype="push" - A change to the /v2/pushes resources.
    • -
    • subtype="device" - A change to the /v2/devices resources.
    • -
    -
  • -
  • type="push" - A new push. The push data is available in an object from the push key. NOTE: This is only used for Ephemerals (such as mirrored notifications) not normal pushes (such as those you see with list-pushes). Normal pushes only generate tickles, not these messages.
  • -
-
- -
EXAMPLE MESSAGES
- -
{
-  "type": "nop"
-}
- - -
{
-  "subtype": "push",
-  "type": "tickle"
-}
- - -
{
-  "push": {
-    "cat": "meow"
-  },
-  "type": "push"
-}
- - -

Push message types

- -
A message with type="push" will contain a data object mapped to by the key push. This object is documented here based on its internal type.
- -
    -
  • type="mirror" - This push is a notification mirrored from an Android device.
  • -
  • type="dismissal" - This push is a dismissal message for a notification.
  • -
- -
EXAMPLE NOTIFICATION MIRROR
- -
{
-  "push": {
-    "application_name": "Pushbullet",
-    "body": "If you see this on your computer, mirroring is working!\n",
-    "created": 1.39935096416497e+09,
-    "dismissable": true,
-    "icon": "iVBORw0KGgoAAAANSUhEBgUzC42AAAADNElEQVRo\ng==\n",
-    "iden": "1e443556ba3217c",
-    "notification_id": "-8",
-    "notification_tag": null,
-    "package_name": "com.pushbullet.android",
-    "receiver_email": "[email protected]",
-    "receiver_email_normalized": "[email protected]",
-    "receiver_iden": "ujpah72o0",
-    "sender_email": "[email protected]",
-    "sender_email_normalized": "[email protected]",
-    "sender_iden": "ujpah72o0",
-    "source_device_iden": "ujpah72o0sjAoRtnM0jc",
-    "title": "Mirroring test",
-    "type": "mirror"
-  },
-  "type": "push"
-}
- - -
EXAMPLE NOTIFICATION DISMISSAL
- -
{
-  "push": {
-    "created": 1.39935096622458e+09,
-    "iden": "1e443556ba3217c",
-    "notification_id": "-8",
-    "notification_tag": null,
-    "package_name": "com.pushbullet.android",
-    "receiver_email": "[email protected]",
-    "receiver_email_normalized": "[email protected]",
-    "receiver_iden": "ujpah72o0",
-    "sender_email": "[email protected]",
-    "sender_email_normalized": "[email protected]",
-    "sender_iden": "ujpah72o0",
-    "source_device_iden": "ujpah72o0sjAoRtnM0jc",
-    "type": "dismissal"
-  },
-  "type": "push"
-}
- - -

Reacting to tickles

- -
When you receive a tickle message, it means that a resource of the type subtype has changed. This is your cue to update that resource. Here's an example for the pushes type:
- -
On receiving this message:
- -
{
-  "subtype": "push",
-  "type": "tickle"
-}
- - -
Request the pushes that have changed since the last time we received them:
- -
GET https://api.pushbullet.com/v2/pushes?modified_after=1399008037.849
- -
Then merge these updates into your local copy of the push history.
- -
Note: It's best to use the most recently modified local push's modified timestamp when making requests for updates. This will keep the responses small and fast. Additionally, don't trust the local machine's current timestamp because it is inevitably different from the server's timestamp. Use the latest timestamp you have seen on a push object instead. Since pushes are returned with most recently modified first, this will be the first push you get from any call to list-pushes.
-
- -

Ephemerals

- -
You can send arbitrary JSON messages, called "ephemerals", to all devices on your account. Ephemerals are stored for a short period of time (if at all) and are sent directly to devices. Because they are sent directly, there is no "tickle" message like when creating or updating pushes or other objects, the JSON message appears directly in the stream.
-
Ephemerals are used by the Pushbullet apps for notification mirroring and universal copy/paste.
-
Unlike some of the other HTTP endpoints, POST parameters are not supported for ephemerals due to their JSON structure.
- -

Send an ephemeral

- -

Parameters

-
    -
  • type - Must be set to push which is the only type of ephemeral currently.
  • -
  • push - An arbitrary JSON object.
  • -
- -
Example: Send Ephemeral
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"push":{"cat":"meow"},"type":"push"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/ephemerals
Response
{}
- -
Ephemerals respond with an empty JSON object unless there is an error.
- -

Send SMS

- -
You can send an SMS from your phone by sending an ephemeral message to your phone.
- -

SMS Ephemeral

-
    -
  • type - push for send SMS.
  • -
  • push - information about the SMS to send -
      -
    • type - messaging_extension_reply for send SMS.
    • -
    • package_name - com.pushbullet.android for send SMS
    • -
    • source_user_iden - The user iden of the user sending this message.
    • -
    • target_device_iden - The iden of the device corresponding to the phone that should send the SMS.
    • -
    • conversation_iden - Phone number to send the SMS to.
    • -
    • message - The SMS message to send.
    • -
    -
  • -
- -
EXAMPLE
- -
{
-  "push": {
-    "conversation_iden": "+1 303 555 1212",
-    "message": "Hello!",
-    "package_name": "com.pushbullet.android",
-    "source_user_iden": "ujpah72o0",
-    "target_device_iden": "ujpah72o0sjAoRtnM0jc",
-    "type": "messaging_extension_reply"
-  },
-  "type": "push"
-}
- - -

Mirrored Notifications

- -
Mirrored notifications are notifications sent from android devices (currently the only source of mirrored notifications) to other devices. To test these out you can go into the android app's settings screen and hit the button "Send a test notification" while listening to the stream.
- -

Notification Ephemeral

-
    -
  • type - push for mirrored notifications.
  • -
  • push - information about the notification -
      -
    • type - mirror for mirrored notifications.
    • -
    • icon - Base64-encoded JPEG image to use as the icon of the push.
    • -
    • title - The title of the notification.
    • -
    • body - The body of the notification.
    • -
    • source_user_iden - The user iden of the user sending this message.
    • -
    • source_device_iden - The iden of the device sending this message.
    • -
    • application_name - The name of the application that created the notification.
    • -
    • dismissable - True if the notification can be dismissed.
    • -
    • package_name - The package that made the notification, used when updating/dismissing an existing notification.
    • -
    • notification_id - The id of the notification, used when updating/dismissing an existing notification.
    • -
    • notification_tag - The tag of the notification, used when updating/dismissing an existing notification.
    • -
    • has_root - The phone is rooted.
    • -
    • client_version - The client version of the app sending this message.
    • -
    -
  • -
- -
EXAMPLE
- -
{
-  "push": {
-    "application_name": "Pushbullet",
-    "body": "If you see this on your computer, Android-to-PC notifications are working!\n",
-    "client_version": 125,
-    "dismissable": true,
-    "has_root": false,
-    "icon": "(base64_encoded_jpeg)",
-    "notification_id": "-8",
-    "notification_tag": null,
-    "package_name": "com.pushbullet.android",
-    "source_device_iden": "ujpah72o0sjAoRtnM0jc",
-    "source_user_iden": "ujpah72o0",
-    "title": "Mirroring test",
-    "type": "mirror"
-  },
-  "type": "push"
-}
- - -

Dismissal Ephemeral

- -
    -
  • type - "push" for notification dismissals.
  • -
  • push - information about the dismissal. -
      -
    • type - "dismissal" for notification dismissals.
    • -
    • package_name - Set to the package_name field from the mirrored notification.
    • -
    • notification_id - Set to the notification_id field from the mirrored notification.
    • -
    • notification_tag - Set to the notification_tag field from the mirrored notification.
    • -
    • source_user_iden - Set to the source_user_iden field from the mirrored notification.
    • -
    -
  • -
- -
EXAMPLE
- -
{
-  "push": {
-    "notification_id": "-8",
-    "notification_tag": null,
-    "package_name": "com.pushbullet.android",
-    "source_user_iden": "ujpah72o0",
-    "type": "dismissal"
-  },
-  "type": "push"
-}
- - -
Example: Dismiss Notification
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"push":{"notification_id":"-8","notification_tag":null,"package_name":"com.pushbullet.android","source_user_iden":"ujpah72o0","type":"dismissal"},"type":"push"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/ephemerals
Response
{}
- -

Universal Copy/Paste

- -
The Pushbullet apps can monitor the clipboard and send out a message each time the user copies a new text selection, sending it to all the user's devices which can copy it to the system clipboard or otherwise make it available to the user.
- -

Copy a String to the Clipboard

- -

Properties

-
    -
  • type - push for clipboard messages.
  • -
  • push - information about the clipboard message. -
      -
    • type - clip for clipboard messages.
    • -
    • body - The text to copy to the clipboard.
    • -
    • source_user_iden - The iden of the user sending this message.
    • -
    • source_device_iden - The iden of the device sending this message.
    • -
    -
  • -
- -

Example

-
{
-  "push": {
-    "body": "http://www.google.com",
-    "source_device_iden": "ujpah72o0sjAoRtnM0jc",
-    "source_user_iden": "ujpah72o0",
-    "type": "clip"
-  },
-  "type": "push"
-}
- - -
Example: Send Clipboard Content
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"push":{"body":"http://www.google.com","source_device_iden":"ujpah72o0sjAoRtnM0jc","source_user_iden":"ujpah72o0","type":"clip"},"type":"push"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/ephemerals
Response
{}
- -
- - - - - - - - - - - - - -

Chat

-
Chats are created whenever you send a message to someone or a receive a message from them and there is no existing chat between you and the other user.
- - - - -
FieldTypeDescription
idenstringUnique identifier for this object
Example: "ujpah72o0sjAoRtnM0jc"
activeboolfalse if the item has been deleted
Example: true
createdfloatCreation time in floating point seconds (unix timestamp)
Example: 1.381092887398433e+09
modifiedfloatLast modified time in floating point seconds (unix timestamp)
Example: 1.441054560741007e+09
mutedboolIf true, notifications from this chat will not be shown
Example: false
withobjectThe user or email that the chat is with
 ↳ emailstringEmail address of the person
Example: "[email protected]"
 ↳ email_normalizedstringCanonical email address of the person
Example: "[email protected]"
 ↳ idenstringIf this is a user, the iden of that user
Example: "ujlMns72k"
 ↳ image_urlstringImage to display for the person
Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg"
 ↳ typestring"email" or "user"
Example: "user"
 ↳ namestringName of the person
Example: "John Carmack"
Example
{
-  "active": true,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09,
-  "with": {
-    "email": "[email protected]",
-    "email_normalized": "[email protected]",
-    "iden": "ujlMns72k",
-    "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg",
-    "name": "John Carmack",
-    "type": "user"
-  }
-}
-

list-chats

-
Get a list of chats belonging to the current user. If you have a large number of chats, you will need to use Pagination.
-
Call
GET https://api.pushbullet.com/v2/chats
Request
none
Response
FieldTypeDescription
chats[]ChatArray of Chat objects ordered with most recently modified first
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/chats
Response
{
-  "chats": [
-    {
-      "active": true,
-      "created": 1.412047948579029e+09,
-      "iden": "ujpah72o0sjAoRtnM0jc",
-      "modified": 1.412047948579031e+09,
-      "with": {
-        "email": "[email protected]",
-        "email_normalized": "[email protected]",
-        "iden": "ujlMns72k",
-        "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg",
-        "name": "John Carmack",
-        "type": "user"
-      }
-    }
-  ]
-}
-

create-chat

Create a chat with another user or email address if one does not already exist.
Call
POST https://api.pushbullet.com/v2/chats
Request
FieldTypeDescription
emailstringEmail of person to create chat with (does not have to be a Pushbullet user)
Example: "[email protected]"
Response
Chat object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"email":"[email protected]"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/chats
Response
{
-  "active": true,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09,
-  "with": {
-    "email": "[email protected]",
-    "email_normalized": "[email protected]",
-    "iden": "ujlMns72k",
-    "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg",
-    "name": "John Carmack",
-    "type": "user"
-  }
-}
-

update-chat

Update existing chat object.
Call
POST https://api.pushbullet.com/v2/chats/{iden}
Request
FieldTypeDescription
mutedbooltrue to mute the grant, false to unmute it
Example: true
Response
Chat object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"muted":true}' \
-     --request POST \
-     https://api.pushbullet.com/v2/chats/ujpah72o0sjAoRtnM0jc
Response
{
-  "active": true,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412094382919271e+09,
-  "muted": true,
-  "with": {
-    "email": "[email protected]",
-    "email_normalized": "[email protected]",
-    "iden": "ujlMns72k",
-    "image_url": "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg",
-    "name": "John Carmack",
-    "type": "user"
-  }
-}
-

delete-chat

Delete a chat object.
Call
DELETE https://api.pushbullet.com/v2/chats/{iden}
Request
none
Response
none
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --request DELETE \
-     https://api.pushbullet.com/v2/chats/ujpah72o0sjAoRtnM0jc
Response
{}
-
- - - - -

Device

- - -
FieldTypeDescription
idenstringUnique identifier for this object
Example: "ujpah72o0sjAoRtnM0jc"
activeboolfalse if the item has been deleted
Example: true
createdfloatCreation time in floating point seconds (unix timestamp)
Example: 1.381092887398433e+09
modifiedfloatLast modified time in floating point seconds (unix timestamp)
Example: 1.441054560741007e+09
iconstringIcon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system"
Example: "ios"
nicknamestringName to use when displaying the device
Example: "Elon Musk's iPhone"
generated_nicknamebooltrue if the nickname was automatically generated from the manufacturer and model fields (only used for some android phones)
Example: true
manufacturerstringManufacturer of the device
Example: "Apple"
modelstringModel of the device
Example: "iPhone 5s (GSM)"
app_versionintVersion of the Pushbullet application installed on the device
Example: 8623
fingerprintstringString fingerprint for the device, used by apps to avoid duplicate devices. Value is platform-specific.
Example: "nLN19IRNzS5xidPF+X8mKGNRpQo2X6XBgyO30FL6OiQ="
key_fingerprintstringFingerprint for the device's end-to-end encryption key, used to determine which devices the current device (based on its own key fingerprint) will be able to talk to.
Example: "5ae6ec7e1fe681861b0cc85c53accc13bf94c11db7461a2808903f7469bfda56"
push_tokenstringPlatform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix.
Example: "production:f73be0ee7877c8c7fa69b1468cde764f"
has_smsstringtrue if the devices has SMS capability, currently only true for type="android" devices
Example: true
typestringDEPRECATED, use icon field instead. Type of device, can be an arbitrary string. Commonly used values are: "android", "chrome", "firefox", "ios", "windows", "stream", "safari", "mac", "opera", "website"
kindstringDEPRECATED, old name for type
pushableboolDEPRECATED, used to be for partially-initialized type="android" devices
Example
{
-  "active": true,
-  "app_version": 8623,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "manufacturer": "Apple",
-  "model": "iPhone 5s (GSM)",
-  "modified": 1.412047948579031e+09,
-  "nickname": "Elon Musk's iPhone",
-  "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f"
-}
-

list-devices

-
Get a list of devices belonging to the current user. If you have a large number of devices, you will need to use Pagination.
-
Call
GET https://api.pushbullet.com/v2/devices
Request
none
Response
FieldTypeDescription
devices[]DeviceArray of Device objects ordered with most recently modified first
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/devices
Response
{
-  "devices": [
-    {
-      "active": true,
-      "app_version": 8623,
-      "created": 1.412047948579029e+09,
-      "iden": "ujpah72o0sjAoRtnM0jc",
-      "manufacturer": "Apple",
-      "model": "iPhone 5s (GSM)",
-      "modified": 1.412047948579031e+09,
-      "nickname": "Elon Musk's iPhone",
-      "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f"
-    }
-  ]
-}
-

create-device

-
Create a new device.
-
Call
POST https://api.pushbullet.com/v2/devices
Request
FieldTypeDescription
nicknamestringName to use when displaying the device
Example: "Elon Musk's iPhone"
modelstringModel of the device
Example: "iPhone 5s (GSM)"
manufacturerstringManufacturer of the device
Example: "Apple"
push_tokenstringPlatform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix.
Example: "production:f73be0ee7877c8c7fa69b1468cde764f"
app_versionintVersion of the Pushbullet application installed on the device
Example: 8623
iconstringIcon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system"
Example: "ios"
has_smsstringtrue if the devices has SMS capability, currently only true for type="android" devices
Example: true
Response
Device object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"app_version":8623,"manufacturer":"Apple","model":"iPhone 5s (GSM)","nickname":"Elon Musk's iPhone","push_token":"production:f73be0ee7877c8c7fa69b1468cde764f"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/devices
Response
{
-  "active": true,
-  "app_version": 8623,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "manufacturer": "Apple",
-  "model": "iPhone 5s (GSM)",
-  "modified": 1.412047948579031e+09,
-  "nickname": "Elon Musk's iPhone",
-  "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f"
-}
-

update-device

-
Update an existing device.
-
Call
POST https://api.pushbullet.com/v2/devices/{iden}
Request
FieldTypeDescription
nicknamestringName to use when displaying the device
Example: "Elon Musk's iPhone"
modelstringModel of the device
Example: "iPhone 5s (GSM)"
manufacturerstringManufacturer of the device
Example: "Apple"
push_tokenstringPlatform-specific push token. Normally a prefix followed by an identifier. Prefixes are set per-app, if you want to receive push notifications in your app, contact [email protected] with your push backend credentials to get a prefix.
Example: "production:f73be0ee7877c8c7fa69b1468cde764f"
app_versionintVersion of the Pushbullet application installed on the device
Example: 8623
iconstringIcon to use for this device, can be an arbitrary string. Commonly used values are: "desktop", "browser", "website", "laptop", "tablet", "phone", "watch", "system"
Example: "ios"
has_smsstringtrue if the devices has SMS capability, currently only true for type="android" devices
Example: true
Response
Device object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"nickname":"Work Phone"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/devices/ujpah72o0sjAoRtnM0jc
Response
{
-  "active": true,
-  "app_version": 8623,
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "manufacturer": "Apple",
-  "model": "iPhone 5s (GSM)",
-  "modified": 1.412094382919271e+09,
-  "nickname": "Work Phone",
-  "push_token": "production:f73be0ee7877c8c7fa69b1468cde764f"
-}
-

delete-device

-
Delete a device.
-
Call
DELETE https://api.pushbullet.com/v2/devices
Request
none
Response
none
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --request DELETE \
-     https://api.pushbullet.com/v2/devices/ujpah72o0sjAoRtnM0jc
Response
{}
-
- - - - -

Push

-
A Push.
- - - - -
FieldTypeDescription
idenstringUnique identifier for this object
Example: "ujpah72o0sjAoRtnM0jc"
activeboolfalse if the item has been deleted
Example: true
createdfloatCreation time in floating point seconds (unix timestamp)
Example: 1.381092887398433e+09
modifiedfloatLast modified time in floating point seconds (unix timestamp)
Example: 1.441054560741007e+09
typestringType of the push, one of "note", "file", "link".
Example: "note"
dismissedbooltrue if the push has been dismissed by any device or if any device was active when the push was received
Example: false
guidstringUnique identifier set by the client, used to identify a push in case you receive it from /v2/everything before the call to /v2/pushes has completed. This should be a unique value. Pushes with guid set are mostly idempotent, meaning that sending another push with the same guid is unlikely to create another push (it will return the previously created push).
Example: "993aaa48567d91068e96c75a74644159"
directionstringDirection the push was sent in, can be "self", "outgoing", or "incoming"
Example: "self"
sender_idenstringUser iden of the sender
Example: "ujpah72o0"
sender_emailstringEmail address of the sender
Example: "[email protected]"
sender_email_normalizedstringCanonical email address of the sender
Example: "[email protected]"
sender_namestringName of the sender
Example: "Elon Musk"
receiver_idenstringUser iden of the receiver
Example: "ujpah72o0"
receiver_emailstringEmail address of the receiver
Example: "[email protected]"
receiver_email_normalizedstringCanonical email address of the receiver
Example: "[email protected]"
target_device_idenstringDevice iden of the target device, if sending to a single device
Example: "ujpah72o0sjAoRtnM0jc"
source_device_idenstringDevice iden of the sending device. Optionally set by the sender when creating a push
Example: "ujpah72o0sjAoRtnM0jc"
client_idenstringIf the push was created by a client, set to the iden of that client.
Example: "ujpah72o0sjAoRtnM0jc"
channel_idenstringIf the push was created by a channel, set to the iden of that channel
Example: "ujpah72o0sjAoRtnM0jc"
awake_app_guids[]stringList of guids (client side identifiers, not the guid field on pushes) for awake apps at the time the push was sent. If the length of this list is > 0, dismissed will be set to true and the awake app(s) must decide what to do with the notification
Example: ["web-2d8cdf2a2b9b","web-cdb2313c74e"]
titlestringTitle of the push, used for all types of pushes
Example: "Space Travel Ideas"
bodystringBody of the push, used for all types of pushes
Example: "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)"
urlstringURL field, used for type="link" pushes
Example: "http://www.teslamotors.com/"
file_namestringFile name, used for type="file" pushes
Example: "john.jpg"
file_typestringFile mime type, used for type="file" pushes
Example: "image/jpeg"
file_urlstringFile download url, used for type="file" pushes
Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg"
image_urlstringURL to an image to use for this push, present on type="file" pushes if file_type matches image/*
Example: "https://lh3.googleusercontent.com/mrrz35lLbiYAz8ejkJcpdsYhN3tMEtrXxj93k_gQPin4GfdDjVy2Bj26pOGrpFQmAM7OFBHcDfdMjrScg3EUIJrgJeY"
image_widthintWidth of image in pixels, only present if image_url is set
Example: 322
image_heightintHeight of image in pixels, only present if image_url is set
Example: 484
Example
{
-  "active": true,
-  "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)",
-  "created": 1.412047948579029e+09,
-  "direction": "self",
-  "dismissed": false,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09,
-  "receiver_email": "[email protected]",
-  "receiver_email_normalized": "[email protected]",
-  "receiver_iden": "ujpah72o0",
-  "sender_email": "[email protected]",
-  "sender_email_normalized": "[email protected]",
-  "sender_iden": "ujpah72o0",
-  "sender_name": "Elon Musk",
-  "title": "Space Travel Ideas",
-  "type": "note"
-}
-

list-pushes

-
Request push history.
-
Call
GET https://api.pushbullet.com/v2/pushes
Request
FieldTypeDescription
modified_afterstringRequest pushes modified after this timestamp
Example: 1.4e+09
activestringDon't return deleted pushes
Example: true
cursorstringCursor for getting multiple pages of pushes, see Pagination
Example: "3eae6fa796b06b51b7bd6ad824b9b63b"
limitintegerLimit on the number of results returned, see Pagination
Example: 10
Response
FieldTypeDescription
pushes[]PushArray of Push objects ordered with most recently modified first
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --data-urlencode active="true" \
-     --data-urlencode modified_after="1.4e+09" \
-     --get \
-     https://api.pushbullet.com/v2/pushes
Response
{
-  "pushes": [
-    {
-      "active": true,
-      "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)",
-      "created": 1.412047948579029e+09,
-      "direction": "self",
-      "dismissed": false,
-      "iden": "ujpah72o0sjAoRtnM0jc",
-      "modified": 1.412047948579031e+09,
-      "receiver_email": "[email protected]",
-      "receiver_email_normalized": "[email protected]",
-      "receiver_iden": "ujpah72o0",
-      "sender_email": "[email protected]",
-      "sender_email_normalized": "[email protected]",
-      "sender_iden": "ujpah72o0",
-      "sender_name": "Elon Musk",
-      "title": "Space Travel Ideas",
-      "type": "note"
-    }
-  ]
-}
-

create-push

-
Send a push to a device or another person.
- -

Target Parameters

-
Each push has a target, if you don't specify a target, we will broadcast it to all of the user's devices. Only one target may be specified.
-
    -
  • device_iden - Send the push to a specific device. Appears as target_device_iden on the push. You can find this using the /v2/devices call.
  • -
  • email - Send the push to this email address. If that email address is associated with a Pushbullet user, we will send it directly to that user, otherwise we will fallback to sending an email to the email address (this will also happen if a user exists but has no devices registered).
  • -
  • channel_tag - Send the push to all subscribers to your channel that has this tag.
  • -
  • client_iden - Send the push to all users who have granted access to your OAuth client that has this iden.
  • -
- -

Parameters for different types of pushes

-
    -
  • - Note -
      -
    • type - Set to note
    • -
    • title - The note's title.
    • -
    • body - The note's message.
    • -
    -
  • -
  • - Link -
      -
    • type - Set to link
    • -
    • title - The link's title.
    • -
    • body - A message associated with the link.
    • -
    • url - The url to open.
    • -
    -
  • -
  • - File -
      -
    • type - Set to file
    • -
    • body - A message to go with the file.
    • -
    • file_name - The name of the file.
    • -
    • file_type - The MIME type of the file.
    • -
    • file_url - The url for the file. See pushing files for how to get a file_url
    • -
    -
  • -
- -

Push a file

- -
Pushing files is a two-part process: first the file needs to be uploaded, then a push needs to be sent for that file.
- -
To upload a new file, use upload-request.
- -
Once the file has been uploaded, set the file_name, file_url, and file_type returned in the response to the upload request as the parameters for a new push with type="file".
-
Call
POST https://api.pushbullet.com/v2/pushes
Request
FieldTypeDescription
typestringType of the push, one of "note", "file", "link".
Example: "note"
titlestringTitle of the push, used for all types of pushes
Example: "Space Travel Ideas"
bodystringBody of the push, used for all types of pushes
Example: "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)"
urlstringURL field, used for type="link" pushes
Example: "http://www.teslamotors.com/"
file_namestringFile name, used for type="file" pushes
Example: "john.jpg"
file_typestringFile mime type, used for type="file" pushes
Example: "image/jpeg"
file_urlstringFile download url, used for type="file" pushes
Example: "https://dl.pushbulletusercontent.com/foGfub1jtC6yYcOMACk1AbHwTrTKvrDc/john.jpg"
source_device_idenstringDevice iden of the sending device. Optional.
Example: "ujpah72o0sjAoRtnM0jc"
device_idenstringDevice iden of the target device, if sending to a single device. Appears as target_device_iden on the push.
Example: "ujpah72o0sjAoRtnM0jc"
client_idenstringClient iden of the target client, sends a push to all users who have granted access to this client. The current user must own this client.
Example: "ujpah72o0sjAoRtnM0jc"
channel_tagstringChannel tag of the target channel, sends a push to all people who are subscribed to this channel. The current user must own this channel.
emailstringEmail address to send the push to. If there is a pushbullet user with this address, they get a push, otherwise they get an email.
Example: "[email protected]"
guidstringUnique identifier set by the client, used to identify a push in case you receive it from /v2/everything before the call to /v2/pushes has completed. This should be a unique value. Pushes with guid set are mostly idempotent, meaning that sending another push with the same guid is unlikely to create another push (it will return the previously created push).
Example: "993aaa48567d91068e96c75a74644159"
Response
Push object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"body":"Space Elevator, Mars Hyperloop, Space Model S (Model Space?)","title":"Space Travel Ideas","type":"note"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/pushes
Response
{
-  "active": true,
-  "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)",
-  "created": 1.412047948579029e+09,
-  "direction": "self",
-  "dismissed": false,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09,
-  "receiver_email": "[email protected]",
-  "receiver_email_normalized": "[email protected]",
-  "receiver_iden": "ujpah72o0",
-  "sender_email": "[email protected]",
-  "sender_email_normalized": "[email protected]",
-  "sender_iden": "ujpah72o0",
-  "sender_name": "Elon Musk",
-  "title": "Space Travel Ideas",
-  "type": "note"
-}
-

update-push

-
Update a push.
-
Call
POST https://api.pushbullet.com/v2/pushes/{iden}
Request
FieldTypeDescription
dismissedboolMarks a push as having been dismissed by the user, will cause any notifications for the push to be hidden if possible.
Example: true
Response
Push object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"dismissed":true}' \
-     --request POST \
-     https://api.pushbullet.com/v2/pushes/ujpah72o0sjAoRtnM0jc
Response
{
-  "active": true,
-  "body": "Space Elevator, Mars Hyperloop, Space Model S (Model Space?)",
-  "created": 1.412047948579029e+09,
-  "direction": "self",
-  "dismissed": true,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412094382919271e+09,
-  "receiver_email": "[email protected]",
-  "receiver_email_normalized": "[email protected]",
-  "receiver_iden": "ujpah72o0",
-  "sender_email": "[email protected]",
-  "sender_email_normalized": "[email protected]",
-  "sender_iden": "ujpah72o0",
-  "sender_name": "Elon Musk",
-  "title": "Space Travel Ideas",
-  "type": "note"
-}
-

delete-push

-
Delete a push.
-
Call
DELETE https://api.pushbullet.com/v2/pushes/{iden}
Request
none
Response
none
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --request DELETE \
-     https://api.pushbullet.com/v2/pushes/ujpah72o0sjAoRtnM0jc
Response
{}
-

delete-all-pushes

Delete all pushes belonging to the current user. This call is asynchronous, the pushes will be deleted after the call returns.
Call
DELETE https://api.pushbullet.com/v2/pushes
Request
none
Response
none
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --request DELETE \
-     https://api.pushbullet.com/v2/pushes
Response
{}
- - -
- -

Subscription

-
Subscribe to channels to receive any updates pushed to that channel.
-
Channels can be created on the website. Each channel has a unique tag to identify it. When you push to a channel, all people subscribed to that channel will receive a push.
-
To push to a channel, use the channel_tag parameter on create-push
-
FieldTypeDescription
idenstringUnique identifier for this object
Example: "ujpah72o0sjAoRtnM0jc"
activeboolfalse if the item has been deleted
Example: true
createdfloatCreation time in floating point seconds (unix timestamp)
Example: 1.381092887398433e+09
modifiedfloatLast modified time in floating point seconds (unix timestamp)
Example: 1.441054560741007e+09
mutedboolIf true, notifications from this subscription will not be shown
Example: false
channelobjectInformation about the channel that is being subscribed to
 ↳ idenstringUnique identifier for the channel
Example: "ujpah72o0sjAoRtnM0jc"
 ↳ tagstringUnique tag for this channel
Example: "elonmusknews"
 ↳ namestringName of the channel
Example: "Elon Musk News"
 ↳ descriptionstringDescription of the channel
Example: "News about Elon Musk."
 ↳ image_urlstringImage for the channel
Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg"
 ↳ website_urlstringLink to a website for the channel
Example: "https://twitter.com/elonmusk"
Example
{
-  "active": true,
-  "channel": {
-    "description": "News about Elon Musk.",
-    "iden": "ujxPklLhvyKsjAvkMyTVh6",
-    "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg",
-    "name": "Elon Musk News",
-    "tag": "elonmusknews"
-  },
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09,
-  "muted": false
-}
-

list-subscriptions

-
Get a list of subscriptions belonging to the current user. If you have a large number of subscriptions, you will need to use Pagination.
-
Call
GET https://api.pushbullet.com/v2/subscriptions
Request
none
Response
FieldTypeDescription
subscriptions[]SubscriptionArray of Subscription objects ordered with most recently modified first
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/subscriptions
Response
{
-  "subscriptions": [
-    {
-      "active": true,
-      "channel": {
-        "description": "News about Elon Musk.",
-        "iden": "ujxPklLhvyKsjAvkMyTVh6",
-        "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg",
-        "name": "Elon Musk News",
-        "tag": "elonmusknews"
-      },
-      "created": 1.412047948579029e+09,
-      "iden": "ujpah72o0sjAoRtnM0jc",
-      "modified": 1.412047948579031e+09
-    }
-  ]
-}
-

create-subscription

Call
POST https://api.pushbullet.com/v2/subscriptions
Request
FieldTypeDescription
channel_tagstringUnique tag for the channel to subscribe to
Example: "elonmusknews"
Response
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"channel_tag":"elonmusknews"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/subscriptions
Response
{
-  "active": true,
-  "channel": {
-    "description": "News about Elon Musk.",
-    "iden": "ujxPklLhvyKsjAvkMyTVh6",
-    "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg",
-    "name": "Elon Musk News",
-    "tag": "elonmusknews"
-  },
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412047948579031e+09
-}
-

update-subscription

Call
POST https://api.pushbullet.com/v2/subscriptions/{iden}
Request
FieldTypeDescription
mutedbooltrue to mute the subscription, false to unmute it
Example: true
Response
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"muted":true}' \
-     --request POST \
-     https://api.pushbullet.com/v2/subscriptions/ujpah72o0sjAoRtnM0jc
Response
{
-  "active": true,
-  "channel": {
-    "description": "News about Elon Musk.",
-    "iden": "ujxPklLhvyKsjAvkMyTVh6",
-    "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg",
-    "name": "Elon Musk News",
-    "tag": "elonmusknews"
-  },
-  "created": 1.412047948579029e+09,
-  "iden": "ujpah72o0sjAoRtnM0jc",
-  "modified": 1.412094382919271e+09,
-  "muted": true
-}
-

delete-subscription

Unsubscribe from a channel.
Call
DELETE https://api.pushbullet.com/v2/subscriptions/{iden}
Request
none
Response
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --request DELETE \
-     https://api.pushbullet.com/v2/subscriptions/ujpah72o0sjAoRtnM0jc
Response
{}
-

channel-info

Get information about a channel.
Call
GET https://api.pushbullet.com/v2/channel-info
Request
FieldTypeDescription
tagstringTag of the channel to get information for
Example: "elonmusknews"
no_recent_pushesboolDon't show recent pushes, defaults to false
Example: true
Response
FieldTypeDescription
idenstringUnique identifier for the channel
Example: "ujpah72o0sjAoRtnM0jc"
namestringName of the channel
Example: "Elon Musk News"
descriptionstringDescription of the channel
Example: "News about Elon Musk"
image_urlstringImage to display for the channel
Example: "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg"
subscriber_countintNumber of subscribers to the channel
Example: 9382239
tagstringGlobally unique identifier for the channel, chosen by the channel creator
Example: "elonmusknews"
recent_pushes[]PushArray of recent Push objects sent on the channel
Example
Request
curl --data-urlencode no_recent_pushes="true" \
-     --data-urlencode tag="elonmusknews" \
-     --get \
-     https://api.pushbullet.com/v2/channel-info
Response
{
-  "active": true,
-  "created": 1.412047948579029e+09,
-  "description": "News about Elon Musk.",
-  "iden": "ujxPklLhvyKsjAvkMyTVh6",
-  "image_url": "https://dl.pushbulletusercontent.com/StzRmwdkIe8gluBH3XoJ9HjRqjlUYSf4/musk.jpg",
-  "modified": 1.412047948579031e+09,
-  "name": "Elon Musk News",
-  "subscriber_count": 9.382239e+06,
-  "tag": "elonmusknews"
-}
-
- - - - - - - - - - -

User

-
FieldTypeDescription
idenstringUnique identifier for the current user
Example: "ujpah72o0"
createdfloatCreation time in floating point seconds (unix timestamp)
Example: 1.381092887398433e+09
modifiedfloatLast modified time in floating point seconds (unix timestamp)
Example: 1.441054560741007e+09
emailstringEmail address
Example: "[email protected]"
email_normalizedstringCanonical email address
Example: "[email protected]"
namestringFull name if available
Example: "Elon Musk"
image_urlstringURL for image of user or placeholder image
Example: "https://static.pushbullet.com/missing-image/55a7dc-45"
max_upload_sizeintMaximum upload size in bytes
Example: 26214400
referred_countintNumber of users referred by this user
Example: 2
referrer_idenstringUser iden for the user that referred the current user, if set
Example: "ujlxm0aiz2"
Example
{
-  "created": 1.381092887398433e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0",
-  "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45",
-  "max_upload_size": 2.62144e+07,
-  "modified": 1.441054560741007e+09,
-  "name": "Elon Musk"
-}
-

get-user

Gets the currently logged in user.
Call
GET https://api.pushbullet.com/v2/users/me
Request
none
Response
User object
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     https://api.pushbullet.com/v2/users/me
Response
{
-  "created": 1.381092887398433e+09,
-  "email": "[email protected]",
-  "email_normalized": "[email protected]",
-  "iden": "ujpah72o0",
-  "image_url": "https://static.pushbullet.com/missing-image/55a7dc-45",
-  "max_upload_size": 2.62144e+07,
-  "modified": 1.441054560741007e+09,
-  "name": "Elon Musk"
-}
-
- - - - -

Upload

-
To upload a file you need to call upload-request with the file name and type. After you get an upload_url from the response, you can upload the file contents using multipart/form-data encoding.
- -
EXAMPLE REQUEST
- -
-curl -i -X POST https://upload.pushbullet.com/upload-legacy/a5e1776d2566a6b16032958697288df4 \
-  -F [email protected]
-
- - -
EXAMPLE RESPONSE
- -
-HTTP/1.1 204 No Content
-
- - -
After the request completes, the file will be available at the file_url from the upload-request response.
- -

upload-request

-
Request authorization to upload a file.
-
Call
POST https://api.pushbullet.com/v2/upload-request
Request
FieldTypeDescription
file_namestringThe name of the file you want to upload
Example: "cat.jpg"
file_typestringThe MIME type of the file
Example: "image/jpeg"
Response
FieldTypeDescription
file_namestringThe file name that will be used for the file (may be truncated from the original file_name.
file_typestringThe file type that will be used for the file (may be different from the one provided to upload-request.
file_urlstringThe URL where the file will be available after it is uploaded.
upload_urlstringThe URL to POST the file to. The file must be posted using multipart/form-data encoding.
dataobjectDEPRECATED
Example
Request
curl --header 'Access-Token: <your_access_token_here>' \
-     --header 'Content-Type: application/json' \
-     --data-binary '{"file_name":"cat.jpg","file_type":"image/jpeg"}' \
-     --request POST \
-     https://api.pushbullet.com/v2/upload-request
Response
{
-  "file_name": "cat.jpg",
-  "file_type": "image/jpeg",
-  "file_url": "https://dl.pushbulletusercontent.com/034f197bc6c37cac3cc03542659d458b/cat.jpg",
-  "upload_url": "https://upload.pushbullet.com/upload-legacy/a5e1776d2566a6b16032958697288df4"
-}
- - -
- - - - - - - - - - - - - -

iPhone Extensions

- -

Pushbullet URL Handler

-
The iPhone app has a url handler, pushbullet:// that can be used to compose pushes like so:
- -
-  pushbullet://compose?type=note&body=Hello
-
- -
compose is the only option right now, but a few push types can be constructed (make sure to urlencode any parameters):
- -
-  pushbullet://compose?type=link&url=https%3A%2F%2Fwww.pushbullet.com
-  pushbullet://compose?type=address&address=850%20Bryant%20St
-
- -
Only type="note" and type="link" are supported for now (and their parameters are the same as in create-push).
- -

Open in Pushbullet

-
If you use a UIDocumentInteractionController to preview a file, when the user selects "Open In..." for most file types, Pushbullet should show up in the list of applications.
- -
If the user selects the Pushbullet app, the app should open with a new compose window for a type="file" push with the provided file attached.
- -

Feedback

- -
- -

Changelog

-

β€’ Removed address and list pushes which have been deprecated for forever.

β€’ Fixed curl link for windows.

β€’ Removed Android Extension section, as this has been replaced with Android Wear integration, the Android Extension is no longer needed.

β€’ New style for docs.
β€’ Removed Contacts calls as the official apps no longer user Contacts. These have been replaced with the Chat objects.

β€’ Added a run button to execute javascript snippets.

β€’ Added information on encryption in End-to-End Encryption.
β€’ Added new auth header Access-Token to Requests, removed mention of older auth headers.
β€’ Removed outdated information from Resizing Images.

β€’ Added information about ratelimiting.

β€’ Added Send SMS using ephemerals.
β€’ Updated Resizing Images to mention new resizing method and remove old ones.

β€’ Removed mention of HTTP Basic Auth, it's more confusing than setting an Authorization header.

β€’ Added a note about Backwards Compatibility.

β€’ Added a call to delete all pushes.
-
- - - - - - - - - - - - - - diff --git a/resources/api/oauth.png b/resources/api/oauth.png deleted file mode 100644 index eff5cf59f4c0746643f9ae9bfe5a546aeda0c6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147209 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�d; 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 NQ6VY8!k4c-{~v8a;x+&P diff --git a/resources/api/window.pb.js b/resources/api/window.pb.js deleted file mode 100644 index 28f99522..00000000 --- a/resources/api/window.pb.js +++ /dev/null @@ -1,8977 +0,0 @@ -{ - VERSION: 159, - DEBUG: false, - API_SERVER: 'https://api.pushbullet.com', - LOG_SERVER: 'https://ocelot.pushbullet.com', - AUTH_REDIRECT_URI: 'https://www.pushbullet.com/', - rand_iden: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - in_frame: false, - db: { - VERSION: 10, - version_guard: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - check: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - local_storage: true, - get: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get_simple: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set_simple: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - del_simple: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - space: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - json_parse: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - URLS: { - android: 'https://play.google.com/store/apps/details?id=com.pushbullet.android&referrer=utm_source%3Dpushbullet.com', - chrome: 'https://chrome.google.com/webstore/detail/chlffgpmiacpedhhbkiomidkjlcfhogd', - firefox: 'https://addons.mozilla.org/en-US/firefox/addon/pushbullet/versions/', - windows: 'https://update.pushbullet.com/pushbullet_installer.exe', - ios: 'https://itunes.apple.com/us/app/pushbullet/id810352052?ls=1&mt=8', - mac: 'https://itunes.apple.com/us/app/pushbullet-from-pushbullet/id948415170?ls=1&mt=12', - safari: 'http://update.pushbullet.com/extension.safariextz', - opera: 'https://addons.opera.com/en/extensions/details/pushbullet/' - }, - get_app: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get_extension: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set_extention_cookie: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set_desktop_cookie: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - api: { - bootstrapping: false, - bootstrap_error: false, - bootstrap: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - suites: [DeviceApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - }, - [length]: 4 - ], - objs: { - ujvtzF2Qop2sjBtEMiFVwO: { - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, - ujvtzF2Qop2sjxCp1apWJE: { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, - ujvtzF2Qop2sjArwKu3PfE: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - ujvtzF2Qop2sjCY70GSshM: { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - ContactsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - ChatsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - }, - [length]: 1 - ], - objs: { - ujvtzF2Qop2sjCOp72nbBA: { - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - ClientsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - GrantsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - [length]: 3 - ], - objs: { - ujvtzF2Qop2sjz6R0L02a4: { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - ujvtzF2Qop2sjCIv4E5NiC: { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - ujvtzF2Qop2sjz7O3P0Jl6: { - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - ChannelsApiSuite { - exists: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - info: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - SubscriptionsApiSuite { - is_subscribed: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - unsubscribe: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - subscribe: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - [length]: 2 - ], - objs: { - ujvtzF2Qop2sjActWZfUVE: { - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, - ujvtzF2Qop2sjAjaNQ5YKi: { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - BlocksApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - PushesApiSuite { - do_push_queue: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjAhrOjgXaC', - created: 1484217200.545822, - modified: 1484217200.562691, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - url: 'https://gizadeathstar.com/2017/01/news-views-nefarium-jan-12-2017/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzYKMmqsvI', - created: 1484217046.7953322, - modified: 1484217046.80634, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', - 'web-9tcuu1g0e38gl4dutm9qe8', [length]: 2 - ], - title: 'Repo | attachments: correctly open google plus contents fixes #535', - url: 'https://github.com/yakyak/yakyak/commit/3861311e74d9faee38fb748040411b8541e77b73' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxAB0m0oIS', - created: 1484216668.555784, - modified: 1484216668.5660381, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://nixgut.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCQKtrZ552', - created: 1484216668.11878, - modified: 1484216668.146403, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Burka Verbot in Marokko', - url: 'https://nixgut.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxqsHPQVpc', - created: 1484216594.745331, - modified: 1484216594.765812, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | heise-Angebot: M: Neue Konferenz zu maschinellem Lernen in London', - url: 'https://www.heise.de/developer/meldung/M3-Neue-Konferenz-zu-maschinellem-Lernen-in-London-3593637.html?wt_mc=rss.developer.beitrag.atom' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCXR6AlW5Q', - created: 1484216594.296059, - modified: 1484216594.395126, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Macht euch nackig Kameraden: Von der Leyen veranstaltet Sex-Seminar bei der Bundeswehr Zahlen geschΓΆnt? Die Polizei in Oberhausen verschwieg in ihrer Statistik zahlreiche EinbrΓΌche Tschechien: PrΓ€sident Zeman ruft zum Selbstschutz gegen den muslimischen Super-Holocaust auf (Zeitgeschichte)', - url: 'http://service-rh.de/index.php/news/8101/Neuste+Nachrichten/january-12-2017/%2B%2B%2B+Macht+euch+nackig%2C+Kameraden%3A+Von+der+Leyen+veranstaltet+Sex-Seminar+bei+der+Bundeswehr+%2B%2B%2B+Zahlen+gesch%C3%B6nt%3F+Die+Polizei+in+Oberhausen+verschwieg+in+ihrer+Statistik+zahlreiche+Einbr%C3%BCche+%2B%2B%2B+Tschechien%3A+Pr%C3%A4sident+Zeman+ruft+zum+Selbstschutz+gegen+den+%C2%BBmuslimischen+Super-Holocaust%C2%AB+auf+%2B%2B%2B+%28Zeitgeschichte%29' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAz8n77YE8', - created: 1484216593.7796962, - modified: 1484216593.802285, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Aufgedeckt: FlΓΌchtlinge verΓΌben 556.000 Straftaten Medien und Politiker schweigen', - url: 'http://service-rh.de/index.php/news/8102/Neuste+Nachrichten/january-12-2017/Aufgedeckt%3A+Fl%C3%BCchtlinge+ver%C3%BCben+556-000+Straftaten+%E2%80%93+Medien+und+Politiker+schweigen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAeN1Ml7GS', - created: 1484216593.340408, - modified: 1484216593.3952131, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://service-rh.de/index.php/news/8103/Neuste+Nachrichten/january-12-2017/LEGIDA%3A+Polizei+stoppt+Live-%C3%9Cbertragung+von+RT+%E2%80%93+Begr%C3%BCndung%3A+Kamera+angeblich+geklaut' - }, { - active: true, - iden: 'ujvtzF2Qop2sjApQNENvS8', - created: 1484216592.8537018, - modified: 1484216592.866861, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Microsoft accidentally pushes out Windows 10 Mobile 14998 to some fast ring insiders', - url: 'https://mspoweruser.com/microsoft-accidentally-pushes-windows-10-mobile-14998-fast-ring-insiders/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz5m4f2elM', - created: 1484216366.2777321, - modified: 1484216834.496767, - type: 'note', - dismissed: true, - guid: '5278F86E-FE47-4D7A-8891-CC076B4DBC3B', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - source_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - body: ' sidney.bofah@googlemail.comi' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAvoZ6Y5EO', - created: 1484216253.1199481, - modified: 1484216253.126132, - type: 'note', - dismissed: false, - guid: 'C1E58D25-9C2D-4639-AFB1-6677A7849461', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'fgg' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz9fPkaxVc', - created: 1484215994.074692, - modified: 1484215994.148746, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Disk Drill PRO 3: take 70% off a lifetime of data recovery and loss prevention', - url: 'http://www.idownloadblog.com/2017/01/12/disk-drill-pro-3-take-70-off-a-lifetime-of-data-recovery-and-loss-prevention/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwcg35MqGa', - created: 1484215993.7876859, - modified: 1484215993.8281019, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Ex-Apple-Automatisierungschef fΓΌrchtet Ende von macOS-Scripting', - url: 'https://www.heise.de/mac-and-i/meldung/Ex-Apple-Automatisierungschef-fuerchtet-Ende-von-macOS-Scripting-3594306.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkKJb46vs', - created: 1484215993.3963368, - modified: 1484215993.413147, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Gartner: Apple wird Microsoft 2017 bei Betriebssystemen ΓΌberholen', - url: 'https://www.heise.de/mac-and-i/meldung/Gartner-Apple-wird-Microsoft-2017-bei-Betriebssystemen-ueberholen-3594290.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzZW17G7A4', - created: 1484215993.013216, - modified: 1484215993.023854, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Black Energy: Wieder Malware-Angriff auf Stromnetz in der Ukraine', - url: 'http://www.golem.de/news/black-energy-wieder-malware-angriff-auf-stromnetz-in-der-ukraine-1701-125535.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxNAhRRCX6', - created: 1484215887.7496378, - modified: 1484215887.7539399, - type: 'note', - dismissed: false, - guid: '83A33E9F-5AE6-434C-82BB-DE135316F934', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'sextop' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxnJYemxGe', - created: 1484215402.802369, - modified: 1484215402.8268101, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | New Book US Navys Secret Space Program & Nordic Extraterrestrial Alliance', - url: 'http://exopolitics.org/new-book-us-navys-secret-space-program-nordic-extraterrestrial-alliance/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxDDm082gu', - created: 1484215402.315775, - modified: 1484215402.367442, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | HARVARD AND YALE OPEN SHARIA LAW STUDIES', - url: 'https://gizadeathstar.com/2017/01/harvard-yale-open-sharia-law-studies/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAxLG7yw9Y', - created: 1484215111.3011131, - modified: 1484215111.360401, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', - 'web-db8l4oav7p55l27ukvf0g', [length]: 2 - ], - title: 'News | Zeit fΓΌr RΓΌcktritte', - url: 'https://jungefreiheit.de/debatte/streiflicht/2017/zeit-fuer-ruecktritte/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAb1VygkN2', - created: 1484214800.274341, - modified: 1484214800.2908642, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Mexico's president: We will not pay for the wall', - url: 'http://thehill.com/policy/international/313917-mexicos-president-we-will-not-pay-for-the-wall' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxZ5rfWbZY', - created: 1484214495.6558578, - modified: 1484214495.683757, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Michelle Obama: Last days as first lady surprisingly emotional', - url: 'http://thehill.com/homenews/news/michelle-obama-thank-you-notes-jimmy-fallon-tonight-show' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBgXmE827E', - created: 1484211206.3512042, - modified: 1484214256.02209, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Burka Verbot in Marokko', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, { - active: true, - iden: 'ujvtzF2Qop2sjC6izlQM6C', - created: 1484210895.0632079, - modified: 1484214256.167936, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Das SturmgeschΓΌtz der Demokratie und die Steuerung der Lesermeinung', - url: 'http://www.achgut.com/artikel/das_sturmgeschuetz_der_demokratie_und_die_steuerung_der_lesermeinung' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxRmpx7GIm', - created: 1484210894.277434, - modified: 1484214256.090809, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Obama-Bilanz: Ein Showstar des Guten', - url: 'http://www.achgut.com/artikel/obama_bilanz_ein_showstar_des_guten' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwtLHumqvQ', - created: 1484210315.152873, - modified: 1484214256.083507, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Google: Android Wear 2.0 erscheint Anfang Februar', - url: 'http://www.golem.de/news/google-android-wear-2-0-erscheint-anfang-februar-1701-125534.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAhZi9Ywnc', - created: 1484208427.6172428, - modified: 1484214256.001589, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Release | FolderIco 5.1', - url: 'https://www.giveawayoftheday.com/folderico-5/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBhdiGQrSK', - created: 1484208062.321517, - modified: 1484214256.1229482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | 11.2.5', - url: 'https://github.com/electron-userland/electron-builder/releases/tag/v11.2.5' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAggeJZuPQ', - created: 1484206091.182157, - modified: 1484214256.053671, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | What Does The Future Hold For \'Average Joes\'? (Spoiler Alert: Feudalism)', - url: 'http://www.zerohedge.com/news/2017-01-11/what-does-future-hold-average-joes-spoiler-alert-feudalism' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAoyp9DZ2y', - created: 1484205489.363415, - modified: 1484214256.00026, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://www.anonymousnews.ru/2017/01/12/legida-polizei-stoppt-live-uebertragung-von-rt-begruendung-kamera-ist-geklaut/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwv9rxUD5E', - created: 1484205191.370235, - modified: 1484214256.104903, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | LED-Arbeits-Handschuh fΓΌr 308', - url: 'https://www.china-gadgets.de/led-arbeits-handschuhe/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjC5lTVXgKO', - created: 1484204600.915172, - modified: 1484214256.0007539, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwfR9TfmFg', - created: 1484204012.67947, - modified: 1484214256.168886, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wie weit werden unsere Eliten noch gehen um die Macht nicht zu verlieren?', - url: 'https://nixgut.wordpress.com/2017/01/11/wie-weit-werden-unsere-eliten-noch-gehen-um-die-macht-nicht-zu-verlieren/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAueMVF2Pc', - created: 1484204011.976248, - modified: 1484214256.0021482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Akif Pirincci: Bigamie 2.0 Syrische SpermiumkΓΌnstler auf der Suche nach blonden Muschis', - url: 'https://nixgut.wordpress.com/2017/01/11/akif-pirincci-bigamie-2-0-syrische-spermiumknstler-auf-der-suche-nach-blonden-muschis/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCBpsBeNKC', - created: 1484204011.319115, - modified: 1484214255.999685, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Englischer Polizist: Wir mΓΌssen islamische FΓΌhrer um Erlaubnis fragen wenn wir auf Streife gehen wollen.', - url: 'https://nixgut.wordpress.com/2017/01/11/englischer-polizist-wir-muessen-islamische-fuehrer-um-erlaubnis-fragen-wenn-wir-auf-streife-gehen-wollen/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxvyeTzXMa', - created: 1484204010.911499, - modified: 1484214256.000242, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Antifa lockert Radmuttern an Rettungswagen und nimmt den Tod von Menschen in Kauf', - url: 'https://nixgut.wordpress.com/2017/01/11/antifa-entdeckt-die-ausrottung-der-deutschen-fuer-sich/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxxLFBESWq', - created: 1484202193.164877, - modified: 1484214255.9996889, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Audio Tube v1.7', - url: 'http://www.sinfuliphone.com/showthread.php?t=10092399&goto=newpost' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAbBn0Ljvo', - created: 1484201050.896371, - modified: 1484214256.330455, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | [Request] OS X Yosemite font for OS X El Capitan', - url: 'https://www.reddit.com/r/OSXTweaks/comments/5ngy3x/request_os_x_yosemite_font_for_os_x_el_capitan/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxA6BjqGAe', - created: 1484201050.5256, - modified: 1484214255.9997299, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Alien blue dissapeared', - url: 'https://www.reddit.com/r/AlienBlue/comments/5ngoik/alien_blue_dissapeared/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAjmT81WEe', - created: 1484201050.100319, - modified: 1484214256.165864, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Su 33 on Kuznetsov [1280 720]', - url: 'https://www.reddit.com/r/WarplanePorn/comments/5ng05e/su_33_on_kuznetsov_1280_720/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz0wNCl2DA', - created: 1484201049.564907, - modified: 1484214256.0546439, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | A strange animal that lived on the ocean floor 500 million years ago has been assigned to the tree of life solving a long-held mystery.', - url: 'https://www.reddit.com/r/science/comments/5nfisd/a_strange_animal_that_lived_on_the_ocean_floor/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxTXHm5qLY', - created: 1484136070.956827, - modified: 1484214750.478137, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | corrects typo in de', - url: 'https://github.com/yakyak/yakyak/commit/dc7757e2637e009086e8c2cc5113f5bc77a55914' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxL44yhLk4', - created: 1484136068.226959, - modified: 1484214750.484751, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | missing copy image link', - url: 'https://github.com/yakyak/yakyak/commit/2a965fb6ef94f53f96b206004e18f1ba5de7fd39' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAmC9byyd2', - created: 1484135950.1940851, - modified: 1484214917.053182, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Will there be a new Linux version?', - url: 'https://www.reddit.com/r/PopCornTime/comments/5na15h/will_there_be_a_new_linux_version/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzY1P7LSxw', - created: 1484135605.4140449, - modified: 1484214917.063254, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Donald Trump dismisses as fake news claims that Russia gathered compromising information about him', - url: 'http://www.infowars.com/donald-trump-dismisses-as-fake-news-claims-that-russia-gathered-compromising-information-about-him/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx', - created: 1483730530.840636, - modified: 1483730531.6868532, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'It is possible to send text messages from other phones with Pudlshbullet?', - body: 'Let\'s say I have an iPhone and an Android phone. If I install Pushbullet on both of those devices, would it be possible for me to view, and send messages that are on my android device, remotely from my iPhone? Thank you. submitted by /u/PM_ME_YOUR_FELINE [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5m7gws/it_is_possible_to_send_text_messages_from_other/' - }, { - active: true, - iden: 'ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x', - created: 1483730530.735776, - modified: 1483730531.489237, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'The Oatmeal channel not working', - body: 'The Oatmeal is no longer sending updates. I tried to create a custom channel myself, however it doesn\'t seem to work out (something something incorrect format). Could someone take a look at it? Thanks! submitted by /u/NoGuess [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5mbrl2/the_oatmeal_channel_not_working/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkNjNDxsG', - created: 1483576538.7639868, - modified: 1483576538.768515, - type: 'note', - dismissed: false, - guid: 'pnu0iljeposdki9lreiio', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-me8s0mjg2o8f8f5em6j4jo', [length]: 1], - body: 'asd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCX1oF7ep2', - created: 1483576342.933614, - modified: 1483576342.937933, - type: 'note', - dismissed: false, - guid: 'inehue7fc98k1139ptqcr8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-ds4ts1c0ocg2kbm15koh4o', [length]: 1], - body: 'dd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxs4TmJKbQ', - created: 1483576043.55773, - modified: 1483576043.5624142, - type: 'note', - dismissed: false, - guid: 'akhr3qq469o5g26q2053dg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-lsr76loq98g66ugm3rf79g', [length]: 1], - body: 'asd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxWKdp6RgG', - created: 1483575919.301862, - modified: 1483575919.306616, - type: 'note', - dismissed: false, - guid: 'qobtnbesgqotbcvjes3nag', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-1top2419fqgtcgcu3008o', - 'web-orksosnn45oghssto5r32o', [length]: 2 - ], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxRw4Cb2bY', - created: 1483571870.908057, - modified: 1483571870.9121, - type: 'note', - dismissed: false, - guid: '3ig2gkg1t4jufnp9of5o8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAiqCM35Xw', - created: 1483571855.694658, - modified: 1483571855.699219, - type: 'note', - dismissed: false, - guid: 'efvpl2che2guip8n1d4hsg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBvBeXEOZM', - created: 1483571764.721146, - modified: 1483571764.7304919, - type: 'note', - dismissed: false, - guid: 'd5ug90vb2ioj14t0idq5uo', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-tcen0o36r18q143kti0o3g', [length]: 1], - body: '55' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzXIngzK3M', - created: 1483571722.573868, - modified: 1483571722.577889, - type: 'note', - dismissed: false, - guid: 'ubh6fjs2jr8bsudqk1d6ho', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-4qr9tdbhfjpgiunsvmkh', [length]: 1], - body: 'k' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAzoAjVy44', - created: 1483571567.877408, - modified: 1483571567.885748, - type: 'note', - dismissed: false, - guid: '2jq9b821v4cbhs7fi1h1o', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-eua5suj606gfd717itva1', [length]: 1], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCZQ8Pi8nA', - created: 1483570173.091674, - modified: 1483570173.095386, - type: 'note', - dismissed: false, - guid: 'o4b4066r3fsu1qu912pmg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'www' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCBgHoFORU', - created: 1483570166.299016, - modified: 1483570166.304797, - type: 'note', - dismissed: false, - guid: 'i6frffs5sk894j6ro0b3to', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'sss' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxu62m1P3Y', - created: 1483569961.132617, - modified: 1483569961.144528, - type: 'note', - dismissed: false, - guid: 'vhmp5spq7qg1i87p3eafco', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-kvnri6m02tguv03v7s68o', [length]: 1], - body: 'ii#' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxMDmdZHDE', - created: 1483557914.020291, - modified: 1483557914.1003, - type: 'note', - dismissed: false, - guid: 'dce55mnae23pd779bd2s8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-8hv68ubu7f87i9t34ijnbg', - 'web-qmjdv92j6s61urmaca9d8', [length]: 2 - ], - body: 'r' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxKZHS4Gui', - created: 1483418119.236277, - modified: 1483418119.305235, - type: 'note', - dismissed: true, - guid: 'ad5a4c43-cc6d-4da4-af41-e79ed746aee3', - direction: 'outgoing', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvkITOXy0W', - receiver_email: 'bellagleich@gmail.com', - receiver_email_normalized: 'bellagleich@gmail.com', - awake_app_guids: ['web-kuohskb59mgruev4d8gfk8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-30i8ulm1lcoj8q4t1otqv8', [length]: 3 - ], - body: 'sex' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxMxmYWmia', - created: 1483418085.9862652, - modified: 1483418099.010342, - type: 'note', - dismissed: true, - guid: 'm8inkahjj0o0ktb30rs7v', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjxCp1apWJE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkiUIXwKy', - created: 1483418073.205363, - modified: 1483418073.2470012, - type: 'note', - dismissed: false, - guid: '8vau4qsjdeuc28avus8v8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: '123' - }, { - active: true, - iden: 'ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x', - created: 1483311121.798762, - modified: 1483311122.4512792, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Controlling my alarm clock', - body: 'I\'m trying to integrate Pushbullet with an Alarm Clock I\'ve created with a Raspberry Pi. Basically, I want to send push notifications to my Pi to update a configuration file with certain parameters (status, timing etc).. I know I could do it with a simple web page.. but where\'s the fun in that :p Has anyone created a simple bot with the service before? I\'m using the pushbullet.py API bindings but the documentation is quite lacking! submitted by /u/keva161 [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5lhnn1/controlling_my_alarm_clock/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x', - created: 1483302120.75087, - modified: 1483302121.451508, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Notification mirroring on different sized monitors issue', - body: 'When setting notification mirroring to be on the top left or top right corners of a secondary monitor, the height of the notification is determined by the main monitor instead of the secondary monitor. I have a 1440p and a 1080p monitor. Setting my 1440p as my main display and having the notification mirrors appear on my 1080p will result in notifications being off screen when set to top left or top right. The reverse of having the 1080p monitor as the main display and notification mirrors on the 1440p moni', - url: 'https://www.reddit.com/r/PushBullet/comments/5lgwiu/notification_mirroring_on_different_sized/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx', - created: 1483252320.2881742, - modified: 1483288679.579298, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'can\'t send group texts from connected devices', - body: 'Group texts received to or sent from the originating phone are replicated across devices, but if there\'s a way to SEND texts FROM a connected device, I haven\'t found it. The texts always fail to send. My phone is running Android 5.0.2 and I use Textra for texting. The two other devices I have connected are Chrome and a tablet running Android 6.0. I can text individuals from a connected device, but any group texts I receive or send FROM THE PHONE (from Textra) are replicated across all my devices as they sho', - url: 'https://www.reddit.com/r/PushBullet/comments/5ldw3z/cant_send_group_texts_from_connected_devices/' - }, { - active: true, - iden: 'ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x', - created: 1483219920.051701, - modified: 1483288679.620778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Direct share to contacts?', - body: 'My primary use case for Pushbullet sending links and images to my girlfriend. While it\'s nice that my devices appear in the direct share menu, it would be really great to see my frequent contacts show up there too. submitted by /u/Xenataur [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5l93bl/direct_share_to_contacts/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x', - created: 1483174919.619445, - modified: 1483288679.6664891, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Noticed a change in group text behavior after updating from Lollipop to Marshmallow', - body: 'Recently updated my phone from Android 5.0 to 6.0. Still using PB and the same texting app (Textra). Two changes in group texting behavior: group texts sent from PB now show in phone text app. Previously they would not show up on phone and I wouldn\'t know if the message was actually sent unless one of the recipients replied. group texts sent from PB no longer disappear from Chrome PB extension. This is a big improvement, and I have no idea if the changes are due to the Android version update, a change in ', - url: 'https://www.reddit.com/r/PushBullet/comments/5kyxzj/noticed_a_change_in_group_text_behavior_after/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x', - created: 1482904911.564085, - modified: 1483288679.701031, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Pushbullet Pro is required to make this call.', - body: 'My Pushbullet call is now saying I need Pushbullet Pro. Is this a new restriction? curl -u {API Key}: -X POST https://api.pushbullet.com/v2/pushes --header \'Content-Type: application/json\' --data-binary \'{"type": "note", "title": "test", "body": "test."}\' {"error":{"code":"pushbullet_pro_required","type":"invalid_request","message":"Pushbullet Pro is required to make this call.","cat":"πŸ™€"},"error_code":"pushbullet_pro_required"} submitted by /u/frbastiat [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kdxcf/pushbullet_pro_is_required_to_make_this_call/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x', - created: 1482904911.43293, - modified: 1483288679.7334778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Cannot attach files in Chrome extension', - body: 'Using the Chrome Extension I cannot add attachments. The file dialog opens, I can select the file, but then it just never shows up in Pushbullet. I\'ve tried re-installing, rebooting, logging out and in, clearing browsing history and cache, updated my os (Fedora 25 KDE) but nothing. submitted by /u/Franklyundead [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kj19b/cannot_attach_files_in_chrome_extension/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz171aiBH2', - created: 1482826295.772964, - modified: 1482826295.779114, - type: 'note', - dismissed: false, - guid: '0qpf2e993s88bq745lkit', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-jqj9rif2f5gfhnf5q9vee', [length]: 1], - body: 'zzj' - }, - [length]: 70 - ], - objs: { - ujvtzF2Qop2sjAvoZ6Y5EO: { - active: true, - iden: 'ujvtzF2Qop2sjAvoZ6Y5EO', - created: 1484216253.1199481, - modified: 1484216253.126132, - type: 'note', - dismissed: false, - guid: 'C1E58D25-9C2D-4639-AFB1-6677A7849461', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'fgg' - }, - ujvtzF2Qop2sjxNAhRRCX6: { - active: true, - iden: 'ujvtzF2Qop2sjxNAhRRCX6', - created: 1484215887.7496378, - modified: 1484215887.7539399, - type: 'note', - dismissed: false, - guid: '83A33E9F-5AE6-434C-82BB-DE135316F934', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'sextop' - }, - ujvtzF2Qop2sjAkNjNDxsG: { - active: true, - iden: 'ujvtzF2Qop2sjAkNjNDxsG', - created: 1483576538.7639868, - modified: 1483576538.768515, - type: 'note', - dismissed: false, - guid: 'pnu0iljeposdki9lreiio', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-me8s0mjg2o8f8f5em6j4jo', [length]: 1], - body: 'asd' - }, - ujvtzF2Qop2sjCX1oF7ep2: { - active: true, - iden: 'ujvtzF2Qop2sjCX1oF7ep2', - created: 1483576342.933614, - modified: 1483576342.937933, - type: 'note', - dismissed: false, - guid: 'inehue7fc98k1139ptqcr8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-ds4ts1c0ocg2kbm15koh4o', [length]: 1], - body: 'dd' - }, - ujvtzF2Qop2sjxs4TmJKbQ: { - active: true, - iden: 'ujvtzF2Qop2sjxs4TmJKbQ', - created: 1483576043.55773, - modified: 1483576043.5624142, - type: 'note', - dismissed: false, - guid: 'akhr3qq469o5g26q2053dg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-lsr76loq98g66ugm3rf79g', [length]: 1], - body: 'asd' - }, - ujvtzF2Qop2sjxWKdp6RgG: { - active: true, - iden: 'ujvtzF2Qop2sjxWKdp6RgG', - created: 1483575919.301862, - modified: 1483575919.306616, - type: 'note', - dismissed: false, - guid: 'qobtnbesgqotbcvjes3nag', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-1top2419fqgtcgcu3008o', - 'web-orksosnn45oghssto5r32o', [length]: 2 - ], - body: 'test' - }, - ujvtzF2Qop2sjxRw4Cb2bY: { - active: true, - iden: 'ujvtzF2Qop2sjxRw4Cb2bY', - created: 1483571870.908057, - modified: 1483571870.9121, - type: 'note', - dismissed: false, - guid: '3ig2gkg1t4jufnp9of5o8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, - ujvtzF2Qop2sjAiqCM35Xw: { - active: true, - iden: 'ujvtzF2Qop2sjAiqCM35Xw', - created: 1483571855.694658, - modified: 1483571855.699219, - type: 'note', - dismissed: false, - guid: 'efvpl2che2guip8n1d4hsg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, - ujvtzF2Qop2sjBvBeXEOZM: { - active: true, - iden: 'ujvtzF2Qop2sjBvBeXEOZM', - created: 1483571764.721146, - modified: 1483571764.7304919, - type: 'note', - dismissed: false, - guid: 'd5ug90vb2ioj14t0idq5uo', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-tcen0o36r18q143kti0o3g', [length]: 1], - body: '55' - }, - ujvtzF2Qop2sjzXIngzK3M: { - active: true, - iden: 'ujvtzF2Qop2sjzXIngzK3M', - created: 1483571722.573868, - modified: 1483571722.577889, - type: 'note', - dismissed: false, - guid: 'ubh6fjs2jr8bsudqk1d6ho', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-4qr9tdbhfjpgiunsvmkh', [length]: 1], - body: 'k' - }, - ujvtzF2Qop2sjAzoAjVy44: { - active: true, - iden: 'ujvtzF2Qop2sjAzoAjVy44', - created: 1483571567.877408, - modified: 1483571567.885748, - type: 'note', - dismissed: false, - guid: '2jq9b821v4cbhs7fi1h1o', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-eua5suj606gfd717itva1', [length]: 1], - body: 'test' - }, - ujvtzF2Qop2sjCZQ8Pi8nA: { - active: true, - iden: 'ujvtzF2Qop2sjCZQ8Pi8nA', - created: 1483570173.091674, - modified: 1483570173.095386, - type: 'note', - dismissed: false, - guid: 'o4b4066r3fsu1qu912pmg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'www' - }, - ujvtzF2Qop2sjxu62m1P3Y: { - active: true, - iden: 'ujvtzF2Qop2sjxu62m1P3Y', - created: 1483569961.132617, - modified: 1483569961.144528, - type: 'note', - dismissed: false, - guid: 'vhmp5spq7qg1i87p3eafco', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-kvnri6m02tguv03v7s68o', [length]: 1], - body: 'ii#' - }, - ujvtzF2Qop2sjxMxmYWmia: { - active: true, - iden: 'ujvtzF2Qop2sjxMxmYWmia', - created: 1483418085.9862652, - modified: 1483418099.010342, - type: 'note', - dismissed: true, - guid: 'm8inkahjj0o0ktb30rs7v', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjxCp1apWJE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: 'test' - }, - ujvtzF2Qop2sjz5m4f2elM: { - active: true, - iden: 'ujvtzF2Qop2sjz5m4f2elM', - created: 1484216366.2777321, - modified: 1484216834.496767, - type: 'note', - dismissed: true, - guid: '5278F86E-FE47-4D7A-8891-CC076B4DBC3B', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - source_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - body: ' sidney.bofah@googlemail.comi' - }, - ujvtzF2Qop2sjCBgHoFORU: { - active: true, - iden: 'ujvtzF2Qop2sjCBgHoFORU', - created: 1483570166.299016, - modified: 1483570166.304797, - type: 'note', - dismissed: false, - guid: 'i6frffs5sk894j6ro0b3to', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'sss' - }, - ujvtzF2Qop2sjxMDmdZHDE: { - active: true, - iden: 'ujvtzF2Qop2sjxMDmdZHDE', - created: 1483557914.020291, - modified: 1483557914.1003, - type: 'note', - dismissed: false, - guid: 'dce55mnae23pd779bd2s8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-8hv68ubu7f87i9t34ijnbg', - 'web-qmjdv92j6s61urmaca9d8', [length]: 2 - ], - body: 'r' - }, - ujvtzF2Qop2sjAkiUIXwKy: { - active: true, - iden: 'ujvtzF2Qop2sjAkiUIXwKy', - created: 1483418073.205363, - modified: 1483418073.2470012, - type: 'note', - dismissed: false, - guid: '8vau4qsjdeuc28avus8v8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: '123' - }, - ujvtzF2Qop2sjz171aiBH2: { - active: true, - iden: 'ujvtzF2Qop2sjz171aiBH2', - created: 1482826295.772964, - modified: 1482826295.779114, - type: 'note', - dismissed: false, - guid: '0qpf2e993s88bq745lkit', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-jqj9rif2f5gfhnf5q9vee', [length]: 1], - body: 'zzj' - }, - ujvtzF2Qop2sjxKZHS4Gui: { - active: true, - iden: 'ujvtzF2Qop2sjxKZHS4Gui', - created: 1483418119.236277, - modified: 1483418119.305235, - type: 'note', - dismissed: true, - guid: 'ad5a4c43-cc6d-4da4-af41-e79ed746aee3', - direction: 'outgoing', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvkITOXy0W', - receiver_email: 'bellagleich@gmail.com', - receiver_email_normalized: 'bellagleich@gmail.com', - awake_app_guids: ['web-kuohskb59mgruev4d8gfk8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-30i8ulm1lcoj8q4t1otqv8', [length]: 3 - ], - body: 'sex' - }, - ujvtzF2Qop2sjAhrOjgXaC: { - active: true, - iden: 'ujvtzF2Qop2sjAhrOjgXaC', - created: 1484217200.545822, - modified: 1484217200.562691, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - url: 'https://gizadeathstar.com/2017/01/news-views-nefarium-jan-12-2017/' - }, - ujvtzF2Qop2sjzYKMmqsvI: { - active: true, - iden: 'ujvtzF2Qop2sjzYKMmqsvI', - created: 1484217046.7953322, - modified: 1484217046.80634, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', - 'web-9tcuu1g0e38gl4dutm9qe8', [length]: 2 - ], - title: 'Repo | attachments: correctly open google plus contents fixes #535', - url: 'https://github.com/yakyak/yakyak/commit/3861311e74d9faee38fb748040411b8541e77b73' - }, - ujvtzF2Qop2sjxAB0m0oIS: { - active: true, - iden: 'ujvtzF2Qop2sjxAB0m0oIS', - created: 1484216668.555784, - modified: 1484216668.5660381, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://nixgut.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, - ujvtzF2Qop2sjCQKtrZ552: { - active: true, - iden: 'ujvtzF2Qop2sjCQKtrZ552', - created: 1484216668.11878, - modified: 1484216668.146403, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Burka Verbot in Marokko', - url: 'https://nixgut.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, - ujvtzF2Qop2sjxqsHPQVpc: { - active: true, - iden: 'ujvtzF2Qop2sjxqsHPQVpc', - created: 1484216594.745331, - modified: 1484216594.765812, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | heise-Angebot: M: Neue Konferenz zu maschinellem Lernen in London', - url: 'https://www.heise.de/developer/meldung/M3-Neue-Konferenz-zu-maschinellem-Lernen-in-London-3593637.html?wt_mc=rss.developer.beitrag.atom' - }, - ujvtzF2Qop2sjCXR6AlW5Q: { - active: true, - iden: 'ujvtzF2Qop2sjCXR6AlW5Q', - created: 1484216594.296059, - modified: 1484216594.395126, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Macht euch nackig Kameraden: Von der Leyen veranstaltet Sex-Seminar bei der Bundeswehr Zahlen geschΓΆnt? Die Polizei in Oberhausen verschwieg in ihrer Statistik zahlreiche EinbrΓΌche Tschechien: PrΓ€sident Zeman ruft zum Selbstschutz gegen den muslimischen Super-Holocaust auf (Zeitgeschichte)', - url: 'http://service-rh.de/index.php/news/8101/Neuste+Nachrichten/january-12-2017/%2B%2B%2B+Macht+euch+nackig%2C+Kameraden%3A+Von+der+Leyen+veranstaltet+Sex-Seminar+bei+der+Bundeswehr+%2B%2B%2B+Zahlen+gesch%C3%B6nt%3F+Die+Polizei+in+Oberhausen+verschwieg+in+ihrer+Statistik+zahlreiche+Einbr%C3%BCche+%2B%2B%2B+Tschechien%3A+Pr%C3%A4sident+Zeman+ruft+zum+Selbstschutz+gegen+den+%C2%BBmuslimischen+Super-Holocaust%C2%AB+auf+%2B%2B%2B+%28Zeitgeschichte%29' - }, - ujvtzF2Qop2sjAz8n77YE8: { - active: true, - iden: 'ujvtzF2Qop2sjAz8n77YE8', - created: 1484216593.7796962, - modified: 1484216593.802285, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Aufgedeckt: FlΓΌchtlinge verΓΌben 556.000 Straftaten Medien und Politiker schweigen', - url: 'http://service-rh.de/index.php/news/8102/Neuste+Nachrichten/january-12-2017/Aufgedeckt%3A+Fl%C3%BCchtlinge+ver%C3%BCben+556-000+Straftaten+%E2%80%93+Medien+und+Politiker+schweigen' - }, - ujvtzF2Qop2sjAeN1Ml7GS: { - active: true, - iden: 'ujvtzF2Qop2sjAeN1Ml7GS', - created: 1484216593.340408, - modified: 1484216593.3952131, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://service-rh.de/index.php/news/8103/Neuste+Nachrichten/january-12-2017/LEGIDA%3A+Polizei+stoppt+Live-%C3%9Cbertragung+von+RT+%E2%80%93+Begr%C3%BCndung%3A+Kamera+angeblich+geklaut' - }, - ujvtzF2Qop2sjApQNENvS8: { - active: true, - iden: 'ujvtzF2Qop2sjApQNENvS8', - created: 1484216592.8537018, - modified: 1484216592.866861, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Microsoft accidentally pushes out Windows 10 Mobile 14998 to some fast ring insiders', - url: 'https://mspoweruser.com/microsoft-accidentally-pushes-windows-10-mobile-14998-fast-ring-insiders/' - }, - ujvtzF2Qop2sjz9fPkaxVc: { - active: true, - iden: 'ujvtzF2Qop2sjz9fPkaxVc', - created: 1484215994.074692, - modified: 1484215994.148746, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Disk Drill PRO 3: take 70% off a lifetime of data recovery and loss prevention', - url: 'http://www.idownloadblog.com/2017/01/12/disk-drill-pro-3-take-70-off-a-lifetime-of-data-recovery-and-loss-prevention/' - }, - ujvtzF2Qop2sjwcg35MqGa: { - active: true, - iden: 'ujvtzF2Qop2sjwcg35MqGa', - created: 1484215993.7876859, - modified: 1484215993.8281019, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Ex-Apple-Automatisierungschef fΓΌrchtet Ende von macOS-Scripting', - url: 'https://www.heise.de/mac-and-i/meldung/Ex-Apple-Automatisierungschef-fuerchtet-Ende-von-macOS-Scripting-3594306.html' - }, - ujvtzF2Qop2sjAkKJb46vs: { - active: true, - iden: 'ujvtzF2Qop2sjAkKJb46vs', - created: 1484215993.3963368, - modified: 1484215993.413147, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Gartner: Apple wird Microsoft 2017 bei Betriebssystemen ΓΌberholen', - url: 'https://www.heise.de/mac-and-i/meldung/Gartner-Apple-wird-Microsoft-2017-bei-Betriebssystemen-ueberholen-3594290.html' - }, - ujvtzF2Qop2sjzZW17G7A4: { - active: true, - iden: 'ujvtzF2Qop2sjzZW17G7A4', - created: 1484215993.013216, - modified: 1484215993.023854, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Black Energy: Wieder Malware-Angriff auf Stromnetz in der Ukraine', - url: 'http://www.golem.de/news/black-energy-wieder-malware-angriff-auf-stromnetz-in-der-ukraine-1701-125535.html' - }, - ujvtzF2Qop2sjxnJYemxGe: { - active: true, - iden: 'ujvtzF2Qop2sjxnJYemxGe', - created: 1484215402.802369, - modified: 1484215402.8268101, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | New Book US Navys Secret Space Program & Nordic Extraterrestrial Alliance', - url: 'http://exopolitics.org/new-book-us-navys-secret-space-program-nordic-extraterrestrial-alliance/' - }, - ujvtzF2Qop2sjxDDm082gu: { - active: true, - iden: 'ujvtzF2Qop2sjxDDm082gu', - created: 1484215402.315775, - modified: 1484215402.367442, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | HARVARD AND YALE OPEN SHARIA LAW STUDIES', - url: 'https://gizadeathstar.com/2017/01/harvard-yale-open-sharia-law-studies/' - }, - ujvtzF2Qop2sjAxLG7yw9Y: { - active: true, - iden: 'ujvtzF2Qop2sjAxLG7yw9Y', - created: 1484215111.3011131, - modified: 1484215111.360401, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', - 'web-db8l4oav7p55l27ukvf0g', [length]: 2 - ], - title: 'News | Zeit fΓΌr RΓΌcktritte', - url: 'https://jungefreiheit.de/debatte/streiflicht/2017/zeit-fuer-ruecktritte/' - }, - ujvtzF2Qop2sjAb1VygkN2: { - active: true, - iden: 'ujvtzF2Qop2sjAb1VygkN2', - created: 1484214800.274341, - modified: 1484214800.2908642, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Mexico's president: We will not pay for the wall', - url: 'http://thehill.com/policy/international/313917-mexicos-president-we-will-not-pay-for-the-wall' - }, - ujvtzF2Qop2sjxZ5rfWbZY: { - active: true, - iden: 'ujvtzF2Qop2sjxZ5rfWbZY', - created: 1484214495.6558578, - modified: 1484214495.683757, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Michelle Obama: Last days as first lady surprisingly emotional', - url: 'http://thehill.com/homenews/news/michelle-obama-thank-you-notes-jimmy-fallon-tonight-show' - }, - ujvtzF2Qop2sjBgXmE827E: { - active: true, - iden: 'ujvtzF2Qop2sjBgXmE827E', - created: 1484211206.3512042, - modified: 1484214256.02209, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Burka Verbot in Marokko', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, - ujvtzF2Qop2sjC6izlQM6C: { - active: true, - iden: 'ujvtzF2Qop2sjC6izlQM6C', - created: 1484210895.0632079, - modified: 1484214256.167936, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Das SturmgeschΓΌtz der Demokratie und die Steuerung der Lesermeinung', - url: 'http://www.achgut.com/artikel/das_sturmgeschuetz_der_demokratie_und_die_steuerung_der_lesermeinung' - }, - ujvtzF2Qop2sjxRmpx7GIm: { - active: true, - iden: 'ujvtzF2Qop2sjxRmpx7GIm', - created: 1484210894.277434, - modified: 1484214256.090809, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Obama-Bilanz: Ein Showstar des Guten', - url: 'http://www.achgut.com/artikel/obama_bilanz_ein_showstar_des_guten' - }, - ujvtzF2Qop2sjwtLHumqvQ: { - active: true, - iden: 'ujvtzF2Qop2sjwtLHumqvQ', - created: 1484210315.152873, - modified: 1484214256.083507, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Google: Android Wear 2.0 erscheint Anfang Februar', - url: 'http://www.golem.de/news/google-android-wear-2-0-erscheint-anfang-februar-1701-125534.html' - }, - ujvtzF2Qop2sjAhZi9Ywnc: { - active: true, - iden: 'ujvtzF2Qop2sjAhZi9Ywnc', - created: 1484208427.6172428, - modified: 1484214256.001589, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Release | FolderIco 5.1', - url: 'https://www.giveawayoftheday.com/folderico-5/' - }, - ujvtzF2Qop2sjBhdiGQrSK: { - active: true, - iden: 'ujvtzF2Qop2sjBhdiGQrSK', - created: 1484208062.321517, - modified: 1484214256.1229482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | 11.2.5', - url: 'https://github.com/electron-userland/electron-builder/releases/tag/v11.2.5' - }, - ujvtzF2Qop2sjAggeJZuPQ: { - active: true, - iden: 'ujvtzF2Qop2sjAggeJZuPQ', - created: 1484206091.182157, - modified: 1484214256.053671, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | What Does The Future Hold For \'Average Joes\'? (Spoiler Alert: Feudalism)', - url: 'http://www.zerohedge.com/news/2017-01-11/what-does-future-hold-average-joes-spoiler-alert-feudalism' - }, - ujvtzF2Qop2sjAoyp9DZ2y: { - active: true, - iden: 'ujvtzF2Qop2sjAoyp9DZ2y', - created: 1484205489.363415, - modified: 1484214256.00026, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://www.anonymousnews.ru/2017/01/12/legida-polizei-stoppt-live-uebertragung-von-rt-begruendung-kamera-ist-geklaut/' - }, - ujvtzF2Qop2sjwv9rxUD5E: { - active: true, - iden: 'ujvtzF2Qop2sjwv9rxUD5E', - created: 1484205191.370235, - modified: 1484214256.104903, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | LED-Arbeits-Handschuh fΓΌr 308', - url: 'https://www.china-gadgets.de/led-arbeits-handschuhe/' - }, - ujvtzF2Qop2sjC5lTVXgKO: { - active: true, - iden: 'ujvtzF2Qop2sjC5lTVXgKO', - created: 1484204600.915172, - modified: 1484214256.0007539, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, - ujvtzF2Qop2sjwfR9TfmFg: { - active: true, - iden: 'ujvtzF2Qop2sjwfR9TfmFg', - created: 1484204012.67947, - modified: 1484214256.168886, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wie weit werden unsere Eliten noch gehen um die Macht nicht zu verlieren?', - url: 'https://nixgut.wordpress.com/2017/01/11/wie-weit-werden-unsere-eliten-noch-gehen-um-die-macht-nicht-zu-verlieren/' - }, - ujvtzF2Qop2sjAueMVF2Pc: { - active: true, - iden: 'ujvtzF2Qop2sjAueMVF2Pc', - created: 1484204011.976248, - modified: 1484214256.0021482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Akif Pirincci: Bigamie 2.0 Syrische SpermiumkΓΌnstler auf der Suche nach blonden Muschis', - url: 'https://nixgut.wordpress.com/2017/01/11/akif-pirincci-bigamie-2-0-syrische-spermiumknstler-auf-der-suche-nach-blonden-muschis/' - }, - ujvtzF2Qop2sjCBpsBeNKC: { - active: true, - iden: 'ujvtzF2Qop2sjCBpsBeNKC', - created: 1484204011.319115, - modified: 1484214255.999685, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Englischer Polizist: Wir mΓΌssen islamische FΓΌhrer um Erlaubnis fragen wenn wir auf Streife gehen wollen.', - url: 'https://nixgut.wordpress.com/2017/01/11/englischer-polizist-wir-muessen-islamische-fuehrer-um-erlaubnis-fragen-wenn-wir-auf-streife-gehen-wollen/' - }, - ujvtzF2Qop2sjxvyeTzXMa: { - active: true, - iden: 'ujvtzF2Qop2sjxvyeTzXMa', - created: 1484204010.911499, - modified: 1484214256.000242, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Antifa lockert Radmuttern an Rettungswagen und nimmt den Tod von Menschen in Kauf', - url: 'https://nixgut.wordpress.com/2017/01/11/antifa-entdeckt-die-ausrottung-der-deutschen-fuer-sich/' - }, - ujvtzF2Qop2sjxxLFBESWq: { - active: true, - iden: 'ujvtzF2Qop2sjxxLFBESWq', - created: 1484202193.164877, - modified: 1484214255.9996889, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Audio Tube v1.7', - url: 'http://www.sinfuliphone.com/showthread.php?t=10092399&goto=newpost' - }, - ujvtzF2Qop2sjAbBn0Ljvo: { - active: true, - iden: 'ujvtzF2Qop2sjAbBn0Ljvo', - created: 1484201050.896371, - modified: 1484214256.330455, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | [Request] OS X Yosemite font for OS X El Capitan', - url: 'https://www.reddit.com/r/OSXTweaks/comments/5ngy3x/request_os_x_yosemite_font_for_os_x_el_capitan/' - }, - ujvtzF2Qop2sjxA6BjqGAe: { - active: true, - iden: 'ujvtzF2Qop2sjxA6BjqGAe', - created: 1484201050.5256, - modified: 1484214255.9997299, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Alien blue dissapeared', - url: 'https://www.reddit.com/r/AlienBlue/comments/5ngoik/alien_blue_dissapeared/' - }, - ujvtzF2Qop2sjAjmT81WEe: { - active: true, - iden: 'ujvtzF2Qop2sjAjmT81WEe', - created: 1484201050.100319, - modified: 1484214256.165864, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Su 33 on Kuznetsov [1280 720]', - url: 'https://www.reddit.com/r/WarplanePorn/comments/5ng05e/su_33_on_kuznetsov_1280_720/' - }, - ujvtzF2Qop2sjz0wNCl2DA: { - active: true, - iden: 'ujvtzF2Qop2sjz0wNCl2DA', - created: 1484201049.564907, - modified: 1484214256.0546439, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | A strange animal that lived on the ocean floor 500 million years ago has been assigned to the tree of life solving a long-held mystery.', - url: 'https://www.reddit.com/r/science/comments/5nfisd/a_strange_animal_that_lived_on_the_ocean_floor/' - }, - ujvtzF2Qop2sjxTXHm5qLY: { - active: true, - iden: 'ujvtzF2Qop2sjxTXHm5qLY', - created: 1484136070.956827, - modified: 1484214750.478137, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | corrects typo in de', - url: 'https://github.com/yakyak/yakyak/commit/dc7757e2637e009086e8c2cc5113f5bc77a55914' - }, - ujvtzF2Qop2sjxL44yhLk4: { - active: true, - iden: 'ujvtzF2Qop2sjxL44yhLk4', - created: 1484136068.226959, - modified: 1484214750.484751, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | missing copy image link', - url: 'https://github.com/yakyak/yakyak/commit/2a965fb6ef94f53f96b206004e18f1ba5de7fd39' - }, - ujvtzF2Qop2sjAmC9byyd2: { - active: true, - iden: 'ujvtzF2Qop2sjAmC9byyd2', - created: 1484135950.1940851, - modified: 1484214917.053182, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Will there be a new Linux version?', - url: 'https://www.reddit.com/r/PopCornTime/comments/5na15h/will_there_be_a_new_linux_version/' - }, - ujvtzF2Qop2sjzY1P7LSxw: { - active: true, - iden: 'ujvtzF2Qop2sjzY1P7LSxw', - created: 1484135605.4140449, - modified: 1484214917.063254, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Donald Trump dismisses as fake news claims that Russia gathered compromising information about him', - url: 'http://www.infowars.com/donald-trump-dismisses-as-fake-news-claims-that-russia-gathered-compromising-information-about-him/' - }, - ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx: { - active: true, - iden: 'ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx', - created: 1483730530.840636, - modified: 1483730531.6868532, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'It is possible to send text messages from other phones with Pudlshbullet?', - body: 'Let\'s say I have an iPhone and an Android phone. If I install Pushbullet on both of those devices, would it be possible for me to view, and send messages that are on my android device, remotely from my iPhone? Thank you. submitted by /u/PM_ME_YOUR_FELINE [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5m7gws/it_is_possible_to_send_text_messages_from_other/' - }, - ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x: { - active: true, - iden: 'ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x', - created: 1483730530.735776, - modified: 1483730531.489237, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'The Oatmeal channel not working', - body: 'The Oatmeal is no longer sending updates. I tried to create a custom channel myself, however it doesn\'t seem to work out (something something incorrect format). Could someone take a look at it? Thanks! submitted by /u/NoGuess [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5mbrl2/the_oatmeal_channel_not_working/' - }, - ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x: { - active: true, - iden: 'ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x', - created: 1483311121.798762, - modified: 1483311122.4512792, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Controlling my alarm clock', - body: 'I\'m trying to integrate Pushbullet with an Alarm Clock I\'ve created with a Raspberry Pi. Basically, I want to send push notifications to my Pi to update a configuration file with certain parameters (status, timing etc).. I know I could do it with a simple web page.. but where\'s the fun in that :p Has anyone created a simple bot with the service before? I\'m using the pushbullet.py API bindings but the documentation is quite lacking! submitted by /u/keva161 [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5lhnn1/controlling_my_alarm_clock/' - }, - ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x: { - active: true, - iden: 'ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x', - created: 1483302120.75087, - modified: 1483302121.451508, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Notification mirroring on different sized monitors issue', - body: 'When setting notification mirroring to be on the top left or top right corners of a secondary monitor, the height of the notification is determined by the main monitor instead of the secondary monitor. I have a 1440p and a 1080p monitor. Setting my 1440p as my main display and having the notification mirrors appear on my 1080p will result in notifications being off screen when set to top left or top right. The reverse of having the 1080p monitor as the main display and notification mirrors on the 1440p moni', - url: 'https://www.reddit.com/r/PushBullet/comments/5lgwiu/notification_mirroring_on_different_sized/' - }, - ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx: { - active: true, - iden: 'ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx', - created: 1483252320.2881742, - modified: 1483288679.579298, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'can\'t send group texts from connected devices', - body: 'Group texts received to or sent from the originating phone are replicated across devices, but if there\'s a way to SEND texts FROM a connected device, I haven\'t found it. The texts always fail to send. My phone is running Android 5.0.2 and I use Textra for texting. The two other devices I have connected are Chrome and a tablet running Android 6.0. I can text individuals from a connected device, but any group texts I receive or send FROM THE PHONE (from Textra) are replicated across all my devices as they sho', - url: 'https://www.reddit.com/r/PushBullet/comments/5ldw3z/cant_send_group_texts_from_connected_devices/' - }, - ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x: { - active: true, - iden: 'ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x', - created: 1483219920.051701, - modified: 1483288679.620778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Direct share to contacts?', - body: 'My primary use case for Pushbullet sending links and images to my girlfriend. While it\'s nice that my devices appear in the direct share menu, it would be really great to see my frequent contacts show up there too. submitted by /u/Xenataur [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5l93bl/direct_share_to_contacts/' - }, - ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x: { - active: true, - iden: 'ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x', - created: 1483174919.619445, - modified: 1483288679.6664891, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Noticed a change in group text behavior after updating from Lollipop to Marshmallow', - body: 'Recently updated my phone from Android 5.0 to 6.0. Still using PB and the same texting app (Textra). Two changes in group texting behavior: group texts sent from PB now show in phone text app. Previously they would not show up on phone and I wouldn\'t know if the message was actually sent unless one of the recipients replied. group texts sent from PB no longer disappear from Chrome PB extension. This is a big improvement, and I have no idea if the changes are due to the Android version update, a change in ', - url: 'https://www.reddit.com/r/PushBullet/comments/5kyxzj/noticed_a_change_in_group_text_behavior_after/' - }, - ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x: { - active: true, - iden: 'ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x', - created: 1482904911.564085, - modified: 1483288679.701031, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Pushbullet Pro is required to make this call.', - body: 'My Pushbullet call is now saying I need Pushbullet Pro. Is this a new restriction? curl -u {API Key}: -X POST https://api.pushbullet.com/v2/pushes --header \'Content-Type: application/json\' --data-binary \'{"type": "note", "title": "test", "body": "test."}\' {"error":{"code":"pushbullet_pro_required","type":"invalid_request","message":"Pushbullet Pro is required to make this call.","cat":"πŸ™€"},"error_code":"pushbullet_pro_required"} submitted by /u/frbastiat [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kdxcf/pushbullet_pro_is_required_to_make_this_call/' - }, - ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x: { - active: true, - iden: 'ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x', - created: 1482904911.43293, - modified: 1483288679.7334778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Cannot attach files in Chrome extension', - body: 'Using the Chrome Extension I cannot add attachments. The file dialog opens, I can select the file, but then it just never shows up in Pushbullet. I\'ve tried re-installing, rebooting, logging out and in, clearing browsing history and cache, updated my os (Fedora 25 KDE) but nothing. submitted by /u/Franklyundead [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kj19b/cannot_attach_files_in_chrome_extension/' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: false, - modified_after: 0, - notify_after: 1483758772.7339342, - notified_push_idens: [ - [length]: 0 - ] - }, - AccountsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjz6s5xJiLY', - created: 1473614962.122402, - modified: 1481045134.631424, - type: 'facebook', - id: '10155272021758508', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney Schalk', - image_url: 'https://static.pushbullet.com/facebook-user/c07a0b3fd460e13d9e7f77888a3a3ed0fe503f806eea878dce0c16bf7ea2c905' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzWIEVDzOK', - created: 1442504806.524153, - modified: 1483758772.697757, - type: 'google', - id: '111601614998714556714', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney B', - image_url: 'https://static.pushbullet.com/google-user/3318caf337e29b3f1d6174dc7208da722f8025c66c8d65a477b409efc35f7b6e' - }, - [length]: 2 - ], - objs: { - ujvtzF2Qop2sjzWIEVDzOK: { - active: true, - iden: 'ujvtzF2Qop2sjzWIEVDzOK', - created: 1442504806.524153, - modified: 1483758772.697757, - type: 'google', - id: '111601614998714556714', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney B', - image_url: 'https://static.pushbullet.com/google-user/3318caf337e29b3f1d6174dc7208da722f8025c66c8d65a477b409efc35f7b6e' - }, - ujvtzF2Qop2sjz6s5xJiLY: { - active: true, - iden: 'ujvtzF2Qop2sjz6s5xJiLY', - created: 1473614962.122402, - modified: 1481045134.631424, - type: 'facebook', - id: '10155272021758508', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney Schalk', - image_url: 'https://static.pushbullet.com/facebook-user/c07a0b3fd460e13d9e7f77888a3a3ed0fe503f806eea878dce0c16bf7ea2c905' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - TextsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - [length]: 11 - ], - account: AccountApiSuite { - preferences: { - setup_mobile: true, - setup_desktop: true - }, - last_active: 1484217232911 - }, - devices: DeviceApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - }, - [length]: 4 - ], - objs: { - ujvtzF2Qop2sjBtEMiFVwO: { - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, - ujvtzF2Qop2sjxCp1apWJE: { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, - ujvtzF2Qop2sjArwKu3PfE: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - ujvtzF2Qop2sjCY70GSshM: { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - contacts: ContactsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - chats: ChatsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - }, - [length]: 1 - ], - objs: { - ujvtzF2Qop2sjCOp72nbBA: { - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - clients: ClientsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - grants: GrantsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - [length]: 3 - ], - objs: { - ujvtzF2Qop2sjz6R0L02a4: { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - ujvtzF2Qop2sjCIv4E5NiC: { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - ujvtzF2Qop2sjz7O3P0Jl6: { - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - channels: ChannelsApiSuite { - exists: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - info: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - subscriptions: SubscriptionsApiSuite { - is_subscribed: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - unsubscribe: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - subscribe: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - [length]: 2 - ], - objs: { - ujvtzF2Qop2sjActWZfUVE: { - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, - ujvtzF2Qop2sjAjaNQ5YKi: { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - blocks: BlocksApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - pushes: PushesApiSuite { - do_push_queue: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjAhrOjgXaC', - created: 1484217200.545822, - modified: 1484217200.562691, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - url: 'https://gizadeathstar.com/2017/01/news-views-nefarium-jan-12-2017/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzYKMmqsvI', - created: 1484217046.7953322, - modified: 1484217046.80634, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', - 'web-9tcuu1g0e38gl4dutm9qe8', [length]: 2 - ], - title: 'Repo | attachments: correctly open google plus contents fixes #535', - url: 'https://github.com/yakyak/yakyak/commit/3861311e74d9faee38fb748040411b8541e77b73' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxAB0m0oIS', - created: 1484216668.555784, - modified: 1484216668.5660381, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://nixgut.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCQKtrZ552', - created: 1484216668.11878, - modified: 1484216668.146403, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Burka Verbot in Marokko', - url: 'https://nixgut.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxqsHPQVpc', - created: 1484216594.745331, - modified: 1484216594.765812, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | heise-Angebot: M: Neue Konferenz zu maschinellem Lernen in London', - url: 'https://www.heise.de/developer/meldung/M3-Neue-Konferenz-zu-maschinellem-Lernen-in-London-3593637.html?wt_mc=rss.developer.beitrag.atom' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCXR6AlW5Q', - created: 1484216594.296059, - modified: 1484216594.395126, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Macht euch nackig Kameraden: Von der Leyen veranstaltet Sex-Seminar bei der Bundeswehr Zahlen geschΓΆnt? Die Polizei in Oberhausen verschwieg in ihrer Statistik zahlreiche EinbrΓΌche Tschechien: PrΓ€sident Zeman ruft zum Selbstschutz gegen den muslimischen Super-Holocaust auf (Zeitgeschichte)', - url: 'http://service-rh.de/index.php/news/8101/Neuste+Nachrichten/january-12-2017/%2B%2B%2B+Macht+euch+nackig%2C+Kameraden%3A+Von+der+Leyen+veranstaltet+Sex-Seminar+bei+der+Bundeswehr+%2B%2B%2B+Zahlen+gesch%C3%B6nt%3F+Die+Polizei+in+Oberhausen+verschwieg+in+ihrer+Statistik+zahlreiche+Einbr%C3%BCche+%2B%2B%2B+Tschechien%3A+Pr%C3%A4sident+Zeman+ruft+zum+Selbstschutz+gegen+den+%C2%BBmuslimischen+Super-Holocaust%C2%AB+auf+%2B%2B%2B+%28Zeitgeschichte%29' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAz8n77YE8', - created: 1484216593.7796962, - modified: 1484216593.802285, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Aufgedeckt: FlΓΌchtlinge verΓΌben 556.000 Straftaten Medien und Politiker schweigen', - url: 'http://service-rh.de/index.php/news/8102/Neuste+Nachrichten/january-12-2017/Aufgedeckt%3A+Fl%C3%BCchtlinge+ver%C3%BCben+556-000+Straftaten+%E2%80%93+Medien+und+Politiker+schweigen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAeN1Ml7GS', - created: 1484216593.340408, - modified: 1484216593.3952131, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://service-rh.de/index.php/news/8103/Neuste+Nachrichten/january-12-2017/LEGIDA%3A+Polizei+stoppt+Live-%C3%9Cbertragung+von+RT+%E2%80%93+Begr%C3%BCndung%3A+Kamera+angeblich+geklaut' - }, { - active: true, - iden: 'ujvtzF2Qop2sjApQNENvS8', - created: 1484216592.8537018, - modified: 1484216592.866861, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Microsoft accidentally pushes out Windows 10 Mobile 14998 to some fast ring insiders', - url: 'https://mspoweruser.com/microsoft-accidentally-pushes-windows-10-mobile-14998-fast-ring-insiders/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz5m4f2elM', - created: 1484216366.2777321, - modified: 1484216834.496767, - type: 'note', - dismissed: true, - guid: '5278F86E-FE47-4D7A-8891-CC076B4DBC3B', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - source_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - body: ' sidney.bofah@googlemail.comi' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAvoZ6Y5EO', - created: 1484216253.1199481, - modified: 1484216253.126132, - type: 'note', - dismissed: false, - guid: 'C1E58D25-9C2D-4639-AFB1-6677A7849461', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'fgg' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz9fPkaxVc', - created: 1484215994.074692, - modified: 1484215994.148746, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Disk Drill PRO 3: take 70% off a lifetime of data recovery and loss prevention', - url: 'http://www.idownloadblog.com/2017/01/12/disk-drill-pro-3-take-70-off-a-lifetime-of-data-recovery-and-loss-prevention/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwcg35MqGa', - created: 1484215993.7876859, - modified: 1484215993.8281019, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Ex-Apple-Automatisierungschef fΓΌrchtet Ende von macOS-Scripting', - url: 'https://www.heise.de/mac-and-i/meldung/Ex-Apple-Automatisierungschef-fuerchtet-Ende-von-macOS-Scripting-3594306.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkKJb46vs', - created: 1484215993.3963368, - modified: 1484215993.413147, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Gartner: Apple wird Microsoft 2017 bei Betriebssystemen ΓΌberholen', - url: 'https://www.heise.de/mac-and-i/meldung/Gartner-Apple-wird-Microsoft-2017-bei-Betriebssystemen-ueberholen-3594290.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzZW17G7A4', - created: 1484215993.013216, - modified: 1484215993.023854, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Black Energy: Wieder Malware-Angriff auf Stromnetz in der Ukraine', - url: 'http://www.golem.de/news/black-energy-wieder-malware-angriff-auf-stromnetz-in-der-ukraine-1701-125535.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxNAhRRCX6', - created: 1484215887.7496378, - modified: 1484215887.7539399, - type: 'note', - dismissed: false, - guid: '83A33E9F-5AE6-434C-82BB-DE135316F934', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'sextop' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxnJYemxGe', - created: 1484215402.802369, - modified: 1484215402.8268101, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | New Book US Navys Secret Space Program & Nordic Extraterrestrial Alliance', - url: 'http://exopolitics.org/new-book-us-navys-secret-space-program-nordic-extraterrestrial-alliance/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxDDm082gu', - created: 1484215402.315775, - modified: 1484215402.367442, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | HARVARD AND YALE OPEN SHARIA LAW STUDIES', - url: 'https://gizadeathstar.com/2017/01/harvard-yale-open-sharia-law-studies/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAxLG7yw9Y', - created: 1484215111.3011131, - modified: 1484215111.360401, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', - 'web-db8l4oav7p55l27ukvf0g', [length]: 2 - ], - title: 'News | Zeit fΓΌr RΓΌcktritte', - url: 'https://jungefreiheit.de/debatte/streiflicht/2017/zeit-fuer-ruecktritte/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAb1VygkN2', - created: 1484214800.274341, - modified: 1484214800.2908642, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Mexico's president: We will not pay for the wall', - url: 'http://thehill.com/policy/international/313917-mexicos-president-we-will-not-pay-for-the-wall' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxZ5rfWbZY', - created: 1484214495.6558578, - modified: 1484214495.683757, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Michelle Obama: Last days as first lady surprisingly emotional', - url: 'http://thehill.com/homenews/news/michelle-obama-thank-you-notes-jimmy-fallon-tonight-show' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBgXmE827E', - created: 1484211206.3512042, - modified: 1484214256.02209, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Burka Verbot in Marokko', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, { - active: true, - iden: 'ujvtzF2Qop2sjC6izlQM6C', - created: 1484210895.0632079, - modified: 1484214256.167936, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Das SturmgeschΓΌtz der Demokratie und die Steuerung der Lesermeinung', - url: 'http://www.achgut.com/artikel/das_sturmgeschuetz_der_demokratie_und_die_steuerung_der_lesermeinung' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxRmpx7GIm', - created: 1484210894.277434, - modified: 1484214256.090809, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Obama-Bilanz: Ein Showstar des Guten', - url: 'http://www.achgut.com/artikel/obama_bilanz_ein_showstar_des_guten' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwtLHumqvQ', - created: 1484210315.152873, - modified: 1484214256.083507, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Google: Android Wear 2.0 erscheint Anfang Februar', - url: 'http://www.golem.de/news/google-android-wear-2-0-erscheint-anfang-februar-1701-125534.html' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAhZi9Ywnc', - created: 1484208427.6172428, - modified: 1484214256.001589, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Release | FolderIco 5.1', - url: 'https://www.giveawayoftheday.com/folderico-5/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBhdiGQrSK', - created: 1484208062.321517, - modified: 1484214256.1229482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | 11.2.5', - url: 'https://github.com/electron-userland/electron-builder/releases/tag/v11.2.5' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAggeJZuPQ', - created: 1484206091.182157, - modified: 1484214256.053671, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | What Does The Future Hold For \'Average Joes\'? (Spoiler Alert: Feudalism)', - url: 'http://www.zerohedge.com/news/2017-01-11/what-does-future-hold-average-joes-spoiler-alert-feudalism' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAoyp9DZ2y', - created: 1484205489.363415, - modified: 1484214256.00026, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://www.anonymousnews.ru/2017/01/12/legida-polizei-stoppt-live-uebertragung-von-rt-begruendung-kamera-ist-geklaut/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwv9rxUD5E', - created: 1484205191.370235, - modified: 1484214256.104903, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | LED-Arbeits-Handschuh fΓΌr 308', - url: 'https://www.china-gadgets.de/led-arbeits-handschuhe/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjC5lTVXgKO', - created: 1484204600.915172, - modified: 1484214256.0007539, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, { - active: true, - iden: 'ujvtzF2Qop2sjwfR9TfmFg', - created: 1484204012.67947, - modified: 1484214256.168886, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wie weit werden unsere Eliten noch gehen um die Macht nicht zu verlieren?', - url: 'https://nixgut.wordpress.com/2017/01/11/wie-weit-werden-unsere-eliten-noch-gehen-um-die-macht-nicht-zu-verlieren/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAueMVF2Pc', - created: 1484204011.976248, - modified: 1484214256.0021482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Akif Pirincci: Bigamie 2.0 Syrische SpermiumkΓΌnstler auf der Suche nach blonden Muschis', - url: 'https://nixgut.wordpress.com/2017/01/11/akif-pirincci-bigamie-2-0-syrische-spermiumknstler-auf-der-suche-nach-blonden-muschis/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCBpsBeNKC', - created: 1484204011.319115, - modified: 1484214255.999685, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Englischer Polizist: Wir mΓΌssen islamische FΓΌhrer um Erlaubnis fragen wenn wir auf Streife gehen wollen.', - url: 'https://nixgut.wordpress.com/2017/01/11/englischer-polizist-wir-muessen-islamische-fuehrer-um-erlaubnis-fragen-wenn-wir-auf-streife-gehen-wollen/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxvyeTzXMa', - created: 1484204010.911499, - modified: 1484214256.000242, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Antifa lockert Radmuttern an Rettungswagen und nimmt den Tod von Menschen in Kauf', - url: 'https://nixgut.wordpress.com/2017/01/11/antifa-entdeckt-die-ausrottung-der-deutschen-fuer-sich/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxxLFBESWq', - created: 1484202193.164877, - modified: 1484214255.9996889, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Audio Tube v1.7', - url: 'http://www.sinfuliphone.com/showthread.php?t=10092399&goto=newpost' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAbBn0Ljvo', - created: 1484201050.896371, - modified: 1484214256.330455, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | [Request] OS X Yosemite font for OS X El Capitan', - url: 'https://www.reddit.com/r/OSXTweaks/comments/5ngy3x/request_os_x_yosemite_font_for_os_x_el_capitan/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxA6BjqGAe', - created: 1484201050.5256, - modified: 1484214255.9997299, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Alien blue dissapeared', - url: 'https://www.reddit.com/r/AlienBlue/comments/5ngoik/alien_blue_dissapeared/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAjmT81WEe', - created: 1484201050.100319, - modified: 1484214256.165864, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Su 33 on Kuznetsov [1280 720]', - url: 'https://www.reddit.com/r/WarplanePorn/comments/5ng05e/su_33_on_kuznetsov_1280_720/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz0wNCl2DA', - created: 1484201049.564907, - modified: 1484214256.0546439, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | A strange animal that lived on the ocean floor 500 million years ago has been assigned to the tree of life solving a long-held mystery.', - url: 'https://www.reddit.com/r/science/comments/5nfisd/a_strange_animal_that_lived_on_the_ocean_floor/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxTXHm5qLY', - created: 1484136070.956827, - modified: 1484214750.478137, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | corrects typo in de', - url: 'https://github.com/yakyak/yakyak/commit/dc7757e2637e009086e8c2cc5113f5bc77a55914' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxL44yhLk4', - created: 1484136068.226959, - modified: 1484214750.484751, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | missing copy image link', - url: 'https://github.com/yakyak/yakyak/commit/2a965fb6ef94f53f96b206004e18f1ba5de7fd39' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAmC9byyd2', - created: 1484135950.1940851, - modified: 1484214917.053182, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Will there be a new Linux version?', - url: 'https://www.reddit.com/r/PopCornTime/comments/5na15h/will_there_be_a_new_linux_version/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzY1P7LSxw', - created: 1484135605.4140449, - modified: 1484214917.063254, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Donald Trump dismisses as fake news claims that Russia gathered compromising information about him', - url: 'http://www.infowars.com/donald-trump-dismisses-as-fake-news-claims-that-russia-gathered-compromising-information-about-him/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx', - created: 1483730530.840636, - modified: 1483730531.6868532, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'It is possible to send text messages from other phones with Pudlshbullet?', - body: 'Let\'s say I have an iPhone and an Android phone. If I install Pushbullet on both of those devices, would it be possible for me to view, and send messages that are on my android device, remotely from my iPhone? Thank you. submitted by /u/PM_ME_YOUR_FELINE [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5m7gws/it_is_possible_to_send_text_messages_from_other/' - }, { - active: true, - iden: 'ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x', - created: 1483730530.735776, - modified: 1483730531.489237, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'The Oatmeal channel not working', - body: 'The Oatmeal is no longer sending updates. I tried to create a custom channel myself, however it doesn\'t seem to work out (something something incorrect format). Could someone take a look at it? Thanks! submitted by /u/NoGuess [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5mbrl2/the_oatmeal_channel_not_working/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkNjNDxsG', - created: 1483576538.7639868, - modified: 1483576538.768515, - type: 'note', - dismissed: false, - guid: 'pnu0iljeposdki9lreiio', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-me8s0mjg2o8f8f5em6j4jo', [length]: 1], - body: 'asd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCX1oF7ep2', - created: 1483576342.933614, - modified: 1483576342.937933, - type: 'note', - dismissed: false, - guid: 'inehue7fc98k1139ptqcr8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-ds4ts1c0ocg2kbm15koh4o', [length]: 1], - body: 'dd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxs4TmJKbQ', - created: 1483576043.55773, - modified: 1483576043.5624142, - type: 'note', - dismissed: false, - guid: 'akhr3qq469o5g26q2053dg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-lsr76loq98g66ugm3rf79g', [length]: 1], - body: 'asd' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxWKdp6RgG', - created: 1483575919.301862, - modified: 1483575919.306616, - type: 'note', - dismissed: false, - guid: 'qobtnbesgqotbcvjes3nag', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-1top2419fqgtcgcu3008o', - 'web-orksosnn45oghssto5r32o', [length]: 2 - ], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxRw4Cb2bY', - created: 1483571870.908057, - modified: 1483571870.9121, - type: 'note', - dismissed: false, - guid: '3ig2gkg1t4jufnp9of5o8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAiqCM35Xw', - created: 1483571855.694658, - modified: 1483571855.699219, - type: 'note', - dismissed: false, - guid: 'efvpl2che2guip8n1d4hsg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, { - active: true, - iden: 'ujvtzF2Qop2sjBvBeXEOZM', - created: 1483571764.721146, - modified: 1483571764.7304919, - type: 'note', - dismissed: false, - guid: 'd5ug90vb2ioj14t0idq5uo', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-tcen0o36r18q143kti0o3g', [length]: 1], - body: '55' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzXIngzK3M', - created: 1483571722.573868, - modified: 1483571722.577889, - type: 'note', - dismissed: false, - guid: 'ubh6fjs2jr8bsudqk1d6ho', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-4qr9tdbhfjpgiunsvmkh', [length]: 1], - body: 'k' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAzoAjVy44', - created: 1483571567.877408, - modified: 1483571567.885748, - type: 'note', - dismissed: false, - guid: '2jq9b821v4cbhs7fi1h1o', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-eua5suj606gfd717itva1', [length]: 1], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCZQ8Pi8nA', - created: 1483570173.091674, - modified: 1483570173.095386, - type: 'note', - dismissed: false, - guid: 'o4b4066r3fsu1qu912pmg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'www' - }, { - active: true, - iden: 'ujvtzF2Qop2sjCBgHoFORU', - created: 1483570166.299016, - modified: 1483570166.304797, - type: 'note', - dismissed: false, - guid: 'i6frffs5sk894j6ro0b3to', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'sss' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxu62m1P3Y', - created: 1483569961.132617, - modified: 1483569961.144528, - type: 'note', - dismissed: false, - guid: 'vhmp5spq7qg1i87p3eafco', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-kvnri6m02tguv03v7s68o', [length]: 1], - body: 'ii#' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxMDmdZHDE', - created: 1483557914.020291, - modified: 1483557914.1003, - type: 'note', - dismissed: false, - guid: 'dce55mnae23pd779bd2s8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-8hv68ubu7f87i9t34ijnbg', - 'web-qmjdv92j6s61urmaca9d8', [length]: 2 - ], - body: 'r' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxKZHS4Gui', - created: 1483418119.236277, - modified: 1483418119.305235, - type: 'note', - dismissed: true, - guid: 'ad5a4c43-cc6d-4da4-af41-e79ed746aee3', - direction: 'outgoing', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvkITOXy0W', - receiver_email: 'bellagleich@gmail.com', - receiver_email_normalized: 'bellagleich@gmail.com', - awake_app_guids: ['web-kuohskb59mgruev4d8gfk8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-30i8ulm1lcoj8q4t1otqv8', [length]: 3 - ], - body: 'sex' - }, { - active: true, - iden: 'ujvtzF2Qop2sjxMxmYWmia', - created: 1483418085.9862652, - modified: 1483418099.010342, - type: 'note', - dismissed: true, - guid: 'm8inkahjj0o0ktb30rs7v', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjxCp1apWJE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: 'test' - }, { - active: true, - iden: 'ujvtzF2Qop2sjAkiUIXwKy', - created: 1483418073.205363, - modified: 1483418073.2470012, - type: 'note', - dismissed: false, - guid: '8vau4qsjdeuc28avus8v8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: '123' - }, { - active: true, - iden: 'ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x', - created: 1483311121.798762, - modified: 1483311122.4512792, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Controlling my alarm clock', - body: 'I\'m trying to integrate Pushbullet with an Alarm Clock I\'ve created with a Raspberry Pi. Basically, I want to send push notifications to my Pi to update a configuration file with certain parameters (status, timing etc).. I know I could do it with a simple web page.. but where\'s the fun in that :p Has anyone created a simple bot with the service before? I\'m using the pushbullet.py API bindings but the documentation is quite lacking! submitted by /u/keva161 [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5lhnn1/controlling_my_alarm_clock/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x', - created: 1483302120.75087, - modified: 1483302121.451508, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Notification mirroring on different sized monitors issue', - body: 'When setting notification mirroring to be on the top left or top right corners of a secondary monitor, the height of the notification is determined by the main monitor instead of the secondary monitor. I have a 1440p and a 1080p monitor. Setting my 1440p as my main display and having the notification mirrors appear on my 1080p will result in notifications being off screen when set to top left or top right. The reverse of having the 1080p monitor as the main display and notification mirrors on the 1440p moni', - url: 'https://www.reddit.com/r/PushBullet/comments/5lgwiu/notification_mirroring_on_different_sized/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx', - created: 1483252320.2881742, - modified: 1483288679.579298, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'can\'t send group texts from connected devices', - body: 'Group texts received to or sent from the originating phone are replicated across devices, but if there\'s a way to SEND texts FROM a connected device, I haven\'t found it. The texts always fail to send. My phone is running Android 5.0.2 and I use Textra for texting. The two other devices I have connected are Chrome and a tablet running Android 6.0. I can text individuals from a connected device, but any group texts I receive or send FROM THE PHONE (from Textra) are replicated across all my devices as they sho', - url: 'https://www.reddit.com/r/PushBullet/comments/5ldw3z/cant_send_group_texts_from_connected_devices/' - }, { - active: true, - iden: 'ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x', - created: 1483219920.051701, - modified: 1483288679.620778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Direct share to contacts?', - body: 'My primary use case for Pushbullet sending links and images to my girlfriend. While it\'s nice that my devices appear in the direct share menu, it would be really great to see my frequent contacts show up there too. submitted by /u/Xenataur [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5l93bl/direct_share_to_contacts/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x', - created: 1483174919.619445, - modified: 1483288679.6664891, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Noticed a change in group text behavior after updating from Lollipop to Marshmallow', - body: 'Recently updated my phone from Android 5.0 to 6.0. Still using PB and the same texting app (Textra). Two changes in group texting behavior: group texts sent from PB now show in phone text app. Previously they would not show up on phone and I wouldn\'t know if the message was actually sent unless one of the recipients replied. group texts sent from PB no longer disappear from Chrome PB extension. This is a big improvement, and I have no idea if the changes are due to the Android version update, a change in ', - url: 'https://www.reddit.com/r/PushBullet/comments/5kyxzj/noticed_a_change_in_group_text_behavior_after/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x', - created: 1482904911.564085, - modified: 1483288679.701031, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Pushbullet Pro is required to make this call.', - body: 'My Pushbullet call is now saying I need Pushbullet Pro. Is this a new restriction? curl -u {API Key}: -X POST https://api.pushbullet.com/v2/pushes --header \'Content-Type: application/json\' --data-binary \'{"type": "note", "title": "test", "body": "test."}\' {"error":{"code":"pushbullet_pro_required","type":"invalid_request","message":"Pushbullet Pro is required to make this call.","cat":"πŸ™€"},"error_code":"pushbullet_pro_required"} submitted by /u/frbastiat [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kdxcf/pushbullet_pro_is_required_to_make_this_call/' - }, { - active: true, - iden: 'ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x', - created: 1482904911.43293, - modified: 1483288679.7334778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Cannot attach files in Chrome extension', - body: 'Using the Chrome Extension I cannot add attachments. The file dialog opens, I can select the file, but then it just never shows up in Pushbullet. I\'ve tried re-installing, rebooting, logging out and in, clearing browsing history and cache, updated my os (Fedora 25 KDE) but nothing. submitted by /u/Franklyundead [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kj19b/cannot_attach_files_in_chrome_extension/' - }, { - active: true, - iden: 'ujvtzF2Qop2sjz171aiBH2', - created: 1482826295.772964, - modified: 1482826295.779114, - type: 'note', - dismissed: false, - guid: '0qpf2e993s88bq745lkit', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-jqj9rif2f5gfhnf5q9vee', [length]: 1], - body: 'zzj' - }, - [length]: 70 - ], - objs: { - ujvtzF2Qop2sjAvoZ6Y5EO: { - active: true, - iden: 'ujvtzF2Qop2sjAvoZ6Y5EO', - created: 1484216253.1199481, - modified: 1484216253.126132, - type: 'note', - dismissed: false, - guid: 'C1E58D25-9C2D-4639-AFB1-6677A7849461', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'fgg' - }, - ujvtzF2Qop2sjxNAhRRCX6: { - active: true, - iden: 'ujvtzF2Qop2sjxNAhRRCX6', - created: 1484215887.7496378, - modified: 1484215887.7539399, - type: 'note', - dismissed: false, - guid: '83A33E9F-5AE6-434C-82BB-DE135316F934', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - source_device_iden: 'ujvtzF2Qop2sjCY70GSshM', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - body: 'sextop' - }, - ujvtzF2Qop2sjAkNjNDxsG: { - active: true, - iden: 'ujvtzF2Qop2sjAkNjNDxsG', - created: 1483576538.7639868, - modified: 1483576538.768515, - type: 'note', - dismissed: false, - guid: 'pnu0iljeposdki9lreiio', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-me8s0mjg2o8f8f5em6j4jo', [length]: 1], - body: 'asd' - }, - ujvtzF2Qop2sjCX1oF7ep2: { - active: true, - iden: 'ujvtzF2Qop2sjCX1oF7ep2', - created: 1483576342.933614, - modified: 1483576342.937933, - type: 'note', - dismissed: false, - guid: 'inehue7fc98k1139ptqcr8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-ds4ts1c0ocg2kbm15koh4o', [length]: 1], - body: 'dd' - }, - ujvtzF2Qop2sjxs4TmJKbQ: { - active: true, - iden: 'ujvtzF2Qop2sjxs4TmJKbQ', - created: 1483576043.55773, - modified: 1483576043.5624142, - type: 'note', - dismissed: false, - guid: 'akhr3qq469o5g26q2053dg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-lsr76loq98g66ugm3rf79g', [length]: 1], - body: 'asd' - }, - ujvtzF2Qop2sjxWKdp6RgG: { - active: true, - iden: 'ujvtzF2Qop2sjxWKdp6RgG', - created: 1483575919.301862, - modified: 1483575919.306616, - type: 'note', - dismissed: false, - guid: 'qobtnbesgqotbcvjes3nag', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-1top2419fqgtcgcu3008o', - 'web-orksosnn45oghssto5r32o', [length]: 2 - ], - body: 'test' - }, - ujvtzF2Qop2sjxRw4Cb2bY: { - active: true, - iden: 'ujvtzF2Qop2sjxRw4Cb2bY', - created: 1483571870.908057, - modified: 1483571870.9121, - type: 'note', - dismissed: false, - guid: '3ig2gkg1t4jufnp9of5o8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, - ujvtzF2Qop2sjAiqCM35Xw: { - active: true, - iden: 'ujvtzF2Qop2sjAiqCM35Xw', - created: 1483571855.694658, - modified: 1483571855.699219, - type: 'note', - dismissed: false, - guid: 'efvpl2che2guip8n1d4hsg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-iqpv3g19lj87ccor4vini8', [length]: 1], - body: 'candela' - }, - ujvtzF2Qop2sjBvBeXEOZM: { - active: true, - iden: 'ujvtzF2Qop2sjBvBeXEOZM', - created: 1483571764.721146, - modified: 1483571764.7304919, - type: 'note', - dismissed: false, - guid: 'd5ug90vb2ioj14t0idq5uo', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-tcen0o36r18q143kti0o3g', [length]: 1], - body: '55' - }, - ujvtzF2Qop2sjzXIngzK3M: { - active: true, - iden: 'ujvtzF2Qop2sjzXIngzK3M', - created: 1483571722.573868, - modified: 1483571722.577889, - type: 'note', - dismissed: false, - guid: 'ubh6fjs2jr8bsudqk1d6ho', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-4qr9tdbhfjpgiunsvmkh', [length]: 1], - body: 'k' - }, - ujvtzF2Qop2sjAzoAjVy44: { - active: true, - iden: 'ujvtzF2Qop2sjAzoAjVy44', - created: 1483571567.877408, - modified: 1483571567.885748, - type: 'note', - dismissed: false, - guid: '2jq9b821v4cbhs7fi1h1o', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-eua5suj606gfd717itva1', [length]: 1], - body: 'test' - }, - ujvtzF2Qop2sjCZQ8Pi8nA: { - active: true, - iden: 'ujvtzF2Qop2sjCZQ8Pi8nA', - created: 1483570173.091674, - modified: 1483570173.095386, - type: 'note', - dismissed: false, - guid: 'o4b4066r3fsu1qu912pmg', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'www' - }, - ujvtzF2Qop2sjxu62m1P3Y: { - active: true, - iden: 'ujvtzF2Qop2sjxu62m1P3Y', - created: 1483569961.132617, - modified: 1483569961.144528, - type: 'note', - dismissed: false, - guid: 'vhmp5spq7qg1i87p3eafco', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjBtEMiFVwO', - awake_app_guids: ['web-kvnri6m02tguv03v7s68o', [length]: 1], - body: 'ii#' - }, - ujvtzF2Qop2sjxMxmYWmia: { - active: true, - iden: 'ujvtzF2Qop2sjxMxmYWmia', - created: 1483418085.9862652, - modified: 1483418099.010342, - type: 'note', - dismissed: true, - guid: 'm8inkahjj0o0ktb30rs7v', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjxCp1apWJE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: 'test' - }, - ujvtzF2Qop2sjz5m4f2elM: { - active: true, - iden: 'ujvtzF2Qop2sjz5m4f2elM', - created: 1484216366.2777321, - modified: 1484216834.496767, - type: 'note', - dismissed: true, - guid: '5278F86E-FE47-4D7A-8891-CC076B4DBC3B', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - source_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - body: ' sidney.bofah@googlemail.comi' - }, - ujvtzF2Qop2sjCBgHoFORU: { - active: true, - iden: 'ujvtzF2Qop2sjCBgHoFORU', - created: 1483570166.299016, - modified: 1483570166.304797, - type: 'note', - dismissed: false, - guid: 'i6frffs5sk894j6ro0b3to', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-t0ocppu53jgv26nq8km6c', [length]: 1], - body: 'sss' - }, - ujvtzF2Qop2sjxMDmdZHDE: { - active: true, - iden: 'ujvtzF2Qop2sjxMDmdZHDE', - created: 1483557914.020291, - modified: 1483557914.1003, - type: 'note', - dismissed: false, - guid: 'dce55mnae23pd779bd2s8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-8hv68ubu7f87i9t34ijnbg', - 'web-qmjdv92j6s61urmaca9d8', [length]: 2 - ], - body: 'r' - }, - ujvtzF2Qop2sjAkiUIXwKy: { - active: true, - iden: 'ujvtzF2Qop2sjAkiUIXwKy', - created: 1483418073.205363, - modified: 1483418073.2470012, - type: 'note', - dismissed: false, - guid: '8vau4qsjdeuc28avus8v8', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-30i8ulm1lcoj8q4t1otqv8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-kuohskb59mgruev4d8gfk8', [length]: 3 - ], - body: '123' - }, - ujvtzF2Qop2sjz171aiBH2: { - active: true, - iden: 'ujvtzF2Qop2sjz171aiBH2', - created: 1482826295.772964, - modified: 1482826295.779114, - type: 'note', - dismissed: false, - guid: '0qpf2e993s88bq745lkit', - direction: 'self', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - target_device_iden: 'ujvtzF2Qop2sjArwKu3PfE', - awake_app_guids: ['web-jqj9rif2f5gfhnf5q9vee', [length]: 1], - body: 'zzj' - }, - ujvtzF2Qop2sjxKZHS4Gui: { - active: true, - iden: 'ujvtzF2Qop2sjxKZHS4Gui', - created: 1483418119.236277, - modified: 1483418119.305235, - type: 'note', - dismissed: true, - guid: 'ad5a4c43-cc6d-4da4-af41-e79ed746aee3', - direction: 'outgoing', - sender_iden: 'ujvtzF2Qop2', - sender_email: 'sidney.bofah@googlemail.com', - sender_email_normalized: 'sidneybofah@gmail.com', - sender_name: 'Sidney B', - receiver_iden: 'ujvkITOXy0W', - receiver_email: 'bellagleich@gmail.com', - receiver_email_normalized: 'bellagleich@gmail.com', - awake_app_guids: ['web-kuohskb59mgruev4d8gfk8', - 'ujvtzF2Qop2sjxCp1apWJE', - 'web-30i8ulm1lcoj8q4t1otqv8', [length]: 3 - ], - body: 'sex' - }, - ujvtzF2Qop2sjAhrOjgXaC: { - active: true, - iden: 'ujvtzF2Qop2sjAhrOjgXaC', - created: 1484217200.545822, - modified: 1484217200.562691, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - url: 'https://gizadeathstar.com/2017/01/news-views-nefarium-jan-12-2017/' - }, - ujvtzF2Qop2sjzYKMmqsvI: { - active: true, - iden: 'ujvtzF2Qop2sjzYKMmqsvI', - created: 1484217046.7953322, - modified: 1484217046.80634, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', - 'web-9tcuu1g0e38gl4dutm9qe8', [length]: 2 - ], - title: 'Repo | attachments: correctly open google plus contents fixes #535', - url: 'https://github.com/yakyak/yakyak/commit/3861311e74d9faee38fb748040411b8541e77b73' - }, - ujvtzF2Qop2sjxAB0m0oIS: { - active: true, - iden: 'ujvtzF2Qop2sjxAB0m0oIS', - created: 1484216668.555784, - modified: 1484216668.5660381, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://nixgut.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, - ujvtzF2Qop2sjCQKtrZ552: { - active: true, - iden: 'ujvtzF2Qop2sjCQKtrZ552', - created: 1484216668.11878, - modified: 1484216668.146403, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'Blog | Burka Verbot in Marokko', - url: 'https://nixgut.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, - ujvtzF2Qop2sjxqsHPQVpc: { - active: true, - iden: 'ujvtzF2Qop2sjxqsHPQVpc', - created: 1484216594.745331, - modified: 1484216594.765812, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | heise-Angebot: M: Neue Konferenz zu maschinellem Lernen in London', - url: 'https://www.heise.de/developer/meldung/M3-Neue-Konferenz-zu-maschinellem-Lernen-in-London-3593637.html?wt_mc=rss.developer.beitrag.atom' - }, - ujvtzF2Qop2sjCXR6AlW5Q: { - active: true, - iden: 'ujvtzF2Qop2sjCXR6AlW5Q', - created: 1484216594.296059, - modified: 1484216594.395126, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Macht euch nackig Kameraden: Von der Leyen veranstaltet Sex-Seminar bei der Bundeswehr Zahlen geschΓΆnt? Die Polizei in Oberhausen verschwieg in ihrer Statistik zahlreiche EinbrΓΌche Tschechien: PrΓ€sident Zeman ruft zum Selbstschutz gegen den muslimischen Super-Holocaust auf (Zeitgeschichte)', - url: 'http://service-rh.de/index.php/news/8101/Neuste+Nachrichten/january-12-2017/%2B%2B%2B+Macht+euch+nackig%2C+Kameraden%3A+Von+der+Leyen+veranstaltet+Sex-Seminar+bei+der+Bundeswehr+%2B%2B%2B+Zahlen+gesch%C3%B6nt%3F+Die+Polizei+in+Oberhausen+verschwieg+in+ihrer+Statistik+zahlreiche+Einbr%C3%BCche+%2B%2B%2B+Tschechien%3A+Pr%C3%A4sident+Zeman+ruft+zum+Selbstschutz+gegen+den+%C2%BBmuslimischen+Super-Holocaust%C2%AB+auf+%2B%2B%2B+%28Zeitgeschichte%29' - }, - ujvtzF2Qop2sjAz8n77YE8: { - active: true, - iden: 'ujvtzF2Qop2sjAz8n77YE8', - created: 1484216593.7796962, - modified: 1484216593.802285, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Aufgedeckt: FlΓΌchtlinge verΓΌben 556.000 Straftaten Medien und Politiker schweigen', - url: 'http://service-rh.de/index.php/news/8102/Neuste+Nachrichten/january-12-2017/Aufgedeckt%3A+Fl%C3%BCchtlinge+ver%C3%BCben+556-000+Straftaten+%E2%80%93+Medien+und+Politiker+schweigen' - }, - ujvtzF2Qop2sjAeN1Ml7GS: { - active: true, - iden: 'ujvtzF2Qop2sjAeN1Ml7GS', - created: 1484216593.340408, - modified: 1484216593.3952131, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://service-rh.de/index.php/news/8103/Neuste+Nachrichten/january-12-2017/LEGIDA%3A+Polizei+stoppt+Live-%C3%9Cbertragung+von+RT+%E2%80%93+Begr%C3%BCndung%3A+Kamera+angeblich+geklaut' - }, - ujvtzF2Qop2sjApQNENvS8: { - active: true, - iden: 'ujvtzF2Qop2sjApQNENvS8', - created: 1484216592.8537018, - modified: 1484216592.866861, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjArwKu3PfE', [length]: 1], - title: 'News | Microsoft accidentally pushes out Windows 10 Mobile 14998 to some fast ring insiders', - url: 'https://mspoweruser.com/microsoft-accidentally-pushes-windows-10-mobile-14998-fast-ring-insiders/' - }, - ujvtzF2Qop2sjz9fPkaxVc: { - active: true, - iden: 'ujvtzF2Qop2sjz9fPkaxVc', - created: 1484215994.074692, - modified: 1484215994.148746, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Disk Drill PRO 3: take 70% off a lifetime of data recovery and loss prevention', - url: 'http://www.idownloadblog.com/2017/01/12/disk-drill-pro-3-take-70-off-a-lifetime-of-data-recovery-and-loss-prevention/' - }, - ujvtzF2Qop2sjwcg35MqGa: { - active: true, - iden: 'ujvtzF2Qop2sjwcg35MqGa', - created: 1484215993.7876859, - modified: 1484215993.8281019, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Ex-Apple-Automatisierungschef fΓΌrchtet Ende von macOS-Scripting', - url: 'https://www.heise.de/mac-and-i/meldung/Ex-Apple-Automatisierungschef-fuerchtet-Ende-von-macOS-Scripting-3594306.html' - }, - ujvtzF2Qop2sjAkKJb46vs: { - active: true, - iden: 'ujvtzF2Qop2sjAkKJb46vs', - created: 1484215993.3963368, - modified: 1484215993.413147, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Gartner: Apple wird Microsoft 2017 bei Betriebssystemen ΓΌberholen', - url: 'https://www.heise.de/mac-and-i/meldung/Gartner-Apple-wird-Microsoft-2017-bei-Betriebssystemen-ueberholen-3594290.html' - }, - ujvtzF2Qop2sjzZW17G7A4: { - active: true, - iden: 'ujvtzF2Qop2sjzZW17G7A4', - created: 1484215993.013216, - modified: 1484215993.023854, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Black Energy: Wieder Malware-Angriff auf Stromnetz in der Ukraine', - url: 'http://www.golem.de/news/black-energy-wieder-malware-angriff-auf-stromnetz-in-der-ukraine-1701-125535.html' - }, - ujvtzF2Qop2sjxnJYemxGe: { - active: true, - iden: 'ujvtzF2Qop2sjxnJYemxGe', - created: 1484215402.802369, - modified: 1484215402.8268101, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | New Book US Navys Secret Space Program & Nordic Extraterrestrial Alliance', - url: 'http://exopolitics.org/new-book-us-navys-secret-space-program-nordic-extraterrestrial-alliance/' - }, - ujvtzF2Qop2sjxDDm082gu: { - active: true, - iden: 'ujvtzF2Qop2sjxDDm082gu', - created: 1484215402.315775, - modified: 1484215402.367442, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'Blog | HARVARD AND YALE OPEN SHARIA LAW STUDIES', - url: 'https://gizadeathstar.com/2017/01/harvard-yale-open-sharia-law-studies/' - }, - ujvtzF2Qop2sjAxLG7yw9Y: { - active: true, - iden: 'ujvtzF2Qop2sjAxLG7yw9Y', - created: 1484215111.3011131, - modified: 1484215111.360401, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', - 'web-db8l4oav7p55l27ukvf0g', [length]: 2 - ], - title: 'News | Zeit fΓΌr RΓΌcktritte', - url: 'https://jungefreiheit.de/debatte/streiflicht/2017/zeit-fuer-ruecktritte/' - }, - ujvtzF2Qop2sjAb1VygkN2: { - active: true, - iden: 'ujvtzF2Qop2sjAb1VygkN2', - created: 1484214800.274341, - modified: 1484214800.2908642, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Mexico's president: We will not pay for the wall', - url: 'http://thehill.com/policy/international/313917-mexicos-president-we-will-not-pay-for-the-wall' - }, - ujvtzF2Qop2sjxZ5rfWbZY: { - active: true, - iden: 'ujvtzF2Qop2sjxZ5rfWbZY', - created: 1484214495.6558578, - modified: 1484214495.683757, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - awake_app_guids: ['ujvtzF2Qop2sjCY70GSshM', [length]: 1], - title: 'News | Michelle Obama: Last days as first lady surprisingly emotional', - url: 'http://thehill.com/homenews/news/michelle-obama-thank-you-notes-jimmy-fallon-tonight-show' - }, - ujvtzF2Qop2sjBgXmE827E: { - active: true, - iden: 'ujvtzF2Qop2sjBgXmE827E', - created: 1484211206.3512042, - modified: 1484214256.02209, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Burka Verbot in Marokko', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/burka-verbot-in-marokko' - }, - ujvtzF2Qop2sjC6izlQM6C: { - active: true, - iden: 'ujvtzF2Qop2sjC6izlQM6C', - created: 1484210895.0632079, - modified: 1484214256.167936, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Das SturmgeschΓΌtz der Demokratie und die Steuerung der Lesermeinung', - url: 'http://www.achgut.com/artikel/das_sturmgeschuetz_der_demokratie_und_die_steuerung_der_lesermeinung' - }, - ujvtzF2Qop2sjxRmpx7GIm: { - active: true, - iden: 'ujvtzF2Qop2sjxRmpx7GIm', - created: 1484210894.277434, - modified: 1484214256.090809, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Obama-Bilanz: Ein Showstar des Guten', - url: 'http://www.achgut.com/artikel/obama_bilanz_ein_showstar_des_guten' - }, - ujvtzF2Qop2sjwtLHumqvQ: { - active: true, - iden: 'ujvtzF2Qop2sjwtLHumqvQ', - created: 1484210315.152873, - modified: 1484214256.083507, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Google: Android Wear 2.0 erscheint Anfang Februar', - url: 'http://www.golem.de/news/google-android-wear-2-0-erscheint-anfang-februar-1701-125534.html' - }, - ujvtzF2Qop2sjAhZi9Ywnc: { - active: true, - iden: 'ujvtzF2Qop2sjAhZi9Ywnc', - created: 1484208427.6172428, - modified: 1484214256.001589, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Release | FolderIco 5.1', - url: 'https://www.giveawayoftheday.com/folderico-5/' - }, - ujvtzF2Qop2sjBhdiGQrSK: { - active: true, - iden: 'ujvtzF2Qop2sjBhdiGQrSK', - created: 1484208062.321517, - modified: 1484214256.1229482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | 11.2.5', - url: 'https://github.com/electron-userland/electron-builder/releases/tag/v11.2.5' - }, - ujvtzF2Qop2sjAggeJZuPQ: { - active: true, - iden: 'ujvtzF2Qop2sjAggeJZuPQ', - created: 1484206091.182157, - modified: 1484214256.053671, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | What Does The Future Hold For \'Average Joes\'? (Spoiler Alert: Feudalism)', - url: 'http://www.zerohedge.com/news/2017-01-11/what-does-future-hold-average-joes-spoiler-alert-feudalism' - }, - ujvtzF2Qop2sjAoyp9DZ2y: { - active: true, - iden: 'ujvtzF2Qop2sjAoyp9DZ2y', - created: 1484205489.363415, - modified: 1484214256.00026, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | LEGIDA: Polizei stoppt Live-Übertragung von RT BegrΓΌndung: Kamera angeblich geklaut', - url: 'http://www.anonymousnews.ru/2017/01/12/legida-polizei-stoppt-live-uebertragung-von-rt-begruendung-kamera-ist-geklaut/' - }, - ujvtzF2Qop2sjwv9rxUD5E: { - active: true, - iden: 'ujvtzF2Qop2sjwv9rxUD5E', - created: 1484205191.370235, - modified: 1484214256.104903, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | LED-Arbeits-Handschuh fΓΌr 308', - url: 'https://www.china-gadgets.de/led-arbeits-handschuhe/' - }, - ujvtzF2Qop2sjC5lTVXgKO: { - active: true, - iden: 'ujvtzF2Qop2sjC5lTVXgKO', - created: 1484204600.915172, - modified: 1484214256.0007539, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wahlkampfthema der GrΓΌnen', - url: 'https://indexexpurgatorius.wordpress.com/2017/01/12/wahlkampfthema-der-gruenen' - }, - ujvtzF2Qop2sjwfR9TfmFg: { - active: true, - iden: 'ujvtzF2Qop2sjwfR9TfmFg', - created: 1484204012.67947, - modified: 1484214256.168886, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Wie weit werden unsere Eliten noch gehen um die Macht nicht zu verlieren?', - url: 'https://nixgut.wordpress.com/2017/01/11/wie-weit-werden-unsere-eliten-noch-gehen-um-die-macht-nicht-zu-verlieren/' - }, - ujvtzF2Qop2sjAueMVF2Pc: { - active: true, - iden: 'ujvtzF2Qop2sjAueMVF2Pc', - created: 1484204011.976248, - modified: 1484214256.0021482, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Akif Pirincci: Bigamie 2.0 Syrische SpermiumkΓΌnstler auf der Suche nach blonden Muschis', - url: 'https://nixgut.wordpress.com/2017/01/11/akif-pirincci-bigamie-2-0-syrische-spermiumknstler-auf-der-suche-nach-blonden-muschis/' - }, - ujvtzF2Qop2sjCBpsBeNKC: { - active: true, - iden: 'ujvtzF2Qop2sjCBpsBeNKC', - created: 1484204011.319115, - modified: 1484214255.999685, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Englischer Polizist: Wir mΓΌssen islamische FΓΌhrer um Erlaubnis fragen wenn wir auf Streife gehen wollen.', - url: 'https://nixgut.wordpress.com/2017/01/11/englischer-polizist-wir-muessen-islamische-fuehrer-um-erlaubnis-fragen-wenn-wir-auf-streife-gehen-wollen/' - }, - ujvtzF2Qop2sjxvyeTzXMa: { - active: true, - iden: 'ujvtzF2Qop2sjxvyeTzXMa', - created: 1484204010.911499, - modified: 1484214256.000242, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Blog | Antifa lockert Radmuttern an Rettungswagen und nimmt den Tod von Menschen in Kauf', - url: 'https://nixgut.wordpress.com/2017/01/11/antifa-entdeckt-die-ausrottung-der-deutschen-fuer-sich/' - }, - ujvtzF2Qop2sjxxLFBESWq: { - active: true, - iden: 'ujvtzF2Qop2sjxxLFBESWq', - created: 1484202193.164877, - modified: 1484214255.9996889, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Audio Tube v1.7', - url: 'http://www.sinfuliphone.com/showthread.php?t=10092399&goto=newpost' - }, - ujvtzF2Qop2sjAbBn0Ljvo: { - active: true, - iden: 'ujvtzF2Qop2sjAbBn0Ljvo', - created: 1484201050.896371, - modified: 1484214256.330455, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | [Request] OS X Yosemite font for OS X El Capitan', - url: 'https://www.reddit.com/r/OSXTweaks/comments/5ngy3x/request_os_x_yosemite_font_for_os_x_el_capitan/' - }, - ujvtzF2Qop2sjxA6BjqGAe: { - active: true, - iden: 'ujvtzF2Qop2sjxA6BjqGAe', - created: 1484201050.5256, - modified: 1484214255.9997299, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Alien blue dissapeared', - url: 'https://www.reddit.com/r/AlienBlue/comments/5ngoik/alien_blue_dissapeared/' - }, - ujvtzF2Qop2sjAjmT81WEe: { - active: true, - iden: 'ujvtzF2Qop2sjAjmT81WEe', - created: 1484201050.100319, - modified: 1484214256.165864, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Su 33 on Kuznetsov [1280 720]', - url: 'https://www.reddit.com/r/WarplanePorn/comments/5ng05e/su_33_on_kuznetsov_1280_720/' - }, - ujvtzF2Qop2sjz0wNCl2DA: { - active: true, - iden: 'ujvtzF2Qop2sjz0wNCl2DA', - created: 1484201049.564907, - modified: 1484214256.0546439, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | A strange animal that lived on the ocean floor 500 million years ago has been assigned to the tree of life solving a long-held mystery.', - url: 'https://www.reddit.com/r/science/comments/5nfisd/a_strange_animal_that_lived_on_the_ocean_floor/' - }, - ujvtzF2Qop2sjxTXHm5qLY: { - active: true, - iden: 'ujvtzF2Qop2sjxTXHm5qLY', - created: 1484136070.956827, - modified: 1484214750.478137, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | corrects typo in de', - url: 'https://github.com/yakyak/yakyak/commit/dc7757e2637e009086e8c2cc5113f5bc77a55914' - }, - ujvtzF2Qop2sjxL44yhLk4: { - active: true, - iden: 'ujvtzF2Qop2sjxL44yhLk4', - created: 1484136068.226959, - modified: 1484214750.484751, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Repo | missing copy image link', - url: 'https://github.com/yakyak/yakyak/commit/2a965fb6ef94f53f96b206004e18f1ba5de7fd39' - }, - ujvtzF2Qop2sjAmC9byyd2: { - active: true, - iden: 'ujvtzF2Qop2sjAmC9byyd2', - created: 1484135950.1940851, - modified: 1484214917.053182, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'Reddit | Will there be a new Linux version?', - url: 'https://www.reddit.com/r/PopCornTime/comments/5na15h/will_there_be_a_new_linux_version/' - }, - ujvtzF2Qop2sjzY1P7LSxw: { - active: true, - iden: 'ujvtzF2Qop2sjzY1P7LSxw', - created: 1484135605.4140449, - modified: 1484214917.063254, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'IFTTT', - receiver_iden: 'ujvtzF2Qop2', - receiver_email: 'sidney.bofah@googlemail.com', - receiver_email_normalized: 'sidneybofah@gmail.com', - client_iden: 'udprOCjAgjoR6nAG', - title: 'News | Donald Trump dismisses as fake news claims that Russia gathered compromising information about him', - url: 'http://www.infowars.com/donald-trump-dismisses-as-fake-news-claims-that-russia-gathered-compromising-information-about-him/' - }, - ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx: { - active: true, - iden: 'ujvtzF2Qop2sx876c994bff449e7de2e73e637267d1ec4f436067e1beacaf1d893c92548b409fx', - created: 1483730530.840636, - modified: 1483730531.6868532, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'It is possible to send text messages from other phones with Pudlshbullet?', - body: 'Let\'s say I have an iPhone and an Android phone. If I install Pushbullet on both of those devices, would it be possible for me to view, and send messages that are on my android device, remotely from my iPhone? Thank you. submitted by /u/PM_ME_YOUR_FELINE [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5m7gws/it_is_possible_to_send_text_messages_from_other/' - }, - ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x: { - active: true, - iden: 'ujvtzF2Qop2sxf11be764f28c7a882f6699decf6219a2680d665126905bd2d32a4a98b82608c2x', - created: 1483730530.735776, - modified: 1483730531.489237, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'The Oatmeal channel not working', - body: 'The Oatmeal is no longer sending updates. I tried to create a custom channel myself, however it doesn\'t seem to work out (something something incorrect format). Could someone take a look at it? Thanks! submitted by /u/NoGuess [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5mbrl2/the_oatmeal_channel_not_working/' - }, - ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x: { - active: true, - iden: 'ujvtzF2Qop2sx59696d478111a34c3fb701517b4b20c92fdc4df51f5732237e1dd7c8754c58e0x', - created: 1483311121.798762, - modified: 1483311122.4512792, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Controlling my alarm clock', - body: 'I\'m trying to integrate Pushbullet with an Alarm Clock I\'ve created with a Raspberry Pi. Basically, I want to send push notifications to my Pi to update a configuration file with certain parameters (status, timing etc).. I know I could do it with a simple web page.. but where\'s the fun in that :p Has anyone created a simple bot with the service before? I\'m using the pushbullet.py API bindings but the documentation is quite lacking! submitted by /u/keva161 [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5lhnn1/controlling_my_alarm_clock/' - }, - ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x: { - active: true, - iden: 'ujvtzF2Qop2sx0fe090963bd17db71820b405a6da29223228291a13a82b1c0681e799a1c40fc7x', - created: 1483302120.75087, - modified: 1483302121.451508, - type: 'link', - dismissed: false, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Notification mirroring on different sized monitors issue', - body: 'When setting notification mirroring to be on the top left or top right corners of a secondary monitor, the height of the notification is determined by the main monitor instead of the secondary monitor. I have a 1440p and a 1080p monitor. Setting my 1440p as my main display and having the notification mirrors appear on my 1080p will result in notifications being off screen when set to top left or top right. The reverse of having the 1080p monitor as the main display and notification mirrors on the 1440p moni', - url: 'https://www.reddit.com/r/PushBullet/comments/5lgwiu/notification_mirroring_on_different_sized/' - }, - ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx: { - active: true, - iden: 'ujvtzF2Qop2sx8284c23c798353f1f2ee72658bc688b67095d516f243791a9a0ac479213984ebx', - created: 1483252320.2881742, - modified: 1483288679.579298, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'can\'t send group texts from connected devices', - body: 'Group texts received to or sent from the originating phone are replicated across devices, but if there\'s a way to SEND texts FROM a connected device, I haven\'t found it. The texts always fail to send. My phone is running Android 5.0.2 and I use Textra for texting. The two other devices I have connected are Chrome and a tablet running Android 6.0. I can text individuals from a connected device, but any group texts I receive or send FROM THE PHONE (from Textra) are replicated across all my devices as they sho', - url: 'https://www.reddit.com/r/PushBullet/comments/5ldw3z/cant_send_group_texts_from_connected_devices/' - }, - ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x: { - active: true, - iden: 'ujvtzF2Qop2sxc3241aa4eea002cae23c47ad09980fb650cade57cdde5530058bf40c18b1ef57x', - created: 1483219920.051701, - modified: 1483288679.620778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Direct share to contacts?', - body: 'My primary use case for Pushbullet sending links and images to my girlfriend. While it\'s nice that my devices appear in the direct share menu, it would be really great to see my frequent contacts show up there too. submitted by /u/Xenataur [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5l93bl/direct_share_to_contacts/' - }, - ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x: { - active: true, - iden: 'ujvtzF2Qop2sx73eb4f1990462c03aea401de3b3222a85d5dd061531c8f6ce94ee80617411cf9x', - created: 1483174919.619445, - modified: 1483288679.6664891, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Noticed a change in group text behavior after updating from Lollipop to Marshmallow', - body: 'Recently updated my phone from Android 5.0 to 6.0. Still using PB and the same texting app (Textra). Two changes in group texting behavior: group texts sent from PB now show in phone text app. Previously they would not show up on phone and I wouldn\'t know if the message was actually sent unless one of the recipients replied. group texts sent from PB no longer disappear from Chrome PB extension. This is a big improvement, and I have no idea if the changes are due to the Android version update, a change in ', - url: 'https://www.reddit.com/r/PushBullet/comments/5kyxzj/noticed_a_change_in_group_text_behavior_after/' - }, - ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x: { - active: true, - iden: 'ujvtzF2Qop2sx998b2bd547a8fd1e8e7b7234e0dd234505c0293712c8fc6fedd92ea47d6e2f20x', - created: 1482904911.564085, - modified: 1483288679.701031, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Pushbullet Pro is required to make this call.', - body: 'My Pushbullet call is now saying I need Pushbullet Pro. Is this a new restriction? curl -u {API Key}: -X POST https://api.pushbullet.com/v2/pushes --header \'Content-Type: application/json\' --data-binary \'{"type": "note", "title": "test", "body": "test."}\' {"error":{"code":"pushbullet_pro_required","type":"invalid_request","message":"Pushbullet Pro is required to make this call.","cat":"πŸ™€"},"error_code":"pushbullet_pro_required"} submitted by /u/frbastiat [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kdxcf/pushbullet_pro_is_required_to_make_this_call/' - }, - ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x: { - active: true, - iden: 'ujvtzF2Qop2sx258053b7c759cd3ca1a0f1bdb8432e907729b440fa0ac248ff4500b82d4a2125x', - created: 1482904911.43293, - modified: 1483288679.7334778, - type: 'link', - dismissed: true, - direction: 'incoming', - sender_name: 'Pushbullet Subreddit', - channel_iden: 'ujxPklLhvyKsjAoN7VQUrQ', - title: 'Cannot attach files in Chrome extension', - body: 'Using the Chrome Extension I cannot add attachments. The file dialog opens, I can select the file, but then it just never shows up in Pushbullet. I\'ve tried re-installing, rebooting, logging out and in, clearing browsing history and cache, updated my os (Fedora 25 KDE) but nothing. submitted by /u/Franklyundead [link] [comments]', - url: 'https://www.reddit.com/r/PushBullet/comments/5kj19b/cannot_attach_files_in_chrome_extension/' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: false, - modified_after: 0, - notify_after: 1483758772.7339342, - notified_push_idens: [ - [length]: 0 - ] - }, - history: PushesHistory {}, - accounts: AccountsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [{ - active: true, - iden: 'ujvtzF2Qop2sjz6s5xJiLY', - created: 1473614962.122402, - modified: 1481045134.631424, - type: 'facebook', - id: '10155272021758508', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney Schalk', - image_url: 'https://static.pushbullet.com/facebook-user/c07a0b3fd460e13d9e7f77888a3a3ed0fe503f806eea878dce0c16bf7ea2c905' - }, { - active: true, - iden: 'ujvtzF2Qop2sjzWIEVDzOK', - created: 1442504806.524153, - modified: 1483758772.697757, - type: 'google', - id: '111601614998714556714', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney B', - image_url: 'https://static.pushbullet.com/google-user/3318caf337e29b3f1d6174dc7208da722f8025c66c8d65a477b409efc35f7b6e' - }, - [length]: 2 - ], - objs: { - ujvtzF2Qop2sjzWIEVDzOK: { - active: true, - iden: 'ujvtzF2Qop2sjzWIEVDzOK', - created: 1442504806.524153, - modified: 1483758772.697757, - type: 'google', - id: '111601614998714556714', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney B', - image_url: 'https://static.pushbullet.com/google-user/3318caf337e29b3f1d6174dc7208da722f8025c66c8d65a477b409efc35f7b6e' - }, - ujvtzF2Qop2sjz6s5xJiLY: { - active: true, - iden: 'ujvtzF2Qop2sjz6s5xJiLY', - created: 1473614962.122402, - modified: 1481045134.631424, - type: 'facebook', - id: '10155272021758508', - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney Schalk', - image_url: 'https://static.pushbullet.com/facebook-user/c07a0b3fd460e13d9e7f77888a3a3ed0fe503f806eea878dce0c16bf7ea2c905' - } - }, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - autocomplete: AutocompleteApiSuite {}, - sms: SmsApiSuite { - threads: [ - [length]: 0 - ], - thread: [ - [length]: 0 - ] - }, - texts: TextsApiSuite { - clear_error: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reset: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - create: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all: [ - [length]: 0 - ], - objs: {}, - new_obj: {}, - loaded: true, - getting: false, - creating: false, - updating: false, - deleting: false, - delete_check: false, - have_fetched: true, - modified_after: 0 - }, - pinger: PingerSuite { - online: {}, - last_ping_time: 0 - }, - remotefiles: RemoteFilesSuite {}, - start: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - fetch_all: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - resize_img: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - error_report: { - [Function] - [length]: 4, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - iden_to_type_object: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - listen_for_pushes: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get_ip: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - everything: { - modified_after: 1484217200.562691, - cursor: {}, - bootstrap: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - start: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - tickle: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - session_id: '3ecnhjj9pdvpoc4n0o4u8', - net: { - API_VERSION: '2014-05-07', - USER_AGENT: 'Pushbullet Website 159', - post: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - post_plain: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get_plain: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - get_plain_text: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - ws: { - last_message: 0, - connected: false, - socket: WebSocket {} - }, - signout: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - pb_oauth: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - become: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - post_signin_reload: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - reload: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - e2e: { - enabled: false, - error: false, - init: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set_password: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - encrypt: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - decrypt: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - key_fingerprint: null - }, - file_dragging: false, - pop_menu: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - error: { - alert: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - banner: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - popup: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - header: { - height: 80, - navs: [ - ['APPS', '/apps', [length]: 2], - ['CHANNELS', '/channels', [length]: 2], - ['BLOG', 'https://blog.pushbullet.com', [length]: 2], - ['PRO', '/pro', [length]: 2], - ['API', 'https://docs.pushbullet.com', [length]: 2], - ['HELP', 'https://help.pushbullet.com', [length]: 2], - [length]: 6 - ], - mobile: false - }, - drop_down_click: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - search: { - type: 'target', - q: '' - }, - targets: { - generate: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - devices: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - chats: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - subscriptions: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - make: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - make_ac_target: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - make_email: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - make_phone: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - by_email: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - by_device_iden: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - by_tag: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - match: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete_check_iden: null, - block_check_iden: null - }, - chats: { - picker: Picker { - props: { - direction: 'bottom', - placeholder: 'Find your friends', - email_suggest: true, - cb: undefined - }, - draw_raw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - draw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - } - }, - sms: { - q: [ - [length]: 0 - ], - message_time_out: 30000, - count: 0, - form_showing: false, - picker: Picker { - props: { - direction: 'bottom', - placeholder: 'Select device', - clear_on_click: true, - label: 'Phone', - cb: { - [Function: cb] - [length]: 1, - [name]: 'cb', - [arguments]: null, - [caller]: null, - [prototype]: cb { - [constructor]: [Circular] - } - } - }, - draw_raw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - draw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - send: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - send_new: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - send_file: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - new_sms_picker: Picker { - props: { - direction: 'bottom', - placeholder: 'Pick a phone number', - phone_suggest: true, - cb: { - [Function: cb] - [length]: 1, - [name]: 'cb', - [arguments]: null, - [caller]: null, - [prototype]: cb { - [constructor]: [Circular] - } - } - }, - draw_raw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - draw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - } - }, - remotefiles: { - view: 'grid', - device_started: false, - popup: null - }, - sidebar: { - target: null, - tab: { - name: 'people', - display_name: 'People', - url: '/#people', - targets: [{ - name: 'Annabelle Gleich', - desc: 'bella.gleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57', - url: '/#people/bella.gleich@gmail.com', - type: 'chat', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - }, - info: { - blurb: 'sex', - count: 0, - recent: 1483418119.236277 - } - }, - [length]: 1 - ] - }, - sub_tab: 'me', - expanded: null, - tabs: [{ - name: 'setup', - display_name: 'Setup', - url: '/#setup', - compute_count: { - [Function: compute_count] - [length]: 0, - [name]: 'compute_count', - [arguments]: null, - [caller]: null, - [prototype]: compute_count { - [constructor]: [Circular] - } - }, - dont_show: { - [Function: dont_show] - [length]: 0, - [name]: 'dont_show', - [arguments]: null, - [caller]: null, - [prototype]: dont_show { - [constructor]: [Circular] - } - } - }, { - name: 'people', - display_name: 'People', - url: '/#people', - targets: [{ - name: 'Annabelle Gleich', - desc: 'bella.gleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57', - url: '/#people/bella.gleich@gmail.com', - type: 'chat', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - }, - info: { - blurb: 'sex', - count: 0, - recent: 1483418119.236277 - } - }, - [length]: 1 - ] - }, { - name: 'devices', - display_name: 'Devices', - url: '/#devices', - targets: [{ - name: 'Sid-iPad', - desc: 'iPad', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjArwKu3PfE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - info: { - blurb: ' sidney.bofah@googlemail.comi', - count: 0, - recent: 1484216366.2777321 - } - }, { - name: 'PB for Desktop', - desc: 'pb-for-desktop', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjBtEMiFVwO', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'Sid-iPhone', - desc: 'iPhone', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjCY70GSshM', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'SID-MACBOOK-WIN', - desc: 'Windows 10 Enterprise Insider Preview', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjxCp1apWJE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, - info: { - blurb: 'test', - count: 0, - recent: 1483418085.9862652 - } - }, - [length]: 4 - ] - }, { - name: 'following', - display_name: 'Following', - url: '/#following', - targets: [{ - name: 'IFTTT', - desc: undefined, - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - url: '/#following/ujvtzF2Qop2sjz7O3P0Jl6', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - }, - info: { - blurb: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - count: 0, - recent: 1484217200.545822 - } - }, { - name: 'Pushbullet Subreddit', - desc: 'pushbulletsubreddit', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg', - url: '/#following/pushbulletsubreddit', - type: 'subscription', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, - info: { - blurb: 'It is possible to send text messages from other phones with Pudlshbullet?', - count: 0, - recent: 1483730530.840636 - } - }, { - name: 'Pushbullet API Access', - desc: undefined, - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - url: '/#following/ujvtzF2Qop2sjCIv4E5NiC', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, { - name: 'Pushbullet Updates', - desc: 'pushbullet', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - url: '/#following/pushbullet', - type: 'subscription', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, { - name: 'Trakt.tv', - desc: undefined, - image_url: 'https://walter.trakt.us/public/favicon.png', - url: '/#following/ujvtzF2Qop2sjz6R0L02a4', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, - [length]: 5 - ] - }, { - name: 'sms', - display_name: 'Texting', - url: '/#sms', - targets: [ - [length]: 0 - ], - dont_show: { - [Function: dont_show] - [length]: 0, - [name]: 'dont_show', - [arguments]: null, - [caller]: null, - [prototype]: dont_show { - [constructor]: [Circular] - } - } - }, { - name: 'remotefiles', - display_name: 'Remote Files', - url: '/#remotefiles', - targets: [ - [length]: 0 - ] - }, { - name: 'settings', - display_name: 'Settings', - url: '/#settings' - }, - [length]: 7 - ], - setup: { - name: 'setup', - display_name: 'Setup', - url: '/#setup', - compute_count: { - [Function: compute_count] - [length]: 0, - [name]: 'compute_count', - [arguments]: null, - [caller]: null, - [prototype]: compute_count { - [constructor]: [Circular] - } - }, - dont_show: { - [Function: dont_show] - [length]: 0, - [name]: 'dont_show', - [arguments]: null, - [caller]: null, - [prototype]: dont_show { - [constructor]: [Circular] - } - } - }, - people: { - name: 'people', - display_name: 'People', - url: '/#people', - targets: [{ - name: 'Annabelle Gleich', - desc: 'bella.gleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57', - url: '/#people/bella.gleich@gmail.com', - type: 'chat', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCOp72nbBA', - created: 1468091181.075038, - modified: 1468091181.075051, - with: { - type: 'user', - iden: 'ujvkITOXy0W', - name: 'Annabelle Gleich', - email: 'bella.gleich@gmail.com', - email_normalized: 'bellagleich@gmail.com', - image_url: 'https://static.pushbullet.com/google-user/82c9f8e338465cd6debeb1554e82af35d610edc7582f84eec136506c46361a57' - } - }, - info: { - blurb: 'sex', - count: 0, - recent: 1483418119.236277 - } - }, - [length]: 1 - ] - }, - devices: { - name: 'devices', - display_name: 'Devices', - url: '/#devices', - targets: [{ - name: 'Sid-iPad', - desc: 'iPad', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjArwKu3PfE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - info: { - blurb: ' sidney.bofah@googlemail.comi', - count: 0, - recent: 1484216366.2777321 - } - }, { - name: 'PB for Desktop', - desc: 'pb-for-desktop', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjBtEMiFVwO', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'Sid-iPhone', - desc: 'iPhone', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjCY70GSshM', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'SID-MACBOOK-WIN', - desc: 'Windows 10 Enterprise Insider Preview', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjxCp1apWJE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, - info: { - blurb: 'test', - count: 0, - recent: 1483418085.9862652 - } - }, - [length]: 4 - ] - }, - following: { - name: 'following', - display_name: 'Following', - url: '/#following', - targets: [{ - name: 'IFTTT', - desc: undefined, - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - url: '/#following/ujvtzF2Qop2sjz7O3P0Jl6', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjz7O3P0Jl6', - created: 1442504987.675034, - modified: 1442504987.6750379, - client: { - iden: 'udprOCjAgjoR6nAG', - name: 'IFTTT', - image_url: 'https://ifttt.com/images/channels/ifttt_med.png', - website_url: 'https://ifttt.com/' - } - }, - info: { - blurb: 'Blog | NEWS AND VIEWS FROM THE NEFARIUM JAN 12 2017', - count: 0, - recent: 1484217200.545822 - } - }, { - name: 'Pushbullet Subreddit', - desc: 'pushbulletsubreddit', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg', - url: '/#following/pushbulletsubreddit', - type: 'subscription', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjActWZfUVE', - created: 1483288679.431881, - modified: 1483288679.4318862, - channel: { - iden: 'ujxPklLhvyKsjAoN7VQUrQ', - tag: 'pushbulletsubreddit', - name: 'Pushbullet Subreddit', - description: 'Notifies for new posts to the Pushbullet subreddit (r/pushbullet).', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-m3hQTn56gErNjeTAeFfeHo9BbuIVhW48/icon.jpg' - } - }, - info: { - blurb: 'It is possible to send text messages from other phones with Pudlshbullet?', - count: 0, - recent: 1483730530.840636 - } - }, { - name: 'Pushbullet API Access', - desc: undefined, - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - url: '/#following/ujvtzF2Qop2sjCIv4E5NiC', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCIv4E5NiC', - created: 1464289481.472417, - modified: 1464289481.4724212, - client: { - iden: 'udprOCjzZTCnVGqi', - name: 'Pushbullet API Access', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, { - name: 'Pushbullet Updates', - desc: 'pushbullet', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - url: '/#following/pushbullet', - type: 'subscription', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjAjaNQ5YKi', - created: 1445608923.211664, - modified: 1445608923.2116742, - channel: { - iden: 'ujxPklLhvyKsjAsYUxjwho', - tag: 'pushbullet', - name: 'Pushbullet Updates', - description: 'Keep up with Pushbullet news and updates.', - image_url: 'https://s3.amazonaws.com/pushbullet-uploads/ujxPklLhvyK-FaRmZExQiHx8tMvmSpUCItsuJeFY5eUo/pushbullet.png', - website_url: 'https://www.pushbullet.com' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, { - name: 'Trakt.tv', - desc: undefined, - image_url: 'https://walter.trakt.us/public/favicon.png', - url: '/#following/ujvtzF2Qop2sjz6R0L02a4', - type: 'grant', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjz6R0L02a4', - created: 1478281973.6893299, - modified: 1478281973.689335, - client: { - iden: 'ujz4KWSZxZIsjAy5TxvPyK', - name: 'Trakt.tv', - image_url: 'https://walter.trakt.us/public/favicon.png', - website_url: 'https://trakt.tv' - } - }, - info: { - blurb: '', - count: 0, - recent: 0 - } - }, - [length]: 5 - ] - }, - sms: { - name: 'sms', - display_name: 'Texting', - url: '/#sms', - targets: [ - [length]: 0 - ], - dont_show: { - [Function: dont_show] - [length]: 0, - [name]: 'dont_show', - [arguments]: null, - [caller]: null, - [prototype]: dont_show { - [constructor]: [Circular] - } - } - }, - remotefiles: { - name: 'remotefiles', - display_name: 'Remote Files', - url: '/#remotefiles', - targets: [ - [length]: 0 - ] - }, - settings: { - name: 'settings', - display_name: 'Settings', - url: '/#settings' - }, - needs_update: false, - update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - full_update: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - set_minitab: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - select: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - select_target: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - PUSH_PER_PAGE: 25, - pushes: { - filter: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - show_pushes: 25, - pushform: { - target: { - name: 'Sid-iPad', - desc: 'iPad', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjArwKu3PfE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - info: { - blurb: ' sidney.bofah@googlemail.comi', - count: 0, - recent: 1484216366.2777321 - } - }, - expanded: true, - type: 'note', - title: '', - content: '', - url: '', - address: '', - file_name: null, - file_url: '', - file_type: '', - file_progress: 0, - message: null, - error_message: null, - waiting: false, - to_selection: 0, - picker: Picker { - props: { - direction: 'top', - placeholder: 'Select device', - clear_on_click: true, - cb: { - [Function: cb] - [length]: 1, - [name]: 'cb', - [arguments]: null, - [caller]: null, - [prototype]: cb { - [constructor]: [Circular] - } - } - }, - draw_raw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - draw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - search: '', - target: { - name: 'Sid-iPad', - desc: 'iPad', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjArwKu3PfE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - info: { - blurb: ' sidney.bofah@googlemail.comi', - count: 0, - recent: 1484216366.2777321 - } - }, - short_list: [{ - name: 'Sid-iPad', - desc: 'iPad', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjArwKu3PfE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjArwKu3PfE', - created: 1482495762.015841, - modified: 1482495762.015847, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPad', - manufacturer: 'Apple', - model: 'iPad', - app_version: 8646, - push_token: 'production:5cc2641d595dd727e85b75bc59a0ed9e954ca931926b62e704cb09fefb9e17ea', - pushable: true, - icon: 'phone' - }, - info: { - blurb: ' sidney.bofah@googlemail.comi', - count: 0, - recent: 1484216366.2777321 - } - }, { - name: 'PB for Desktop', - desc: 'pb-for-desktop', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjBtEMiFVwO', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjBtEMiFVwO', - created: 1483569709.182764, - modified: 1483569709.1827781, - nickname: 'PB for Desktop', - manufacturer: 'pb-for-desktop', - model: 'pb-for-desktop', - pushable: true, - icon: 'desktop' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'Sid-iPhone', - desc: 'iPhone', - image_url: '/img/deviceicons/phone.png', - url: '/#devices/ujvtzF2Qop2sjCY70GSshM', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjCY70GSshM', - created: 1480473306.0720901, - modified: 1480473306.072098, - type: 'ios', - kind: 'ios', - nickname: 'Sid-iPhone', - manufacturer: 'Apple', - model: 'iPhone', - app_version: 8646, - push_token: 'production:1d0e2bf5a96c3381bdac69bf4c7739448d3bf23ee74311746b95ac08231b1aee', - pushable: true, - icon: 'phone' - }, - info: { - blurb: 'fgg', - count: 0, - recent: 1484216253.1199481 - } - }, { - name: 'SID-MACBOOK-WIN', - desc: 'Windows 10 Enterprise Insider Preview', - image_url: '/img/deviceicons/desktop.png', - url: '/#devices/ujvtzF2Qop2sjxCp1apWJE', - type: 'device', - obj: { - active: true, - iden: 'ujvtzF2Qop2sjxCp1apWJE', - created: 1483418038.976084, - modified: 1483418038.976088, - type: 'windows', - kind: 'windows', - nickname: 'SID-MACBOOK-WIN', - manufacturer: 'Microsoft', - model: 'Windows 10 Enterprise Insider Preview', - app_version: 396, - fingerprint: '{"cpu":"Intel64 Family 6 Model 70 Stepping 1, GenuineIntel","computer_name":"SID-MACBOOK-WIN"}', - pushable: true, - icon: 'desktop', - remote_files: 'disabled' - }, - info: { - blurb: 'test', - count: 0, - recent: 1483418085.9862652 - } - }, - [length]: 4 - ] - }, - clear: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_message: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - clear_extra: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - select_target: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - show_to: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - send: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - showing: true - }, - pushbox: { - target: null, - scroll_lock: false, - from_url: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - width_minibar: 180, - width_sidebar: 346, - width_mainbar: 809 - }, - chat_heads: {}, - channels: { - uploading: false, - file_url: null - }, - channel_create: { - expanded: false - }, - clients: {}, - oauth: {}, - parse_auth_fragment: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - google_token_url: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - facebook_token_url: { - [Function] - [length]: 3, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - widget: {}, - support: { - message_sent: false, - guesses: [ - [length]: 0 - ] - }, - setup: { - think: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - should_show: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - done: { - [Function] - [length]: 2, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - restart: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - step_number: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - all_steps: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - invite_picker: Picker { - props: { - direction: 'bottom', - placeholder: 'Find your friends', - label: 'Invite:', - email_suggest: true - }, - draw_raw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - draw: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - } - }, - invite_friend: { - [Function] - [length]: 1, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - invite_emails: {} - }, - pro: { - plan: 'yearly', - upgrading: false - }, - main: { - [Function] - [length]: 0, - [name]: '', - [arguments]: null, - [caller]: null, - [prototype]: { - [constructor]: [Circular] - } - }, - delete_mode: null, - rename_mode: null, - logging_in: false, - account: { - active: true, - iden: 'ujvtzF2Qop2', - created: 1442504806.592992, - modified: 1484092780.318509, - email: 'sidney.bofah@googlemail.com', - email_normalized: 'sidneybofah@gmail.com', - name: 'Sidney B', - image_url: 'https://static.pushbullet.com/google-user/3318caf337e29b3f1d6174dc7208da722f8025c66c8d65a477b409efc35f7b6e', - max_upload_size: 26214400, - api_key: 'NH5k0GnKH99H1cMWkQfo7bdLjadOl1Ye' - }, - extension: undefined, - user: undefined, - client_id: 'c238i26btgoosd1rivmlo', - browser: { - name: 'Chrome', - version: '53.0.2785.143', - mobile: false - }, - visit_info: { - path: '/', - referrer: '', - referrer_domain: undefined, - browser_name: 'Chrome', - browser_version: '53.0.2785.143', - browser_mobile: false, - user_agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Electron/1.4.14 Safari/537.36', - platform: 'MacIntel', - language: 'en-GB', - encryption: true - }, - path: ['#people', [length]: 1], - stuff_loaded: true -} diff --git a/resources/web/pushbullet.js b/resources/web/pushbullet.js index 03502d07..158f8217 100644 --- a/resources/web/pushbullet.js +++ b/resources/web/pushbullet.js @@ -8733,7 +8733,7 @@ function merge_text_nodes( jsonml ) { window.pb = {}; - pb.VERSION = 159; + pb.VERSION = 162; if (location.host === "www.pushbullet.com") { pb.DEBUG = false; @@ -8944,26 +8944,8 @@ function merge_text_nodes( jsonml ) { }; pb.get_extension = function() { - var error; if (pb.browser.name === "Chrome") { - if ((typeof chrome !== "undefined" && chrome !== null) && (chrome.webstore != null)) { - try { - chrome.webstore.install(pb.URLS.chrome, function(msg) { - return track("extention_installed", { - message: msg - }); - }, function(msg) { - track("extentions_install_fail", { - message: msg - }); - return new_tab(pb.URLS.chrome); - }); - } catch (error) { - new_tab(pb.URLS.chrome); - } - } else { - new_tab(pb.URLS.chrome); - } + new_tab(pb.URLS.chrome); } if (pb.browser.name === "Firefox") { new_tab(pb.URLS.firefox); @@ -10870,10 +10852,10 @@ function merge_text_nodes( jsonml ) { return pb.net.post('/v3/downgrade-pro', {}, function(r) { if (r.error) { track("pro_downgrade_error"); - return pb.pro.downgrade_msg = "Sorry, cancelling Pro failed. Please try again or email us at contact@pushbullet.com"; + return pb.pro.downgrade_status = "error"; } else { track("pro_downgrade"); - return pb.pro.downgrade_msg = "Pro canceled successfully. Your card will not be charged again."; + return pb.pro.downgrade_status = "success"; } }); }; @@ -11664,8 +11646,6 @@ function merge_text_nodes( jsonml ) { }).call(this); -//# sourceMappingURL=api.js.map - // from 'src/crypto.js' // Generated by CoffeeScript 1.10.0 (function() { @@ -20478,6 +20458,8 @@ This file implements drag and drop for the website }).call(this); +//# sourceMappingURL=oauth.js.map + // from 'src/views/desktop_auth.js' // Generated by CoffeeScript 1.10.0 (function() { @@ -20821,6 +20803,8 @@ This file implements drag and drop for the website }).call(this); +//# sourceMappingURL=desktop_auth.js.map + // from 'src/views/widget.js' // Generated by CoffeeScript 1.10.0 (function() { @@ -21485,7 +21469,7 @@ This file implements drag and drop for the website // from 'src/views/account.js' // Generated by CoffeeScript 1.10.0 (function() { - var api_key_form, connected_accounts, delete_account_flag, delete_account_form, delete_all_pushes, delete_pushes_flag, downgrading, draw_account, pro_section, reset_api_key_flag, sub_tab; + var api_key_form, cancelingPro, connected_accounts, delete_account_flag, delete_account_form, delete_all_pushes, delete_pushes_flag, downgradingPro, draw_account, pro_section, reset_api_key_flag, sub_tab; eval(onecup["import"]()); @@ -22044,32 +22028,53 @@ This file implements drag and drop for the website return views.invite(); }; - downgrading = false; + downgradingPro = false; + + cancelingPro = false; pro_section = function() { h2(function() { return text("Pushbullet Pro"); }); - if (pb.account.pro) { - p(function() { - text("You have a "); - span(function() { - font_weight("bold"); - return text(pb.account.plan_id); - }); - return text(" Pro plan. Thank you for supporting Pushbullet."); + if (pb.pro.downgrade_status) { + return div(function() { + var ref; + if (pb.pro.downgrade_status === "success") { + if ((ref = pb.account) != null ? ref.pro : void 0) { + return text("Pro canceled successfully. Your card will not be charged again. You will continue to have Pro until it expires."); + } else { + return text("Pro canceled successfully. Your card will not be charged again."); + } + } else { + return text("Sorry, cancelling Pro failed. Please try again or email us at contact@pushbullet.com"); + } }); - if (downgrading) { + } else if (pb.account.pro) { + if (!cancelingPro) { + p(function() { + text("You have a "); + span(function() { + font_weight("bold"); + return text(pb.account.plan_id); + }); + return text(" Pro plan. Thank you for supporting Pushbullet."); + }); + } + if (cancelingPro) { + text("Canceling Pro"); + return icon(".icon-spinner.icon-spin"); + } else if (downgradingPro) { button(function() { text("Don't Cancel Pro"); return onclick(function() { - return downgrading = false; + return downgradingPro = false; }); }); text(" "); return button(".red", function() { text("Cancel Pro"); return onclick(function() { + cancelingPro = true; return pb.api.account.downgrade_pro(); }); }); @@ -22077,7 +22082,7 @@ This file implements drag and drop for the website return button(".hover-red", function() { text("Cancel Pro"); return onclick(function() { - return downgrading = true; + return downgradingPro = true; }); }); } @@ -23102,7 +23107,7 @@ This file implements drag and drop for the website // from 'src/views/pro.js' // Generated by CoffeeScript 1.10.0 (function() { - var card, card_mobile, compair, downgrading, fancy_footer, features, line_color, paypal_approval, paypal_button, paypal_click, place, plan_card, pushbullet_pro_bar, refund_policy, section_heading, stripe_button, stripe_click, stripe_mobile_button, stripe_popup, switcher, switcher_mobile, twinkles; + var cancelingPro, card, card_mobile, compair, downgradingPro, fancy_footer, features, line_color, paypal_approval, paypal_button, paypal_click, place, plan_card, pushbullet_pro_bar, refund_policy, section_heading, stripe_button, stripe_click, stripe_mobile_button, stripe_popup, switcher, switcher_mobile, twinkles; eval(onecup["import"]()); @@ -23120,19 +23125,30 @@ This file implements drag and drop for the website } }; - downgrading = false; + downgradingPro = false; + + cancelingPro = false; views.pro_page = function() { document.title = "Upgrade to Pro | Pushbullet"; div("#pro-card", function() { var ref; - if (pb.pro.downgrade_msg) { + if (pb.pro.downgrade_status) { return div(function() { padding("100px 20px"); text_align('center'); return div(function() { + var ref; padding_bottom(30); - return text(pb.pro.downgrade_msg); + if (pb.pro.downgrade_status === "success") { + if ((ref = pb.account) != null ? ref.pro : void 0) { + return text("Pro canceled successfully. Your card will not be charged again. You will continue to have Pro until it expires."); + } else { + return text("Pro canceled successfully. Your card will not be charged again."); + } + } else { + return text("Sorry, cancelling Pro failed. Please try again or email us at contact@pushbullet.com"); + } }); }); } else if ((ref = pb.account) != null ? ref.pro : void 0) { @@ -23143,17 +23159,21 @@ This file implements drag and drop for the website padding_bottom(30); return text("You can cancel Pushbullet Pro at any time."); }); - if (downgrading) { + if (cancelingPro) { + text("Canceling Pro"); + return icon(".icon-spinner.icon-spin"); + } else if (downgradingPro) { button(function() { text("Don't Cancel Pro"); return onclick(function() { - return downgrading = false; + return downgradingPro = false; }); }); text(" "); return button(".red", function() { text("Cancel Pro"); return onclick(function() { + cancelingPro = true; return pb.api.account.downgrade_pro(); }); }); @@ -23161,7 +23181,7 @@ This file implements drag and drop for the website return button(".red", function() { text("Cancel Pro"); return onclick(function() { - return downgrading = true; + return downgradingPro = true; }); }); } @@ -23491,7 +23511,7 @@ This file implements drag and drop for the website regular: false, pro: true }); - row({ + return row({ icon: "android", title: function() { return a({ @@ -23503,14 +23523,6 @@ This file implements drag and drop for the website regular: false, pro: true }); - return row({ - icon: null, - title: function() { - return text("Priority support"); - }, - regular: false, - pro: true - }); }); }; diff --git a/yarn.lock b/yarn.lock index 9b4f77d3..58f45cab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,12 +24,12 @@ js-tokens "^4.0.0" "@babel/polyfill@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0.tgz#c8ff65c9ec3be6a1ba10113ebd40e8750fb90bff" - integrity sha512-dnrMRkyyr74CRelJwvgnnSUDh2ge2NCTyHVwpOdvRMHtJUyxLtMAfhBN3s64pY41zdw0kgiLPh6S20eb1NcX6Q== + version "7.2.5" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" + integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== dependencies: core-js "^2.5.7" - regenerator-runtime "^0.11.1" + regenerator-runtime "^0.12.0" "@jimp/bmp@^0.6.0": version "0.6.0" @@ -291,57 +291,57 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nodelib/fs.stat@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26" - integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw== +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@sidneys/dom-tools@^1.17.0": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@sidneys/dom-tools/-/dom-tools-1.17.0.tgz#676eb22b9be61f817aa579f6db99cc6759ce8341" - integrity sha512-tgA/jbvSEHfyfxOzVU9Ew/QMgBIOvJtFHz1fht2oL0TjmimbhcO/uvOJy+VaN5+GUCOaV8hdbMrmOKnf7bXxYw== +"@sidneys/dom-tools@^1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@sidneys/dom-tools/-/dom-tools-1.26.0.tgz#f3cfff962b7d64d4f04f4da31005428dc81de726" + integrity sha512-8OjhcxLqwbGAM7UroAEzqj+RRSi8XEX2VbRJKTTtZJ8gFU34P2E793GrYqRYDQt97GGC2J0a7VtK+baEIJSCNA== dependencies: - "@sidneys/logger" "^1.27.0" + "@sidneys/logger" "^1.37.0" clean-css "^4.2.1" file-url "^2.0.2" lodash "^4.17.11" - moment "^2.22.2" + moment "^2.23.0" moment-duration-format "^2.2.2" -"@sidneys/electron-build@^1.40.0": - version "1.40.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-build/-/electron-build-1.40.0.tgz#568b936716fddcb86ea93ac6f279e8ae62c97a95" - integrity sha512-PMB87m3/L/4Ftuea3TOO3D8q23+XtluB4PuLc9UhpfwCoT1onXUHfEBvTt8T6wOR23INpl4cvv4Lo1QV/Q5ZcQ== +"@sidneys/electron-build@^1.49.0": + version "1.49.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-build/-/electron-build-1.49.0.tgz#ed6d250ea7baba549bc069c403e88ccfa92a3752" + integrity sha512-r/3YD1/EzZhz81gnrcVcjMAhtYGmG3tBKjyxkJQUbuVqJPORPL0+1fuD8MzuXEaJLMSoo/AC+TFCIadukXSx0g== dependencies: - "@sidneys/electron-deploy-github" "^1.26.0" - "@sidneys/is-env" "^1.22.0" - "@sidneys/logger" "^1.27.0" - "@sidneys/releasenotes" "^1.20.0" + "@sidneys/electron-deploy-github" "^1.35.0" + "@sidneys/is-env" "^1.32.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/releasenotes" "^1.29.0" app-root-path "^2.1.0" - electron-builder "^20.38.2" + electron-builder "^20.38.4" electron-icon-maker "0.0.4" fs-extra "^7.0.1" jsonfile "^5.0.0" lodash "^4.17.11" minimist "^1.2.0" -"@sidneys/electron-debug-service@^0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-debug-service/-/electron-debug-service-0.20.0.tgz#0d36d52a09fd4d66b59fbacefeeb5be4164d99b9" - integrity sha512-Gae/lNHN+OdAnTznSZBcGJtCRpRRmCVwepf03TD+mPg1B/WFQB0vN1XCJhVnjXI5nbs5F82WSMNg/6Q2je0T9w== +"@sidneys/electron-debug-service@^0.29.0": + version "0.29.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-debug-service/-/electron-debug-service-0.29.0.tgz#4d3e6e01cac8d723981e1cada404c8cada4d3ece" + integrity sha512-3iorB4DcngkSiA3sZYq1SXZdbPswqcJRMGodHXwZZIc4KotfCZVg7c9Ygek3kjbE/ZJSZJGkmqTIiF0FmqSuhQ== dependencies: - "@sidneys/is-env" "^1.22.0" - "@sidneys/logger" "^1.27.0" + "@sidneys/is-env" "^1.32.0" + "@sidneys/logger" "^1.37.0" filesize "^3.6.1" try-require "^1.2.1" -"@sidneys/electron-deploy-github@^1.26.0": - version "1.26.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-deploy-github/-/electron-deploy-github-1.26.0.tgz#25d6e04a13425622577657770d11ee8e54fb3dba" - integrity sha512-pFAVMEQuRG1yu5eWeJQpnUz8RreBwYFeHyZp8ZrN/EPh6nvFDBfpBH7CYALKW79mUWnCJQifubDUJGQSCZKn0A== +"@sidneys/electron-deploy-github@^1.35.0": + version "1.35.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-deploy-github/-/electron-deploy-github-1.35.0.tgz#83b23bd34c620b71afe8535e60b8853e48789679" + integrity sha512-bfCRLoVU7sV9Tye+mS7CsWdkt9p6CFeaiboaOJ3Dc3zyx3vEPShY8906fVTnDBMiWhQT5+xGx7E+FpKZMiGEFA== dependencies: - "@sidneys/logger" "^1.27.0" - "@sidneys/releasenotes" "^1.20.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/releasenotes" "^1.29.0" app-root-path "^2.1.0" git-branch "^2.0.1" globby "^8.0.1" @@ -350,108 +350,108 @@ progress "^2.0.3" publish-release sidneys/publish-release.git#pin-dependencies -"@sidneys/electron-dialog-provider@^1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-dialog-provider/-/electron-dialog-provider-1.21.0.tgz#4a5dd2d2bb3408294e55f969e6382d9a60a30045" - integrity sha512-HDMruvXNWt+IvTrXK6hiXkH+Fa1GgJboIEbSYi0OC5Bpo6xrRjdKFR0VGY85sSA+K0yqNmy56lNJhNa9jocfbA== +"@sidneys/electron-dialog-provider@^1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-dialog-provider/-/electron-dialog-provider-1.30.0.tgz#b03496f445c3936ef42448b65bb1604f1c461e2e" + integrity sha512-Pu230i8KkwvGTHUZmTW6sGjWiNIM+8avgh5VVfJnqFU6Vs0f2fVevi5qqQMDvKgHV98c3Ke3N94ZTs9cLu3FYw== dependencies: - "@sidneys/logger" "^1.27.0" - "@sidneys/platform-tools" "^1.26.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/platform-tools" "^1.37.0" -"@sidneys/electron-localsetup@^1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-localsetup/-/electron-localsetup-1.21.0.tgz#a969f506cca52a0a6c78e55fba93be05cedf79d1" - integrity sha512-gVBgtqnCx4OYWJFiaxAjhhDN1J0yJ3wSvi5S/v1bpBA+nI/P6hUECWwu0GmqIdIx+Vso7uTXydVY7kuPMKvc9w== +"@sidneys/electron-localsetup@^1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-localsetup/-/electron-localsetup-1.30.0.tgz#0d9d5b7cee8a8aa817883b883d3d555667f2c6f8" + integrity sha512-srb/dJyEobtG+dBOryofhzD4ugeHbv5hnDz/naQqMObIx+sW4x8pFJH2P7GsKgzPy9UU+n283ItgunwE1Mpzzw== dependencies: - "@sidneys/is-env" "^1.22.0" - "@sidneys/logger" "^1.27.0" - "@sidneys/platform-tools" "^1.26.0" + "@sidneys/is-env" "^1.32.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/platform-tools" "^1.37.0" app-root-path "^2.1.0" fkill "^5.3.0" fs-extra "^7.0.1" globby "^8.0.1" minimist "^1.2.0" -"@sidneys/electron-notification-provider@0.21.0", "@sidneys/electron-notification-provider@^0.21.0": - version "0.21.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-notification-provider/-/electron-notification-provider-0.21.0.tgz#e709507d39dbcb4666d26bf9f32585fabe74e60a" - integrity sha512-Is9G0zgfSPjKrfyAMEFGbdrMkmUevlBvDDLMtSG+v3ur+twVHYXjc25QwcmqUSWylnzfPnG6zN4/Dscphk6fUA== +"@sidneys/electron-notification-provider@0.30.0", "@sidneys/electron-notification-provider@^0.30.0": + version "0.30.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-notification-provider/-/electron-notification-provider-0.30.0.tgz#384a4789f0955bf290b4ae2de216470a383dac09" + integrity sha512-KZAK2JEJydNm9v1Nqgimtkwy9ubz8fnSCtmng1gD+rKIE3eoHvKakxPc1pStVGCv2m3FYQ5UJINoVJXEdEOj3A== dependencies: - "@sidneys/logger" "^1.27.0" + "@sidneys/logger" "^1.37.0" lodash "^4.17.11" -"@sidneys/electron-power-service@^0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-power-service/-/electron-power-service-0.20.0.tgz#be4174e5f9c55b8ecdc23bad679647104a9ba7b8" - integrity sha512-zRIT+6bJdiLdxRdFIvsSKs+PkeOClj9ZT6FkdJIpZAQwu2VzXqjtHeJoCyX+jzbJW/i35urjos5vdDFaxXLjjA== +"@sidneys/electron-power-service@^0.29.0": + version "0.29.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-power-service/-/electron-power-service-0.29.0.tgz#de85d04911c077b01aa3f739972063a34331ba0e" + integrity sha512-qOfnkPRbA8xWtQOmswlbqUMhM9ufg+7lWzLFpJcd2ppyBeLgkORT7zLvYYks1DPuCxxgyGYrYI040L50Wo/0YQ== dependencies: - "@sidneys/logger" "^1.27.0" - "@sidneys/platform-tools" "^1.26.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/platform-tools" "^1.37.0" -"@sidneys/electron-updater-service@^0.34.0": - version "0.34.0" - resolved "https://registry.yarnpkg.com/@sidneys/electron-updater-service/-/electron-updater-service-0.34.0.tgz#655bffc9c1a3b29e60543d529abab1b237480c16" - integrity sha512-yGXHJUgUs3B1wirg1holwgwRzoDyoUsqJil17MDtjovFtCMAjT5PCK8OgVo+lfH7abWpxBzu5Srmug6RMaSOJQ== +"@sidneys/electron-updater-service@^0.43.0": + version "0.43.0" + resolved "https://registry.yarnpkg.com/@sidneys/electron-updater-service/-/electron-updater-service-0.43.0.tgz#e9d42968d24d635a9d1197ce5afac7a89c19858b" + integrity sha512-m0wL3TVcOP9eP0xk+G2wGbzuXLh+Q46R6S5dVUlj9xForUXEDy3mKYviY3WPhQ+0GbOvD1pxhEuUsTRW6f0jDQ== dependencies: - "@sidneys/electron-dialog-provider" "^1.21.0" - "@sidneys/electron-notification-provider" "0.21.0" - "@sidneys/logger" "^1.27.0" - "@sidneys/platform-tools" "^1.26.0" + "@sidneys/electron-dialog-provider" "^1.30.0" + "@sidneys/electron-notification-provider" "0.30.0" + "@sidneys/logger" "^1.37.0" + "@sidneys/platform-tools" "^1.37.0" app-root-path "^2.1.0" electron-store "^2.0.0" - electron-updater "^4.0.5" + electron-updater "^4.0.6" remove-markdown "^0.3.0" semver-compare "^1.0.0" -"@sidneys/is-env@^1.22.0": - version "1.22.0" - resolved "https://registry.yarnpkg.com/@sidneys/is-env/-/is-env-1.22.0.tgz#55f8340f4b290eb7c91f10243dcd73a63b442a48" - integrity sha512-eXk1jU4H3roBhaoRwb0/OaiY8VVV2CITahSi0EKK2QIrdq0sQnrYmqLvDDpQnWlGAmCjsNyXH75row3LlzsjSQ== +"@sidneys/is-env@^1.32.0": + version "1.32.0" + resolved "https://registry.yarnpkg.com/@sidneys/is-env/-/is-env-1.32.0.tgz#8ca57a3d9ffbb176f4bafe24060c5723e92cb73b" + integrity sha512-vCEEBBxaIDrMn0dh8v0/Gz6hZY8jw7HJffOUCoKrxOBgGLW3d2oSetkgVO+0u2o60340ycdajTXEH/3ER5dxjw== dependencies: - "@sidneys/required-count" "^1.26.0" + "@sidneys/required-count" "^1.39.0" chalk "^2.4.1" chalkline "^0.0.5" lodash "^4.17.11" minimist "^1.2.0" try-require "^1.2.1" -"@sidneys/logger@^1.27.0": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@sidneys/logger/-/logger-1.27.0.tgz#923b701fdf43cd29e127bf6bbe7863e46a5d9a80" - integrity sha512-+pJXcZCDwhwZ03sDPJgnWlcIL3dayU5l1l2/U024/GMnPrfunvYVHmhq8GjtCfNnTN1/CmdKwkYXlFwLTBlQXQ== +"@sidneys/logger@^1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@sidneys/logger/-/logger-1.37.0.tgz#ab91392b5379b255917082a5751083058c57b22c" + integrity sha512-D/o/Ag4AZ/YZsK4+6z4oclvCgo1BIWc07Z3IafcZsTY9yu+FbN776yy70qvZn/YrnkkHq/JaKE7C94HN2hp0QA== dependencies: - "@sidneys/is-env" "^1.22.0" + "@sidneys/is-env" "^1.32.0" appdirectory "^0.1.0" chalk "^2.4.1" fs-extra "^7.0.1" lodash "^4.17.11" - package.root "^1.0.3" present "^1.0.0" read-pkg-up "^4.0.0" + root-path "^0.2.1" -"@sidneys/platform-tools@^1.26.0": - version "1.26.0" - resolved "https://registry.yarnpkg.com/@sidneys/platform-tools/-/platform-tools-1.26.0.tgz#d573e3104c4ea54dc2f2a3e1d4b8dad6421d40b1" - integrity sha512-5dPZGWIpwNsTVUuyGiYmSr1HX2U5YzbX1Gt2XCFIaqS+/asZuDQor3FKyMh0DHhB4wmI88GamZTz0siKThn+mQ== +"@sidneys/platform-tools@^1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@sidneys/platform-tools/-/platform-tools-1.37.0.tgz#231c06794036617bcc60eb207009a40eea84a9e7" + integrity sha512-Sl/EeBrnyLFDx+562Ogw0H22H/ntsYpsyiS5ghvzfV0h7zRoCnjxIhvpAWLZdqZwuAs0Gy/es5XnoVhMwyMVGA== dependencies: lodash "^4.17.11" -"@sidneys/releasenotes@^1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@sidneys/releasenotes/-/releasenotes-1.20.0.tgz#a657be12c8ecec66154e0de5506d9da8fcbe2287" - integrity sha512-Ch+klj9oEjBIQGxQqoAS+NYBJKnyCAjhqRdvkr6t38ROjq94sM0HCH6lZYIIUOitqyNLQxvEOobLNjTIBZvYpw== +"@sidneys/releasenotes@^1.29.0": + version "1.29.0" + resolved "https://registry.yarnpkg.com/@sidneys/releasenotes/-/releasenotes-1.29.0.tgz#11eef58a83fa5c99e8f61aab1148ccd287f67c98" + integrity sha512-H001OD1SDTwKpKcdsy4wtvd8Fb6no+Xa30oJj+P7hmkkHR+G2Aud4V+EPTWrCaKHNnuOcy8FoyIoWUFsYO7fWg== dependencies: - "@sidneys/logger" "^1.27.0" + "@sidneys/logger" "^1.37.0" app-root-path "^2.1.0" fs-extra "^7.0.1" json2md "^1.6.1" lodash "^4.17.11" remove-markdown "^0.3.0" -"@sidneys/required-count@^1.26.0": - version "1.26.0" - resolved "https://registry.yarnpkg.com/@sidneys/required-count/-/required-count-1.26.0.tgz#e7c9dc69a3586c1b42aa31b5b9aeacbe5bc40911" - integrity sha512-deF6D1L5egsRPVvH0uJ+Tg+mU33rv74XNTypnGgNsXi/Xn5Px0GJ/gwNEz3V/WLn9PFpAyDEe9JqV3WmjGKkyQ== +"@sidneys/required-count@^1.39.0": + version "1.39.0" + resolved "https://registry.yarnpkg.com/@sidneys/required-count/-/required-count-1.39.0.tgz#f556600ed81211028cbd6385ab9b5960213412ed" + integrity sha512-1c68I/27S3D27Xv/n9L9CWdFn4gCkpm118KRKT9alR8e0flHtFVrDOnZQT+p9wXfOKjnQ08uR0/Obm1umWCjpA== "@sindresorhus/is@^0.7.0": version "0.7.0" @@ -459,9 +459,16 @@ integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== "@types/node@^8.0.24", "@types/node@^8.0.7": - version "8.10.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.34.tgz#a94d9f3767fe45f211e09e49af598bb84822280c" - integrity sha512-alypNiaAEd0RBGXoWehJ2gchPYCITmw4CYBoB5nDlji8l8on7FsklfdfIs4DDmgpKLSX3OF3ha6SV+0W7cTzUA== + version "8.10.39" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.39.tgz#e7e87ad00364dd7bc485c940926345b8ec1a26ca" + integrity sha512-rE7fktr02J8ybFf6eysife+WF+L4sAHWzw09DgdCebEu+qDwMvv4zl6Bc+825ttGZP73kCKxa3dhJOoGJ8+5mA== + +"@wabson/list-dependencies@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@wabson/list-dependencies/-/list-dependencies-0.1.0.tgz#919cdf472f5dc63a6001e16ed2d37d0baa2cd904" + integrity sha1-kZzfRy9dxjpgAeFu0tN9C6os2QQ= + dependencies: + read-package-json "^2.0.4" acorn-jsx@^5.0.0: version "5.0.1" @@ -486,30 +493,10 @@ ajv-keywords@^3.2.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo= -ajv@^5.3.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" - integrity sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.5.5: - version "6.5.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" - integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== +ajv@^6.5.3, ajv@^6.5.5, ajv@^6.6.1: + version "6.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" + integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -543,12 +530,17 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +ansi-regex@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" + integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== + ansi-styles@^2.1.0, ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -560,30 +552,30 @@ any-base@^1.1.0: resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== -app-builder-bin@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.6.0.tgz#b4e5d5ee5bcf264818ab9830b95338f9f419de5d" - integrity sha512-7HphDMS2U9MwAA6R7lSU6MASFR/D+VJDb5hQ4Fn2coOMyaRn71QDWPdG0TPnDr88F2I7bsTuHYud28S/yN2lZw== +app-builder-bin@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.6.1.tgz#aa97f82d341dfa6f1269d78955482d619cc613ed" + integrity sha512-W0l85O+s6lOaziWqAhszPfwiG0s15FvMBP9j9i/bknsMccUkwN60u4Cy7yYtf6akCUDuJenLqpTX4/xvkq1egw== -app-builder-lib@20.38.2, app-builder-lib@~20.38.2: - version "20.38.2" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.38.2.tgz#7b5b239ba7ce52cd618a91f5e499068e54a35a95" - integrity sha512-jwysFwaU4ohvHqv5jNCeoZSO0N/8x7W/c0S6TiTb6QUC3U0YVcsN7DPMj7QApHzTvMTO9kxzjUzwA8dbQZVovg== +app-builder-lib@20.38.4, app-builder-lib@~20.38.3: + version "20.38.4" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.38.4.tgz#71a515d01f4f2bd48a67495804f659a46c35303c" + integrity sha512-JbuAJQBndcCW6BJVIb2tPjM5wiuIjz2LUlbyVxNIawM2wFKUBV9kr0N3RNBJFxcrCEuA9oprMUCoymJdrMUVfA== dependencies: "7zip-bin" "~4.1.0" - app-builder-bin "2.6.0" + app-builder-bin "2.6.1" async-exit-hook "^2.0.1" bluebird-lst "^1.0.6" - builder-util "9.6.0" - builder-util-runtime "8.0.2" + builder-util "9.6.1" + builder-util-runtime "8.1.0" chromium-pickle-js "^0.2.0" debug "^4.1.0" ejs "^2.6.1" electron-osx-sign "0.4.11" - electron-publish "20.38.2" + electron-publish "20.38.3" fs-extra-p "^7.0.0" hosted-git-info "^2.7.1" - is-ci "^1.2.1" + is-ci "^2.0.0" isbinaryfile "^3.0.3" js-yaml "^3.12.0" lazy-val "^1.0.3" @@ -702,6 +694,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + async-exit-hook@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" @@ -819,9 +816,9 @@ bluebird@^2.9.30: integrity sha1-U0uQM8AiyVecVro7Plpcqvu2UOE= bluebird@^3.5.0, bluebird@^3.5.2, bluebird@~3.5.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" - integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== bmp-js@0.0.3: version "0.0.3" @@ -918,29 +915,29 @@ buffer@^5.2.0: base64-js "^1.0.2" ieee754 "^1.1.4" -builder-util-runtime@8.0.2, builder-util-runtime@^8.0.2, builder-util-runtime@~8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.0.2.tgz#9d638a266ca3aa25ced1cff4df74c8fd97dd78cf" - integrity sha512-46AjyMQ1/yBvGnXWmqNGlg8te7jCPCs7TJ0zDC2+4vV/t5iZp2dR1H9UfVpcBxlvBq3dlAOmwb9fz1d9xZN1+Q== +builder-util-runtime@8.1.0, builder-util-runtime@^8.1.0, builder-util-runtime@~8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.1.0.tgz#dd7fca995d48ceee7580b4851ca057566c94601e" + integrity sha512-s1mlJ28mv+56Iebh6c9aXjVe11O3Z0cDTwAGeB0PCcUzHA37fDxGgS8ZGoYNMZP+rBHj21d/od1wuYofTVLaQg== dependencies: bluebird-lst "^1.0.6" debug "^4.1.0" fs-extra-p "^7.0.0" sax "^1.2.4" -builder-util@9.6.0, builder-util@~9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-9.6.0.tgz#ffcc0f713d0f4dfa6bcda2aee83b8fcb1f16f5b6" - integrity sha512-6T4E3aNVndTZ2oCt+22S0wxt47d094MxrADi6S012QumXlDNfSsyu1ffbGN9w0HG+4aubpLzf9apKgMP1yl4Kw== +builder-util@9.6.1, builder-util@~9.6.0: + version "9.6.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-9.6.1.tgz#4625620b1535fe40dcacb178d24fe56d0d7c8957" + integrity sha512-8MljKTjeV+A+LLVexuWEV3EpWbiUcsHHrB4Bg2qNo/3dC+vTo6g/27+W3Ij7Ij1UTobSkNBstFieWijXJCco9A== dependencies: "7zip-bin" "~4.1.0" - app-builder-bin "2.6.0" + app-builder-bin "2.6.1" bluebird-lst "^1.0.6" - builder-util-runtime "^8.0.2" + builder-util-runtime "^8.1.0" chalk "^2.4.1" debug "^4.1.0" fs-extra-p "^7.0.0" - is-ci "^1.2.1" + is-ci "^2.0.0" js-yaml "^3.12.0" source-map-support "^0.5.9" stat-mode "^0.2.2" @@ -1186,21 +1183,11 @@ clone-response@1.0.2: dependencies: mimic-response "^1.0.0" -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1231,10 +1218,10 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -combined-stream@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - integrity sha1-cj599ugBrFYTETp+RFqbactjKBg= +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== dependencies: delayed-stream "~1.0.0" @@ -1245,22 +1232,15 @@ combined-stream@~0.0.4, combined-stream@~0.0.5: dependencies: delayed-stream "0.0.5" -combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" - commander@2.15.1: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== commander@^2.8.1: - version "2.18.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" - integrity sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ== + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== compare-version@^0.1.2: version "0.1.2" @@ -1288,9 +1268,9 @@ concat-stream@1.6.2: typedarray "^0.0.6" conf@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/conf/-/conf-2.0.0.tgz#43f7e282b32faca31f4d18bf279d6841ad657d5a" - integrity sha512-iCLzBsGFi8S73EANsEJZz0JnJ/e5VZef/kSaxydYZLAvw0rFNAUx5R7K5leC/CXXR2mZfXWhUvcZOO/dM2D5xg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/conf/-/conf-2.1.0.tgz#43ade5879a82ff23dbeb466995d50209f7dfcd07" + integrity sha512-IcWtHiBjeNtyCG+XK/v9Pz8Q4+nsyvO60Zabn6SsHTR2TMaLN6os/jrUtuQnATb12RI82RHKt+PVEXTsH6XMXQ== dependencies: dot-prop "^4.1.0" env-paths "^1.0.0" @@ -1316,9 +1296,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js@^2.5.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" - integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw== + version "2.6.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.1.tgz#87416ae817de957a3f249b3b5ca475d4aaed6042" + integrity sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1426,20 +1406,13 @@ debug@3.1.0: ms "2.0.0" debug@^3.0.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz#c2418fbfd7a29f4d4f70ff4cea604d4b64c46407" - integrity sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg== - dependencies: - ms "^2.1.1" - -debug@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.0.1.tgz#f9bb36d439b8d1f0dd52d8fb6b46e4ebb8c1cd5b" - integrity sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw== + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" -debug@^4.1.0: +debug@^4.0.1, debug@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== @@ -1517,7 +1490,7 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -del@^2.0.2, del@^2.2.2: +del@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= @@ -1545,6 +1518,13 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= +detect-installed@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-installed/-/detect-installed-2.0.4.tgz#a0850465e7c3ebcff979d6b6535ad344b80dd7c5" + integrity sha1-oIUEZefD68/5eda2U1rTRLgN18U= + dependencies: + get-installed-path "^2.0.3" + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -1558,12 +1538,12 @@ dir-glob@^2.0.0: arrify "^1.0.1" path-type "^3.0.0" -dmg-builder@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-6.5.2.tgz#cb6e34b793831349f46c7e6415182d90e8c4a386" - integrity sha512-eT3qc8IrwfDyq5ddGO807Wya2ltVlIlE0FVf6Aa+HWdlp9JnYayPNGWrQA9xIHpKKlq206JdNZ6LYIn93EAzdg== +dmg-builder@6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-6.5.3.tgz#95afe3deab33fd874f68d299bc71b481e94f5312" + integrity sha512-ZNl4GFBg6rdFplnuoK56iftxh/qgM7rXJUxgl21eK4WsjxgQwtQ0REZo+pDSL4OzVeyOO8MMNWSNQcCsBLiDyA== dependencies: - app-builder-lib "~20.38.2" + app-builder-lib "~20.38.3" bluebird-lst "^1.0.6" builder-util "~9.6.0" fs-extra-p "^7.0.0" @@ -1602,9 +1582,9 @@ dotenv-expand@^4.2.0: integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= dotenv@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.1.0.tgz#9853b6ca98292acb7dec67a95018fa40bccff42c" - integrity sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" + integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== duplexer3@^0.1.4: version "0.1.4" @@ -1634,19 +1614,19 @@ ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== -electron-builder@^20.38.2: - version "20.38.2" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.38.2.tgz#e44f086348f70e40bad796b260a7d3542cb93282" - integrity sha512-uUEzfc/e8J7nAowvFQw4SyHIe4d6VSHO1LmcLy53he4aGXlVklHluhbwa0rxATPdYVNgHmJz7zoVgYYOd/YS+A== +electron-builder@^20.38.4: + version "20.38.4" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.38.4.tgz#67727529ffb87e7fdd78b3a84ea0d6c22bf04ec2" + integrity sha512-WHOr3Rz2wktxV5TqmRL6woO9/wrIZeRfJPSEXOhgfgLskE5Sp2Aer0zAF7lHNqXuG6JhU+0I9IYFAxa73MTs9w== dependencies: - app-builder-lib "20.38.2" + app-builder-lib "20.38.4" bluebird-lst "^1.0.6" - builder-util "9.6.0" - builder-util-runtime "8.0.2" + builder-util "9.6.1" + builder-util-runtime "8.1.0" chalk "^2.4.1" - dmg-builder "6.5.2" + dmg-builder "6.5.3" fs-extra-p "^7.0.0" - is-ci "^1.2.1" + is-ci "^2.0.0" lazy-val "^1.0.3" read-config-file "3.2.0" sanitize-filename "^1.6.1" @@ -1700,14 +1680,14 @@ electron-osx-sign@0.4.11: minimist "^1.2.0" plist "^3.0.1" -electron-publish@20.38.2: - version "20.38.2" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.38.2.tgz#b0a59ee4435c509caa633f9fed01913addd48e1c" - integrity sha512-GXwnZm9I9l4RjlDwuALpR57aIH38qRzDEYbhLysmrC5T2xlCgyBIfxS5EUNESqKT+9KeJJZcj+eTKMjbz+Qafw== +electron-publish@20.38.3: + version "20.38.3" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.38.3.tgz#7c162904f728ba2bbf2640bc3620b65ce1061ce3" + integrity sha512-Qomq253NT5DfjUZgFSx6p+gheU5YhM6zZ67fTtBZvwyk0v8HwxNXfa8fZT7h+1c3BwEmjusTbmjZRNW/XZBXFA== dependencies: bluebird-lst "^1.0.6" builder-util "~9.6.0" - builder-util-runtime "^8.0.2" + builder-util-runtime "^8.1.0" chalk "^2.4.1" fs-extra-p "^7.0.0" lazy-val "^1.0.3" @@ -1728,25 +1708,25 @@ electron-store@^2.0.0: dependencies: conf "^2.0.0" -electron-updater@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.0.5.tgz#0d35f13b539d0dde5a1ee18f676ea87c37bf5f4a" - integrity sha512-2w93987YlPNMbhYQe6+EsSpkhtgYtLyYuAMttqQckwFdBJJat4Jo8ja/gmBk2Aa760g2Jt7aIBPQvlJDiXGPgg== +electron-updater@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.0.6.tgz#9c4f495ae0e80bf4425e3e1b801c5ed2ab933c2d" + integrity sha512-JPGLME6fxJcHG8hX7HWFl6Aew6iVm0DkcrENreKa5SUJCHG+uUaAhxDGDt+YGcNkyx1uJ6eBGMvFxDTLUv67pg== dependencies: bluebird-lst "^1.0.6" - builder-util-runtime "~8.0.2" + builder-util-runtime "~8.1.0" fs-extra-p "^7.0.0" js-yaml "^3.12.0" lazy-val "^1.0.3" lodash.isequal "^4.5.0" - pako "^1.0.6" + pako "^1.0.7" semver "^5.6.0" source-map-support "^0.5.9" -electron@3.0.10: - version "3.0.10" - resolved "https://registry.yarnpkg.com/electron/-/electron-3.0.10.tgz#7d412856e8cf0d3041a612a32dd09e2af2d50f50" - integrity sha512-I39IeQP3NOlbjKzTDK8uK2JdiHDfhV5SruCS2Gttkn2MaKCY+yIzQ6Wr4DyBXLeTEkL1sbZxbqQVhCavAliv5w== +electron@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-4.0.0.tgz#6ccb40cc8bf2d49954dcea73b97ae7ad12ee04b3" + integrity sha512-3XPG/3IXlvnT1oe1K6zEushoD0SKbP8xwdrL10EWGe6k2iOV4hSHqJ8vWnR8yZ7VbSXmBRfomEFDNAo/q/cwKw== dependencies: "@types/node" "^8.0.24" electron-download "^4.1.0" @@ -1797,10 +1777,10 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.10.0.tgz#24adcbe92bf5eb1fc2d2f2b1eebe0c5e0713903a" - integrity sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ== +eslint@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.11.1.tgz#8deda83db9f354bf9d3f53f9677af7e0e13eadda" + integrity sha512-gOKhM8JwlFOc2acbOrkYR05NW8M6DCMSvfcJiBB5NDxRE1gv8kbvxKaC9u69e6ZGEMWXcswA/7eKR229cEIpvg== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.5.3" @@ -2014,26 +1994,21 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-glob@^2.0.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.3.tgz#d09d378e9ef6b0076a0fa1ba7519d9d4d9699c28" - integrity sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA== + version "2.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.4.tgz#e54f4b66d378040e0e4d6a68ec36bbc5b04363c0" + integrity sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.0.1" + "@nodelib/fs.stat" "^1.1.2" glob-parent "^3.1.0" is-glob "^4.0.0" - merge2 "^1.2.1" + merge2 "^1.2.3" micromatch "^3.1.10" fast-json-stable-stringify@^2.0.0: @@ -2076,15 +2051,10 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-type@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.4.0.tgz#e730e93ffdf30992c0b7d38fc2f15c4371353d44" - integrity sha512-/Ha0T7TRFOFKgj36icy46h93By2tTwHirW9qeNLslo5NYmd7BbITVv2tkcuohmZWsNLqg9/dKNKwRXF3OVgVdA== - -file-type@^10.6.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.6.0.tgz#95a94871d26b39f137a03cfd25450f0a56a38143" - integrity sha512-GNOg09GC+rZzxetGZFoL7QOnWXRqvWuEdKURIJlr0d6MW107Iwy6voG1PPOrm5meG6ls59WkBmBMAZdVSVajRQ== +file-type@^10.4.0, file-type@^10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.7.0.tgz#b6a9bf24f1d14ba514ab9087c7864d4da4a7ce76" + integrity sha512-AbaGtdWYYRaVrv2MwL/65myuRJ9j3e79e7etJ79US18QHuVlzJBcQHUH+HxDUoLtbyWRTUfLzLkGXX3pP9kfZg== file-type@^3.1.0: version "3.9.0" @@ -2168,13 +2138,13 @@ fkill@^5.3.0: taskkill "^2.0.0" flat-cache@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" - integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= + version "1.3.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" + integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== dependencies: circular-json "^0.3.1" - del "^2.0.2" graceful-fs "^4.1.2" + rimraf "~2.6.2" write "^0.2.1" for-each@^0.3.2: @@ -2204,12 +2174,12 @@ form-data@~0.2.0: mime-types "~2.0.3" form-data@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - integrity sha1-SXBJi+YEwgwAXU9cI67NIda0kJk= + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - combined-stream "1.0.6" + combined-stream "^1.0.6" mime-types "^2.1.12" fragment-cache@^0.2.1: @@ -2253,16 +2223,7 @@ fs-extra@^4.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" - integrity sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.1: +fs-extra@^7.0.0, fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -2310,6 +2271,13 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= +get-installed-path@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/get-installed-path/-/get-installed-path-2.1.1.tgz#a1f33dc6b8af542c9331084e8edbe37fe2634152" + integrity sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA== + dependencies: + global-modules "1.0.0" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -2396,7 +2364,7 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: +glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -2415,7 +2383,7 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" -global-modules@^1.0.0: +global-modules@1.0.0, global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== @@ -2444,9 +2412,9 @@ global@~4.3.0: process "~0.5.1" globals@^11.7.0: - version "11.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.8.0.tgz#c1ef45ee9bed6badf0663c5cb90e8d1adec1321d" - integrity sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA== + version "11.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" + integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg== globby@^5.0.0: version "5.0.0" @@ -2514,9 +2482,9 @@ got@^8.3.2: url-to-options "^1.0.1" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== growl@1.10.5: version "1.10.5" @@ -2539,11 +2507,11 @@ har-validator@^1.4.0: is-my-json-valid "^2.12.0" har-validator@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" - integrity sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA== + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== dependencies: - ajv "^5.3.0" + ajv "^6.5.5" har-schema "^2.0.0" has-ansi@^2.0.0: @@ -2784,9 +2752,9 @@ inquirer@0.8.2: through "^2.3.6" inquirer@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52" + integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" @@ -2799,7 +2767,7 @@ inquirer@^6.1.0: run-async "^2.2.0" rxjs "^6.1.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" through "^2.3.6" into-stream@^2.0.0: @@ -2868,7 +2836,7 @@ is-callable@^1.1.3: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^1.0.10, is-ci@^1.2.1: +is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== @@ -3239,11 +3207,6 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3520,9 +3483,9 @@ lowercase-keys@^1.0.0: integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lru-cache@^4.0.0, lru-cache@^4.0.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" @@ -3535,9 +3498,9 @@ make-dir@^1.0.0: pify "^3.0.0" map-age-cleaner@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74" - integrity sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ== + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" @@ -3588,10 +3551,10 @@ meow@^3.1.0, meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge2@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" - integrity sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg== +merge2@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== micromatch@^3.0.4, micromatch@^3.1.10: version "3.1.10" @@ -3617,17 +3580,17 @@ mime-db@~1.12.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" integrity sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc= -mime-db@~1.36.0: - version "1.36.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" - integrity sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw== +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.20" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" - integrity sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A== + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== dependencies: - mime-db "~1.36.0" + mime-db "~1.37.0" mime-types@~2.0.1, mime-types@~2.0.3: version "2.0.14" @@ -3732,10 +3695,10 @@ moment-duration-format@^2.2.2: resolved "https://registry.yarnpkg.com/moment-duration-format/-/moment-duration-format-2.2.2.tgz#b957612de26016c9ad9eb6087c054573e5127779" integrity sha1-uVdhLeJgFsmtnrYIfAVFc+USd3k= -moment@^2.22.2: - version "2.22.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" - integrity sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y= +moment@^2.23.0: + version "2.23.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" + integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== ms@2.0.0: version "2.0.0" @@ -3813,7 +3776,7 @@ node-uuid@~1.4.0: resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc= -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: +normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== @@ -4034,24 +3997,10 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" -package.loader@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/package.loader/-/package.loader-0.4.1.tgz#7c2327af56bdf0836a8bb31d57c2c694114a5506" - integrity sha1-fCMnr1a98INqi7MdV8LGlBFKVQY= - dependencies: - clone "^1.0.2" - -package.root@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/package.root/-/package.root-1.0.3.tgz#ee295d1668220310ea1215b766a4ad58b7b9a9b7" - integrity sha1-7ildFmgiAxDqEhW3ZqStWLe5qbc= - dependencies: - package.loader "^0.4.0" - -pako@^1.0.5, pako@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== +pako@^1.0.5, pako@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz#2473439021b57f1516c82f58be7275ad8ef1bb27" + integrity sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ== parse-bmfont-ascii@^1.0.3: version "1.0.6" @@ -4116,13 +4065,6 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= -parse-semver@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" - integrity sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg= - dependencies: - semver "^5.1.0" - pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -4207,9 +4149,9 @@ phantomjs-prebuilt@^2.1.10: which "^1.2.10" phin@^2.9.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.2.tgz#0a82d5b6dd75552b665f371f8060689c1af7336e" - integrity sha512-j+UOz1qs+k8NlBRws2IF+Qd+YsVKcqIjvYPBEP9IpmhyvLvyN6GTuqsGbsqH3fIgHufqVqLQSttidIgshkgT7w== + version "2.9.3" + resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" + integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== pid-from-port@^1.0.0: version "1.1.3" @@ -4360,12 +4302,7 @@ progress@^1.1.8: resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= -progress@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" - integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= - -progress@^2.0.3: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -4383,12 +4320,12 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.24: - version "1.1.29" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" - integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ== +psl@^1.1.24, psl@^1.1.28: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== -publish-release@sidneys/publish-release.git#pin-dependencies: +"publish-release@github:sidneys/publish-release#pin-dependencies": version "1.6.0" resolved "https://codeload.github.com/sidneys/publish-release/tar.gz/bbe23f8503bf85b6cb5f77cbb139f29e442bf28d" dependencies: @@ -4411,7 +4348,7 @@ punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -4465,6 +4402,18 @@ read-config-file@3.2.0: json5 "^2.1.0" lazy-val "^1.0.3" +read-package-json@^2.0.4: + version "2.0.13" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" + integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== + dependencies: + glob "^7.1.1" + json-parse-better-errors "^1.0.1" + normalize-package-data "^2.0.0" + slash "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.2" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -4499,6 +4448,15 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= + dependencies: + normalize-package-data "^2.3.2" + parse-json "^4.0.0" + pify "^3.0.0" + read@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -4506,7 +4464,7 @@ read@~1.0.5: dependencies: mute-stream "~0.0.4" -readable-stream@^2.0.0, readable-stream@^2.1.5, readable-stream@^2.2.2: +readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -4555,10 +4513,10 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerator-runtime@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -4730,13 +4688,18 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@^2.2.8: +rimraf@^2.2.8, rimraf@~2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== dependencies: glob "^7.0.5" +root-path@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/root-path/-/root-path-0.2.1.tgz#43d50ed4214d4d6c8d99a10c11a5e391c385e39d" + integrity sha1-Q9UO1CFNTWyNmaEMEaXjkcOF450= + run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -4802,12 +4765,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" - integrity sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw== - -semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== @@ -4861,6 +4819,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +simple-reload@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/simple-reload/-/simple-reload-0.0.4.tgz#b6ea6c041155ffbbf98afba9b87179e7a3f1ccd6" + integrity sha1-tupsBBFV/7v5ivupuHF556PxzNY= + single-line-log@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-0.4.1.tgz#87a55649f749d783ec0dcd804e8140d9873c7cee" @@ -4883,11 +4846,13 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== +slice-ansi@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.0.0.tgz#5373bdb8559b45676e8541c66916cdd6251612e7" + integrity sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ== dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" snapdragon-node@^2.0.1: @@ -4969,9 +4934,9 @@ source-map@^0.6.0, source-map@~0.6.0: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" - integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -4990,9 +4955,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" - integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w== + version "3.0.3" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" + integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== speedometer@~0.1.2: version "0.1.4" @@ -5019,21 +4984,25 @@ sprintf-js@~1.0.2: integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: - version "1.14.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" - integrity sha1-xvxhZIo9nE52T9P8306hBeSSupg= + version "1.16.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" + integrity sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - safer-buffer "^2.0.2" - optionalDependencies: bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" ecc-jsbn "~0.1.1" + getpass "^0.1.1" jsbn "~0.1.0" + safer-buffer "^2.0.2" tweetnacl "~0.14.0" +start@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/start/-/start-5.1.0.tgz#1c171f0ef9487f56d0ab9a755ace860169208763" + integrity sha1-HBcfDvlIf1bQq5p1Ws6GAWkgh2M= + stat-mode@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" @@ -5141,6 +5110,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" + integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== + dependencies: + ansi-regex "^4.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -5207,13 +5183,13 @@ svg2png@4.1.0: yargs "^5.0.0" table@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" - integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== + version "5.1.1" + resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837" + integrity sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw== dependencies: - ajv "^6.5.3" - lodash "^4.17.10" - slice-ansi "1.0.0" + ajv "^6.6.1" + lodash "^4.17.11" + slice-ansi "2.0.0" string-width "^2.1.1" taffydb@2.6.2: @@ -5259,6 +5235,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +throttled-queue@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/throttled-queue/-/throttled-queue-1.0.5.tgz#d57e75c9bc33bd2df09be74f62fd1bc27224cafd" + integrity sha1-1X51ybwzvS3wm+dPYv0bwnIkyv0= + throttleit@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" @@ -5270,11 +5251,11 @@ throttleit@^1.0.0: integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= through2@^2.0.2, through2@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: - readable-stream "^2.1.5" + readable-stream "~2.3.6" xtend "~4.0.1" through2@~0.2.3: @@ -5347,7 +5328,15 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -tough-cookie@>=0.12.0, tough-cookie@~2.4.3: +tough-cookie@>=0.12.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== @@ -5589,9 +5578,9 @@ which@^1.2.10, which@^1.2.14, which@^1.2.8, which@^1.2.9: isexe "^2.0.0" widest-line@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" - integrity sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM= + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== dependencies: string-width "^2.1.1"